summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/balloon_allocator.h35
-rw-r--r--core/bind/core_bind.cpp74
-rw-r--r--core/bind/core_bind.h28
-rw-r--r--core/fpstr.cpp28
-rw-r--r--core/fpstr.h28
-rw-r--r--core/func_ref.cpp28
-rw-r--r--core/func_ref.h28
-rw-r--r--core/helper/value_evaluator.h2
-rw-r--r--core/image.cpp19
-rw-r--r--core/io/file_access_encrypted.cpp28
-rw-r--r--core/io/file_access_encrypted.h28
-rw-r--r--core/io/file_access_memory.cpp6
-rw-r--r--core/io/http_client.cpp1
-rw-r--r--core/io/packet_peer.cpp2
-rw-r--r--core/io/packet_peer_udp.cpp28
-rw-r--r--core/io/packet_peer_udp.h28
-rw-r--r--core/io/stream_peer_ssl.cpp28
-rw-r--r--core/io/stream_peer_ssl.h28
-rw-r--r--core/io/zip_io.h7
-rw-r--r--core/math/bezier_curve.cpp29
-rw-r--r--core/math/bezier_curve.h35
-rw-r--r--core/math/math_defs.cpp30
-rw-r--r--core/math/vector3.h13
-rw-r--r--core/multi_bucket_array.h42
-rw-r--r--core/object.h2
-rw-r--r--core/os/dir_access.cpp134
-rw-r--r--core/os/dir_access.h2
-rw-r--r--core/os/input.cpp2
-rw-r--r--core/os/input.h2
-rw-r--r--core/pair.cpp29
-rw-r--r--core/print_string.cpp3
-rw-r--r--core/res_ptr.cpp90
-rw-r--r--core/res_ptr.h63
-rw-r--r--core/script_debugger_debugger.cpp28
-rw-r--r--core/ucaps.h28
-rw-r--r--core/ustring.cpp44
-rw-r--r--core/ustring.h8
-rw-r--r--core/variant.cpp4
-rw-r--r--core/variant.h8
-rw-r--r--core/variant_call.cpp21
-rw-r--r--core/variant_call_bind.h40
-rw-r--r--core/variant_construct_string.cpp29
-rw-r--r--core/variant_parser.cpp43
-rw-r--r--core/variant_parser.h28
-rw-r--r--core/vmap.cpp30
-rw-r--r--core/vset.cpp28
-rw-r--r--doc/base/classes.xml257
-rw-r--r--drivers/chibi/cp_player_data_reserved.cpp32
-rw-r--r--drivers/chibi/event_stream_chibi.cpp12
-rw-r--r--drivers/convex_decomp/b2d_decompose.cpp28
-rw-r--r--drivers/convex_decomp/b2d_decompose.h28
-rw-r--r--drivers/dds/texture_loader_dds.cpp28
-rw-r--r--drivers/dds/texture_loader_dds.h28
-rw-r--r--drivers/etc1/image_etc.cpp28
-rw-r--r--drivers/etc1/image_etc.h28
-rw-r--r--drivers/gl_context/context_gl.cpp39
-rw-r--r--drivers/jpegd/image_loader_jpegd.cpp39
-rw-r--r--drivers/jpegd/image_loader_jpegd.h39
-rw-r--r--drivers/mpc/audio_stream_mpc.cpp28
-rw-r--r--drivers/mpc/audio_stream_mpc.h28
-rw-r--r--drivers/nedmalloc/Benchmarks.xlsbin36352 -> 0 bytes
-rw-r--r--drivers/nedmalloc/SCsub1
-rw-r--r--drivers/nedmalloc/memory_pool_static_nedmalloc.cpp39
-rw-r--r--drivers/nedmalloc/memory_pool_static_nedmalloc.h39
-rw-r--r--drivers/nedmalloc/nedmalloc.sln19
-rw-r--r--drivers/nedmalloc/nedmalloc.vcproj259
-rw-r--r--drivers/nedmalloc/test.c356
-rw-r--r--drivers/nrex/regex.cpp39
-rw-r--r--drivers/nrex/regex.h39
-rw-r--r--drivers/ogg/bitwise.c315
-rw-r--r--drivers/ogg/framing.c202
-rw-r--r--drivers/ogg/ogg.h3
-rw-r--r--drivers/ogg/os_types.h4
-rw-r--r--drivers/openssl/register_openssl.cpp28
-rw-r--r--drivers/openssl/register_openssl.h28
-rw-r--r--drivers/openssl/stream_peer_openssl.cpp29
-rw-r--r--drivers/openssl/stream_peer_openssl.h28
-rw-r--r--drivers/png/SCsub1
-rw-r--r--drivers/png/example.c879
-rw-r--r--drivers/png/resource_saver_png.h28
-rw-r--r--drivers/pnm/bitmap_loader_pnm.cpp39
-rw-r--r--drivers/pnm/bitmap_loader_pnm.h39
-rw-r--r--drivers/pulseaudio/audio_driver_pulseaudio.cpp2
-rw-r--r--drivers/pvr/texture_loader_pvr.cpp28
-rw-r--r--drivers/pvr/texture_loader_pvr.h28
-rw-r--r--drivers/register_driver_types.cpp39
-rw-r--r--drivers/register_driver_types.h39
-rw-r--r--drivers/rtaudio/audio_driver_rtaudio.cpp39
-rw-r--r--drivers/rtaudio/audio_driver_rtaudio.h39
-rw-r--r--drivers/speex/audio_stream_speex.cpp28
-rw-r--r--drivers/speex/audio_stream_speex.h28
-rw-r--r--drivers/squish/image_compress_squish.cpp28
-rw-r--r--drivers/squish/image_compress_squish.h28
-rw-r--r--drivers/theora/codec.h2
-rw-r--r--drivers/theora/decode.c46
-rw-r--r--drivers/theora/encint.h1
-rw-r--r--drivers/theora/video_stream_theora.cpp30
-rw-r--r--drivers/theora/video_stream_theora.h28
-rw-r--r--drivers/unix/dir_access_unix.cpp27
-rw-r--r--drivers/unix/dir_access_unix.h5
-rw-r--r--drivers/unix/packet_peer_udp_posix.cpp29
-rw-r--r--drivers/unix/packet_peer_udp_posix.h28
-rw-r--r--drivers/unix/tcp_server_posix.cpp9
-rw-r--r--drivers/vorbis/COPYING2
-rw-r--r--drivers/vorbis/barkmel.c2
-rw-r--r--drivers/vorbis/block.c43
-rw-r--r--drivers/vorbis/books/Makefile.am3
-rw-r--r--drivers/vorbis/books/Makefile.in514
-rw-r--r--drivers/vorbis/books/coupled/Makefile.am3
-rw-r--r--drivers/vorbis/books/coupled/Makefile.in356
-rw-r--r--drivers/vorbis/books/coupled/res_books_51.h873
-rw-r--r--drivers/vorbis/books/coupled/res_books_stereo.h1130
-rw-r--r--drivers/vorbis/books/floor/Makefile.am3
-rw-r--r--drivers/vorbis/books/floor/Makefile.in356
-rw-r--r--drivers/vorbis/books/floor/floor_books.h390
-rw-r--r--drivers/vorbis/books/uncoupled/Makefile.am3
-rw-r--r--drivers/vorbis/books/uncoupled/Makefile.in356
-rw-r--r--drivers/vorbis/books/uncoupled/res_books_uncoupled.h878
-rw-r--r--drivers/vorbis/codebook.c35
-rw-r--r--drivers/vorbis/codebook.h17
-rw-r--r--drivers/vorbis/floor0.c14
-rw-r--r--drivers/vorbis/floor1.c46
-rw-r--r--drivers/vorbis/info.c49
-rw-r--r--drivers/vorbis/lsp.c4
-rw-r--r--drivers/vorbis/mapping0.c24
-rw-r--r--drivers/vorbis/misc.h5
-rw-r--r--drivers/vorbis/modes/residue_44p51.h2
-rw-r--r--drivers/vorbis/modes/setup_44p51.h2
-rw-r--r--drivers/vorbis/os.h13
-rw-r--r--drivers/vorbis/psy.c15
-rw-r--r--drivers/vorbis/res0.c67
-rw-r--r--drivers/vorbis/sharedbook.c127
-rw-r--r--drivers/vorbis/synthesis.c24
-rw-r--r--drivers/vorbis/tone.c4
-rw-r--r--drivers/vorbis/vorbisenc.c23
-rw-r--r--drivers/vorbis/vorbisfile.c248
-rw-r--r--drivers/vorbis/window.c3
-rw-r--r--drivers/vorbis/window.h4
-rw-r--r--drivers/webp/image_loader_webp.cpp39
-rw-r--r--drivers/webp/image_loader_webp.h39
-rw-r--r--drivers/webpold/image_loader_webp.cpp39
-rw-r--r--drivers/webpold/image_loader_webp.h39
-rw-r--r--drivers/windows/dir_access_windows.cpp20
-rw-r--r--main/input_default.cpp32
-rw-r--r--main/input_default.h30
-rw-r--r--main/main.cpp5
-rw-r--r--modules/gdscript/gd_editor.cpp20
-rw-r--r--modules/gdscript/gd_function.cpp4
-rw-r--r--modules/gdscript/gd_functions.cpp19
-rw-r--r--modules/gdscript/gd_functions.h1
-rw-r--r--modules/gdscript/gd_pretty_print.cpp34
-rw-r--r--modules/gdscript/gd_pretty_print.h40
-rw-r--r--modules/gdscript/gd_tokenizer.cpp2
-rw-r--r--modules/gdscript/register_types.cpp39
-rw-r--r--modules/ik/ik.cpp2
-rw-r--r--modules/ik/ik.h4
-rw-r--r--modules/register_module_types.h28
-rw-r--r--platform/android/AndroidManifest.xml.template2
-rw-r--r--platform/android/android_native_app_glue.h31
-rw-r--r--platform/android/export/export.cpp28
-rw-r--r--platform/android/export/export.h30
-rw-r--r--platform/android/globals/global_defaults.cpp29
-rw-r--r--platform/android/globals/global_defaults.h30
-rw-r--r--platform/android/java/src/org/godotengine/godot/Dictionary.java2
-rw-r--r--platform/android/java/src/org/godotengine/godot/Godot.java14
-rw-r--r--platform/android/java/src/org/godotengine/godot/GodotDownloaderAlarmReceiver.java28
-rw-r--r--platform/android/java/src/org/godotengine/godot/GodotDownloaderService.java28
-rw-r--r--platform/android/java/src/org/godotengine/godot/GodotPaymentV3.java28
-rw-r--r--platform/android/java/src/org/godotengine/godot/input/GodotEditText.java28
-rw-r--r--platform/android/java/src/org/godotengine/godot/input/GodotTextInputWrapper.java28
-rw-r--r--platform/android/java/src/org/godotengine/godot/payments/ConsumeTask.java28
-rw-r--r--platform/android/java/src/org/godotengine/godot/payments/GenericConsumeTask.java28
-rw-r--r--platform/android/java/src/org/godotengine/godot/payments/HandlePurchaseTask.java28
-rw-r--r--platform/android/java/src/org/godotengine/godot/payments/PaymentsCache.java28
-rw-r--r--platform/android/java/src/org/godotengine/godot/payments/PaymentsManager.java28
-rw-r--r--platform/android/java/src/org/godotengine/godot/payments/PurchaseTask.java28
-rw-r--r--platform/android/java/src/org/godotengine/godot/payments/ReleaseAllConsumablesTask.java28
-rw-r--r--platform/android/java/src/org/godotengine/godot/payments/ValidateTask.java28
-rw-r--r--platform/android/java/src/org/godotengine/godot/utils/Crypt.java28
-rw-r--r--platform/android/java/src/org/godotengine/godot/utils/CustomSSLSocketFactory.java30
-rw-r--r--platform/android/java/src/org/godotengine/godot/utils/HttpRequester.java28
-rw-r--r--platform/android/java/src/org/godotengine/godot/utils/RequestParams.java28
-rw-r--r--platform/android/java_bind.cpp5
-rw-r--r--platform/android/java_bind.h10
-rw-r--r--platform/android/java_class_wrapper.cpp28
-rw-r--r--platform/android/java_class_wrapper.h28
-rw-r--r--platform/bb10/bbutil.h28
-rw-r--r--platform/bb10/export/export.cpp28
-rw-r--r--platform/bb10/export/export.h30
-rw-r--r--platform/haiku/context_gl_haiku.cpp28
-rw-r--r--platform/haiku/context_gl_haiku.h28
-rw-r--r--platform/haiku/godot_haiku.cpp28
-rw-r--r--platform/haiku/haiku_application.cpp28
-rw-r--r--platform/haiku/haiku_application.h28
-rw-r--r--platform/haiku/haiku_direct_window.cpp28
-rw-r--r--platform/haiku/haiku_direct_window.h28
-rw-r--r--platform/haiku/haiku_gl_view.cpp28
-rw-r--r--platform/haiku/haiku_gl_view.h28
-rw-r--r--platform/haiku/key_mapping_haiku.cpp28
-rw-r--r--platform/haiku/key_mapping_haiku.h28
-rw-r--r--platform/haiku/os_haiku.cpp28
-rw-r--r--platform/haiku/os_haiku.h28
-rw-r--r--platform/haiku/platform_config.h28
-rw-r--r--platform/iphone/Appirater.h29
-rwxr-xr-xplatform/iphone/globals/global_defaults.cpp29
-rw-r--r--platform/iphone/globals/global_defaults.h30
-rw-r--r--platform/iphone/ios.h28
-rw-r--r--platform/iphone/ios.mm28
-rw-r--r--platform/iphone/main.m28
-rw-r--r--platform/iphone/platform_refcount.h28
-rw-r--r--platform/isim/SCsub11
-rw-r--r--platform/javascript/audio_server_javascript.cpp28
-rw-r--r--platform/javascript/audio_server_javascript.h28
-rw-r--r--platform/osx/dir_access_osx.h46
-rw-r--r--platform/osx/dir_access_osx.mm309
-rw-r--r--platform/osx/export/export.cpp28
-rw-r--r--platform/osx/export/export.h30
-rw-r--r--platform/server/platform_config.h1
-rw-r--r--platform/windows/export/export.cpp28
-rw-r--r--platform/windows/export/export.h31
-rw-r--r--platform/windows/joystick.cpp55
-rw-r--r--platform/windows/joystick.h14
-rw-r--r--platform/windows/packet_peer_udp_winsock.cpp28
-rw-r--r--platform/windows/packet_peer_udp_winsock.h28
-rw-r--r--platform/winrt/gl_context_egl.cpp28
-rw-r--r--platform/winrt/gl_context_egl.h28
-rw-r--r--platform/winrt/os_winrt.cpp2
-rw-r--r--platform/winrt/os_winrt.h2
-rw-r--r--platform/winrt/platform_config.h29
-rw-r--r--platform/winrt/thread_winrt.cpp28
-rw-r--r--platform/winrt/thread_winrt.h28
-rw-r--r--platform/x11/export/export.cpp28
-rw-r--r--platform/x11/export/export.h31
-rw-r--r--platform/x11/joystick_linux.cpp8
-rw-r--r--platform/x11/os_x11.cpp6
-rw-r--r--scene/2d/back_buffer_copy.cpp28
-rw-r--r--scene/2d/back_buffer_copy.h28
-rw-r--r--scene/2d/canvas_item.cpp24
-rw-r--r--scene/2d/canvas_item.h1
-rw-r--r--scene/2d/canvas_modulate.cpp28
-rw-r--r--scene/2d/canvas_modulate.h28
-rw-r--r--scene/2d/light_2d.cpp28
-rw-r--r--scene/2d/light_2d.h28
-rw-r--r--scene/2d/light_occluder_2d.cpp28
-rw-r--r--scene/2d/light_occluder_2d.h28
-rw-r--r--scene/2d/navigation2d.cpp28
-rw-r--r--scene/2d/navigation2d.h28
-rw-r--r--scene/2d/navigation_polygon.cpp28
-rw-r--r--scene/2d/navigation_polygon.h28
-rw-r--r--scene/2d/node_2d_singleton.cpp30
-rw-r--r--scene/2d/node_2d_singleton.h33
-rw-r--r--scene/2d/path_texture.cpp28
-rw-r--r--scene/2d/path_texture.h28
-rw-r--r--scene/2d/physics_body_2d.cpp26
-rw-r--r--scene/2d/polygon_2d.cpp28
-rw-r--r--scene/2d/polygon_2d.h28
-rw-r--r--scene/2d/sample_player_2d.cpp2
-rw-r--r--scene/2d/y_sort.cpp28
-rw-r--r--scene/2d/y_sort.h28
-rw-r--r--scene/3d/baked_light_instance.cpp28
-rw-r--r--scene/3d/baked_light_instance.h28
-rw-r--r--scene/3d/body_shape.cpp3
-rw-r--r--scene/3d/collision_polygon.cpp28
-rw-r--r--scene/3d/collision_polygon.h28
-rw-r--r--scene/3d/immediate_geometry.cpp28
-rw-r--r--scene/3d/immediate_geometry.h28
-rw-r--r--scene/3d/navigation.cpp28
-rw-r--r--scene/3d/navigation.h28
-rw-r--r--scene/3d/navigation_agent.cpp5
-rw-r--r--scene/3d/navigation_agent.h10
-rw-r--r--scene/3d/navigation_mesh.cpp28
-rw-r--r--scene/3d/navigation_mesh.h28
-rw-r--r--scene/3d/optimized_spatial_scene.cpp33
-rw-r--r--scene/3d/optimized_spatial_scene.h41
-rw-r--r--scene/3d/physics_body.cpp24
-rw-r--r--scene/3d/spatial_sample_player.cpp2
-rw-r--r--scene/3d/sprite_3d.cpp28
-rw-r--r--scene/3d/sprite_3d.h28
-rw-r--r--scene/3d/vehicle_body.cpp28
-rw-r--r--scene/3d/vehicle_body.h28
-rw-r--r--scene/animation/animation_cache.cpp2
-rw-r--r--scene/animation/animation_player.cpp26
-rw-r--r--scene/animation/animation_player.h1
-rw-r--r--scene/animation/animation_tree_player.cpp2
-rw-r--r--scene/animation/animation_tree_player.h1
-rw-r--r--scene/animation/transitioner.cpp34
-rw-r--r--scene/animation/transitioner.h68
-rw-r--r--scene/animation/tween_interpolaters.cpp2
-rw-r--r--scene/audio/sample_player.cpp2
-rw-r--r--scene/gui/color_picker.cpp5
-rw-r--r--scene/gui/color_picker.h2
-rw-r--r--scene/gui/color_ramp_edit.cpp28
-rw-r--r--scene/gui/color_ramp_edit.h28
-rw-r--r--scene/gui/control.cpp40
-rw-r--r--scene/gui/control.h7
-rw-r--r--scene/gui/custom_button.h43
-rw-r--r--scene/gui/file_dialog.cpp5
-rw-r--r--scene/gui/graph_edit.cpp28
-rw-r--r--scene/gui/graph_edit.h28
-rw-r--r--scene/gui/graph_node.cpp28
-rw-r--r--scene/gui/graph_node.h28
-rw-r--r--scene/gui/grid_container.cpp1
-rw-r--r--scene/gui/item_list.cpp28
-rw-r--r--scene/gui/item_list.h28
-rw-r--r--scene/gui/line_edit.cpp291
-rw-r--r--scene/gui/line_edit.h2
-rw-r--r--scene/gui/link_button.cpp28
-rw-r--r--scene/gui/link_button.h28
-rw-r--r--scene/gui/patch_9_frame.cpp28
-rw-r--r--scene/gui/patch_9_frame.h28
-rw-r--r--scene/gui/tab_container.cpp14
-rw-r--r--scene/gui/text_edit.cpp103
-rw-r--r--scene/gui/text_edit.h1
-rw-r--r--scene/gui/tree.cpp17
-rw-r--r--scene/gui/tree.h3
-rw-r--r--scene/gui/video_player.cpp11
-rw-r--r--scene/main/http_request.cpp28
-rw-r--r--scene/main/http_request.h28
-rw-r--r--scene/main/instance_placeholder.cpp28
-rw-r--r--scene/main/instance_placeholder.h28
-rw-r--r--scene/main/misc.cpp40
-rw-r--r--scene/main/misc.h45
-rw-r--r--scene/main/node.cpp4
-rw-r--r--scene/main/node.h2
-rw-r--r--scene/main/scene_main_loop.h1
-rw-r--r--scene/main/scene_singleton.cpp30
-rw-r--r--scene/main/scene_singleton.h36
-rw-r--r--scene/main/viewport.cpp17
-rw-r--r--scene/register_scene_types.cpp47
-rw-r--r--scene/resources/animation.cpp91
-rw-r--r--scene/resources/animation.h29
-rw-r--r--scene/resources/baked_light.cpp28
-rw-r--r--scene/resources/baked_light.h28
-rw-r--r--scene/resources/color_ramp.cpp32
-rw-r--r--scene/resources/color_ramp.h32
-rw-r--r--scene/resources/default_theme/bold_font.inc5
-rw-r--r--scene/resources/default_theme/default_font.inc458
-rw-r--r--scene/resources/default_theme/default_theme.cpp81
-rw-r--r--scene/resources/default_theme/default_theme.h40
-rw-r--r--scene/resources/default_theme/font_bold.pngbin6348 -> 0 bytes
-rw-r--r--scene/resources/default_theme/font_hidpi.inc25461
-rw-r--r--scene/resources/default_theme/font_large.inc65741
-rw-r--r--scene/resources/default_theme/font_lodpi.inc13115
-rw-r--r--scene/resources/default_theme/font_mono.pngbin6432 -> 0 bytes
-rw-r--r--scene/resources/default_theme/font_normal.inc65741
-rw-r--r--scene/resources/default_theme/font_normal.pngbin5595 -> 0 bytes
-rw-r--r--scene/resources/default_theme/font_source.inc32973
-rw-r--r--scene/resources/default_theme/mono_font.inc5
-rw-r--r--scene/resources/default_theme/normal_font.inc5
-rw-r--r--scene/resources/default_theme/theme_data.h15
-rw-r--r--scene/resources/dynamic_font.cpp41
-rw-r--r--scene/resources/dynamic_font.h32
-rw-r--r--scene/resources/gibberish_stream.cpp3
-rw-r--r--scene/resources/gibberish_stream.h3
-rw-r--r--scene/resources/height_map_shape.cpp33
-rw-r--r--scene/resources/height_map_shape.h38
-rw-r--r--scene/resources/mesh.cpp6
-rw-r--r--scene/resources/packed_scene.cpp3
-rw-r--r--scene/resources/polygon_path_finder.cpp28
-rw-r--r--scene/resources/polygon_path_finder.h28
-rw-r--r--scene/resources/rich_text.cpp33
-rw-r--r--scene/resources/rich_text.h38
-rw-r--r--scene/resources/scene_format_text.cpp41
-rw-r--r--scene/resources/scene_format_text.h28
-rw-r--r--scene/resources/theme.cpp72
-rw-r--r--scene/resources/theme.h9
-rw-r--r--scene/resources/volume.cpp211
-rw-r--r--scene/resources/volume.h86
-rw-r--r--servers/audio/audio_rb_resampler.cpp28
-rw-r--r--servers/audio/audio_rb_resampler.h29
-rw-r--r--servers/audio/reverb_buffers_sw.cpp33
-rw-r--r--servers/audio/reverb_buffers_sw.h38
-rw-r--r--servers/audio/voice_rb_sw.cpp34
-rw-r--r--servers/physics/constraint_sw.cpp30
-rw-r--r--servers/physics/gjk_epa.cpp39
-rw-r--r--servers/physics/gjk_epa.h39
-rw-r--r--servers/physics/joints/cone_twist_joint_sw.cpp34
-rw-r--r--servers/physics/joints/cone_twist_joint_sw.h42
-rw-r--r--servers/physics/joints/generic_6dof_joint_sw.cpp34
-rw-r--r--servers/physics/joints/generic_6dof_joint_sw.h33
-rw-r--r--servers/physics/joints/hinge_joint_sw.cpp34
-rw-r--r--servers/physics/joints/hinge_joint_sw.h33
-rw-r--r--servers/physics/joints/jacobian_entry_sw.cpp2
-rw-r--r--servers/physics/joints/jacobian_entry_sw.h33
-rw-r--r--servers/physics/joints/pin_joint_sw.cpp34
-rw-r--r--servers/physics/joints/pin_joint_sw.h33
-rw-r--r--servers/physics/joints/slider_joint_sw.cpp34
-rw-r--r--servers/physics/joints/slider_joint_sw.h33
-rw-r--r--servers/physics/joints_sw.cpp450
-rw-r--r--servers/physics/joints_sw.h121
-rw-r--r--servers/physics_2d/broad_phase_2d_hash_grid.cpp108
-rw-r--r--servers/physics_2d/broad_phase_2d_hash_grid.h35
-rw-r--r--servers/physics_2d/collision_solver_2d_sat.cpp61
-rw-r--r--servers/physics_2d/constraint_2d_sw.cpp30
-rw-r--r--servers/physics_2d/physics_2d_server_wrap_mt.cpp28
-rw-r--r--servers/physics_2d/physics_2d_server_wrap_mt.h28
-rw-r--r--servers/server_wrap_mt_common.h28
-rw-r--r--servers/spatial_sound/spatial_sound_server_sw.cpp39
-rw-r--r--servers/spatial_sound/spatial_sound_server_sw.h39
-rw-r--r--servers/visual/shader_compiler.cpp30
-rw-r--r--servers/visual/shader_compiler.h142
-rw-r--r--servers/visual/shader_graph.cpp455
-rw-r--r--servers/visual/shader_graph.h109
-rw-r--r--servers/visual/visual_server_raster.h2
-rw-r--r--tools/editor/animation_editor.cpp78
-rw-r--r--tools/editor/animation_editor.h2
-rw-r--r--tools/editor/array_property_edit.cpp28
-rw-r--r--tools/editor/array_property_edit.h28
-rw-r--r--tools/editor/code_editor.cpp75
-rw-r--r--tools/editor/code_editor.h10
-rw-r--r--tools/editor/connections_dialog.cpp2
-rw-r--r--tools/editor/default_saver.cpp28
-rw-r--r--tools/editor/default_saver.h35
-rw-r--r--tools/editor/dependency_editor.cpp28
-rw-r--r--tools/editor/dependency_editor.h28
-rw-r--r--tools/editor/editor_asset_installer.cpp28
-rw-r--r--tools/editor/editor_asset_installer.h28
-rw-r--r--tools/editor/editor_data.h1
-rw-r--r--tools/editor/editor_dir_dialog.cpp22
-rw-r--r--tools/editor/editor_dir_dialog.h4
-rw-r--r--tools/editor/editor_file_dialog.cpp51
-rw-r--r--tools/editor/editor_file_dialog.h8
-rw-r--r--tools/editor/editor_fonts.cpp6
-rw-r--r--tools/editor/editor_initialize_ssl.cpp28
-rw-r--r--tools/editor/editor_initialize_ssl.h28
-rw-r--r--tools/editor/editor_node.cpp165
-rw-r--r--tools/editor/editor_node.h2
-rw-r--r--tools/editor/editor_plugin_settings.cpp28
-rw-r--r--tools/editor/editor_plugin_settings.h29
-rw-r--r--tools/editor/editor_resource_preview.cpp28
-rw-r--r--tools/editor/editor_resource_preview.h28
-rw-r--r--tools/editor/editor_run_script.cpp28
-rw-r--r--tools/editor/editor_run_script.h28
-rw-r--r--tools/editor/editor_selection.cpp30
-rw-r--r--tools/editor/editor_selection.h32
-rw-r--r--tools/editor/editor_settings.cpp17
-rw-r--r--tools/editor/editor_themes.cpp (renamed from scene/gui/custom_button.cpp)49
-rw-r--r--tools/editor/editor_themes.h (renamed from drivers/chibi/cp_file_access_wrapper.cpp)11
-rw-r--r--tools/editor/editor_vu.cpp30
-rw-r--r--tools/editor/editor_vu.h32
-rw-r--r--tools/editor/fileserver/editor_file_server.cpp28
-rw-r--r--tools/editor/fileserver/editor_file_server.h28
-rw-r--r--tools/editor/icons/2x/icon_cone_twist_joint.pngbin0 -> 906 bytes
-rw-r--r--tools/editor/icons/2x/icon_generic_6_d_o_f_joint.pngbin0 -> 535 bytes
-rw-r--r--tools/editor/icons/2x/icon_hinge_joint.pngbin0 -> 663 bytes
-rw-r--r--tools/editor/icons/2x/icon_interpolated_camera.pngbin0 -> 454 bytes
-rw-r--r--tools/editor/icons/2x/icon_loop_interpolation.pngbin0 -> 709 bytes
-rw-r--r--tools/editor/icons/2x/icon_rating_no_star.pngbin810 -> 1077 bytes
-rw-r--r--tools/editor/icons/2x/icon_tool_button.pngbin0 -> 425 bytes
-rw-r--r--tools/editor/icons/2x/icon_track_trigger.pngbin0 -> 214 bytes
-rw-r--r--tools/editor/icons/icon_cone_twist_joint.pngbin0 -> 497 bytes
-rw-r--r--tools/editor/icons/icon_generic_6_d_o_f_joint.pngbin0 -> 390 bytes
-rw-r--r--tools/editor/icons/icon_hinge_joint.pngbin0 -> 353 bytes
-rw-r--r--tools/editor/icons/icon_interpolated_camera.pngbin0 -> 279 bytes
-rw-r--r--tools/editor/icons/icon_loop_interpolation.pngbin0 -> 374 bytes
-rw-r--r--tools/editor/icons/icon_rating_no_star.pngbin445 -> 515 bytes
-rw-r--r--tools/editor/icons/icon_tool_button.pngbin0 -> 263 bytes
-rw-r--r--tools/editor/icons/icon_track_trigger.pngbin0 -> 158 bytes
-rw-r--r--tools/editor/icons/source/icon_cone_twist_joint.svg93
-rw-r--r--tools/editor/icons/source/icon_generic_6_d_o_f_joint.svg92
-rw-r--r--tools/editor/icons/source/icon_hinge_joint.svg91
-rw-r--r--tools/editor/icons/source/icon_interpolated_camera.svg259
-rw-r--r--tools/editor/icons/source/icon_loop_interpolation.svg111
-rw-r--r--tools/editor/icons/source/icon_rating_no_star.svg35
-rw-r--r--tools/editor/icons/source/icon_tool_button.svg94
-rw-r--r--tools/editor/icons/source/icon_track_trigger.svg109
-rw-r--r--tools/editor/inspector_dock.cpp28
-rw-r--r--tools/editor/inspector_dock.h28
-rw-r--r--tools/editor/io_plugins/editor_export_scene.cpp28
-rw-r--r--tools/editor/io_plugins/editor_export_scene.h28
-rw-r--r--tools/editor/io_plugins/editor_font_import_plugin.cpp58
-rw-r--r--tools/editor/io_plugins/editor_import_collada.cpp6
-rw-r--r--tools/editor/io_plugins/editor_mesh_import_plugin.cpp28
-rw-r--r--tools/editor/io_plugins/editor_mesh_import_plugin.h28
-rw-r--r--tools/editor/io_plugins/editor_scene_import_plugin.cpp206
-rw-r--r--tools/editor/io_plugins/editor_scene_import_plugin.h8
-rw-r--r--tools/editor/io_plugins/editor_scene_importer_fbxconv.cpp28
-rw-r--r--tools/editor/io_plugins/editor_scene_importer_fbxconv.h28
-rw-r--r--tools/editor/multi_node_edit.cpp54
-rw-r--r--tools/editor/multi_node_edit.h29
-rw-r--r--tools/editor/optimized_save_dialog.cpp28
-rw-r--r--tools/editor/optimized_save_dialog.h34
-rw-r--r--tools/editor/plugins/animation_data_editor_plugin.cpp33
-rw-r--r--tools/editor/plugins/animation_data_editor_plugin.h38
-rw-r--r--tools/editor/plugins/animation_player_editor_plugin.cpp38
-rw-r--r--tools/editor/plugins/animation_player_editor_plugin.h4
-rw-r--r--tools/editor/plugins/baked_light_baker.cpp29
-rw-r--r--tools/editor/plugins/baked_light_baker.h28
-rw-r--r--tools/editor/plugins/baked_light_baker_cmpxchg.cpp29
-rw-r--r--tools/editor/plugins/baked_light_editor_plugin.cpp28
-rw-r--r--tools/editor/plugins/baked_light_editor_plugin.h28
-rw-r--r--tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp28
-rw-r--r--tools/editor/plugins/collision_polygon_2d_editor_plugin.h28
-rw-r--r--tools/editor/plugins/collision_shape_2d_editor_plugin.cpp28
-rw-r--r--tools/editor/plugins/collision_shape_2d_editor_plugin.h28
-rw-r--r--tools/editor/plugins/color_ramp_editor_plugin.cpp32
-rw-r--r--tools/editor/plugins/color_ramp_editor_plugin.h32
-rw-r--r--tools/editor/plugins/control_editor_plugin.cpp825
-rw-r--r--tools/editor/plugins/control_editor_plugin.h141
-rw-r--r--tools/editor/plugins/editor_preview_plugins.cpp38
-rw-r--r--tools/editor/plugins/editor_preview_plugins.h28
-rw-r--r--tools/editor/plugins/light_occluder_2d_editor_plugin.cpp28
-rw-r--r--tools/editor/plugins/light_occluder_2d_editor_plugin.h28
-rw-r--r--tools/editor/plugins/mesh_editor_plugin.cpp28
-rw-r--r--tools/editor/plugins/mesh_editor_plugin.h28
-rw-r--r--tools/editor/plugins/mesh_instance_editor_plugin.cpp6
-rw-r--r--tools/editor/plugins/navigation_polygon_editor_plugin.cpp28
-rw-r--r--tools/editor/plugins/navigation_polygon_editor_plugin.h28
-rw-r--r--tools/editor/plugins/path_2d_editor_plugin.cpp10
-rw-r--r--tools/editor/plugins/path_editor_plugin.cpp8
-rw-r--r--tools/editor/plugins/polygon_2d_editor_plugin.cpp2
-rw-r--r--tools/editor/plugins/polygon_2d_editor_plugin.h28
-rw-r--r--tools/editor/plugins/sample_editor_plugin.cpp14
-rw-r--r--tools/editor/plugins/script_editor_plugin.cpp22
-rw-r--r--tools/editor/plugins/script_editor_plugin.h4
-rw-r--r--tools/editor/plugins/shader_editor_plugin.cpp32
-rw-r--r--tools/editor/plugins/shader_graph_editor_plugin.h1
-rw-r--r--tools/editor/plugins/spatial_editor_plugin.cpp2
-rw-r--r--tools/editor/plugins/theme_editor_plugin.cpp157
-rw-r--r--tools/editor/plugins/theme_editor_plugin.h6
-rw-r--r--tools/editor/plugins/tile_map_editor_plugin.cpp92
-rw-r--r--tools/editor/project_export.cpp1
-rw-r--r--tools/editor/project_manager.cpp32
-rw-r--r--tools/editor/project_manager.h2
-rw-r--r--tools/editor/project_settings.h1
-rw-r--r--tools/editor/property_editor.cpp3
-rw-r--r--tools/editor/scene_tree_dock.cpp128
-rw-r--r--tools/editor/scene_tree_editor.cpp21
-rw-r--r--tools/editor/scene_tree_editor.h3
-rw-r--r--tools/editor/scenes.cpp33
-rw-r--r--tools/editor/scenes.h37
-rw-r--r--tools/editor/script_create_dialog.cpp1
-rw-r--r--tools/pck/pck_packer.cpp28
-rw-r--r--tools/pck/pck_packer.h28
-rw-r--r--tools/translations/Makefile2
-rw-r--r--tools/translations/ar.po6102
-rw-r--r--tools/translations/cs.po6093
-rw-r--r--tools/translations/de.po1660
-rw-r--r--tools/translations/de_CH.po6107
-rw-r--r--tools/translations/es.po453
-rw-r--r--tools/translations/es_AR.po453
-rwxr-xr-xtools/translations/extract.py3
-rw-r--r--tools/translations/fr.po699
-rw-r--r--tools/translations/it.po750
-rw-r--r--tools/translations/ko.po472
-rw-r--r--tools/translations/pt_BR.po501
-rw-r--r--tools/translations/ru.po281
-rw-r--r--tools/translations/sk.po6106
-rw-r--r--tools/translations/tools.pot217
-rw-r--r--tools/translations/zh_CN.po427
-rw-r--r--tools/translations/zh_HK.po195
-rw-r--r--tools/translations/zh_TW.po6105
552 files changed, 85428 insertions, 178857 deletions
diff --git a/core/balloon_allocator.h b/core/balloon_allocator.h
deleted file mode 100644
index eb6632bb37..0000000000
--- a/core/balloon_allocator.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*************************************************************************/
-/* balloon_allocator.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#ifndef BALLOON_ALLOCATOR_H
-#define BALLOON_ALLOCATOR_H
-
-#include "os/memory.h"
-
-#include "allocators.h"
-#endif // BALLOON_ALLOCATOR_H
diff --git a/core/bind/core_bind.cpp b/core/bind/core_bind.cpp
index 3cdefc5811..ace7e7c7b7 100644
--- a/core/bind/core_bind.cpp
+++ b/core/bind/core_bind.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* core_bind.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "core_bind.h"
#include "os/os.h"
#include "geometry.h"
@@ -1538,7 +1566,12 @@ DVector<uint8_t> _File::get_buffer(int p_length) const{
String _File::get_as_text() const {
+ ERR_FAIL_COND_V(!f, String());
+
String text;
+ size_t original_pos = f->get_pos();
+ f->seek(0);
+
String l = get_line();
while(!eof_reached()) {
text+=l+"\n";
@@ -1546,6 +1579,8 @@ String _File::get_as_text() const {
}
text+=l;
+ f->seek(original_pos);
+
return text;
@@ -1863,6 +1898,13 @@ String _Directory::get_current_dir() {
Error _Directory::make_dir(String p_dir){
ERR_FAIL_COND_V(!d,ERR_UNCONFIGURED);
+ if (!p_dir.is_rel_path()) {
+ DirAccess *d = DirAccess::create_for_path(p_dir);
+ Error err = d->make_dir(p_dir);
+ memdelete(d);
+ return err;
+
+ }
return d->make_dir(p_dir);
}
Error _Directory::make_dir_recursive(String p_dir){
@@ -1874,18 +1916,32 @@ Error _Directory::make_dir_recursive(String p_dir){
bool _Directory::file_exists(String p_file){
ERR_FAIL_COND_V(!d,false);
+
+ if (!p_file.is_rel_path()) {
+ return FileAccess::exists(p_file);
+ }
+
return d->file_exists(p_file);
}
bool _Directory::dir_exists(String p_dir) {
ERR_FAIL_COND_V(!d,false);
- return d->dir_exists(p_dir);
+ if (!p_dir.is_rel_path()) {
+
+ DirAccess *d = DirAccess::create_for_path(p_dir);
+ bool exists = d->dir_exists(p_dir);
+ memdelete(d);
+ return exists;
+
+ } else {
+ return d->dir_exists(p_dir);
+ }
}
int _Directory::get_space_left(){
ERR_FAIL_COND_V(!d,0);
- return d->get_space_left();
+ return d->get_space_left()/1024*1024; //return value in megabytes, given binding is int
}
Error _Directory::copy(String p_from,String p_to){
@@ -1896,12 +1952,26 @@ Error _Directory::copy(String p_from,String p_to){
Error _Directory::rename(String p_from, String p_to){
ERR_FAIL_COND_V(!d,ERR_UNCONFIGURED);
+ if (!p_from.is_rel_path()) {
+ DirAccess *d = DirAccess::create_for_path(p_from);
+ Error err = d->rename(p_from,p_to);
+ memdelete(d);
+ return err;
+ }
+
return d->rename(p_from,p_to);
}
Error _Directory::remove(String p_name){
ERR_FAIL_COND_V(!d,ERR_UNCONFIGURED);
+ if (!p_name.is_rel_path()) {
+ DirAccess *d = DirAccess::create_for_path(p_name);
+ Error err = d->remove(p_name);
+ memdelete(d);
+ return err;
+ }
+
return d->remove(p_name);
}
diff --git a/core/bind/core_bind.h b/core/bind/core_bind.h
index a48f7f111a..856d942d02 100644
--- a/core/bind/core_bind.h
+++ b/core/bind/core_bind.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* core_bind.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef CORE_BIND_H
#define CORE_BIND_H
diff --git a/core/fpstr.cpp b/core/fpstr.cpp
deleted file mode 100644
index 76046d0b99..0000000000
--- a/core/fpstr.cpp
+++ /dev/null
@@ -1,28 +0,0 @@
-/*************************************************************************/
-/* fpstr.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
diff --git a/core/fpstr.h b/core/fpstr.h
deleted file mode 100644
index d3d02733b3..0000000000
--- a/core/fpstr.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/*************************************************************************/
-/* fpstr.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
diff --git a/core/func_ref.cpp b/core/func_ref.cpp
index 66962710bd..29b06ae9a0 100644
--- a/core/func_ref.cpp
+++ b/core/func_ref.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* func_ref.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "func_ref.h"
Variant FuncRef::call_func(const Variant** p_args, int p_argcount, Variant::CallError& r_error) {
diff --git a/core/func_ref.h b/core/func_ref.h
index 28d0e737be..140dcd6b1c 100644
--- a/core/func_ref.h
+++ b/core/func_ref.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* func_ref.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef FUNC_REF_H
#define FUNC_REF_H
diff --git a/core/helper/value_evaluator.h b/core/helper/value_evaluator.h
index a03602bc61..461c505ee7 100644
--- a/core/helper/value_evaluator.h
+++ b/core/helper/value_evaluator.h
@@ -5,7 +5,7 @@
/* GODOT ENGINE */
/* http://www.godotengine.org */
/*************************************************************************/
-/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */
diff --git a/core/image.cpp b/core/image.cpp
index 57496683ef..d6ac3f28ea 100644
--- a/core/image.cpp
+++ b/core/image.cpp
@@ -1735,8 +1735,17 @@ Error Image::_decompress_bc() {
print_line("decompressing bc");
+ int wd=width,ht=height;
+ if (wd%4!=0) {
+ wd+=4-(wd%4);
+ }
+ if (ht%4!=0) {
+ ht+=4-(ht%4);
+ }
+
+
int mm;
- int size = _get_dst_image_size(width,height,FORMAT_RGBA,mm,mipmaps);
+ int size = _get_dst_image_size(wd,ht,FORMAT_RGBA,mm,mipmaps);
DVector<uint8_t> newdata;
newdata.resize(size);
@@ -1746,7 +1755,8 @@ Error Image::_decompress_bc() {
int rofs=0;
int wofs=0;
- int wd=width,ht=height;
+
+ //print_line("width: "+itos(wd)+" height: "+itos(ht));
for(int i=0;i<=mm;i++) {
@@ -2051,6 +2061,11 @@ Error Image::_decompress_bc() {
data=newdata;
format=FORMAT_RGBA;
+ if (wd!=width || ht!=height) {
+ //todo, crop
+ width=wd;
+ height=ht;
+ }
return OK;
}
diff --git a/core/io/file_access_encrypted.cpp b/core/io/file_access_encrypted.cpp
index 65b1ca5207..4d4b4d8ee7 100644
--- a/core/io/file_access_encrypted.cpp
+++ b/core/io/file_access_encrypted.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* file_access_encrypted.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "file_access_encrypted.h"
#include "aes256.h"
#include "md5.h"
diff --git a/core/io/file_access_encrypted.h b/core/io/file_access_encrypted.h
index 3bdcc2dfd0..34926faadf 100644
--- a/core/io/file_access_encrypted.h
+++ b/core/io/file_access_encrypted.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* file_access_encrypted.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef FILE_ACCESS_ENCRYPTED_H
#define FILE_ACCESS_ENCRYPTED_H
diff --git a/core/io/file_access_memory.cpp b/core/io/file_access_memory.cpp
index 7db3499505..11a425001e 100644
--- a/core/io/file_access_memory.cpp
+++ b/core/io/file_access_memory.cpp
@@ -46,7 +46,7 @@ void FileAccessMemory::register_file(String p_name, Vector<uint8_t> p_data) {
name = Globals::get_singleton()->globalize_path(p_name);
else
name = p_name;
- name = DirAccess::normalize_path(name);
+ //name = DirAccess::normalize_path(name);
(*files)[name] = p_data;
}
@@ -68,7 +68,7 @@ FileAccess* FileAccessMemory::create() {
bool FileAccessMemory::file_exists(const String& p_name) {
String name = fix_path(p_name);
- name = DirAccess::normalize_path(name);
+// name = DirAccess::normalize_path(name);
return files && (files->find(name) != NULL);
}
@@ -87,7 +87,7 @@ Error FileAccessMemory::_open(const String& p_path, int p_mode_flags) {
ERR_FAIL_COND_V(!files, ERR_FILE_NOT_FOUND);
String name = fix_path(p_path);
- name = DirAccess::normalize_path(name);
+// name = DirAccess::normalize_path(name);
Map<String, Vector<uint8_t> >::Element* E = files->find(name);
ERR_FAIL_COND_V(!E, ERR_FILE_NOT_FOUND);
diff --git a/core/io/http_client.cpp b/core/io/http_client.cpp
index 3520680118..0dfae6584b 100644
--- a/core/io/http_client.cpp
+++ b/core/io/http_client.cpp
@@ -76,6 +76,7 @@ void HTTPClient::set_connection(const Ref<StreamPeer>& p_connection){
close();
connection=p_connection;
+ status=STATUS_CONNECTED;
}
diff --git a/core/io/packet_peer.cpp b/core/io/packet_peer.cpp
index 22b8bc0b39..8e96697ac9 100644
--- a/core/io/packet_peer.cpp
+++ b/core/io/packet_peer.cpp
@@ -126,7 +126,7 @@ Error PacketPeer::_get_packet_error() const {
void PacketPeer::_bind_methods() {
- ObjectTypeDB::bind_method(_MD("get_var"),&PacketPeer::_bnd_get_var);
+ ObjectTypeDB::bind_method(_MD("get_var:Variant"),&PacketPeer::_bnd_get_var);
ObjectTypeDB::bind_method(_MD("put_var", "var:Variant"),&PacketPeer::put_var);
ObjectTypeDB::bind_method(_MD("get_packet"),&PacketPeer::_get_packet);
ObjectTypeDB::bind_method(_MD("put_packet:Error", "buffer"),&PacketPeer::_put_packet);
diff --git a/core/io/packet_peer_udp.cpp b/core/io/packet_peer_udp.cpp
index 83217ffc41..efc619e414 100644
--- a/core/io/packet_peer_udp.cpp
+++ b/core/io/packet_peer_udp.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* packet_peer_udp.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "packet_peer_udp.h"
#include "io/ip.h"
diff --git a/core/io/packet_peer_udp.h b/core/io/packet_peer_udp.h
index 73ff487b19..70d92834fc 100644
--- a/core/io/packet_peer_udp.h
+++ b/core/io/packet_peer_udp.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* packet_peer_udp.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef PACKET_PEER_UDP_H
#define PACKET_PEER_UDP_H
diff --git a/core/io/stream_peer_ssl.cpp b/core/io/stream_peer_ssl.cpp
index 2114993783..a58be84225 100644
--- a/core/io/stream_peer_ssl.cpp
+++ b/core/io/stream_peer_ssl.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* stream_peer_ssl.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "stream_peer_ssl.h"
diff --git a/core/io/stream_peer_ssl.h b/core/io/stream_peer_ssl.h
index 4b1c8e93bb..3435a9a445 100644
--- a/core/io/stream_peer_ssl.h
+++ b/core/io/stream_peer_ssl.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* stream_peer_ssl.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef STREAM_PEER_SSL_H
#define STREAM_PEER_SSL_H
diff --git a/core/io/zip_io.h b/core/io/zip_io.h
index 355003d947..0668c47d97 100644
--- a/core/io/zip_io.h
+++ b/core/io/zip_io.h
@@ -39,11 +39,14 @@ static void* zipio_open(void* data, const char* p_fname, int mode) {
FileAccess *&f = *(FileAccess**)data;
+ String fname;
+ fname.parse_utf8(p_fname);
+
if (mode & ZLIB_FILEFUNC_MODE_WRITE) {
- f = FileAccess::open(p_fname,FileAccess::WRITE);
+ f = FileAccess::open(fname,FileAccess::WRITE);
} else {
- f = FileAccess::open(p_fname,FileAccess::READ);
+ f = FileAccess::open(fname,FileAccess::READ);
}
if (!f)
diff --git a/core/math/bezier_curve.cpp b/core/math/bezier_curve.cpp
deleted file mode 100644
index 37cf16504c..0000000000
--- a/core/math/bezier_curve.cpp
+++ /dev/null
@@ -1,29 +0,0 @@
-/*************************************************************************/
-/* bezier_curve.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#include "bezier_curve.h"
diff --git a/core/math/bezier_curve.h b/core/math/bezier_curve.h
deleted file mode 100644
index 25df9dfda8..0000000000
--- a/core/math/bezier_curve.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*************************************************************************/
-/* bezier_curve.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#ifndef BEZIER_CURVE_H
-#define BEZIER_CURVE_H
-
-
-
-
-#endif // BEZIER_CURVE_H
diff --git a/core/math/math_defs.cpp b/core/math/math_defs.cpp
deleted file mode 100644
index 70963bd71d..0000000000
--- a/core/math/math_defs.cpp
+++ /dev/null
@@ -1,30 +0,0 @@
-/*************************************************************************/
-/* math_defs.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#include "math_defs.h"
-
diff --git a/core/math/vector3.h b/core/math/vector3.h
index 528c4d37b3..910446023a 100644
--- a/core/math/vector3.h
+++ b/core/math/vector3.h
@@ -44,18 +44,6 @@ struct Vector3 {
};
union {
-
-#ifdef USE_QUAD_VECTORS
-
- struct {
- real_t x;
- real_t y;
- real_t z;
- real_t _unused;
- };
- real_t coord[4];
-#else
-
struct {
real_t x;
real_t y;
@@ -63,7 +51,6 @@ struct Vector3 {
};
real_t coord[3];
-#endif
};
_FORCE_INLINE_ const real_t& operator[](int p_axis) const {
diff --git a/core/multi_bucket_array.h b/core/multi_bucket_array.h
deleted file mode 100644
index 98033e40f6..0000000000
--- a/core/multi_bucket_array.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*************************************************************************/
-/* multi_bucket_array.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#ifndef MULTI_BUCKET_ARRAY_H
-#define MULTI_BUCKET_ARRAY_H
-
-
-template<class T>
-class MultiBucketArray {
-
-
-
-};
-
-
-
-#endif // MULTI_BUCKET_ARRAY_H
diff --git a/core/object.h b/core/object.h
index a27e8c7dd8..d7b0f09df9 100644
--- a/core/object.h
+++ b/core/object.h
@@ -87,6 +87,8 @@ enum PropertyUsageFlags {
PROPERTY_USAGE_NO_INSTANCE_STATE=2048,
PROPERTY_USAGE_RESTART_IF_CHANGED=4096,
PROPERTY_USAGE_SCRIPT_VARIABLE=8192,
+ PROPERTY_USAGE_STORE_IF_NULL=16384,
+ PROPERTY_USAGE_ANIMATE_AS_TRIGGER=32768,
PROPERTY_USAGE_DEFAULT=PROPERTY_USAGE_STORAGE|PROPERTY_USAGE_EDITOR|PROPERTY_USAGE_NETWORK,
PROPERTY_USAGE_DEFAULT_INTL=PROPERTY_USAGE_STORAGE|PROPERTY_USAGE_EDITOR|PROPERTY_USAGE_NETWORK|PROPERTY_USAGE_INTERNATIONALIZED,
diff --git a/core/os/dir_access.cpp b/core/os/dir_access.cpp
index 9a7135913a..c2402183fd 100644
--- a/core/os/dir_access.cpp
+++ b/core/os/dir_access.cpp
@@ -143,118 +143,52 @@ Error DirAccess::make_dir_recursive(String p_dir) {
};
String full_dir;
- Globals* g = Globals::get_singleton();
- if (!p_dir.is_abs_path()) {
- //append current
+ if (p_dir.is_rel_path()) {
+ //append current
+ full_dir=get_current_dir().plus_file(p_dir);
- String cur = normalize_path(g->globalize_path(get_current_dir()));
- if (cur[cur.length()-1] != '/') {
- cur = cur + "/";
- };
-
- full_dir=(cur+"/"+p_dir).simplify_path();
} else {
- //validate and use given
- String dir = normalize_path(g->globalize_path(p_dir));
- if (dir.length() < 1) {
- return OK;
- };
- if (dir[dir.length()-1] != '/') {
- dir = dir + "/";
- };
- full_dir=dir;
+ full_dir=p_dir;
}
- //int slices = full_dir.get_slice_count("/");
-
- int pos = 0;
- while (pos < full_dir.length()) {
-
- int n = full_dir.find("/", pos);
- if (n < 0) {
- n = full_dir.length();
- };
- pos = n + 1;
-
- if (pos > 1) {
- String to_create = full_dir.substr(0, pos -1);
- //print_line("MKDIR: "+to_create);
- Error err = make_dir(to_create);
- if (err != OK && err != ERR_ALREADY_EXISTS) {
-
- ERR_FAIL_V(err);
- };
- };
- };
-
- return OK;
-};
-
-
-String DirAccess::normalize_path(const String &p_path) {
-
- static const int max_depth = 64;
- int pos_stack[max_depth];
- int curr = 0;
-
- int pos = 0;
- String cur_dir;
-
- do {
+ full_dir=full_dir.replace("\\","/");
- if (curr >= max_depth) {
-
- ERR_PRINT("Directory depth too deep.");
- return "";
- };
-
- int start = pos;
-
- int next = p_path.find("/", pos);
- if (next < 0) {
- next = p_path.length() - 1;
- };
-
- pos = next + 1;
+ //int slices = full_dir.get_slice_count("/");
- cur_dir = p_path.substr(start, next - start);
+ String base;
- if (cur_dir == "" || cur_dir == ".") {
- continue;
- };
- if (cur_dir == "..") {
+ if (full_dir.begins_with("res://"))
+ base="res://";
+ else if (full_dir.begins_with("user://"))
+ base="user://";
+ else if (full_dir.begins_with("/"))
+ base="/";
+ else if (full_dir.find(":/")!=-1) {
+ base=full_dir.substr(0,full_dir.find(":/")+2);
+ } else {
+ ERR_FAIL_V(ERR_INVALID_PARAMETER);
+ }
- if (curr > 0) { // pop a dir
- curr -= 2;
- };
- continue;
- };
+ full_dir=full_dir.replace_first(base,"").simplify_path();
- pos_stack[curr++] = start;
- pos_stack[curr++] = next;
+ Vector<String> subdirs=full_dir.split("/");
- } while (pos < p_path.length());
+ String curpath=base;
+ for(int i=0;i<subdirs.size();i++) {
- String path;
- if (p_path[0] == '/') {
- path = "/";
- };
+ curpath=curpath.plus_file(subdirs[i]);
+ Error err = make_dir(curpath);
+ if (err != OK && err != ERR_ALREADY_EXISTS) {
- int i=0;
- while (i < curr) {
-
- int start = pos_stack[i++];
+ ERR_FAIL_V(err);
+ }
+ }
- while ( ((i+1)<curr) && (pos_stack[i] == pos_stack[i+1]) ) {
+ return OK;
+}
- ++i;
- };
- path = path + p_path.substr(start, (pos_stack[i++] - start) + 1);
- };
- return path;
-};
String DirAccess::get_next(bool* p_is_dir) {
@@ -276,9 +210,9 @@ String DirAccess::fix_path(String p_path) const {
String resource_path = Globals::get_singleton()->get_resource_path();
if (resource_path != "") {
- return p_path.replace("res:/",resource_path);
+ return p_path.replace_first("res:/",resource_path);
};
- return p_path.replace("res://", "");
+ return p_path.replace_first("res://", "");
}
}
@@ -292,9 +226,9 @@ String DirAccess::fix_path(String p_path) const {
String data_dir=OS::get_singleton()->get_data_dir();
if (data_dir != "") {
- return p_path.replace("user:/",data_dir);
+ return p_path.replace_first("user:/",data_dir);
};
- return p_path.replace("user://", "");
+ return p_path.replace_first("user://", "");
}
} break;
diff --git a/core/os/dir_access.h b/core/os/dir_access.h
index 7a850ddc6d..83288b7c91 100644
--- a/core/os/dir_access.h
+++ b/core/os/dir_access.h
@@ -72,8 +72,6 @@ protected:
public:
- static String normalize_path(const String& p_path);
-
virtual bool list_dir_begin()=0; ///< This starts dir listing
virtual String get_next(bool* p_is_dir); // compatibility
virtual String get_next()=0;
diff --git a/core/os/input.cpp b/core/os/input.cpp
index 005a248aac..dacddc0928 100644
--- a/core/os/input.cpp
+++ b/core/os/input.cpp
@@ -61,7 +61,7 @@ void Input::_bind_methods() {
ObjectTypeDB::bind_method(_MD("get_joy_guid","device"),&Input::get_joy_guid);
ObjectTypeDB::bind_method(_MD("get_joy_vibration_strength", "device"), &Input::get_joy_vibration_strength);
ObjectTypeDB::bind_method(_MD("get_joy_vibration_duration", "device"), &Input::get_joy_vibration_duration);
- ObjectTypeDB::bind_method(_MD("start_joy_vibration", "device", "weak_magnitude", "strong_magnitude", "duration"), &Input::start_joy_vibration);
+ ObjectTypeDB::bind_method(_MD("start_joy_vibration", "device", "weak_magnitude", "strong_magnitude", "duration"), &Input::start_joy_vibration, DEFVAL(0));
ObjectTypeDB::bind_method(_MD("stop_joy_vibration", "device"), &Input::stop_joy_vibration);
ObjectTypeDB::bind_method(_MD("get_accelerometer"),&Input::get_accelerometer);
ObjectTypeDB::bind_method(_MD("get_magnetometer"),&Input::get_magnetometer);
diff --git a/core/os/input.h b/core/os/input.h
index 6364d597b0..fa2cef5467 100644
--- a/core/os/input.h
+++ b/core/os/input.h
@@ -70,7 +70,7 @@ public:
virtual Vector2 get_joy_vibration_strength(int p_device)=0;
virtual float get_joy_vibration_duration(int p_device)=0;
virtual uint64_t get_joy_vibration_timestamp(int p_device)=0;
- virtual void start_joy_vibration(int p_device, float p_weak_magnitude, float p_strong_magnitude, float p_duration)=0;
+ virtual void start_joy_vibration(int p_device, float p_weak_magnitude, float p_strong_magnitude, float p_duration=0)=0;
virtual void stop_joy_vibration(int p_device)=0;
virtual Point2 get_mouse_pos() const=0;
diff --git a/core/pair.cpp b/core/pair.cpp
deleted file mode 100644
index 14bb2d7775..0000000000
--- a/core/pair.cpp
+++ /dev/null
@@ -1,29 +0,0 @@
-/*************************************************************************/
-/* pair.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#include "pair.h"
diff --git a/core/print_string.cpp b/core/print_string.cpp
index 6e57822e94..b6154f1cf6 100644
--- a/core/print_string.cpp
+++ b/core/print_string.cpp
@@ -44,18 +44,15 @@ void add_print_handler(PrintHandlerList *p_handler) {
void remove_print_handler(PrintHandlerList *p_handler) {
- OS::get_singleton()->print("pre-removing print handler...\n");
_global_lock();
PrintHandlerList *prev = NULL;
PrintHandlerList *l = print_handler_list;
- OS::get_singleton()->print("removing print handler...\n");
while(l) {
if (l==p_handler) {
- OS::get_singleton()->print("found\n");
if (prev)
prev->next=l->next;
else
diff --git a/core/res_ptr.cpp b/core/res_ptr.cpp
deleted file mode 100644
index 2fada627e7..0000000000
--- a/core/res_ptr.cpp
+++ /dev/null
@@ -1,90 +0,0 @@
-/*************************************************************************/
-/* res_ptr.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#if 0
-#include "ref_ptr.h"
-#include "resource.h"
-#include "stdio.h"
-
-void RefPtr::operator=(const RefPtr& p_other) {
-
- Ref<Resource> *ref = reinterpret_cast<Ref<Resource>*>( &data[0] );
- Ref<Resource> *ref_other = reinterpret_cast<Ref<Resource>*>( const_cast<char*>(&p_other.data[0]) );
-
- *ref = *ref_other;
-}
-
-bool RefPtr::operator==(const RefPtr& p_other) const {
-
- Ref<Resource> *ref = reinterpret_cast<Ref<Resource>*>( &data[0] );
- Ref<Resource> *ref_other = reinterpret_cast<Ref<Resource>*>( const_cast<char*>(&p_other.data[0]) );
-
- return *ref == *ref_other;
-}
-
-RefPtr::RefPtr(const RefPtr& p_other) {
-
- memnew_placement(&data[0],Ref<Resource>);
-
- Ref<Resource> *ref = reinterpret_cast<Ref<Resource>*>( &data[0] );
- Ref<Resource> *ref_other = reinterpret_cast<Ref<Resource>*>( const_cast<char*>(&p_other.data[0]) );
-
- *ref = *ref_other;
-}
-
-bool RefPtr::is_null() const {
-
- Ref<Resource> *ref = reinterpret_cast<Ref<Resource>*>( &data[0] );
- return ref->is_null();
-
-
-}
-
-RID RefPtr::get_rid() const {
-
- Ref<Resource> *ref = reinterpret_cast<Ref<Resource>*>( &data[0] );
- if (ref->is_null())
- return RID();
- return (*ref)->get_rid();
-}
-
-RefPtr::RefPtr() {
-
- ERR_FAIL_COND(sizeof(Ref<Resource>)>DATASIZE);
- memnew_placement(&data[0],Ref<Resource>);
-}
-
-
-RefPtr::~RefPtr() {
-
- Ref<Resource> *ref = reinterpret_cast<Ref<Resource>*>( &data[0] );
- ref->~Ref<Resource>();
-}
-
-
-#endif
diff --git a/core/res_ptr.h b/core/res_ptr.h
deleted file mode 100644
index 54b74bb113..0000000000
--- a/core/res_ptr.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/*************************************************************************/
-/* res_ptr.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#ifndef RES_PTR_H
-#define RES_PTR_H
-
-#if 0
-/**
- @author Juan Linietsky <reduzio@gmail.com>
- * This class exists to workaround a limitation in C++ but keep the design OK.
- * It's basically an opaque container of a Resource reference, so Variant can use it.
-*/
-
-#include "rid.h"
-
-class ResBase;
-
-class RefPtr {
-friend class ResBase;
- enum {
-
- DATASIZE=sizeof(void*)*4
- };
-
- mutable char data[DATASIZE]; // too much probably, virtual class + pointer
-public:
-
- bool is_null() const;
- void operator=(const RefPtr& p_other);
- bool operator==(const RefPtr& p_other) const;
- RID get_rid() const;
- RefPtr(const RefPtr& p_other);
- RefPtr();
- ~RefPtr();
-
-};
-#endif
-#endif
diff --git a/core/script_debugger_debugger.cpp b/core/script_debugger_debugger.cpp
deleted file mode 100644
index 71ad33f5ed..0000000000
--- a/core/script_debugger_debugger.cpp
+++ /dev/null
@@ -1,28 +0,0 @@
-/*************************************************************************/
-/* script_debugger_debugger.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
diff --git a/core/ucaps.h b/core/ucaps.h
index 9c07828006..cf42e96b4f 100644
--- a/core/ucaps.h
+++ b/core/ucaps.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* ucaps.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef UCAPS_H
#define UCAPS_H
diff --git a/core/ustring.cpp b/core/ustring.cpp
index 485f7f1b62..ea9a9d903e 100644
--- a/core/ustring.cpp
+++ b/core/ustring.cpp
@@ -2810,6 +2810,50 @@ bool String::_base_is_subsequence_of(const String& p_string, bool case_insensiti
return false;
}
+Vector<String> String::bigrams() const {
+ int n_pairs = length() - 1;
+ Vector<String> b;
+ if(n_pairs <= 0) {
+ return b;
+ }
+ b.resize(n_pairs);
+ for(int i = 0; i < n_pairs; i++) {
+ b[i] = substr(i,2);
+ }
+ return b;
+}
+
+// Similarity according to Sorensen-Dice coefficient
+float String::similarity(const String& p_string) const {
+ if(operator==(p_string)) {
+ // Equal strings are totally similar
+ return 1.0f;
+ }
+ if (length() < 2 || p_string.length() < 2) {
+ // No way to calculate similarity without a single bigram
+ return 0.0f;
+ }
+
+ Vector<String> src_bigrams = bigrams();
+ Vector<String> tgt_bigrams = p_string.bigrams();
+
+ int src_size = src_bigrams.size();
+ int tgt_size = tgt_bigrams.size();
+
+ float sum = src_size + tgt_size;
+ float inter = 0;
+ for (int i = 0; i < src_size; i++) {
+ for (int j = 0; j < tgt_size; j++) {
+ if (src_bigrams[i] == tgt_bigrams[j]) {
+ inter++;
+ break;
+ }
+ }
+ }
+
+ return (2.0f * inter)/sum;
+}
+
static bool _wildcard_match(const CharType* p_pattern, const CharType* p_string,bool p_case_sensitive) {
switch (*p_pattern) {
case '\0':
diff --git a/core/ustring.h b/core/ustring.h
index 95096e8f76..692cb4e37d 100644
--- a/core/ustring.h
+++ b/core/ustring.h
@@ -46,11 +46,9 @@ public:
operator const char*() {return get_data();};
};
-#ifndef CHARTYPE_16BITS
+
typedef wchar_t CharType;
-#else
-typedef wchar_t uint16_t;
-#endif
+
struct StrRange {
@@ -125,6 +123,8 @@ public:
bool ends_with(const String& p_string) const;
bool is_subsequence_of(const String& p_string) const;
bool is_subsequence_ofi(const String& p_string) const;
+ Vector<String> bigrams() const;
+ float similarity(const String& p_string) const;
String replace_first(String p_key,String p_with) const;
String replace(String p_key,String p_with) const;
String replacen(String p_key,String p_with) const;
diff --git a/core/variant.cpp b/core/variant.cpp
index 472d6cf568..81d10f379a 100644
--- a/core/variant.cpp
+++ b/core/variant.cpp
@@ -1445,12 +1445,12 @@ Variant::operator unsigned char() const {
return 0;
}
-#ifndef CHARTYPE_16BITS
+
Variant::operator CharType() const {
return operator unsigned int();
}
-#endif
+
Variant::operator float() const {
diff --git a/core/variant.h b/core/variant.h
index b95223ecfb..87bf20f8ee 100644
--- a/core/variant.h
+++ b/core/variant.h
@@ -151,11 +151,7 @@ private:
InputEvent *_input_event;
Image *_image;
void *_ptr; //generic pointer
-#ifdef USE_QUAD_VECTORS
- uint8_t _mem[sizeof(ObjData) > (sizeof(real_t)*5) ? sizeof(ObjData) : (sizeof(real_t)*5)]; // plane uses an extra real
-#else
uint8_t _mem[sizeof(ObjData) > (sizeof(real_t)*4) ? sizeof(ObjData) : (sizeof(real_t)*4)];
-#endif
} _data;
@@ -202,9 +198,8 @@ public:
operator unsigned long() const;
#endif
-#ifndef CHARTYPE_16BITS
+
operator CharType() const;
-#endif
operator float() const;
operator double() const;
operator String() const;
@@ -390,6 +385,7 @@ public:
Type expected;
};
+ void call_ptr(const StringName& p_method,const Variant** p_args,int p_argcount,Variant* r_ret,CallError &r_error);
Variant call(const StringName& p_method,const Variant** p_args,int p_argcount,CallError &r_error);
Variant call(const StringName& p_method,const Variant& p_arg1=Variant(),const Variant& p_arg2=Variant(),const Variant& p_arg3=Variant(),const Variant& p_arg4=Variant(),const Variant& p_arg5=Variant());
diff --git a/core/variant_call.cpp b/core/variant_call.cpp
index 0055138582..84015d2b04 100644
--- a/core/variant_call.cpp
+++ b/core/variant_call.cpp
@@ -249,6 +249,8 @@ static void _call_##m_type##_##m_method(Variant& r_ret,Variant& p_self,const Var
VCALL_LOCALMEM1R(String,ends_with);
VCALL_LOCALMEM1R(String,is_subsequence_of);
VCALL_LOCALMEM1R(String,is_subsequence_ofi);
+ VCALL_LOCALMEM0R(String,bigrams);
+ VCALL_LOCALMEM1R(String,similarity);
VCALL_LOCALMEM2R(String,replace);
VCALL_LOCALMEM2R(String,replacen);
VCALL_LOCALMEM2R(String,insert);
@@ -937,26 +939,32 @@ _VariantCall::ConstantData* _VariantCall::constant_data=NULL;
Variant Variant::call(const StringName& p_method,const Variant** p_args,int p_argcount,CallError &r_error) {
Variant ret;
+ call_ptr(p_method,p_args,p_argcount,&ret,r_error);
+ return ret;
+}
+
+void Variant::call_ptr(const StringName& p_method,const Variant** p_args,int p_argcount,Variant* r_ret,CallError &r_error) {
+ Variant ret;
if (type==Variant::OBJECT) {
//call object
Object *obj = _get_obj().obj;
if (!obj) {
r_error.error=CallError::CALL_ERROR_INSTANCE_IS_NULL;
- return ret;
+ return;
}
#ifdef DEBUG_ENABLED
if (ScriptDebugger::get_singleton() && _get_obj().ref.is_null()) {
//only if debugging!
if (!ObjectDB::instance_validate(obj)) {
r_error.error=CallError::CALL_ERROR_INSTANCE_IS_NULL;
- return ret;
+ return;
}
}
#endif
- return _get_obj().obj->call(p_method,p_args,p_argcount,r_error);
+ ret=_get_obj().obj->call(p_method,p_args,p_argcount,r_error);
//else if (type==Variant::METHOD) {
@@ -968,14 +976,15 @@ Variant Variant::call(const StringName& p_method,const Variant** p_args,int p_ar
#ifdef DEBUG_ENABLED
if (!E) {
r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
- return Variant();
+ return;
}
#endif
_VariantCall::FuncData& funcdata = E->get();
funcdata.call(ret,*this,p_args,p_argcount,r_error);
}
- return ret;
+ if (r_error.error==Variant::CallError::CALL_OK && r_ret)
+ *r_ret=ret;
}
#define VCALL(m_type,m_method) _VariantCall::_call_##m_type##_##m_method
@@ -1274,6 +1283,8 @@ _VariantCall::addfunc(Variant::m_vtype,Variant::m_ret,_SCS(#m_method),VCALL(m_cl
ADDFUNC1(STRING,BOOL,String,ends_with,STRING,"text",varray());
ADDFUNC1(STRING,BOOL,String,is_subsequence_of,STRING,"text",varray());
ADDFUNC1(STRING,BOOL,String,is_subsequence_ofi,STRING,"text",varray());
+ ADDFUNC0(STRING,STRING_ARRAY,String,bigrams,varray());
+ ADDFUNC1(STRING,REAL,String,similarity,STRING,"text",varray());
ADDFUNC2(STRING,STRING,String,replace,STRING,"what",STRING,"forwhat",varray());
ADDFUNC2(STRING,STRING,String,replacen,STRING,"what",STRING,"forwhat",varray());
diff --git a/core/variant_call_bind.h b/core/variant_call_bind.h
deleted file mode 100644
index 54954540b0..0000000000
--- a/core/variant_call_bind.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*************************************************************************/
-/* variant_call_bind.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#ifndef VARIANT_CALL_BIND_H
-#define VARIANT_CALL_BIND_H
-
-
-#include "variant.h"
-
-
-
-
-
-
-#endif // VARIANT_CALL_BIND_H
diff --git a/core/variant_construct_string.cpp b/core/variant_construct_string.cpp
index 0308fd3180..6395501603 100644
--- a/core/variant_construct_string.cpp
+++ b/core/variant_construct_string.cpp
@@ -1,4 +1,31 @@
-
+/*************************************************************************/
+/* variant_construct_string.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "variant.h"
class VariantConstruct {
diff --git a/core/variant_parser.cpp b/core/variant_parser.cpp
index 875a144fef..dce873a306 100644
--- a/core/variant_parser.cpp
+++ b/core/variant_parser.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* variant_parser.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "variant_parser.h"
#include "io/resource_loader.h"
#include "os/keyboard.h"
@@ -1747,7 +1775,20 @@ Error VariantParser::parse_tag_assign_eof(Stream *p_stream, int &line, String &r
}
if (c>32) {
- if (c!='=') {
+ if (c=='"') { //quoted
+ p_stream->saved='"';
+ Token tk;
+ Error err = get_token(p_stream,tk,line,r_err_str);
+ if (err)
+ return err;
+ if (tk.type!=TK_STRING) {
+ r_err_str="Error reading quoted string";
+ return err;
+ }
+
+ what=tk.value;
+
+ } else if (c!='=') {
what+=String::chr(c);
} else {
r_assign=what;
diff --git a/core/variant_parser.h b/core/variant_parser.h
index 00f6910b29..5857820efa 100644
--- a/core/variant_parser.h
+++ b/core/variant_parser.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* variant_parser.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef VARIANT_PARSER_H
#define VARIANT_PARSER_H
diff --git a/core/vmap.cpp b/core/vmap.cpp
deleted file mode 100644
index e94198257a..0000000000
--- a/core/vmap.cpp
+++ /dev/null
@@ -1,30 +0,0 @@
-/*************************************************************************/
-/* vmap.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#include "vmap.h"
-
diff --git a/core/vset.cpp b/core/vset.cpp
deleted file mode 100644
index cefafeb073..0000000000
--- a/core/vset.cpp
+++ /dev/null
@@ -1,28 +0,0 @@
-/*************************************************************************/
-/* vset.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
diff --git a/doc/base/classes.xml b/doc/base/classes.xml
index 4db81f487c..5f7e995099 100644
--- a/doc/base/classes.xml
+++ b/doc/base/classes.xml
@@ -313,7 +313,7 @@
<method name="seed">
<return type="Nil">
</return>
- <argument index="0" name="seed" type="float">
+ <argument index="0" name="seed" type="int">
</argument>
<description>
Set seed for the random number generator.
@@ -322,7 +322,7 @@
<method name="rand_seed">
<return type="Array">
</return>
- <argument index="0" name="seed" type="float">
+ <argument index="0" name="seed" type="int">
</argument>
<description>
Random from seed, pass a seed and an array with both number and new seed is returned.
@@ -804,10 +804,10 @@
Backspace Key
</constant>
<constant name="KEY_RETURN" value="16777221">
- Return Key
+ Return Key (On Main Keyboard)
</constant>
<constant name="KEY_ENTER" value="16777222">
- Enter Key
+ Enter Key (On Numpad)
</constant>
<constant name="KEY_INSERT" value="16777223">
Insert Key
@@ -6883,6 +6883,12 @@
Return a rect containing the editable contents of the item.
</description>
</method>
+ <method name="get_item_and_children_rect" qualifiers="const">
+ <return type="Rect2">
+ </return>
+ <description>
+ </description>
+ </method>
<method name="get_canvas_item" qualifiers="const">
<return type="RID">
</return>
@@ -8453,7 +8459,7 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Resize the array.
+ Set the size of the [ColorArray]. If larger than the current size it will reserve some space beforehand, and if it is smaller it will cut off the array.
</description>
</method>
<method name="set">
@@ -8462,7 +8468,7 @@
<argument index="1" name="color" type="Color">
</argument>
<description>
- Set an index in the array.
+ Change the [Color] at the given index.
</description>
</method>
<method name="size">
@@ -12289,8 +12295,27 @@ This approximation makes straight segments between each point, then subdivides t
</class>
<class name="File" inherits="Reference" category="Core">
<brief_description>
+ Type to handle file reading and writing operations.
</brief_description>
<description>
+ File type. This is used to permanently store data into the user device's file system and to read from it. This can be used to store game save data or player configuration files, for example.
+
+ Here's a sample on how to write and read from a file:
+
+ [codeblock]
+ func save(content):
+ var file = File.new()
+ file.open("user://save_game.dat", file.WRITE)
+ file.store_string(content)
+ file.close()
+
+ func load():
+ var file = File.new()
+ file.open("user://save_game.dat", file.READ)
+ var content = file.get_as_text()
+ file.close()
+ return content
+ [/codeblock]
</description>
<methods>
<method name="open_encrypted">
@@ -12303,6 +12328,7 @@ This approximation makes straight segments between each point, then subdivides t
<argument index="2" name="key" type="RawArray">
</argument>
<description>
+ Open an encrypted file in write or read mode. You need to pass a binary key to encrypt/decrypt it.
</description>
</method>
<method name="open_encrypted_with_pass">
@@ -12315,6 +12341,7 @@ This approximation makes straight segments between each point, then subdivides t
<argument index="2" name="pass" type="String">
</argument>
<description>
+ Open an encrypted file in write or read mode. You need to pass a password to encrypt/decrypt it.
</description>
</method>
<method name="open">
@@ -12325,88 +12352,103 @@ This approximation makes straight segments between each point, then subdivides t
<argument index="1" name="flags" type="int">
</argument>
<description>
+ Open the file for writing or reading, depending on the flags.
</description>
</method>
<method name="close">
<description>
+ Close the currently opened file.
</description>
</method>
<method name="is_open" qualifiers="const">
<return type="bool">
</return>
<description>
+ Return whether the file is currently opened.
</description>
</method>
<method name="seek">
<argument index="0" name="pos" type="int">
</argument>
<description>
+ Change the file reading/writing cursor to the specified position (in bytes from the beginning of the file).
</description>
</method>
<method name="seek_end">
<argument index="0" name="pos" type="int" default="0">
</argument>
<description>
+ Change the file reading/writing cursor to the specified position (in bytes from the end of the file). Note that this is an offset, so you should use negative numbers or the cursor will be at the end of the file.
</description>
</method>
<method name="get_pos" qualifiers="const">
<return type="int">
</return>
<description>
+ Return the file cursor position.
</description>
</method>
<method name="get_len" qualifiers="const">
<return type="int">
</return>
<description>
+ Return the size of the file in bytes.
</description>
</method>
<method name="eof_reached" qualifiers="const">
<return type="bool">
</return>
<description>
+ Return whether the file cursor reached the end of the file.
</description>
</method>
<method name="get_8" qualifiers="const">
<return type="int">
</return>
<description>
+ Get the next 8 bits from the file as an integer.
</description>
</method>
<method name="get_16" qualifiers="const">
<return type="int">
</return>
<description>
+ Get the next 16 bits from the file as an integer.
</description>
</method>
<method name="get_32" qualifiers="const">
<return type="int">
</return>
<description>
+ Get the next 32 bits from the file as an integer.
</description>
</method>
<method name="get_64" qualifiers="const">
<return type="int">
</return>
<description>
+ Get the next 64 bits from the file as an integer.
</description>
</method>
<method name="get_float" qualifiers="const">
<return type="float">
</return>
<description>
+ Get the next 32 bits from the file as a floating point number.
</description>
</method>
<method name="get_double" qualifiers="const">
<return type="float">
</return>
<description>
+ Get the next 64 bits from the file as a floating point number.
</description>
</method>
<method name="get_real" qualifiers="const">
<return type="float">
</return>
<description>
+ Get the next bits from the file as a floating point number.
</description>
</method>
<method name="get_buffer" qualifiers="const">
@@ -12415,18 +12457,21 @@ This approximation makes straight segments between each point, then subdivides t
<argument index="0" name="len" type="int">
</argument>
<description>
+ Get next len bytes of the file as a [RawArray].
</description>
</method>
<method name="get_line" qualifiers="const">
<return type="String">
</return>
<description>
+ Get the next line of the file as a [String].
</description>
</method>
<method name="get_as_text" qualifiers="const">
<return type="String">
</return>
<description>
+ Get the whole file as a [String].
</description>
</method>
<method name="get_md5" qualifiers="const">
@@ -12435,30 +12480,44 @@ This approximation makes straight segments between each point, then subdivides t
<argument index="0" name="path" type="String">
</argument>
<description>
- Returns on success, a md5 String representing the file of the given path.
- else, empty String "".
+ Return a md5 String representing the file at the given path or an empty [String] on failure.
+ </description>
+ </method>
+ <method name="get_sha256" qualifiers="const">
+ <return type="String">
+ </return>
+ <argument index="0" name="path" type="String">
+ </argument>
+ <description>
+ Return a sha256 String representing the file at the given path or an empty [String] on failure.
</description>
</method>
<method name="get_endian_swap">
<return type="bool">
</return>
<description>
+ Get whether endian swap is enabled for this file.
</description>
</method>
<method name="set_endian_swap">
<argument index="0" name="enable" type="bool">
</argument>
<description>
+ Set whether to swap the endianess of the file. Enable this if you're dealing with files written in big endian machines.
+
+ Note that this is about the file format, not CPU type. This is always reseted to [code]false[/code] whenever you open the file.
</description>
</method>
<method name="get_error" qualifiers="const">
<return type="Error">
</return>
<description>
+ Get the last error that happened when trying to perform operations. Compare with the [code]ERR_FILE_*[/code] constants from [@Global Scope].
</description>
</method>
<method name="get_var" qualifiers="const">
<description>
+ Get the next Variant value from the file.
</description>
</method>
<method name="get_csv_line" qualifiers="const">
@@ -12467,84 +12526,98 @@ This approximation makes straight segments between each point, then subdivides t
<argument index="0" name="delim" type="String" default="&quot;,&quot;">
</argument>
<description>
+ Get the next value of the file in CSV (Comma Separated Values) format. You can pass a different delimiter to use other than the default "," (comma).
</description>
</method>
<method name="store_8">
<argument index="0" name="value" type="int">
</argument>
<description>
+ Store an integer as 8 bits in the file.
</description>
</method>
<method name="store_16">
<argument index="0" name="value" type="int">
</argument>
<description>
+ Store an integer as 16 bits in the file.
</description>
</method>
<method name="store_32">
<argument index="0" name="value" type="int">
</argument>
<description>
+ Store an integer as 32 bits in the file.
</description>
</method>
<method name="store_64">
<argument index="0" name="value" type="int">
</argument>
<description>
+ Store an integer as 64 bits in the file.
</description>
</method>
<method name="store_float">
<argument index="0" name="value" type="float">
</argument>
<description>
+ Store a floating point number as 32 bits in the file.
</description>
</method>
<method name="store_double">
<argument index="0" name="value" type="float">
</argument>
<description>
+ Store a floating point number as 64 bits in the file.
</description>
</method>
<method name="store_real">
<argument index="0" name="value" type="float">
</argument>
<description>
+ Store a floating point number in the file.
</description>
</method>
<method name="store_buffer">
<argument index="0" name="buffer" type="RawArray">
</argument>
<description>
+ Store the given array of bytes in the file.
</description>
</method>
<method name="store_line">
<argument index="0" name="line" type="String">
</argument>
<description>
+ Store the given [String] as a line in the file.
</description>
</method>
<method name="store_string">
<argument index="0" name="string" type="String">
</argument>
<description>
+ Store the given [String] in the file.
</description>
</method>
<method name="store_var">
<argument index="0" name="value" type="Variant">
</argument>
<description>
+ Store any Variant value in the file.
</description>
</method>
<method name="store_pascal_string">
<argument index="0" name="string" type="String">
</argument>
<description>
+ Store the given [String] as a line in the file in Pascal format (i.e. also store the length of the string).
</description>
</method>
<method name="get_pascal_string">
<return type="String">
</return>
<description>
+ Get a [String] saved in Pascal format from the file.
</description>
</method>
<method name="file_exists" qualifiers="const">
@@ -12553,17 +12626,22 @@ This approximation makes straight segments between each point, then subdivides t
<argument index="0" name="path" type="String">
</argument>
<description>
+ Get whether or not the file in the specified path exists.
</description>
</method>
</methods>
<constants>
<constant name="READ" value="1">
+ Open the file for reading.
</constant>
<constant name="WRITE" value="2">
+ Open the file for writing. Create it if the file not exists and truncate if it exists.
</constant>
<constant name="READ_WRITE" value="3">
+ Open the file for reading and writing, without truncating the file.
</constant>
<constant name="WRITE_READ" value="7">
+ Open the file for reading and writing. Create it if the file not exists and truncate if it exists.
</constant>
</constants>
</class>
@@ -15837,6 +15915,27 @@ Example: (content-length:12), (Content-Type:application/json; charset=UTF-8)
<description>
Returns the duration of the current vibration effect in seconds.
</description>
+ </method>
+ <method name="start_joy_vibration">
+ <argument index="0" name="device" type="int">
+ </argument>
+ <argument index="1" name="weak_magnitude" type="float">
+ </argument>
+ <argument index="2" name="strong_magnitude" type="float">
+ </argument>
+ <argument index="3" name="duration" type="float">
+ </argument>
+ <description>
+ Starts to vibrate the joystick. Joysticks usually come with two rumble motors, a strong and a weak one. weak_magnitude is the strength of the weak motor (between 0 and 1) and strong_magnitude is the strength of the strong motor (between 0 and 1). duration is the duration of the effect in seconds (a duration of 0 will play the vibration indefinitely).
+ </description>
+ </method>
+ <method name="stop_joy_vibration">
+ <argument index="0" name="device" type="int">
+ </argument>
+ <description>
+ Stops the vibration of the joystick.
+ </description>
+ </method>
<method name="get_accelerometer">
<return type="Vector3">
</return>
@@ -15879,26 +15978,6 @@ Example: (content-length:12), (Content-Type:application/json; charset=UTF-8)
Return the mouse mode. See the constants for more information.
</description>
</method>
- <method name="start_joy_vibration">
- <argument index="0" name="device" type="int">
- </argument>
- <argument index="1" name="weak_magnitude" type="float">
- </argument>
- <argument index="2" name="strong_magnitude" type="float">
- </argument>
- <argument index="3" name="duration" type="float">
- </argument>
- <description>
- Starts to vibrate the joystick. Joysticks usually come with two rumble motors, a strong and a weak one. weak_magnitude is the strength of the weak motor (between 0 and 1) and strong_magnitude is the strength of the strong motor (between 0 and 1). duration is the duration of the effect in seconds (a duration of 0 will play the vibration indefinitely).
- </description>
- </method>
- <method name="stop_joy_vibration">
- <argument index="0" name="device" type="int">
- </argument>
- <description>
- Stops the vibration of the joystick.
- </description>
- </method>
<method name="warp_mouse_pos">
<argument index="0" name="to" type="Vector2">
</argument>
@@ -16966,7 +17045,7 @@ Example: (content-length:12), (Content-Type:application/json; charset=UTF-8)
<argument index="0" name="idx" type="int">
</argument>
<description>
- Resize the array.
+ Set the size of the [IntArray]. If larger than the current size it will reserve some space beforehand, and if it is smaller it will cut off the array.
</description>
</method>
<method name="set">
@@ -16975,7 +17054,7 @@ Example: (content-length:12), (Content-Type:application/json; charset=UTF-8)
<argument index="1" name="integer" type="int">
</argument>
<description>
- Set an index in the array.
+ Change the int at the given index.
</description>
</method>
<method name="size">
@@ -20485,22 +20564,27 @@ Example: (content-length:12), (Content-Type:application/json; charset=UTF-8)
</class>
<class name="Mutex" inherits="Reference" category="Core">
<brief_description>
+ A synchronization Mutex.
</brief_description>
<description>
+ A synchronization Mutex. Element used in multi-threadding. Basically a binary [Semaphore]. Guarantees that only one thread has this lock, can be used to protect a critical section.
</description>
<methods>
<method name="lock">
<description>
+ Lock this [Mutex], blocks until it is unlocked by the current owner.
</description>
</method>
<method name="try_lock">
<return type="Error">
</return>
<description>
+ Try locking this [Mutex], does not block. Returns [OK] on success else [ERR_BUSY].
</description>
</method>
<method name="unlock">
<description>
+ Unlock this [Mutex], leaving it to others threads.
</description>
</method>
</methods>
@@ -23471,7 +23555,10 @@ Example: (content-length:12), (Content-Type:application/json; charset=UTF-8)
</description>
<methods>
<method name="get_var" qualifiers="const">
+ <return type="Variant">
+ </return>
<description>
+ Get a Variant.
</description>
</method>
<method name="put_var">
@@ -23480,12 +23567,14 @@ Example: (content-length:12), (Content-Type:application/json; charset=UTF-8)
<argument index="0" name="var" type="Variant">
</argument>
<description>
+ Send a Variant as a packet.
</description>
</method>
<method name="get_packet" qualifiers="const">
<return type="RawArray">
</return>
<description>
+ Get a raw packet.
</description>
</method>
<method name="put_packet">
@@ -23494,18 +23583,21 @@ Example: (content-length:12), (Content-Type:application/json; charset=UTF-8)
<argument index="0" name="buffer" type="RawArray">
</argument>
<description>
+ Send a raw packet.
</description>
</method>
<method name="get_packet_error" qualifiers="const">
<return type="Error">
</return>
<description>
+ Return the error state of the last packet received (via [method get_packet] and [method get_var]).
</description>
</method>
<method name="get_available_packet_count" qualifiers="const">
<return type="int">
</return>
<description>
+ Return the number of packets currently available in the ring-buffer.
</description>
</method>
</methods>
@@ -23533,8 +23625,10 @@ Example: (content-length:12), (Content-Type:application/json; charset=UTF-8)
</class>
<class name="PacketPeerUDP" inherits="PacketPeer" category="Core">
<brief_description>
+ UDP packet peer.
</brief_description>
<description>
+ UDP packet peer. Can be used to send raw UDP packets as well as [Variant]s.
</description>
<methods>
<method name="listen">
@@ -23545,40 +23639,47 @@ Example: (content-length:12), (Content-Type:application/json; charset=UTF-8)
<argument index="1" name="recv_buf_size" type="int" default="65536">
</argument>
<description>
+ Make this [PacketPeerUDP] listen on the "port" using a buffer size "recv_buf_size". Listens on all available adresses.
</description>
</method>
<method name="close">
<description>
+ Close the UDP socket the [PacketPeerUDP] is currently listening on.
</description>
</method>
<method name="wait">
<return type="Error">
</return>
<description>
+ Wait for a packet to arrive on the listening port, see [method listen].
</description>
</method>
<method name="is_listening" qualifiers="const">
<return type="bool">
</return>
<description>
+ Return whether this [PacketPeerUDP] is listening.
</description>
</method>
<method name="get_packet_ip" qualifiers="const">
<return type="String">
</return>
<description>
+ Return the IP of the remote peer that sent the last packet(that was received with [method get_packet] or [method get_var]).
</description>
</method>
<method name="get_packet_address" qualifiers="const">
<return type="int">
</return>
<description>
+ Return the address of the remote peer(as a 32bit integer) that sent the last packet(that was received with [method get_packet] or [method get_var]).
</description>
</method>
<method name="get_packet_port" qualifiers="const">
<return type="int">
</return>
<description>
+ Return the port of the remote peer that sent the last packet(that was received with [method get_packet] or [method get_var]).
</description>
</method>
<method name="set_send_address">
@@ -23589,6 +23690,7 @@ Example: (content-length:12), (Content-Type:application/json; charset=UTF-8)
<argument index="1" name="port" type="int">
</argument>
<description>
+ Set the destination address and port for sending packets and variables, a hostname will be resolved if valid.
</description>
</method>
</methods>
@@ -29964,12 +30066,14 @@ This method controls whether the position between two cached points is interpola
<argument index="0" name="byte" type="int">
</argument>
<description>
+ Append an element at the end of the array.
</description>
</method>
<method name="resize">
<argument index="0" name="idx" type="int">
</argument>
<description>
+ Set the size of the [RawArray]. If larger than the current size it will reserve some space beforehand, and if it is smaller it will cut off the array.
</description>
</method>
<method name="set">
@@ -29978,12 +30082,14 @@ This method controls whether the position between two cached points is interpola
<argument index="1" name="byte" type="int">
</argument>
<description>
+ Change the byte at the given index.
</description>
</method>
<method name="size">
<return type="int">
</return>
<description>
+ Return the size of the array.
</description>
</method>
<method name="RawArray">
@@ -29992,6 +30098,7 @@ This method controls whether the position between two cached points is interpola
<argument index="0" name="from" type="Array">
</argument>
<description>
+ Create from a generic array.
</description>
</method>
</methods>
@@ -30305,12 +30412,14 @@ This method controls whether the position between two cached points is interpola
<argument index="0" name="value" type="float">
</argument>
<description>
+ Append an element at the end of the array.
</description>
</method>
<method name="resize">
<argument index="0" name="idx" type="int">
</argument>
<description>
+ Set the size of the [RealArray]. If larger than the current size it will reserve some space beforehand, and if it is smaller it will cut off the array.
</description>
</method>
<method name="set">
@@ -30319,12 +30428,14 @@ This method controls whether the position between two cached points is interpola
<argument index="1" name="value" type="float">
</argument>
<description>
+ Change the float at the given index.
</description>
</method>
<method name="size">
<return type="int">
</return>
<description>
+ Return the size of the array.
</description>
</method>
<method name="RealArray">
@@ -30333,6 +30444,7 @@ This method controls whether the position between two cached points is interpola
<argument index="0" name="from" type="Array">
</argument>
<description>
+ Create from a generic array.
</description>
</method>
</methods>
@@ -33637,20 +33749,24 @@ This method controls whether the position between two cached points is interpola
</class>
<class name="Semaphore" inherits="Reference" category="Core">
<brief_description>
+ A synchronization Semaphore.
</brief_description>
<description>
+ A synchronization Semaphore. Element used in multi-threadding. Initialized to zero on creation.
</description>
<methods>
<method name="wait">
<return type="Error">
</return>
<description>
+ Tries to wait for the [Semaphore], if it's value is zero, blocks until non-zero.
</description>
</method>
<method name="post">
<return type="Error">
</return>
<description>
+ Lowers the [Semaphore], allowing one more thread in.
</description>
</method>
</methods>
@@ -36779,7 +36895,7 @@ This method controls whether the position between two cached points is interpola
<argument index="0" name="val" type="Variant">
</argument>
<description>
- Put a variable into the stream.
+ Put a Variant into the stream.
</description>
</method>
<method name="get_8">
@@ -36874,7 +36990,7 @@ This method controls whether the position between two cached points is interpola
<return type="Variant">
</return>
<description>
- Get a variable from the stream.
+ Get a Variant from the stream.
</description>
</method>
</methods>
@@ -36925,16 +37041,16 @@ This method controls whether the position between two cached points is interpola
</methods>
<constants>
<constant name="STATUS_DISCONNECTED" value="0">
- A status representing a [StreamPeerSSL] that is disconnected.
+ A status representing a [StreamPeerSSL] that is disconnected.
</constant>
<constant name="STATUS_CONNECTED" value="1">
- A status representing a [StreamPeerSSL] that is connected to a host.
+ A status representing a [StreamPeerSSL] that is connected to a host.
</constant>
<constant name="STATUS_ERROR_NO_CERTIFICATE" value="2">
- An errot status that shows the peer did not present a SSL certificate and validation was requested.
+ An errot status that shows the peer did not present a SSL certificate and validation was requested.
</constant>
<constant name="STATUS_ERROR_HOSTNAME_MISMATCH" value="3">
- An error status that shows a mismatch in the SSL certificate domain presented by the host and the domain requested for validation.
+ An error status that shows a mismatch in the SSL certificate domain presented by the host and the domain requested for validation.
</constant>
</constants>
</class>
@@ -36993,16 +37109,16 @@ This method controls whether the position between two cached points is interpola
</methods>
<constants>
<constant name="STATUS_NONE" value="0">
- The initial status of the [StreamPeerTCP], also the status after a disconnect.
+ The initial status of the [StreamPeerTCP], also the status after a disconnect.
</constant>
<constant name="STATUS_CONNECTING" value="1">
- A status representing a [StreamPeerTCP] that is connecting to a host.
+ A status representing a [StreamPeerTCP] that is connecting to a host.
</constant>
<constant name="STATUS_CONNECTED" value="2">
- A status representing a [StreamPeerTCP] that is connected to a host.
+ A status representing a [StreamPeerTCP] that is connected to a host.
</constant>
<constant name="STATUS_ERROR" value="3">
- A staus representing a [StreamPeerTCP] in error state.
+ A staus representing a [StreamPeerTCP] in error state.
</constant>
</constants>
</class>
@@ -37216,6 +37332,13 @@ This method controls whether the position between two cached points is interpola
Return true if the strings begins with the given string.
</description>
</method>
+ <method name="bigrams">
+ <return type="StringArray">
+ </return>
+ <description>
+ Return the bigrams (pairs of consecutive letters) of this string.
+ </description>
+ </method>
<method name="c_escape">
<return type="String">
</return>
@@ -37569,6 +37692,21 @@ This method controls whether the position between two cached points is interpola
Return the right side of the string from a given position.
</description>
</method>
+ <method name="sha256_text">
+ <return type="String">
+ </return>
+ <description>
+ </description>
+ </method>
+ <method name="similarity">
+ <return type="float">
+ </return>
+ <argument index="0" name="text" type="String">
+ </argument>
+ <description>
+ Return the similarity index of the text compared to this string. 1 means totally similar and 0 means totally dissimilar.
+ </description>
+ </method>
<method name="split">
<return type="StringArray">
</return>
@@ -37692,7 +37830,7 @@ This method controls whether the position between two cached points is interpola
<argument index="0" name="idx" type="int">
</argument>
<description>
- Reset the size of the array.
+ Set the size of the [StringArray]. If larger than the current size it will reserve some space beforehand, and if it is smaller it will cut off the array.
</description>
</method>
<method name="set">
@@ -37701,6 +37839,7 @@ This method controls whether the position between two cached points is interpola
<argument index="1" name="string" type="String">
</argument>
<description>
+ Change the [String] at the given index.
</description>
</method>
<method name="size">
@@ -37716,6 +37855,7 @@ This method controls whether the position between two cached points is interpola
<argument index="0" name="from" type="Array">
</argument>
<description>
+ Create from a generic array.
</description>
</method>
</methods>
@@ -39616,8 +39756,10 @@ This method controls whether the position between two cached points is interpola
</class>
<class name="Thread" inherits="Reference" category="Core">
<brief_description>
+ A unit of execution in a process.
</brief_description>
<description>
+ A unit of execution in a process. Can run methods on [Object]s simultaneously. The use of synchronization via [Mutex], [Semaphore] is advised if working with shared objects.
</description>
<methods>
<method name="start">
@@ -39632,24 +39774,29 @@ This method controls whether the position between two cached points is interpola
<argument index="3" name="priority" type="int" default="1">
</argument>
<description>
+ Start a new [Thread], it will run "method" on object "instance" using "userdata" as an argument and running with "priority", one of PRIORITY_* enum.
+ Returns OK on success, or ERR_CANT_CREATE on failure.
</description>
</method>
<method name="get_id" qualifiers="const">
<return type="String">
</return>
<description>
+ Return the id of the thread, uniquely identifying it among all threads.
</description>
</method>
<method name="is_active" qualifiers="const">
<return type="bool">
</return>
<description>
+ Whether this thread is currently active, an active Thread cannot start work on a new method but can be joined with [method wait_to_finish].
</description>
</method>
<method name="wait_to_finish">
<return type="Variant">
</return>
<description>
+ Joins the [Thread] and waits for it to finish. Returns what the method called returned.
</description>
</method>
</methods>
@@ -41152,6 +41299,8 @@ This method controls whether the position between two cached points is interpola
</theme_item>
<theme_item name="hseparation" type="int">
</theme_item>
+ <theme_item name="draw_relationship_lines" type="int">
+ </theme_item>
<theme_item name="button_margin" type="int">
</theme_item>
<theme_item name="title_button_color" type="Color">
@@ -41166,6 +41315,8 @@ This method controls whether the position between two cached points is interpola
</theme_item>
<theme_item name="font_color" type="Color">
</theme_item>
+ <theme_item name="relationship_line_color" type="Color">
+ </theme_item>
<theme_item name="drop_position_color" type="Color">
</theme_item>
<theme_item name="arrow" type="Texture">
@@ -42567,14 +42718,14 @@ This method controls whether the position between two cached points is interpola
<argument index="0" name="vector2" type="Vector2">
</argument>
<description>
- Inserts a Vector2 at the end.
+ Insert a [Vector2] at the end.
</description>
</method>
<method name="resize">
<argument index="0" name="idx" type="int">
</argument>
<description>
- Sets the size of the Vector2Array. If larger than the current size it will reserve some space beforehand, and if it is smaller it will cut off the array.
+ Set the size of the Vector2Array. If larger than the current size it will reserve some space beforehand, and if it is smaller it will cut off the array.
</description>
</method>
<method name="set">
@@ -42583,14 +42734,14 @@ This method controls whether the position between two cached points is interpola
<argument index="1" name="vector2" type="Vector2">
</argument>
<description>
- Changes the Vector2 at the given index.
+ Change the [Vector2] at the given index.
</description>
</method>
<method name="size">
<return type="int">
</return>
<description>
- Returns the size of the array.
+ Return the size of the array.
</description>
</method>
<method name="Vector2Array">
@@ -42599,7 +42750,7 @@ This method controls whether the position between two cached points is interpola
<argument index="0" name="from" type="Array">
</argument>
<description>
- Constructs a new Vector2Array. Optionally, you can pass in an Array that will be converted.
+ Construct a new [Vector2Array]. Optionally, you can pass in an Array that will be converted.
</description>
</method>
</methods>
@@ -42826,14 +42977,14 @@ This method controls whether the position between two cached points is interpola
<argument index="0" name="vector3" type="Vector3">
</argument>
<description>
- Inserts a Vector3 at the end.
+ Insert a Vector3 at the end.
</description>
</method>
<method name="resize">
<argument index="0" name="idx" type="int">
</argument>
<description>
- Sets the size of the Vector3Array. If larger than the current size it will reserve some space beforehand, and if it is smaller it will cut off the array.
+ Set the size of the Vector3Array. If larger than the current size it will reserve some space beforehand, and if it is smaller it will cut off the array.
</description>
</method>
<method name="set">
@@ -42842,14 +42993,14 @@ This method controls whether the position between two cached points is interpola
<argument index="1" name="vector3" type="Vector3">
</argument>
<description>
- Changes the Vector3 at the given index.
+ Change the [Vector3] at the given index.
</description>
</method>
<method name="size">
<return type="int">
</return>
<description>
- Returns the size of the array.
+ Return the size of the array.
</description>
</method>
<method name="Vector3Array">
@@ -42858,7 +43009,7 @@ This method controls whether the position between two cached points is interpola
<argument index="0" name="from" type="Array">
</argument>
<description>
- Constructs a new Vector3Array. Optionally, you can pass in an Array that will be converted.
+ Construct a new Vector3Array. Optionally, you can pass in an Array that will be converted.
</description>
</method>
</methods>
@@ -42931,7 +43082,7 @@ This method controls whether the position between two cached points is interpola
<description>
</description>
</method>
- <method name="get_linear_velocity">
+ <method name="get_linear_velocity" qualifiers="const">
<return type="Vector3">
</return>
<description>
@@ -45339,7 +45490,7 @@ This method controls whether the position between two cached points is interpola
<description>
</description>
</method>
- <method name="free">
+ <method name="free_rid">
<argument index="0" name="arg0" type="RID">
</argument>
<description>
diff --git a/drivers/chibi/cp_player_data_reserved.cpp b/drivers/chibi/cp_player_data_reserved.cpp
deleted file mode 100644
index a626ffd111..0000000000
--- a/drivers/chibi/cp_player_data_reserved.cpp
+++ /dev/null
@@ -1,32 +0,0 @@
-/*************************************************************************/
-/* cp_player_data_reserved.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#include "cp_player_data.h"
-
-
-
diff --git a/drivers/chibi/event_stream_chibi.cpp b/drivers/chibi/event_stream_chibi.cpp
index 3449583d36..b88f4ee70e 100644
--- a/drivers/chibi/event_stream_chibi.cpp
+++ b/drivers/chibi/event_stream_chibi.cpp
@@ -616,7 +616,7 @@ void CPFileAccessWrapperImpl::store_dword(uint32_t p_dest){
Error EventStreamPlaybackChibi::_play() {
last_order=0;
- loops++;
+ loops=0;
player->play_start_song();
total_usec=0;
@@ -628,10 +628,12 @@ bool EventStreamPlaybackChibi::_update(AudioMixer* p_mixer, uint64_t p_usec){
total_usec+=p_usec;
mixer.process_usecs(p_usec,volume,pitch_scale,tempo_scale);
int order=player->get_current_order();
- if (order<last_order && !loop) {
- stop();
- } else {
- loops++;
+ if (order<last_order) {
+ if (!loop) {
+ stop();
+ } else {
+ loops++;
+ }
}
last_order=order;
return false;
diff --git a/drivers/convex_decomp/b2d_decompose.cpp b/drivers/convex_decomp/b2d_decompose.cpp
index 1567fd0d44..36fbfa1fee 100644
--- a/drivers/convex_decomp/b2d_decompose.cpp
+++ b/drivers/convex_decomp/b2d_decompose.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* b2d_decompose.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "b2d_decompose.h"
#include "b2Polygon.h"
diff --git a/drivers/convex_decomp/b2d_decompose.h b/drivers/convex_decomp/b2d_decompose.h
index 44aa004120..2a66b033a7 100644
--- a/drivers/convex_decomp/b2d_decompose.h
+++ b/drivers/convex_decomp/b2d_decompose.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* b2d_decompose.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef B2D_DECOMPOSE_H
#define B2D_DECOMPOSE_H
diff --git a/drivers/dds/texture_loader_dds.cpp b/drivers/dds/texture_loader_dds.cpp
index 9b2e401fd9..0cef77e638 100644
--- a/drivers/dds/texture_loader_dds.cpp
+++ b/drivers/dds/texture_loader_dds.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* texture_loader_dds.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "texture_loader_dds.h"
#include "os/file_access.h"
diff --git a/drivers/dds/texture_loader_dds.h b/drivers/dds/texture_loader_dds.h
index c8b3610063..371eb1858c 100644
--- a/drivers/dds/texture_loader_dds.h
+++ b/drivers/dds/texture_loader_dds.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* texture_loader_dds.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef TEXTURE_LOADER_DDS_H
#define TEXTURE_LOADER_DDS_H
diff --git a/drivers/etc1/image_etc.cpp b/drivers/etc1/image_etc.cpp
index 62a7364847..cf2384240b 100644
--- a/drivers/etc1/image_etc.cpp
+++ b/drivers/etc1/image_etc.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* image_etc.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "image_etc.h"
#include "image.h"
#include "rg_etc1.h"
diff --git a/drivers/etc1/image_etc.h b/drivers/etc1/image_etc.h
index 44859690aa..edcff39bfd 100644
--- a/drivers/etc1/image_etc.h
+++ b/drivers/etc1/image_etc.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* image_etc.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef IMAGE_ETC1_H
#define IMAGE_ETC1_H
diff --git a/drivers/gl_context/context_gl.cpp b/drivers/gl_context/context_gl.cpp
index c1bf6b38ea..3e15783d5f 100644
--- a/drivers/gl_context/context_gl.cpp
+++ b/drivers/gl_context/context_gl.cpp
@@ -1,14 +1,31 @@
-/*************************************************/
-/* context_gl.cpp */
-/*************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/*************************************************/
-/* Source code within this file is: */
-/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */
-/* All Rights Reserved. */
-/*************************************************/
-
+/*************************************************************************/
+/* context_gl.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "context_gl.h"
diff --git a/drivers/jpegd/image_loader_jpegd.cpp b/drivers/jpegd/image_loader_jpegd.cpp
index 5339e9f69d..913a7bdf39 100644
--- a/drivers/jpegd/image_loader_jpegd.cpp
+++ b/drivers/jpegd/image_loader_jpegd.cpp
@@ -1,14 +1,31 @@
-/*************************************************/
-/* image_loader_jpg.cpp */
-/*************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/*************************************************/
-/* Source code within this file is: */
-/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */
-/* All Rights Reserved. */
-/*************************************************/
-
+/*************************************************************************/
+/* image_loader_jpegd.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "image_loader_jpegd.h"
#include "print_string.h"
diff --git a/drivers/jpegd/image_loader_jpegd.h b/drivers/jpegd/image_loader_jpegd.h
index 1b2165ab47..2c52309ab1 100644
--- a/drivers/jpegd/image_loader_jpegd.h
+++ b/drivers/jpegd/image_loader_jpegd.h
@@ -1,14 +1,31 @@
-/*************************************************/
-/* image_loader_jpg.h */
-/*************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/*************************************************/
-/* Source code within this file is: */
-/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */
-/* All Rights Reserved. */
-/*************************************************/
-
+/*************************************************************************/
+/* image_loader_jpegd.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef IMAGE_LOADER_JPG_H
#define IMAGE_LOADER_JPG_H
diff --git a/drivers/mpc/audio_stream_mpc.cpp b/drivers/mpc/audio_stream_mpc.cpp
index fe6aa05d00..9713eb3c77 100644
--- a/drivers/mpc/audio_stream_mpc.cpp
+++ b/drivers/mpc/audio_stream_mpc.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* audio_stream_mpc.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "audio_stream_mpc.h"
diff --git a/drivers/mpc/audio_stream_mpc.h b/drivers/mpc/audio_stream_mpc.h
index 122d0d0bbb..27f55777d6 100644
--- a/drivers/mpc/audio_stream_mpc.h
+++ b/drivers/mpc/audio_stream_mpc.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* audio_stream_mpc.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef AUDIO_STREAM_MPC_H
#define AUDIO_STREAM_MPC_H
diff --git a/drivers/nedmalloc/Benchmarks.xls b/drivers/nedmalloc/Benchmarks.xls
deleted file mode 100644
index 5001a18a22..0000000000
--- a/drivers/nedmalloc/Benchmarks.xls
+++ /dev/null
Binary files differ
diff --git a/drivers/nedmalloc/SCsub b/drivers/nedmalloc/SCsub
index 8e6edd1f96..6699efef75 100644
--- a/drivers/nedmalloc/SCsub
+++ b/drivers/nedmalloc/SCsub
@@ -2,4 +2,3 @@ Import('env')
Export('env');
env.add_source_files(env.drivers_sources,"*.cpp")
-#env.add_source_files(env.drivers_sources,"*.c")
diff --git a/drivers/nedmalloc/memory_pool_static_nedmalloc.cpp b/drivers/nedmalloc/memory_pool_static_nedmalloc.cpp
index 301e94bb7b..21da056f07 100644
--- a/drivers/nedmalloc/memory_pool_static_nedmalloc.cpp
+++ b/drivers/nedmalloc/memory_pool_static_nedmalloc.cpp
@@ -1,14 +1,31 @@
-/*************************************************/
-/* memory_pool_static_nedmalloc.cpp */
-/*************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/*************************************************/
-/* Source code within this file is: */
-/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */
-/* All Rights Reserved. */
-/*************************************************/
-
+/*************************************************************************/
+/* memory_pool_static_nedmalloc.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifdef NEDMALLOC_ENABLED
//
diff --git a/drivers/nedmalloc/memory_pool_static_nedmalloc.h b/drivers/nedmalloc/memory_pool_static_nedmalloc.h
index 20b060537c..0033353a67 100644
--- a/drivers/nedmalloc/memory_pool_static_nedmalloc.h
+++ b/drivers/nedmalloc/memory_pool_static_nedmalloc.h
@@ -1,14 +1,31 @@
-/*************************************************/
-/* memory_pool_static_nedmalloc.h */
-/*************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/*************************************************/
-/* Source code within this file is: */
-/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */
-/* All Rights Reserved. */
-/*************************************************/
-
+/*************************************************************************/
+/* memory_pool_static_nedmalloc.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifdef NEDMALLOC_ENABLED
//
diff --git a/drivers/nedmalloc/nedmalloc.sln b/drivers/nedmalloc/nedmalloc.sln
deleted file mode 100644
index 6ffd9fb83f..0000000000
--- a/drivers/nedmalloc/nedmalloc.sln
+++ /dev/null
@@ -1,19 +0,0 @@
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nedmalloc", "nedmalloc.vcproj", "{B89384F5-360B-4AB2-8F43-2F5F98A947FE}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Release|Win32 = Release|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {B89384F5-360B-4AB2-8F43-2F5F98A947FE}.Debug|Win32.ActiveCfg = Debug|Win32
- {B89384F5-360B-4AB2-8F43-2F5F98A947FE}.Debug|Win32.Build.0 = Debug|Win32
- {B89384F5-360B-4AB2-8F43-2F5F98A947FE}.Release|Win32.ActiveCfg = Release|Win32
- {B89384F5-360B-4AB2-8F43-2F5F98A947FE}.Release|Win32.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/drivers/nedmalloc/nedmalloc.vcproj b/drivers/nedmalloc/nedmalloc.vcproj
deleted file mode 100644
index c5b0563d4f..0000000000
--- a/drivers/nedmalloc/nedmalloc.vcproj
+++ /dev/null
@@ -1,259 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="nedmalloc"
- ProjectGUID="{B89384F5-360B-4AB2-8F43-2F5F98A947FE}"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="Debug"
- IntermediateDirectory="Debug"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/nedmalloc.exe"
- LinkIncremental="2"
- GenerateDebugInformation="true"
- ProgramDatabaseFile="$(OutDir)/nedmalloc.pdb"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="Release"
- IntermediateDirectory="Release"
- ConfigurationType="1"
- InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalOptions="/Ow"
- InlineFunctionExpansion="0"
- EnableIntrinsicFunctions="true"
- FavorSizeOrSpeed="1"
- OmitFramePointers="true"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- StringPooling="true"
- RuntimeLibrary="2"
- BufferSecurityCheck="false"
- EnableEnhancedInstructionSet="1"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="$(OutDir)/nedmalloc.exe"
- LinkIncremental="1"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\nedmalloc.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\test.c"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath=".\malloc.c.h"
- >
- </File>
- <File
- RelativePath=".\nedmalloc.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- </Filter>
- <File
- RelativePath="..\..\..\..\gcLink.cc"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\Readme.txt"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/drivers/nedmalloc/test.c b/drivers/nedmalloc/test.c
deleted file mode 100644
index 8b9fed81d0..0000000000
--- a/drivers/nedmalloc/test.c
+++ /dev/null
@@ -1,356 +0,0 @@
-/* test.c
-An example of how to use nedalloc
-(C) 2005-2007 Niall Douglas
-*/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include "nedmalloc.c"
-
-#define THREADS 5
-#define RECORDS (100000/THREADS)
-#define TORTURETEST 1
-
-static int whichmalloc;
-static int doRealloc;
-static struct threadstuff_t
-{
- int ops;
- unsigned int *toalloc;
- void **allocs;
- char cachesync1[128];
- int done;
- char cachesync2[128];
-} threadstuff[THREADS];
-
-static void threadcode(int);
-
-#ifdef WIN32
-static DWORD WINAPI _threadcode(LPVOID a)
-{
- threadcode((int)(size_t) a);
- return 0;
-}
-#define THREADVAR HANDLE
-#define THREADINIT(v, id) (*v=CreateThread(NULL, 0, _threadcode, (LPVOID)(size_t) id, 0, NULL))
-#define THREADSLEEP(v) SleepEx(v, FALSE)
-#define THREADWAIT(v) (WaitForSingleObject(v, INFINITE), 0)
-
-typedef unsigned __int64 usCount;
-static FORCEINLINE usCount GetUsCount()
-{
- static LARGE_INTEGER ticksPerSec;
- static double scalefactor;
- LARGE_INTEGER val;
- if(!scalefactor)
- {
- if(QueryPerformanceFrequency(&ticksPerSec))
- scalefactor=ticksPerSec.QuadPart/1000000000000.0;
- else
- scalefactor=1;
- }
- if(!QueryPerformanceCounter(&val))
- return (usCount) GetTickCount() * 1000000000;
- return (usCount) (val.QuadPart/scalefactor);
-}
-
-static HANDLE win32heap;
-static void *win32malloc(size_t size)
-{
- return HeapAlloc(win32heap, 0, size);
-}
-static void *win32realloc(void *p, size_t size)
-{
- return HeapReAlloc(win32heap, 0, p, size);
-}
-static void win32free(void *mem)
-{
- HeapFree(win32heap, 0, mem);
-}
-
-static void *(*const mallocs[])(size_t size)={ malloc, nedmalloc, win32malloc };
-static void *(*const reallocs[])(void *p, size_t size)={ realloc, nedrealloc, win32realloc };
-static void (*const frees[])(void *mem)={ free, nedfree, win32free };
-#else
-static void *_threadcode(void *a)
-{
- threadcode((int)(size_t) a);
- return 0;
-}
-#define THREADVAR pthread_t
-#define THREADINIT(v, id) pthread_create(v, NULL, _threadcode, (void *)(size_t) id)
-#define THREADSLEEP(v) usleep(v*1000)
-#define THREADWAIT(v) pthread_join(v, NULL)
-
-typedef unsigned long long usCount;
-static FORCEINLINE usCount GetUsCount()
-{
- struct timeval tv;
- gettimeofday(&tv, 0);
- return ((usCount) tv.tv_sec*1000000000000LL)+tv.tv_usec*1000000LL;
-}
-
-static void *(*const mallocs[])(size_t size)={ malloc, nedmalloc };
-static void *(*const reallocs[])(void *p, size_t size)={ realloc, nedrealloc };
-static void (*const frees[])(void *mem)={ free, nedfree };
-#endif
-static usCount times[THREADS];
-
-
-static FORCEINLINE unsigned int myrandom(unsigned int *seed)
-{
- *seed=1664525UL*(*seed)+1013904223UL;
- return *seed;
-}
-
-static void threadcode(int threadidx)
-{
- int n;
- unsigned int *toallocptr=threadstuff[threadidx].toalloc;
- void **allocptr=threadstuff[threadidx].allocs;
- unsigned int seed=threadidx;
- usCount start;
- threadstuff[threadidx].done=0;
- /*neddisablethreadcache(0);*/
- THREADSLEEP(100);
- start=GetUsCount();
-#ifdef TORTURETEST
- /* A randomised malloc/realloc/free test (torture test) */
- for(n=0; n<RECORDS*100; n++)
- {
- unsigned int r=myrandom(&seed), i;
- i=(int)(r % RECORDS);
- if(!allocptr[i])
- {
- allocptr[i]=mallocs[whichmalloc](r & 0x1FFF);
- threadstuff[threadidx].ops++;
- }
- else if(r & (1<<31))
- {
- allocptr[i]=reallocs[whichmalloc](allocptr[i], r & 0x1FFF);
- threadstuff[threadidx].ops++;
- }
- else
- {
- frees[whichmalloc](allocptr[i]);
- allocptr[i]=0;
- }
- }
- for(n=0; n<RECORDS; n++)
- {
- if(allocptr[n])
- {
- frees[whichmalloc](allocptr[n]);
- allocptr[n]=0;
- }
- }
-#else
- /* A simple stack which allocates and deallocates off the top (speed test) */
- for(n=0; n<RECORDS;)
- {
-#if 1
- r=myrandom(&seed);
- if(allocptr>threadstuff[threadidx].allocs && (r & 65535)<32760) /*<32760)*/
- { /* free */
- --toallocptr;
- --allocptr;
- --n;
- frees[whichmalloc](*allocptr);
- *allocptr=0;
- }
- else
-#endif
- {
- if(doRealloc && allocptr>threadstuff[threadidx].allocs && (r & 1))
- {
- allocptr[-1]=reallocs[whichmalloc](allocptr[-1], *toallocptr);
- }
- else
- {
- allocptr[0]=mallocs[whichmalloc](*toallocptr);
- allocptr++;
- }
- n++;
- toallocptr++;
- threadstuff[threadidx].ops++;
- }
- }
- while(allocptr>threadstuff[threadidx].allocs)
- {
- frees[whichmalloc](*--allocptr);
- }
-#endif
- times[threadidx]+=GetUsCount()-start;
- neddisablethreadcache(0);
- threadstuff[threadidx].done=1;
-}
-
-static double runtest()
-{
- unsigned int seed=1;
- int n, i;
- double opspersec=0;
- THREADVAR threads[THREADS];
- for(n=0; n<THREADS; n++)
- {
- unsigned int *toallocptr;
- int m;
- threadstuff[n].ops=0;
- times[n]=0;
- threadstuff[n].toalloc=toallocptr=calloc(RECORDS, sizeof(unsigned int));
- threadstuff[n].allocs=calloc(RECORDS, sizeof(void *));
- for(m=0; m<RECORDS; m++)
- {
- unsigned int size=myrandom(&seed);
- if(size<(1<<30))
- { /* Make it two power multiple of less than 512 bytes to
- model frequent C++ new's */
- size=4<<(size & 7);
- }
- else
- {
- size&=0x3FFF; /* < 16Kb */
- /*size&=0x1FFF;*/ /* < 8Kb */
- /*size=(1<<6)<<(size & 7);*/ /* < 8Kb */
- }
- *toallocptr++=size;
- }
- }
-#ifdef TORTURETEST
- for(n=0; n<THREADS; n++)
- {
- THREADINIT(&threads[n], n);
- }
- for(i=0; i<32; i++)
- {
- int found=-1;
- do
- {
- for(n=0; n<THREADS; n++)
- {
- THREADSLEEP(100);
- if(threadstuff[n].done)
- {
- found=n;
- break;
- }
- }
- } while(found<0);
- THREADWAIT(threads[found]);
- threads[found]=0;
- THREADINIT(&threads[found], found);
- printf("Relaunched thread %d\n", found);
- }
- for(n=THREADS-1; n>=0; n--)
- {
- THREADWAIT(threads[n]);
- threads[n]=0;
- }
-#else
-#if 1
- for(n=0; n<THREADS; n++)
- {
- THREADINIT(&threads[n], n);
- }
- for(n=THREADS-1; n>=0; n--)
- {
- THREADWAIT(threads[n]);
- threads[n]=0;
- }
-#else
- /* Quick realloc() test */
- doRealloc=1;
- for(n=0; n<THREADS; n++)
- {
- THREADINIT(&threads[n], n);
- }
- for(n=THREADS-1; n>=0; n--)
- {
- THREADWAIT(threads[n]);
- threads[n]=0;
- }
-#endif
-#endif
- {
- usCount totaltime=0;
- int totalops=0;
- for(n=0; n<THREADS; n++)
- {
- totaltime+=times[n];
- totalops+=threadstuff[n].ops;
- }
- opspersec=1000000000000.0*totalops/totaltime*THREADS;
- printf("This allocator achieves %lfops/sec under %d threads\n", opspersec, THREADS);
- }
- for(n=THREADS-1; n>=0; n--)
- {
- free(threadstuff[n].allocs); threadstuff[n].allocs=0;
- free(threadstuff[n].toalloc); threadstuff[n].toalloc=0;
- }
- return opspersec;
-}
-
-int main(void)
-{
- double std=0, ned=0;
-
-#if 0
- {
- usCount start, end;
- start=GetUsCount();
- THREADSLEEP(5000);
- end=GetUsCount();
- printf("Wait was %lf\n", (end-start)/1000000000000.0);
- }
-#endif
-#ifdef WIN32
- { /* Force load of user32.dll so we can debug */
- BOOL v;
- SystemParametersInfo(SPI_GETBEEP, 0, &v, 0);
- }
-#endif
-
- if(0)
- {
- printf("\nTesting standard allocator with %d threads ...\n", THREADS);
- std=runtest();
- }
- if(1)
- {
- printf("\nTesting nedmalloc with %d threads ...\n", THREADS);
- whichmalloc=1;
- ned=runtest();
- }
-#ifdef WIN32
- if(0)
- {
- ULONG data=2;
- win32heap=HeapCreate(0, 0, 0);
- HeapSetInformation(win32heap, HeapCompatibilityInformation, &data, sizeof(data));
- HeapQueryInformation(win32heap, HeapCompatibilityInformation, &data, sizeof(data), NULL);
- if(2!=data)
- {
- printf("The win32 low frag allocator won't work under a debugger!\n");
- }
- else
- {
- printf("Testing win32 low frag allocator with %d threads ...\n\n", THREADS);
- whichmalloc=2;
- runtest();
- }
- HeapDestroy(win32heap);
- }
-#endif
- if(std && ned)
- { // ned should have more ops/sec
- printf("\n\nnedmalloc allocator is %lf times faster than standard\n", ned/std);
- }
- printf("\nPress a key to trim\n");
- getchar();
- nedmalloc_trim(0);
-#ifdef _MSC_VER
- printf("\nPress a key to end\n");
- getchar();
-#endif
- return 0;
-}
diff --git a/drivers/nrex/regex.cpp b/drivers/nrex/regex.cpp
index 5d6c9583ef..7bf14d14ad 100644
--- a/drivers/nrex/regex.cpp
+++ b/drivers/nrex/regex.cpp
@@ -1,14 +1,31 @@
-/*************************************************/
-/* regex.cpp */
-/*************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/*************************************************/
-/* Source code within this file is: */
-/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */
-/* All Rights Reserved. */
-/*************************************************/
-
+/*************************************************************************/
+/* regex.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "regex.h"
#include "nrex.hpp"
#include "core/os/memory.h"
diff --git a/drivers/nrex/regex.h b/drivers/nrex/regex.h
index 4b063f0bf1..74495442c7 100644
--- a/drivers/nrex/regex.h
+++ b/drivers/nrex/regex.h
@@ -1,14 +1,31 @@
-/*************************************************/
-/* regex.h */
-/*************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/*************************************************/
-/* Source code within this file is: */
-/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */
-/* All Rights Reserved. */
-/*************************************************/
-
+/*************************************************************************/
+/* regex.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef REGEX_H
#define REGEX_H
diff --git a/drivers/ogg/bitwise.c b/drivers/ogg/bitwise.c
index 3d02198094..145901d185 100644
--- a/drivers/ogg/bitwise.c
+++ b/drivers/ogg/bitwise.c
@@ -5,13 +5,13 @@
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2010 *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2014 *
* by the Xiph.Org Foundation http://www.xiph.org/ *
* *
********************************************************************
function: packing variable sized words into an octet stream
- last mod: $Id: bitwise.c 17287 2010-06-10 13:42:06Z tterribe $
+ last mod: $Id: bitwise.c 19149 2014-05-27 16:26:23Z giles $
********************************************************************/
@@ -93,11 +93,11 @@ void oggpack_write(oggpack_buffer *b,unsigned long value,int bits){
b->ptr=b->buffer+b->endbyte;
}
- value&=mask[bits];
+ value&=mask[bits];
bits+=b->endbit;
- b->ptr[0]|=value<<b->endbit;
-
+ b->ptr[0]|=value<<b->endbit;
+
if(bits>=8){
b->ptr[1]=(unsigned char)(value>>(8-b->endbit));
if(bits>=16){
@@ -136,11 +136,11 @@ void oggpackB_write(oggpack_buffer *b,unsigned long value,int bits){
b->ptr=b->buffer+b->endbyte;
}
- value=(value&mask[bits])<<(32-bits);
+ value=(value&mask[bits])<<(32-bits);
bits+=b->endbit;
- b->ptr[0]|=value>>(24+b->endbit);
-
+ b->ptr[0]|=value>>(24+b->endbit);
+
if(bits>=8){
b->ptr[1]=(unsigned char)(value>>(16+b->endbit));
if(bits>=16){
@@ -187,37 +187,41 @@ static void oggpack_writecopy_helper(oggpack_buffer *b,
unsigned char *ptr=(unsigned char *)source;
long bytes=bits/8;
+ long pbytes=(b->endbit+bits)/8;
bits-=bytes*8;
+ /* expand storage up-front */
+ if(b->endbyte+pbytes>=b->storage){
+ void *ret;
+ if(!b->ptr) goto err;
+ if(b->storage>b->endbyte+pbytes+BUFFER_INCREMENT) goto err;
+ b->storage=b->endbyte+pbytes+BUFFER_INCREMENT;
+ ret=_ogg_realloc(b->buffer,b->storage);
+ if(!ret) goto err;
+ b->buffer=ret;
+ b->ptr=b->buffer+b->endbyte;
+ }
+
+ /* copy whole octets */
if(b->endbit){
int i;
/* unaligned copy. Do it the hard way. */
for(i=0;i<bytes;i++)
- w(b,(unsigned long)(ptr[i]),8);
+ w(b,(unsigned long)(ptr[i]),8);
}else{
/* aligned block copy */
- if(b->endbyte+bytes+1>=b->storage){
- void *ret;
- if(!b->ptr) goto err;
- if(b->endbyte+bytes+BUFFER_INCREMENT>b->storage) goto err;
- b->storage=b->endbyte+bytes+BUFFER_INCREMENT;
- ret=_ogg_realloc(b->buffer,b->storage);
- if(!ret) goto err;
- b->buffer=ret;
- b->ptr=b->buffer+b->endbyte;
- }
-
memmove(b->ptr,source,bytes);
b->ptr+=bytes;
b->endbyte+=bytes;
*b->ptr=0;
-
}
+
+ /* copy trailing bits */
if(bits){
if(msb)
- w(b,(unsigned long)(ptr[bytes]>>(8-bits)),bits);
+ w(b,(unsigned long)(ptr[bytes]>>(8-bits)),bits);
else
- w(b,(unsigned long)(ptr[bytes]),bits);
+ w(b,(unsigned long)(ptr[bytes]),bits);
}
return;
err:
@@ -281,11 +285,11 @@ long oggpack_look(oggpack_buffer *b,int bits){
ret=b->ptr[0]>>b->endbit;
if(bits>8){
- ret|=b->ptr[1]<<(8-b->endbit);
+ ret|=b->ptr[1]<<(8-b->endbit);
if(bits>16){
- ret|=b->ptr[2]<<(16-b->endbit);
+ ret|=b->ptr[2]<<(16-b->endbit);
if(bits>24){
- ret|=b->ptr[3]<<(24-b->endbit);
+ ret|=b->ptr[3]<<(24-b->endbit);
if(bits>32 && b->endbit)
ret|=b->ptr[4]<<(32-b->endbit);
}
@@ -312,11 +316,11 @@ long oggpackB_look(oggpack_buffer *b,int bits){
ret=b->ptr[0]<<(24+b->endbit);
if(bits>8){
- ret|=b->ptr[1]<<(16+b->endbit);
+ ret|=b->ptr[1]<<(16+b->endbit);
if(bits>16){
- ret|=b->ptr[2]<<(8+b->endbit);
+ ret|=b->ptr[2]<<(8+b->endbit);
if(bits>24){
- ret|=b->ptr[3]<<(b->endbit);
+ ret|=b->ptr[3]<<(b->endbit);
if(bits>32 && b->endbit)
ret|=b->ptr[4]>>(8-b->endbit);
}
@@ -386,11 +390,11 @@ long oggpack_read(oggpack_buffer *b,int bits){
ret=b->ptr[0]>>b->endbit;
if(bits>8){
- ret|=b->ptr[1]<<(8-b->endbit);
+ ret|=b->ptr[1]<<(8-b->endbit);
if(bits>16){
- ret|=b->ptr[2]<<(16-b->endbit);
+ ret|=b->ptr[2]<<(16-b->endbit);
if(bits>24){
- ret|=b->ptr[3]<<(24-b->endbit);
+ ret|=b->ptr[3]<<(24-b->endbit);
if(bits>32 && b->endbit){
ret|=b->ptr[4]<<(32-b->endbit);
}
@@ -429,11 +433,11 @@ long oggpackB_read(oggpack_buffer *b,int bits){
ret=b->ptr[0]<<(24+b->endbit);
if(bits>8){
- ret|=b->ptr[1]<<(16+b->endbit);
+ ret|=b->ptr[1]<<(16+b->endbit);
if(bits>16){
- ret|=b->ptr[2]<<(8+b->endbit);
+ ret|=b->ptr[2]<<(8+b->endbit);
if(bits>24){
- ret|=b->ptr[3]<<(b->endbit);
+ ret|=b->ptr[3]<<(b->endbit);
if(bits>32 && b->endbit)
ret|=b->ptr[4]>>(8-b->endbit);
}
@@ -511,7 +515,7 @@ long oggpackB_bytes(oggpack_buffer *b){
long oggpackB_bits(oggpack_buffer *b){
return oggpack_bits(b);
}
-
+
unsigned char *oggpack_get_buffer(oggpack_buffer *b){
return(b->buffer);
}
@@ -534,7 +538,7 @@ static int ilog(unsigned int v){
}
return(ret);
}
-
+
oggpack_buffer o;
oggpack_buffer r;
@@ -581,7 +585,7 @@ void cliptest(unsigned long *b,int vals,int bits,int *comp,int compsize){
void cliptestB(unsigned long *b,int vals,int bits,int *comp,int compsize){
long bytes,i;
unsigned char *buffer;
-
+
oggpackB_reset(&o);
for(i=0;i<vals;i++)
oggpackB_write(&o,b[i],bits?bits:ilog(b[i]));
@@ -613,9 +617,190 @@ void cliptestB(unsigned long *b,int vals,int bits,int *comp,int compsize){
if(oggpackB_bytes(&r)!=bytes)report("leftover bytes after read!\n");
}
+void copytest(int prefill, int copy){
+ oggpack_buffer source_write;
+ oggpack_buffer dest_write;
+ oggpack_buffer source_read;
+ oggpack_buffer dest_read;
+ unsigned char *source;
+ unsigned char *dest;
+ long source_bytes,dest_bytes;
+ int i;
+
+ oggpack_writeinit(&source_write);
+ oggpack_writeinit(&dest_write);
+
+ for(i=0;i<(prefill+copy+7)/8;i++)
+ oggpack_write(&source_write,(i^0x5a)&0xff,8);
+ source=oggpack_get_buffer(&source_write);
+ source_bytes=oggpack_bytes(&source_write);
+
+ /* prefill */
+ oggpack_writecopy(&dest_write,source,prefill);
+
+ /* check buffers; verify end byte masking */
+ dest=oggpack_get_buffer(&dest_write);
+ dest_bytes=oggpack_bytes(&dest_write);
+ if(dest_bytes!=(prefill+7)/8){
+ fprintf(stderr,"wrong number of bytes after prefill! %ld!=%d\n",dest_bytes,(prefill+7)/8);
+ exit(1);
+ }
+ oggpack_readinit(&source_read,source,source_bytes);
+ oggpack_readinit(&dest_read,dest,dest_bytes);
+
+ for(i=0;i<prefill;i+=8){
+ int s=oggpack_read(&source_read,prefill-i<8?prefill-i:8);
+ int d=oggpack_read(&dest_read,prefill-i<8?prefill-i:8);
+ if(s!=d){
+ fprintf(stderr,"prefill=%d mismatch! byte %d, %x!=%x\n",prefill,i/8,s,d);
+ exit(1);
+ }
+ }
+ if(prefill<dest_bytes){
+ if(oggpack_read(&dest_read,dest_bytes-prefill)!=0){
+ fprintf(stderr,"prefill=%d mismatch! trailing bits not zero\n",prefill);
+ exit(1);
+ }
+ }
+
+ /* second copy */
+ oggpack_writecopy(&dest_write,source,copy);
+
+ /* check buffers; verify end byte masking */
+ dest=oggpack_get_buffer(&dest_write);
+ dest_bytes=oggpack_bytes(&dest_write);
+ if(dest_bytes!=(copy+prefill+7)/8){
+ fprintf(stderr,"wrong number of bytes after prefill+copy! %ld!=%d\n",dest_bytes,(copy+prefill+7)/8);
+ exit(1);
+ }
+ oggpack_readinit(&source_read,source,source_bytes);
+ oggpack_readinit(&dest_read,dest,dest_bytes);
+
+ for(i=0;i<prefill;i+=8){
+ int s=oggpack_read(&source_read,prefill-i<8?prefill-i:8);
+ int d=oggpack_read(&dest_read,prefill-i<8?prefill-i:8);
+ if(s!=d){
+ fprintf(stderr,"prefill=%d mismatch! byte %d, %x!=%x\n",prefill,i/8,s,d);
+ exit(1);
+ }
+ }
+
+ oggpack_readinit(&source_read,source,source_bytes);
+ for(i=0;i<copy;i+=8){
+ int s=oggpack_read(&source_read,copy-i<8?copy-i:8);
+ int d=oggpack_read(&dest_read,copy-i<8?copy-i:8);
+ if(s!=d){
+ fprintf(stderr,"prefill=%d copy=%d mismatch! byte %d, %x!=%x\n",prefill,copy,i/8,s,d);
+ exit(1);
+ }
+ }
+
+ if(copy+prefill<dest_bytes){
+ if(oggpack_read(&dest_read,dest_bytes-copy-prefill)!=0){
+ fprintf(stderr,"prefill=%d copy=%d mismatch! trailing bits not zero\n",prefill,copy);
+ exit(1);
+ }
+ }
+
+ oggpack_writeclear(&source_write);
+ oggpack_writeclear(&dest_write);
+
+
+}
+
+void copytestB(int prefill, int copy){
+ oggpack_buffer source_write;
+ oggpack_buffer dest_write;
+ oggpack_buffer source_read;
+ oggpack_buffer dest_read;
+ unsigned char *source;
+ unsigned char *dest;
+ long source_bytes,dest_bytes;
+ int i;
+
+ oggpackB_writeinit(&source_write);
+ oggpackB_writeinit(&dest_write);
+
+ for(i=0;i<(prefill+copy+7)/8;i++)
+ oggpackB_write(&source_write,(i^0x5a)&0xff,8);
+ source=oggpackB_get_buffer(&source_write);
+ source_bytes=oggpackB_bytes(&source_write);
+
+ /* prefill */
+ oggpackB_writecopy(&dest_write,source,prefill);
+
+ /* check buffers; verify end byte masking */
+ dest=oggpackB_get_buffer(&dest_write);
+ dest_bytes=oggpackB_bytes(&dest_write);
+ if(dest_bytes!=(prefill+7)/8){
+ fprintf(stderr,"wrong number of bytes after prefill! %ld!=%d\n",dest_bytes,(prefill+7)/8);
+ exit(1);
+ }
+ oggpackB_readinit(&source_read,source,source_bytes);
+ oggpackB_readinit(&dest_read,dest,dest_bytes);
+
+ for(i=0;i<prefill;i+=8){
+ int s=oggpackB_read(&source_read,prefill-i<8?prefill-i:8);
+ int d=oggpackB_read(&dest_read,prefill-i<8?prefill-i:8);
+ if(s!=d){
+ fprintf(stderr,"prefill=%d mismatch! byte %d, %x!=%x\n",prefill,i/8,s,d);
+ exit(1);
+ }
+ }
+ if(prefill<dest_bytes){
+ if(oggpackB_read(&dest_read,dest_bytes-prefill)!=0){
+ fprintf(stderr,"prefill=%d mismatch! trailing bits not zero\n",prefill);
+ exit(1);
+ }
+ }
+
+ /* second copy */
+ oggpackB_writecopy(&dest_write,source,copy);
+
+ /* check buffers; verify end byte masking */
+ dest=oggpackB_get_buffer(&dest_write);
+ dest_bytes=oggpackB_bytes(&dest_write);
+ if(dest_bytes!=(copy+prefill+7)/8){
+ fprintf(stderr,"wrong number of bytes after prefill+copy! %ld!=%d\n",dest_bytes,(copy+prefill+7)/8);
+ exit(1);
+ }
+ oggpackB_readinit(&source_read,source,source_bytes);
+ oggpackB_readinit(&dest_read,dest,dest_bytes);
+
+ for(i=0;i<prefill;i+=8){
+ int s=oggpackB_read(&source_read,prefill-i<8?prefill-i:8);
+ int d=oggpackB_read(&dest_read,prefill-i<8?prefill-i:8);
+ if(s!=d){
+ fprintf(stderr,"prefill=%d mismatch! byte %d, %x!=%x\n",prefill,i/8,s,d);
+ exit(1);
+ }
+ }
+
+ oggpackB_readinit(&source_read,source,source_bytes);
+ for(i=0;i<copy;i+=8){
+ int s=oggpackB_read(&source_read,copy-i<8?copy-i:8);
+ int d=oggpackB_read(&dest_read,copy-i<8?copy-i:8);
+ if(s!=d){
+ fprintf(stderr,"prefill=%d copy=%d mismatch! byte %d, %x!=%x\n",prefill,copy,i/8,s,d);
+ exit(1);
+ }
+ }
+
+ if(copy+prefill<dest_bytes){
+ if(oggpackB_read(&dest_read,dest_bytes-copy-prefill)!=0){
+ fprintf(stderr,"prefill=%d copy=%d mismatch! trailing bits not zero\n",prefill,copy);
+ exit(1);
+ }
+ }
+
+ oggpackB_writeclear(&source_write);
+ oggpackB_writeclear(&dest_write);
+
+}
+
int main(void){
unsigned char *buffer;
- long bytes,i;
+ long bytes,i,j;
static unsigned long testbuffer1[]=
{18,12,103948,4325,543,76,432,52,3,65,4,56,32,42,34,21,1,23,32,546,456,7,
567,56,8,8,55,3,52,342,341,4,265,7,67,86,2199,21,7,1,5,1,4};
@@ -761,7 +946,31 @@ int main(void){
exit(1);
}
oggpack_writeclear(&o);
- fprintf(stderr,"ok.\n");
+ fprintf(stderr,"ok.");
+
+ /* this is partly glassbox; we're mostly concerned about the allocation boundaries */
+
+ fprintf(stderr,"\nTesting aligned writecopies (LSb): ");
+ for(i=0;i<71;i++)
+ for(j=0;j<5;j++)
+ copytest(j*8,i);
+ for(i=BUFFER_INCREMENT*8-71;i<BUFFER_INCREMENT*8+71;i++)
+ for(j=0;j<5;j++)
+ copytest(j*8,i);
+ fprintf(stderr,"ok. ");
+
+ fprintf(stderr,"\nTesting unaligned writecopies (LSb): ");
+ for(i=0;i<71;i++)
+ for(j=1;j<40;j++)
+ if(j&0x7)
+ copytest(j,i);
+ for(i=BUFFER_INCREMENT*8-71;i<BUFFER_INCREMENT*8+71;i++)
+ for(j=1;j<40;j++)
+ if(j&0x7)
+ copytest(j,i);
+
+ fprintf(stderr,"ok. \n");
+
/********** lazy, cut-n-paste retest with MSb packing ***********/
@@ -846,12 +1055,34 @@ int main(void){
fprintf(stderr,"failed; read past end without -1.\n");
exit(1);
}
+ fprintf(stderr,"ok.");
oggpackB_writeclear(&o);
- fprintf(stderr,"ok.\n\n");
+ /* this is partly glassbox; we're mostly concerned about the allocation boundaries */
+
+ fprintf(stderr,"\nTesting aligned writecopies (MSb): ");
+ for(i=0;i<71;i++)
+ for(j=0;j<5;j++)
+ copytestB(j*8,i);
+ for(i=BUFFER_INCREMENT*8-71;i<BUFFER_INCREMENT*8+71;i++)
+ for(j=0;j<5;j++)
+ copytestB(j*8,i);
+ fprintf(stderr,"ok. ");
+
+ fprintf(stderr,"\nTesting unaligned writecopies (MSb): ");
+ for(i=0;i<71;i++)
+ for(j=1;j<40;j++)
+ if(j&0x7)
+ copytestB(j,i);
+ for(i=BUFFER_INCREMENT*8-71;i<BUFFER_INCREMENT*8+71;i++)
+ for(j=1;j<40;j++)
+ if(j&0x7)
+ copytestB(j,i);
+
+ fprintf(stderr,"ok. \n\n");
return(0);
-}
+}
#endif /* _V_SELFTEST */
#undef BUFFER_INCREMENT
diff --git a/drivers/ogg/framing.c b/drivers/ogg/framing.c
index 25f0e88dbc..3a2f0a6058 100644
--- a/drivers/ogg/framing.c
+++ b/drivers/ogg/framing.c
@@ -12,7 +12,7 @@
function: code raw packets into framed OggSquish stream and
decode Ogg streams back into raw packets
- last mod: $Id: framing.c 17592 2010-11-01 20:27:54Z xiphmont $
+ last mod: $Id: framing.c 18758 2013-01-08 16:29:56Z tterribe $
note: The CRC code is directly derived from public domain code by
Ross Williams (ross@guest.adelaide.edu.au). See docs/framing.html
@@ -21,6 +21,7 @@
********************************************************************/
#include <stdlib.h>
+#include <limits.h>
#include <string.h>
#include <ogg/ogg.h>
@@ -61,7 +62,7 @@ int ogg_page_serialno(const ogg_page *og){
(og->header[16]<<16) |
(og->header[17]<<24));
}
-
+
long ogg_page_pageno(const ogg_page *og){
return(og->header[18] |
(og->header[19]<<8) |
@@ -76,16 +77,16 @@ long ogg_page_pageno(const ogg_page *og){
page, it's counted */
/* NOTE:
-If a page consists of a packet begun on a previous page, and a new
-packet begun (but not completed) on this page, the return will be:
- ogg_page_packets(page) ==1,
- ogg_page_continued(page) !=0
-
-If a page happens to be a single packet that was begun on a
-previous page, and spans to the next page (in the case of a three or
-more page packet), the return will be:
- ogg_page_packets(page) ==0,
- ogg_page_continued(page) !=0
+ If a page consists of a packet begun on a previous page, and a new
+ packet begun (but not completed) on this page, the return will be:
+ ogg_page_packets(page) ==1,
+ ogg_page_continued(page) !=0
+
+ If a page happens to be a single packet that was begun on a
+ previous page, and spans to the next page (in the case of a three or
+ more page packet), the return will be:
+ ogg_page_packets(page) ==0,
+ ogg_page_continued(page) !=0
*/
int ogg_page_packets(const ogg_page *og){
@@ -205,7 +206,7 @@ int ogg_stream_init(ogg_stream_state *os,int serialno){
return(0);
}
return(-1);
-}
+}
/* async/delayed error detection for the ogg_stream_state */
int ogg_stream_check(ogg_stream_state *os){
@@ -220,10 +221,10 @@ int ogg_stream_clear(ogg_stream_state *os){
if(os->lacing_vals)_ogg_free(os->lacing_vals);
if(os->granule_vals)_ogg_free(os->granule_vals);
- memset(os,0,sizeof(*os));
+ memset(os,0,sizeof(*os));
}
return(0);
-}
+}
int ogg_stream_destroy(ogg_stream_state *os){
if(os){
@@ -231,44 +232,56 @@ int ogg_stream_destroy(ogg_stream_state *os){
_ogg_free(os);
}
return(0);
-}
+}
/* Helpers for ogg_stream_encode; this keeps the structure and
what's happening fairly clear */
-static int _os_body_expand(ogg_stream_state *os,int needed){
- if(os->body_storage<=os->body_fill+needed){
+static int _os_body_expand(ogg_stream_state *os,long needed){
+ if(os->body_storage-needed<=os->body_fill){
+ long body_storage;
void *ret;
- ret=_ogg_realloc(os->body_data,(os->body_storage+needed+1024)*
- sizeof(*os->body_data));
+ if(os->body_storage>LONG_MAX-needed){
+ ogg_stream_clear(os);
+ return -1;
+ }
+ body_storage=os->body_storage+needed;
+ if(body_storage<LONG_MAX-1024)body_storage+=1024;
+ ret=_ogg_realloc(os->body_data,body_storage*sizeof(*os->body_data));
if(!ret){
ogg_stream_clear(os);
return -1;
}
- os->body_storage+=(needed+1024);
+ os->body_storage=body_storage;
os->body_data=ret;
}
return 0;
}
-static int _os_lacing_expand(ogg_stream_state *os,int needed){
- if(os->lacing_storage<=os->lacing_fill+needed){
+static int _os_lacing_expand(ogg_stream_state *os,long needed){
+ if(os->lacing_storage-needed<=os->lacing_fill){
+ long lacing_storage;
void *ret;
- ret=_ogg_realloc(os->lacing_vals,(os->lacing_storage+needed+32)*
- sizeof(*os->lacing_vals));
+ if(os->lacing_storage>LONG_MAX-needed){
+ ogg_stream_clear(os);
+ return -1;
+ }
+ lacing_storage=os->lacing_storage+needed;
+ if(lacing_storage<LONG_MAX-32)lacing_storage+=32;
+ ret=_ogg_realloc(os->lacing_vals,lacing_storage*sizeof(*os->lacing_vals));
if(!ret){
ogg_stream_clear(os);
return -1;
}
os->lacing_vals=ret;
- ret=_ogg_realloc(os->granule_vals,(os->lacing_storage+needed+32)*
+ ret=_ogg_realloc(os->granule_vals,lacing_storage*
sizeof(*os->granule_vals));
if(!ret){
ogg_stream_clear(os);
return -1;
}
os->granule_vals=ret;
- os->lacing_storage+=(needed+32);
+ os->lacing_storage=lacing_storage;
}
return 0;
}
@@ -287,12 +300,12 @@ void ogg_page_checksum_set(ogg_page *og){
og->header[23]=0;
og->header[24]=0;
og->header[25]=0;
-
+
for(i=0;i<og->header_len;i++)
crc_reg=(crc_reg<<8)^crc_lookup[((crc_reg >> 24)&0xff)^og->header[i]];
for(i=0;i<og->body_len;i++)
crc_reg=(crc_reg<<8)^crc_lookup[((crc_reg >> 24)&0xff)^og->body[i]];
-
+
og->header[22]=(unsigned char)(crc_reg&0xff);
og->header[23]=(unsigned char)((crc_reg>>8)&0xff);
og->header[24]=(unsigned char)((crc_reg>>16)&0xff);
@@ -304,26 +317,31 @@ void ogg_page_checksum_set(ogg_page *og){
int ogg_stream_iovecin(ogg_stream_state *os, ogg_iovec_t *iov, int count,
long e_o_s, ogg_int64_t granulepos){
- int bytes = 0, lacing_vals, i;
+ long bytes = 0, lacing_vals;
+ int i;
if(ogg_stream_check(os)) return -1;
if(!iov) return 0;
-
- for (i = 0; i < count; ++i) bytes += (int)iov[i].iov_len;
+
+ for (i = 0; i < count; ++i){
+ if(iov[i].iov_len>LONG_MAX) return -1;
+ if(bytes>LONG_MAX-(long)iov[i].iov_len) return -1;
+ bytes += (long)iov[i].iov_len;
+ }
lacing_vals=bytes/255+1;
if(os->body_returned){
/* advance packet data according to the body_returned pointer. We
had to keep it around to return a pointer into the buffer last
call */
-
+
os->body_fill-=os->body_returned;
if(os->body_fill)
memmove(os->body_data,os->body_data+os->body_returned,
os->body_fill);
os->body_returned=0;
}
-
+
/* make sure we have the buffer storage */
if(_os_body_expand(os,bytes) || _os_lacing_expand(os,lacing_vals))
return -1;
@@ -467,33 +485,33 @@ static int ogg_stream_flush_i(ogg_stream_state *os,ogg_page *og, int force, int
pageno>>=8;
}
}
-
+
/* zero for computation; filled in later */
os->header[22]=0;
os->header[23]=0;
os->header[24]=0;
os->header[25]=0;
-
+
/* segment table */
os->header[26]=(unsigned char)(vals&0xff);
for(i=0;i<vals;i++)
bytes+=os->header[i+27]=(unsigned char)(os->lacing_vals[i]&0xff);
-
+
/* set pointers in the ogg_page struct */
og->header=os->header;
og->header_len=os->header_fill=vals+27;
og->body=os->body_data+os->body_returned;
og->body_len=bytes;
-
+
/* advance the lacing data and set the body_returned pointer */
-
+
os->lacing_fill-=vals;
memmove(os->lacing_vals,os->lacing_vals+vals,os->lacing_fill*sizeof(*os->lacing_vals));
memmove(os->granule_vals,os->granule_vals+vals,os->lacing_fill*sizeof(*os->granule_vals));
os->body_returned+=bytes;
-
+
/* calculate the checksum */
-
+
ogg_page_checksum_set(og);
/* done */
@@ -512,12 +530,20 @@ static int ogg_stream_flush_i(ogg_stream_state *os,ogg_page *og, int force, int
since ogg_stream_flush will flush the last page in a stream even if
it's undersized, you almost certainly want to use ogg_stream_pageout
(and *not* ogg_stream_flush) unless you specifically need to flush
- an page regardless of size in the middle of a stream. */
+ a page regardless of size in the middle of a stream. */
int ogg_stream_flush(ogg_stream_state *os,ogg_page *og){
return ogg_stream_flush_i(os,og,1,4096);
}
+/* Like the above, but an argument is provided to adjust the nominal
+ page size for applications which are smart enough to provide their
+ own delay based flushing */
+
+int ogg_stream_flush_fill(ogg_stream_state *os,ogg_page *og, int nfill){
+ return ogg_stream_flush_i(os,og,1,nfill);
+}
+
/* This constructs pages from buffered packet segments. The pointers
returned are to static buffers; do not free. The returned buffers are
good only until the next call (using the same ogg_stream_state) */
@@ -533,10 +559,10 @@ int ogg_stream_pageout(ogg_stream_state *os, ogg_page *og){
return(ogg_stream_flush_i(os,og,force,4096));
}
-/* Like the above, but an argument is provided to adjust the nominal
+/* Like the above, but an argument is provided to adjust the nominal
page size for applications which are smart enough to provide their
own delay based flushing */
-
+
int ogg_stream_pageout_fill(ogg_stream_state *os, ogg_page *og, int nfill){
int force=0;
if(ogg_stream_check(os)) return 0;
@@ -645,7 +671,7 @@ int ogg_sync_wrote(ogg_sync_state *oy, long bytes){
-n) skipped n bytes
0) page not ready; more data (no bytes skipped)
n) page synced at current location; page length n bytes
-
+
*/
long ogg_sync_pageseek(ogg_sync_state *oy,ogg_page *og){
@@ -654,54 +680,54 @@ long ogg_sync_pageseek(ogg_sync_state *oy,ogg_page *og){
long bytes=oy->fill-oy->returned;
if(ogg_sync_check(oy))return 0;
-
+
if(oy->headerbytes==0){
int headerbytes,i;
if(bytes<27)return(0); /* not enough for a header */
-
+
/* verify capture pattern */
if(memcmp(page,"OggS",4))goto sync_fail;
-
+
headerbytes=page[26]+27;
if(bytes<headerbytes)return(0); /* not enough for header + seg table */
-
+
/* count up body length in the segment table */
-
+
for(i=0;i<page[26];i++)
oy->bodybytes+=page[27+i];
oy->headerbytes=headerbytes;
}
-
+
if(oy->bodybytes+oy->headerbytes>bytes)return(0);
-
+
/* The whole test page is buffered. Verify the checksum */
{
/* Grab the checksum bytes, set the header field to zero */
char chksum[4];
ogg_page log;
-
+
memcpy(chksum,page+22,4);
memset(page+22,0,4);
-
+
/* set up a temp page struct and recompute the checksum */
log.header=page;
log.header_len=oy->headerbytes;
log.body=page+oy->headerbytes;
log.body_len=oy->bodybytes;
ogg_page_checksum_set(&log);
-
+
/* Compare */
if(memcmp(chksum,page+22,4)){
/* D'oh. Mismatch! Corrupt page (or miscapture and not a page
at all) */
/* replace the computed checksum with the one actually read in */
memcpy(page+22,chksum,4);
-
+
/* Bad checksum. Lose sync */
goto sync_fail;
}
}
-
+
/* yes, have a whole page all ready to go */
{
unsigned char *page=oy->data+oy->returned;
@@ -720,12 +746,12 @@ long ogg_sync_pageseek(ogg_sync_state *oy,ogg_page *og){
oy->bodybytes=0;
return(bytes);
}
-
+
sync_fail:
-
+
oy->headerbytes=0;
oy->bodybytes=0;
-
+
/* search for possible capture */
next=memchr(page+1,'O',bytes-1);
if(!next)
@@ -764,7 +790,7 @@ int ogg_sync_pageout(ogg_sync_state *oy, ogg_page *og){
/* need more data */
return(0);
}
-
+
/* head did not start a synced page... skipped some bytes */
if(!oy->unsynced){
oy->unsynced=1;
@@ -793,7 +819,7 @@ int ogg_stream_pagein(ogg_stream_state *os, ogg_page *og){
int serialno=ogg_page_serialno(og);
long pageno=ogg_page_pageno(og);
int segments=header[26];
-
+
if(ogg_stream_check(os)) return -1;
/* clean up 'returned data' */
@@ -848,7 +874,7 @@ int ogg_stream_pagein(ogg_stream_state *os, ogg_page *og){
/* are we a 'continued packet' page? If so, we may need to skip
some segments */
if(continued){
- if(os->lacing_fill<1 ||
+ if(os->lacing_fill<1 ||
os->lacing_vals[os->lacing_fill-1]==0x400){
bos=0;
for(;segptr<segments;segptr++){
@@ -862,7 +888,7 @@ int ogg_stream_pagein(ogg_stream_state *os, ogg_page *og){
}
}
}
-
+
if(bodysize){
if(_os_body_expand(os,bodysize)) return -1;
memcpy(os->body_data+os->body_fill,body,bodysize);
@@ -875,20 +901,20 @@ int ogg_stream_pagein(ogg_stream_state *os, ogg_page *og){
int val=header[27+segptr];
os->lacing_vals[os->lacing_fill]=val;
os->granule_vals[os->lacing_fill]=-1;
-
+
if(bos){
os->lacing_vals[os->lacing_fill]|=0x100;
bos=0;
}
-
+
if(val<255)saved=os->lacing_fill;
-
+
os->lacing_fill++;
segptr++;
-
+
if(val<255)os->lacing_packet=os->lacing_fill;
}
-
+
/* set the granulepos on the last granuleval of the last full packet */
if(saved!=-1){
os->granule_vals[saved]=granulepos;
@@ -1493,7 +1519,7 @@ void test_pack(const int *pl, const int **headers, int byteskip,
/* construct a test packet */
ogg_packet op;
int len=pl[i];
-
+
op.packet=data+inptr;
op.bytes=len;
op.e_o_s=(pl[i+1]<0?1:0);
@@ -1509,7 +1535,7 @@ void test_pack(const int *pl, const int **headers, int byteskip,
/* retrieve any finished pages */
{
ogg_page og;
-
+
while(ogg_stream_pageout(&os_en,&og)){
/* We have a page. Check it carefully */
@@ -1558,7 +1584,7 @@ void test_pack(const int *pl, const int **headers, int byteskip,
if(ret==0)break;
if(ret<0)continue;
/* got a page. Happy happy. Verify that it's good. */
-
+
fprintf(stderr,"(%d), ",pageout);
check_page(data+deptr,headers[pageout],&og_de);
@@ -1572,7 +1598,7 @@ void test_pack(const int *pl, const int **headers, int byteskip,
while(ogg_stream_packetpeek(&os_de,&op_de2)>0){
ogg_stream_packetpeek(&os_de,NULL);
ogg_stream_packetout(&os_de,&op_de); /* just catching them all */
-
+
/* verify peek and out match */
if(memcmp(&op_de,&op_de2,sizeof(op_de))){
fprintf(stderr,"packetout != packetpeek! pos=%ld\n",
@@ -1598,7 +1624,7 @@ void test_pack(const int *pl, const int **headers, int byteskip,
}
bosflag=1;
depacket+=op_de.bytes;
-
+
/* check eos flag */
if(eosflag){
fprintf(stderr,"Multiple decoded packets with eos flag!\n");
@@ -1745,7 +1771,7 @@ int main(void){
10,10,10,10,10,10,10,10,
10,10,10,10,10,10,10,50,-1};
const int *headret[]={head1_5,head2_5,head3_5,NULL};
-
+
fprintf(stderr,"testing max packet segments... ");
test_pack(packets,headret,0,0,0);
}
@@ -1754,7 +1780,7 @@ int main(void){
/* packet that overspans over an entire page */
const int packets[]={0,100,130049,259,255,-1};
const int *headret[]={head1_6,head2_6,head3_6,head4_6,NULL};
-
+
fprintf(stderr,"testing very large packets... ");
test_pack(packets,headret,0,0,0);
}
@@ -1764,7 +1790,7 @@ int main(void){
found by Josh Coalson) */
const int packets[]={0,100,130049,259,255,-1};
const int *headret[]={head1_6,head2_6,head3_6,head4_6,NULL};
-
+
fprintf(stderr,"testing continuation resync in very large packets... ");
test_pack(packets,headret,100,2,3);
}
@@ -1773,7 +1799,7 @@ int main(void){
/* term only page. why not? */
const int packets[]={0,100,64770,-1};
const int *headret[]={head1_7,head2_7,head3_7,NULL};
-
+
fprintf(stderr,"testing zero data page (1 nil packet)... ");
test_pack(packets,headret,0,0,0);
}
@@ -1786,13 +1812,13 @@ int main(void){
int pl[]={0, 1,1,98,4079, 1,1,2954,2057, 76,34,912,0,234,1000,1000, 1000,300,-1};
int inptr=0,i,j;
ogg_page og[5];
-
+
ogg_stream_reset(&os_en);
for(i=0;pl[i]!=-1;i++){
ogg_packet op;
int len=pl[i];
-
+
op.packet=data+inptr;
op.bytes=len;
op.e_o_s=(pl[i+1]<0?1:0);
@@ -1840,7 +1866,7 @@ int main(void){
ogg_stream_pagein(&os_de,&temp);
/* do we get the expected results/packets? */
-
+
if(ogg_stream_packetout(&os_de,&test)!=1)error();
checkpacket(&test,0,0,0);
if(ogg_stream_packetout(&os_de,&test)!=1)error();
@@ -1991,13 +2017,13 @@ int main(void){
fprintf(stderr,"ok.\n");
}
-
+
/* Test recapture: garbage + page */
{
ogg_page og_de;
fprintf(stderr,"Testing search for capture... ");
- ogg_sync_reset(&oy);
-
+ ogg_sync_reset(&oy);
+
/* 'garbage' */
memcpy(ogg_sync_buffer(&oy,og[1].body_len),og[1].body,
og[1].body_len);
@@ -2033,7 +2059,7 @@ int main(void){
{
ogg_page og_de;
fprintf(stderr,"Testing recapture... ");
- ogg_sync_reset(&oy);
+ ogg_sync_reset(&oy);
memcpy(ogg_sync_buffer(&oy,og[1].header_len),og[1].header,
og[1].header_len);
@@ -2077,13 +2103,9 @@ int main(void){
free_page(&og[i]);
}
}
- }
+ }
return(0);
}
#endif
-
-
-
-
diff --git a/drivers/ogg/ogg.h b/drivers/ogg/ogg.h
index cea5c16edc..cea4ebed75 100644
--- a/drivers/ogg/ogg.h
+++ b/drivers/ogg/ogg.h
@@ -11,7 +11,7 @@
********************************************************************
function: toplevel libogg include
- last mod: $Id: ogg.h 17571 2010-10-27 13:28:20Z xiphmont $
+ last mod: $Id: ogg.h 18044 2011-08-01 17:55:20Z gmaxwell $
********************************************************************/
#ifndef _OGG_H
@@ -161,6 +161,7 @@ extern int ogg_stream_iovecin(ogg_stream_state *os, ogg_iovec_t *iov,
extern int ogg_stream_pageout(ogg_stream_state *os, ogg_page *og);
extern int ogg_stream_pageout_fill(ogg_stream_state *os, ogg_page *og, int nfill);
extern int ogg_stream_flush(ogg_stream_state *os, ogg_page *og);
+extern int ogg_stream_flush_fill(ogg_stream_state *os, ogg_page *og, int nfill);
/* Ogg BITSTREAM PRIMITIVES: decoding **************************/
diff --git a/drivers/ogg/os_types.h b/drivers/ogg/os_types.h
index d6691b703d..8bf82107e5 100644
--- a/drivers/ogg/os_types.h
+++ b/drivers/ogg/os_types.h
@@ -11,7 +11,7 @@
********************************************************************
function: #ifdef jail to whip a few platforms into the UNIX ideal.
- last mod: $Id: os_types.h 17712 2010-12-03 17:10:02Z xiphmont $
+ last mod: $Id: os_types.h 19098 2014-02-26 19:06:45Z giles $
********************************************************************/
#ifndef _OS_TYPES_H
@@ -24,7 +24,7 @@
#define _ogg_realloc realloc
#define _ogg_free free
-#if defined(_WIN32)
+#if defined(_WIN32)
# if defined(__CYGWIN__)
# include <stdint.h>
diff --git a/drivers/openssl/register_openssl.cpp b/drivers/openssl/register_openssl.cpp
index ed2150bef5..0d2f9fd537 100644
--- a/drivers/openssl/register_openssl.cpp
+++ b/drivers/openssl/register_openssl.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* register_openssl.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "register_openssl.h"
#include "stream_peer_openssl.h"
diff --git a/drivers/openssl/register_openssl.h b/drivers/openssl/register_openssl.h
index e547a2b750..a66ca1e9c0 100644
--- a/drivers/openssl/register_openssl.h
+++ b/drivers/openssl/register_openssl.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* register_openssl.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef REGISTER_OPENSSL_H
#define REGISTER_OPENSSL_H
diff --git a/drivers/openssl/stream_peer_openssl.cpp b/drivers/openssl/stream_peer_openssl.cpp
index aad3a11b7e..67f58b6028 100644
--- a/drivers/openssl/stream_peer_openssl.cpp
+++ b/drivers/openssl/stream_peer_openssl.cpp
@@ -1,4 +1,31 @@
-
+/*************************************************************************/
+/* stream_peer_openssl.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifdef OPENSSL_ENABLED
#include "stream_peer_openssl.h"
//hostname matching code from curl
diff --git a/drivers/openssl/stream_peer_openssl.h b/drivers/openssl/stream_peer_openssl.h
index 20266ee584..f1f25f4fc5 100644
--- a/drivers/openssl/stream_peer_openssl.h
+++ b/drivers/openssl/stream_peer_openssl.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* stream_peer_openssl.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef STREAM_PEER_OPEN_SSL_H
#define STREAM_PEER_OPEN_SSL_H
diff --git a/drivers/png/SCsub b/drivers/png/SCsub
index 9dbffeed1f..96ef9fa5f8 100644
--- a/drivers/png/SCsub
+++ b/drivers/png/SCsub
@@ -3,7 +3,6 @@ Import('env_drivers')
png_sources = [
- "png/example.c",
"png/png.c",
"png/pngerror.c",
"png/pngget.c",
diff --git a/drivers/png/example.c b/drivers/png/example.c
deleted file mode 100644
index 7171d9847e..0000000000
--- a/drivers/png/example.c
+++ /dev/null
@@ -1,879 +0,0 @@
-
-#if 0 /* in case someone actually tries to compile this */
-
-/* example.c - an example of using libpng
- * Last changed in libpng 1.5.19 [August 21, 2014]
- * Maintained 1998-2014 Glenn Randers-Pehrson
- * Maintained 1996, 1997 Andreas Dilger
- * Written 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
- */
-
-/* This is an example of how to use libpng to read and write PNG files.
- * The file libpng-manual.txt is much more verbose then this. If you have not
- * read it, do so first. This was designed to be a starting point of an
- * implementation. This is not officially part of libpng, is hereby placed
- * in the public domain, and therefore does not require a copyright notice.
- * To the extent possible under law, the authors have waived all copyright and
- * related or neighboring rights to this file.
- *
- * This file does not currently compile, because it is missing certain
- * parts, like allocating memory to hold an image. You will have to
- * supply these parts to get it to compile. For an example of a minimal
- * working PNG reader/writer, see pngtest.c, included in this distribution;
- * see also the programs in the contrib directory.
- */
-
-#define _POSIX_SOURCE 1 /* libpng and zlib are POSIX-compliant. You may
- * change this if your application uses non-POSIX
- * extensions. */
-
-#include "png.h"
-
- /* The png_jmpbuf() macro, used in error handling, became available in
- * libpng version 1.0.6. If you want to be able to run your code with older
- * versions of libpng, you must define the macro yourself (but only if it
- * is not already defined by libpng!).
- */
-
-#ifndef png_jmpbuf
-# define png_jmpbuf(png_ptr) ((png_ptr)->png_jmpbuf)
-#endif
-
-/* Check to see if a file is a PNG file using png_sig_cmp(). png_sig_cmp()
- * returns zero if the image is a PNG and nonzero if it isn't a PNG.
- *
- * The function check_if_png() shown here, but not used, returns nonzero (true)
- * if the file can be opened and is a PNG, 0 (false) otherwise.
- *
- * If this call is successful, and you are going to keep the file open,
- * you should call png_set_sig_bytes(png_ptr, PNG_BYTES_TO_CHECK); once
- * you have created the png_ptr, so that libpng knows your application
- * has read that many bytes from the start of the file. Make sure you
- * don't call png_set_sig_bytes() with more than 8 bytes read or give it
- * an incorrect number of bytes read, or you will either have read too
- * many bytes (your fault), or you are telling libpng to read the wrong
- * number of magic bytes (also your fault).
- *
- * Many applications already read the first 2 or 4 bytes from the start
- * of the image to determine the file type, so it would be easiest just
- * to pass the bytes to png_sig_cmp() or even skip that if you know
- * you have a PNG file, and call png_set_sig_bytes().
- */
-#define PNG_BYTES_TO_CHECK 4
-int check_if_png(char *file_name, FILE **fp)
-{
- char buf[PNG_BYTES_TO_CHECK];
-
- /* Open the prospective PNG file. */
- if ((*fp = fopen(file_name, "rb")) == NULL)
- return 0;
-
- /* Read in some of the signature bytes */
- if (fread(buf, 1, PNG_BYTES_TO_CHECK, *fp) != PNG_BYTES_TO_CHECK)
- return 0;
-
- /* Compare the first PNG_BYTES_TO_CHECK bytes of the signature.
- Return nonzero (true) if they match */
-
- return(!png_sig_cmp(buf, (png_size_t)0, PNG_BYTES_TO_CHECK));
-}
-
-/* Read a PNG file. You may want to return an error code if the read
- * fails (depending upon the failure). There are two "prototypes" given
- * here - one where we are given the filename, and we need to open the
- * file, and the other where we are given an open file (possibly with
- * some or all of the magic bytes read - see comments above).
- */
-#ifdef open_file /* prototype 1 */
-void read_png(char *file_name) /* We need to open the file */
-{
- png_structp png_ptr;
- png_infop info_ptr;
- int sig_read = 0;
- png_uint_32 width, height;
- int bit_depth, color_type, interlace_type;
- FILE *fp;
-
- if ((fp = fopen(file_name, "rb")) == NULL)
- return (ERROR);
-
-#else no_open_file /* prototype 2 */
-void read_png(FILE *fp, int sig_read) /* File is already open */
-{
- png_structp png_ptr;
- png_infop info_ptr;
- png_uint_32 width, height;
- int bit_depth, color_type, interlace_type;
-#endif no_open_file /* Only use one prototype! */
-
- /* Create and initialize the png_struct with the desired error handler
- * functions. If you want to use the default stderr and longjump method,
- * you can supply NULL for the last three parameters. We also supply the
- * the compiler header file version, so that we know if the application
- * was compiled with a compatible version of the library. REQUIRED
- */
- png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING,
- png_voidp user_error_ptr, user_error_fn, user_warning_fn);
-
- if (png_ptr == NULL)
- {
- fclose(fp);
- return (ERROR);
- }
-
- /* Allocate/initialize the memory for image information. REQUIRED. */
- info_ptr = png_create_info_struct(png_ptr);
- if (info_ptr == NULL)
- {
- fclose(fp);
- png_destroy_read_struct(&png_ptr, NULL, NULL);
- return (ERROR);
- }
-
- /* Set error handling if you are using the setjmp/longjmp method (this is
- * the normal method of doing things with libpng). REQUIRED unless you
- * set up your own error handlers in the png_create_read_struct() earlier.
- */
-
- if (setjmp(png_jmpbuf(png_ptr)))
- {
- /* Free all of the memory associated with the png_ptr and info_ptr */
- png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
- fclose(fp);
- /* If we get here, we had a problem reading the file */
- return (ERROR);
- }
-
- /* One of the following I/O initialization methods is REQUIRED */
-#ifdef streams /* PNG file I/O method 1 */
- /* Set up the input control if you are using standard C streams */
- png_init_io(png_ptr, fp);
-
-#else no_streams /* PNG file I/O method 2 */
- /* If you are using replacement read functions, instead of calling
- * png_init_io() here you would call:
- */
- png_set_read_fn(png_ptr, (void *)user_io_ptr, user_read_fn);
- /* where user_io_ptr is a structure you want available to the callbacks */
-#endif no_streams /* Use only one I/O method! */
-
- /* If we have already read some of the signature */
- png_set_sig_bytes(png_ptr, sig_read);
-
-#ifdef hilevel
- /*
- * If you have enough memory to read in the entire image at once,
- * and you need to specify only transforms that can be controlled
- * with one of the PNG_TRANSFORM_* bits (this presently excludes
- * quantizing, filling, setting background, and doing gamma
- * adjustment), then you can read the entire image (including
- * pixels) into the info structure with this call:
- */
- png_read_png(png_ptr, info_ptr, png_transforms, NULL);
-
-#else
- /* OK, you're doing it the hard way, with the lower-level functions */
-
- /* The call to png_read_info() gives us all of the information from the
- * PNG file before the first IDAT (image data chunk). REQUIRED
- */
- png_read_info(png_ptr, info_ptr);
-
- png_get_IHDR(png_ptr, info_ptr, &width, &height, &bit_depth, &color_type,
- &interlace_type, NULL, NULL);
-
- /* Set up the data transformations you want. Note that these are all
- * optional. Only call them if you want/need them. Many of the
- * transformations only work on specific types of images, and many
- * are mutually exclusive.
- */
-
- /* Tell libpng to strip 16 bits/color files down to 8 bits/color.
- * Use accurate scaling if it's available, otherwise just chop off the
- * low byte.
- */
-#ifdef PNG_READ_SCALE_16_TO_8_SUPPORTED
- png_set_scale_16(png_ptr);
-#else
- png_set_strip_16(png_ptr);
-#endif
-
- /* Strip alpha bytes from the input data without combining with the
- * background (not recommended).
- */
- png_set_strip_alpha(png_ptr);
-
- /* Extract multiple pixels with bit depths of 1, 2, and 4 from a single
- * byte into separate bytes (useful for paletted and grayscale images).
- */
- png_set_packing(png_ptr);
-
- /* Change the order of packed pixels to least significant bit first
- * (not useful if you are using png_set_packing). */
- png_set_packswap(png_ptr);
-
- /* Expand paletted colors into true RGB triplets */
- if (color_type == PNG_COLOR_TYPE_PALETTE)
- png_set_palette_to_rgb(png_ptr);
-
- /* Expand grayscale images to the full 8 bits from 1, 2, or 4 bits/pixel */
- if (color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8)
- png_set_expand_gray_1_2_4_to_8(png_ptr);
-
- /* Expand paletted or RGB images with transparency to full alpha channels
- * so the data will be available as RGBA quartets.
- */
- if (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS))
- png_set_tRNS_to_alpha(png_ptr);
-
- /* Set the background color to draw transparent and alpha images over.
- * It is possible to set the red, green, and blue components directly
- * for paletted images instead of supplying a palette index. Note that
- * even if the PNG file supplies a background, you are not required to
- * use it - you should use the (solid) application background if it has one.
- */
-
- png_color_16 my_background, *image_background;
-
- if (png_get_bKGD(png_ptr, info_ptr, &image_background))
- png_set_background(png_ptr, image_background,
- PNG_BACKGROUND_GAMMA_FILE, 1, 1.0);
- else
- png_set_background(png_ptr, &my_background,
- PNG_BACKGROUND_GAMMA_SCREEN, 0, 1.0);
-
- /* Some suggestions as to how to get a screen gamma value
- *
- * Note that screen gamma is the display_exponent, which includes
- * the CRT_exponent and any correction for viewing conditions
- */
- if (/* We have a user-defined screen gamma value */)
- {
- screen_gamma = user-defined screen_gamma;
- }
- /* This is one way that applications share the same screen gamma value */
- else if ((gamma_str = getenv("SCREEN_GAMMA")) != NULL)
- {
- screen_gamma = atof(gamma_str);
- }
- /* If we don't have another value */
- else
- {
- screen_gamma = PNG_DEFAULT_sRGB; /* A good guess for a PC monitor
- in a dimly lit room */
- screen_gamma = PNG_GAMMA_MAC_18 or 1.0; /* Good guesses for Mac systems */
- }
-
- /* Tell libpng to handle the gamma conversion for you. The final call
- * is a good guess for PC generated images, but it should be configurable
- * by the user at run time by the user. It is strongly suggested that
- * your application support gamma correction.
- */
-
- int intent;
-
- if (png_get_sRGB(png_ptr, info_ptr, &intent))
- png_set_gamma(png_ptr, screen_gamma, PNG_DEFAULT_sRGB);
- else
- {
- double image_gamma;
- if (png_get_gAMA(png_ptr, info_ptr, &image_gamma))
- png_set_gamma(png_ptr, screen_gamma, image_gamma);
- else
- png_set_gamma(png_ptr, screen_gamma, 0.45455);
- }
-
-#ifdef PNG_READ_QUANTIZE_SUPPORTED
- /* Quantize RGB files down to 8-bit palette or reduce palettes
- * to the number of colors available on your screen.
- */
- if (color_type & PNG_COLOR_MASK_COLOR)
- {
- int num_palette;
- png_colorp palette;
-
- /* This reduces the image to the application supplied palette */
- if (/* We have our own palette */)
- {
- /* An array of colors to which the image should be quantized */
- png_color std_color_cube[MAX_SCREEN_COLORS];
-
- png_set_quantize(png_ptr, std_color_cube, MAX_SCREEN_COLORS,
- MAX_SCREEN_COLORS, NULL, 0);
- }
- /* This reduces the image to the palette supplied in the file */
- else if (png_get_PLTE(png_ptr, info_ptr, &palette, &num_palette))
- {
- png_uint_16p histogram = NULL;
-
- png_get_hIST(png_ptr, info_ptr, &histogram);
-
- png_set_quantize(png_ptr, palette, num_palette,
- max_screen_colors, histogram, 0);
- }
- }
-#endif /* PNG_READ_QUANTIZE_SUPPORTED */
-
- /* Invert monochrome files to have 0 as white and 1 as black */
- png_set_invert_mono(png_ptr);
-
- /* If you want to shift the pixel values from the range [0,255] or
- * [0,65535] to the original [0,7] or [0,31], or whatever range the
- * colors were originally in:
- */
- if (png_get_valid(png_ptr, info_ptr, PNG_INFO_sBIT))
- {
- png_color_8p sig_bit_p;
-
- png_get_sBIT(png_ptr, info_ptr, &sig_bit_p);
- png_set_shift(png_ptr, sig_bit_p);
- }
-
- /* Flip the RGB pixels to BGR (or RGBA to BGRA) */
- if (color_type & PNG_COLOR_MASK_COLOR)
- png_set_bgr(png_ptr);
-
- /* Swap the RGBA or GA data to ARGB or AG (or BGRA to ABGR) */
- png_set_swap_alpha(png_ptr);
-
- /* Swap bytes of 16-bit files to least significant byte first */
- png_set_swap(png_ptr);
-
- /* Add filler (or alpha) byte (before/after each RGB triplet) */
- png_set_filler(png_ptr, 0xff, PNG_FILLER_AFTER);
-
-#ifdef PNG_READ_INTERLACING_SUPPORTED
- /* Turn on interlace handling. REQUIRED if you are not using
- * png_read_image(). To see how to handle interlacing passes,
- * see the png_read_row() method below:
- */
- number_passes = png_set_interlace_handling(png_ptr);
-#else
- number_passes = 1;
-#endif /* PNG_READ_INTERLACING_SUPPORTED */
-
-
- /* Optional call to gamma correct and add the background to the palette
- * and update info structure. REQUIRED if you are expecting libpng to
- * update the palette for you (ie you selected such a transform above).
- */
- png_read_update_info(png_ptr, info_ptr);
-
- /* Allocate the memory to hold the image using the fields of info_ptr. */
-
- /* The easiest way to read the image: */
- png_bytep row_pointers[height];
-
- /* Clear the pointer array */
- for (row = 0; row < height; row++)
- row_pointers[row] = NULL;
-
- for (row = 0; row < height; row++)
- row_pointers[row] = png_malloc(png_ptr, png_get_rowbytes(png_ptr,
- info_ptr));
-
- /* Now it's time to read the image. One of these methods is REQUIRED */
-#ifdef entire /* Read the entire image in one go */
- png_read_image(png_ptr, row_pointers);
-
-#else no_entire /* Read the image one or more scanlines at a time */
- /* The other way to read images - deal with interlacing: */
-
- for (pass = 0; pass < number_passes; pass++)
- {
-#ifdef single /* Read the image a single row at a time */
- for (y = 0; y < height; y++)
- {
- png_read_rows(png_ptr, &row_pointers[y], NULL, 1);
- }
-
-#else no_single /* Read the image several rows at a time */
- for (y = 0; y < height; y += number_of_rows)
- {
-#ifdef sparkle /* Read the image using the "sparkle" effect. */
- png_read_rows(png_ptr, &row_pointers[y], NULL,
- number_of_rows);
-#else no_sparkle /* Read the image using the "rectangle" effect */
- png_read_rows(png_ptr, NULL, &row_pointers[y],
- number_of_rows);
-#endif no_sparkle /* Use only one of these two methods */
- }
-
- /* If you want to display the image after every pass, do so here */
-#endif no_single /* Use only one of these two methods */
- }
-#endif no_entire /* Use only one of these two methods */
-
- /* Read rest of file, and get additional chunks in info_ptr - REQUIRED */
- png_read_end(png_ptr, info_ptr);
-#endif hilevel
-
- /* At this point you have read the entire image */
-
- /* Clean up after the read, and free any memory allocated - REQUIRED */
- png_destroy_read_struct(&png_ptr, &info_ptr, NULL);
-
- /* Close the file */
- fclose(fp);
-
- /* That's it */
- return (OK);
-}
-
-/* Progressively read a file */
-
-int
-initialize_png_reader(png_structp *png_ptr, png_infop *info_ptr)
-{
- /* Create and initialize the png_struct with the desired error handler
- * functions. If you want to use the default stderr and longjump method,
- * you can supply NULL for the last three parameters. We also check that
- * the library version is compatible in case we are using dynamically
- * linked libraries.
- */
- *png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING,
- png_voidp user_error_ptr, user_error_fn, user_warning_fn);
-
- if (*png_ptr == NULL)
- {
- *info_ptr = NULL;
- return (ERROR);
- }
-
- *info_ptr = png_create_info_struct(png_ptr);
-
- if (*info_ptr == NULL)
- {
- png_destroy_read_struct(png_ptr, info_ptr, NULL);
- return (ERROR);
- }
-
- if (setjmp(png_jmpbuf((*png_ptr))))
- {
- png_destroy_read_struct(png_ptr, info_ptr, NULL);
- return (ERROR);
- }
-
- /* This one's new. You will need to provide all three
- * function callbacks, even if you aren't using them all.
- * If you aren't using all functions, you can specify NULL
- * parameters. Even when all three functions are NULL,
- * you need to call png_set_progressive_read_fn().
- * These functions shouldn't be dependent on global or
- * static variables if you are decoding several images
- * simultaneously. You should store stream specific data
- * in a separate struct, given as the second parameter,
- * and retrieve the pointer from inside the callbacks using
- * the function png_get_progressive_ptr(png_ptr).
- */
- png_set_progressive_read_fn(*png_ptr, (void *)stream_data,
- info_callback, row_callback, end_callback);
-
- return (OK);
-}
-
-int
-process_data(png_structp *png_ptr, png_infop *info_ptr,
- png_bytep buffer, png_uint_32 length)
-{
- if (setjmp(png_jmpbuf((*png_ptr))))
- {
- /* Free the png_ptr and info_ptr memory on error */
- png_destroy_read_struct(png_ptr, info_ptr, NULL);
- return (ERROR);
- }
-
- /* This one's new also. Simply give it chunks of data as
- * they arrive from the data stream (in order, of course).
- * On segmented machines, don't give it any more than 64K.
- * The library seems to run fine with sizes of 4K, although
- * you can give it much less if necessary (I assume you can
- * give it chunks of 1 byte, but I haven't tried with less
- * than 256 bytes yet). When this function returns, you may
- * want to display any rows that were generated in the row
- * callback, if you aren't already displaying them there.
- */
- png_process_data(*png_ptr, *info_ptr, buffer, length);
- return (OK);
-}
-
-info_callback(png_structp png_ptr, png_infop info)
-{
- /* Do any setup here, including setting any of the transformations
- * mentioned in the Reading PNG files section. For now, you _must_
- * call either png_start_read_image() or png_read_update_info()
- * after all the transformations are set (even if you don't set
- * any). You may start getting rows before png_process_data()
- * returns, so this is your last chance to prepare for that.
- */
-}
-
-row_callback(png_structp png_ptr, png_bytep new_row,
- png_uint_32 row_num, int pass)
-{
- /*
- * This function is called for every row in the image. If the
- * image is interlaced, and you turned on the interlace handler,
- * this function will be called for every row in every pass.
- *
- * In this function you will receive a pointer to new row data from
- * libpng called new_row that is to replace a corresponding row (of
- * the same data format) in a buffer allocated by your application.
- *
- * The new row data pointer "new_row" may be NULL, indicating there is
- * no new data to be replaced (in cases of interlace loading).
- *
- * If new_row is not NULL then you need to call
- * png_progressive_combine_row() to replace the corresponding row as
- * shown below:
- */
-
- /* Get pointer to corresponding row in our
- * PNG read buffer.
- */
- png_bytep old_row = ((png_bytep *)our_data)[row_num];
-
-#ifdef PNG_READ_INTERLACING_SUPPORTED
- /* If both rows are allocated then copy the new row
- * data to the corresponding row data.
- */
- if ((old_row != NULL) && (new_row != NULL))
- png_progressive_combine_row(png_ptr, old_row, new_row);
-
- /*
- * The rows and passes are called in order, so you don't really
- * need the row_num and pass, but I'm supplying them because it
- * may make your life easier.
- *
- * For the non-NULL rows of interlaced images, you must call
- * png_progressive_combine_row() passing in the new row and the
- * old row, as demonstrated above. You can call this function for
- * NULL rows (it will just return) and for non-interlaced images
- * (it just does the png_memcpy for you) if it will make the code
- * easier. Thus, you can just do this for all cases:
- */
-
- png_progressive_combine_row(png_ptr, old_row, new_row);
-
- /* where old_row is what was displayed for previous rows. Note
- * that the first pass (pass == 0 really) will completely cover
- * the old row, so the rows do not have to be initialized. After
- * the first pass (and only for interlaced images), you will have
- * to pass the current row as new_row, and the function will combine
- * the old row and the new row.
- */
-#endif /* PNG_READ_INTERLACING_SUPPORTED */
-}
-
-end_callback(png_structp png_ptr, png_infop info)
-{
- /* This function is called when the whole image has been read,
- * including any chunks after the image (up to and including
- * the IEND). You will usually have the same info chunk as you
- * had in the header, although some data may have been added
- * to the comments and time fields.
- *
- * Most people won't do much here, perhaps setting a flag that
- * marks the image as finished.
- */
-}
-
-/* Write a png file */
-void write_png(char *file_name /* , ... other image information ... */)
-{
- FILE *fp;
- png_structp png_ptr;
- png_infop info_ptr;
- png_colorp palette;
-
- /* Open the file */
- fp = fopen(file_name, "wb");
- if (fp == NULL)
- return (ERROR);
-
- /* Create and initialize the png_struct with the desired error handler
- * functions. If you want to use the default stderr and longjump method,
- * you can supply NULL for the last three parameters. We also check that
- * the library version is compatible with the one used at compile time,
- * in case we are using dynamically linked libraries. REQUIRED.
- */
- png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING,
- png_voidp user_error_ptr, user_error_fn, user_warning_fn);
-
- if (png_ptr == NULL)
- {
- fclose(fp);
- return (ERROR);
- }
-
- /* Allocate/initialize the image information data. REQUIRED */
- info_ptr = png_create_info_struct(png_ptr);
- if (info_ptr == NULL)
- {
- fclose(fp);
- png_destroy_write_struct(&png_ptr, NULL);
- return (ERROR);
- }
-
- /* Set error handling. REQUIRED if you aren't supplying your own
- * error handling functions in the png_create_write_struct() call.
- */
- if (setjmp(png_jmpbuf(png_ptr)))
- {
- /* If we get here, we had a problem writing the file */
- fclose(fp);
- png_destroy_write_struct(&png_ptr, &info_ptr);
- return (ERROR);
- }
-
- /* One of the following I/O initialization functions is REQUIRED */
-
-#ifdef streams /* I/O initialization method 1 */
- /* Set up the output control if you are using standard C streams */
- png_init_io(png_ptr, fp);
-
-#else no_streams /* I/O initialization method 2 */
- /* If you are using replacement write functions, instead of calling
- * png_init_io() here you would call
- */
- png_set_write_fn(png_ptr, (void *)user_io_ptr, user_write_fn,
- user_IO_flush_function);
- /* where user_io_ptr is a structure you want available to the callbacks */
-#endif no_streams /* Only use one initialization method */
-
-#ifdef hilevel
- /* This is the easy way. Use it if you already have all the
- * image info living in the structure. You could "|" many
- * PNG_TRANSFORM flags into the png_transforms integer here.
- */
- png_write_png(png_ptr, info_ptr, png_transforms, NULL);
-
-#else
- /* This is the hard way */
-
- /* Set the image information here. Width and height are up to 2^31,
- * bit_depth is one of 1, 2, 4, 8, or 16, but valid values also depend on
- * the color_type selected. color_type is one of PNG_COLOR_TYPE_GRAY,
- * PNG_COLOR_TYPE_GRAY_ALPHA, PNG_COLOR_TYPE_PALETTE, PNG_COLOR_TYPE_RGB,
- * or PNG_COLOR_TYPE_RGB_ALPHA. interlace is either PNG_INTERLACE_NONE or
- * PNG_INTERLACE_ADAM7, and the compression_type and filter_type MUST
- * currently be PNG_COMPRESSION_TYPE_BASE and PNG_FILTER_TYPE_BASE. REQUIRED
- */
- png_set_IHDR(png_ptr, info_ptr, width, height, bit_depth, PNG_COLOR_TYPE_???,
- PNG_INTERLACE_????, PNG_COMPRESSION_TYPE_BASE, PNG_FILTER_TYPE_BASE);
-
- /* Set the palette if there is one. REQUIRED for indexed-color images */
- palette = (png_colorp)png_malloc(png_ptr, PNG_MAX_PALETTE_LENGTH
- * png_sizeof(png_color));
- /* ... Set palette colors ... */
- png_set_PLTE(png_ptr, info_ptr, palette, PNG_MAX_PALETTE_LENGTH);
- /* You must not free palette here, because png_set_PLTE only makes a link to
- * the palette that you malloced. Wait until you are about to destroy
- * the png structure.
- */
-
- /* Optional significant bit (sBIT) chunk */
- png_color_8 sig_bit;
-
- /* If we are dealing with a grayscale image then */
- sig_bit.gray = true_bit_depth;
-
- /* Otherwise, if we are dealing with a color image then */
- sig_bit.red = true_red_bit_depth;
- sig_bit.green = true_green_bit_depth;
- sig_bit.blue = true_blue_bit_depth;
-
- /* If the image has an alpha channel then */
- sig_bit.alpha = true_alpha_bit_depth;
-
- png_set_sBIT(png_ptr, info_ptr, &sig_bit);
-
-
- /* Optional gamma chunk is strongly suggested if you have any guess
- * as to the correct gamma of the image.
- */
- png_set_gAMA(png_ptr, info_ptr, gamma);
-
- /* Optionally write comments into the image */
- {
- png_text text_ptr[3];
-
- char key0[]="Title";
- char text0[]="Mona Lisa";
- text_ptr[0].key = key0;
- text_ptr[0].text = text0;
- text_ptr[0].compression = PNG_TEXT_COMPRESSION_NONE;
- text_ptr[0].itxt_length = 0;
- text_ptr[0].lang = NULL;
- text_ptr[0].lang_key = NULL;
-
- char key1[]="Author";
- char text1[]="Leonardo DaVinci";
- text_ptr[1].key = key1;
- text_ptr[1].text = text1;
- text_ptr[1].compression = PNG_TEXT_COMPRESSION_NONE;
- text_ptr[1].itxt_length = 0;
- text_ptr[1].lang = NULL;
- text_ptr[1].lang_key = NULL;
-
- char key2[]="Description";
- char text2[]="<long text>";
- text_ptr[2].key = key2;
- text_ptr[2].text = text2;
- text_ptr[2].compression = PNG_TEXT_COMPRESSION_zTXt;
- text_ptr[2].itxt_length = 0;
- text_ptr[2].lang = NULL;
- text_ptr[2].lang_key = NULL;
-
- png_set_text(write_ptr, write_info_ptr, text_ptr, 3);
- }
-
- /* Other optional chunks like cHRM, bKGD, tRNS, tIME, oFFs, pHYs */
-
- /* Note that if sRGB is present the gAMA and cHRM chunks must be ignored
- * on read and, if your application chooses to write them, they must
- * be written in accordance with the sRGB profile
- */
-
- /* Write the file header information. REQUIRED */
- png_write_info(png_ptr, info_ptr);
-
- /* If you want, you can write the info in two steps, in case you need to
- * write your private chunk ahead of PLTE:
- *
- * png_write_info_before_PLTE(write_ptr, write_info_ptr);
- * write_my_chunk();
- * png_write_info(png_ptr, info_ptr);
- *
- * However, given the level of known- and unknown-chunk support in 1.2.0
- * and up, this should no longer be necessary.
- */
-
- /* Once we write out the header, the compression type on the text
- * chunk gets changed to PNG_TEXT_COMPRESSION_NONE_WR or
- * PNG_TEXT_COMPRESSION_zTXt_WR, so it doesn't get written out again
- * at the end.
- */
-
- /* Set up the transformations you want. Note that these are
- * all optional. Only call them if you want them.
- */
-
- /* Invert monochrome pixels */
- png_set_invert_mono(png_ptr);
-
- /* Shift the pixels up to a legal bit depth and fill in
- * as appropriate to correctly scale the image.
- */
- png_set_shift(png_ptr, &sig_bit);
-
- /* Pack pixels into bytes */
- png_set_packing(png_ptr);
-
- /* Swap location of alpha bytes from ARGB to RGBA */
- png_set_swap_alpha(png_ptr);
-
- /* Get rid of filler (OR ALPHA) bytes, pack XRGB/RGBX/ARGB/RGBA into
- * RGB (4 channels -> 3 channels). The second parameter is not used.
- */
- png_set_filler(png_ptr, 0, PNG_FILLER_BEFORE);
-
- /* Flip BGR pixels to RGB */
- png_set_bgr(png_ptr);
-
- /* Swap bytes of 16-bit files to most significant byte first */
- png_set_swap(png_ptr);
-
- /* Swap bits of 1-bit, 2-bit, 4-bit packed pixel formats */
- png_set_packswap(png_ptr);
-
- /* Turn on interlace handling if you are not using png_write_image() */
- if (interlacing != 0)
- number_passes = png_set_interlace_handling(png_ptr);
-
- else
- number_passes = 1;
-
- /* The easiest way to write the image (you may have a different memory
- * layout, however, so choose what fits your needs best). You need to
- * use the first method if you aren't handling interlacing yourself.
- */
- png_uint_32 k, height, width;
-
- /* In this example, "image" is a one-dimensional array of bytes */
- png_byte image[height*width*bytes_per_pixel];
-
- png_bytep row_pointers[height];
-
- if (height > PNG_UINT_32_MAX/png_sizeof(png_bytep))
- png_error (png_ptr, "Image is too tall to process in memory");
-
- /* Set up pointers into your "image" byte array */
- for (k = 0; k < height; k++)
- row_pointers[k] = image + k*width*bytes_per_pixel;
-
- /* One of the following output methods is REQUIRED */
-
-#ifdef entire /* Write out the entire image data in one call */
- png_write_image(png_ptr, row_pointers);
-
- /* The other way to write the image - deal with interlacing */
-
-#else no_entire /* Write out the image data by one or more scanlines */
-
- /* The number of passes is either 1 for non-interlaced images,
- * or 7 for interlaced images.
- */
- for (pass = 0; pass < number_passes; pass++)
- {
- /* Write a few rows at a time. */
- png_write_rows(png_ptr, &row_pointers[first_row], number_of_rows);
-
- /* If you are only writing one row at a time, this works */
- for (y = 0; y < height; y++)
- png_write_rows(png_ptr, &row_pointers[y], 1);
- }
-#endif no_entire /* Use only one output method */
-
- /* You can write optional chunks like tEXt, zTXt, and tIME at the end
- * as well. Shouldn't be necessary in 1.2.0 and up as all the public
- * chunks are supported and you can use png_set_unknown_chunks() to
- * register unknown chunks into the info structure to be written out.
- */
-
- /* It is REQUIRED to call this to finish writing the rest of the file */
- png_write_end(png_ptr, info_ptr);
-#endif hilevel
-
- /* If you png_malloced a palette, free it here (don't free info_ptr->palette,
- * as recommended in versions 1.0.5m and earlier of this example; if
- * libpng mallocs info_ptr->palette, libpng will free it). If you
- * allocated it with malloc() instead of png_malloc(), use free() instead
- * of png_free().
- */
- png_free(png_ptr, palette);
- palette = NULL;
-
- /* Similarly, if you png_malloced any data that you passed in with
- * png_set_something(), such as a hist or trans array, free it here,
- * when you can be sure that libpng is through with it.
- */
- png_free(png_ptr, trans);
- trans = NULL;
- /* Whenever you use png_free() it is a good idea to set the pointer to
- * NULL in case your application inadvertently tries to png_free() it
- * again. When png_free() sees a NULL it returns without action, thus
- * avoiding the double-free security problem.
- */
-
- /* Clean up after the write, and free any memory allocated */
- png_destroy_write_struct(&png_ptr, &info_ptr);
-
- /* Close the file */
- fclose(fp);
-
- /* That's it */
- return (OK);
-}
-
-#endif /* if 0 */
diff --git a/drivers/png/resource_saver_png.h b/drivers/png/resource_saver_png.h
index 116d425d24..d2e0753b40 100644
--- a/drivers/png/resource_saver_png.h
+++ b/drivers/png/resource_saver_png.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* resource_saver_png.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef RESOURCE_SAVER_PNG_H
#define RESOURCE_SAVER_PNG_H
diff --git a/drivers/pnm/bitmap_loader_pnm.cpp b/drivers/pnm/bitmap_loader_pnm.cpp
index c9298be26a..e06d4c80f0 100644
--- a/drivers/pnm/bitmap_loader_pnm.cpp
+++ b/drivers/pnm/bitmap_loader_pnm.cpp
@@ -1,14 +1,31 @@
-/*************************************************/
-/* image_loader_jpg.cpp */
-/*************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/*************************************************/
-/* Source code within this file is: */
-/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */
-/* All Rights Reserved. */
-/*************************************************/
-
+/*************************************************************************/
+/* bitmap_loader_pnm.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "bitmap_loader_pnm.h"
#include "os/file_access.h"
#include "scene/resources/bit_mask.h"
diff --git a/drivers/pnm/bitmap_loader_pnm.h b/drivers/pnm/bitmap_loader_pnm.h
index 6e6c8a59c8..965cf7a451 100644
--- a/drivers/pnm/bitmap_loader_pnm.h
+++ b/drivers/pnm/bitmap_loader_pnm.h
@@ -1,14 +1,31 @@
-/*************************************************/
-/* image_loader_jpg.h */
-/*************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/*************************************************/
-/* Source code within this file is: */
-/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */
-/* All Rights Reserved. */
-/*************************************************/
-
+/*************************************************************************/
+/* bitmap_loader_pnm.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef BITMAP_LOADER_PNM_H
#define BITMAP_LOADER_PNM_H
diff --git a/drivers/pulseaudio/audio_driver_pulseaudio.cpp b/drivers/pulseaudio/audio_driver_pulseaudio.cpp
index 813a95816b..4804bc5630 100644
--- a/drivers/pulseaudio/audio_driver_pulseaudio.cpp
+++ b/drivers/pulseaudio/audio_driver_pulseaudio.cpp
@@ -1,5 +1,5 @@
/*************************************************************************/
-/* audio_driver_alsa.cpp */
+/* audio_driver_pulseaudio.cpp */
/*************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
diff --git a/drivers/pvr/texture_loader_pvr.cpp b/drivers/pvr/texture_loader_pvr.cpp
index eb67dad8cf..3ab3240512 100644
--- a/drivers/pvr/texture_loader_pvr.cpp
+++ b/drivers/pvr/texture_loader_pvr.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* texture_loader_pvr.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "texture_loader_pvr.h"
#include "os/file_access.h"
#include <string.h>
diff --git a/drivers/pvr/texture_loader_pvr.h b/drivers/pvr/texture_loader_pvr.h
index 735cb2b48b..5efb3b2507 100644
--- a/drivers/pvr/texture_loader_pvr.h
+++ b/drivers/pvr/texture_loader_pvr.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* texture_loader_pvr.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef TEXTURE_LOADER_PVR_H
#define TEXTURE_LOADER_PVR_H
diff --git a/drivers/register_driver_types.cpp b/drivers/register_driver_types.cpp
index 2f9767440e..8354de8c6f 100644
--- a/drivers/register_driver_types.cpp
+++ b/drivers/register_driver_types.cpp
@@ -1,14 +1,31 @@
-/*************************************************/
-/* register_driver_types.cpp */
-/*************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/*************************************************/
-/* Source code within this file is: */
-/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */
-/* All Rights Reserved. */
-/*************************************************/
-
+/*************************************************************************/
+/* register_driver_types.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "register_driver_types.h"
#include "png/image_loader_png.h"
diff --git a/drivers/register_driver_types.h b/drivers/register_driver_types.h
index 8a13ad4471..0d9ffff2c9 100644
--- a/drivers/register_driver_types.h
+++ b/drivers/register_driver_types.h
@@ -1,14 +1,31 @@
-/*************************************************/
-/* register_driver_types.h */
-/*************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/*************************************************/
-/* Source code within this file is: */
-/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */
-/* All Rights Reserved. */
-/*************************************************/
-
+/*************************************************************************/
+/* register_driver_types.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef REGISTER_DRIVER_TYPES_H
#define REGISTER_DRIVER_TYPES_H
diff --git a/drivers/rtaudio/audio_driver_rtaudio.cpp b/drivers/rtaudio/audio_driver_rtaudio.cpp
index b172ef6e09..1bea828680 100644
--- a/drivers/rtaudio/audio_driver_rtaudio.cpp
+++ b/drivers/rtaudio/audio_driver_rtaudio.cpp
@@ -1,14 +1,31 @@
-/*************************************************/
-/* audio_driver_rtaudio.cpp */
-/*************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/*************************************************/
-/* Source code within this file is: */
-/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */
-/* All Rights Reserved. */
-/*************************************************/
-
+/*************************************************************************/
+/* audio_driver_rtaudio.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "audio_driver_rtaudio.h"
#include "globals.h"
#include "os/os.h"
diff --git a/drivers/rtaudio/audio_driver_rtaudio.h b/drivers/rtaudio/audio_driver_rtaudio.h
index 115953ce1f..ccb3d005c1 100644
--- a/drivers/rtaudio/audio_driver_rtaudio.h
+++ b/drivers/rtaudio/audio_driver_rtaudio.h
@@ -1,14 +1,31 @@
-/*************************************************/
-/* audio_driver_rtaudio.h */
-/*************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/*************************************************/
-/* Source code within this file is: */
-/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */
-/* All Rights Reserved. */
-/*************************************************/
-
+/*************************************************************************/
+/* audio_driver_rtaudio.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef AUDIO_DRIVER_RTAUDIO_H
#define AUDIO_DRIVER_RTAUDIO_H
diff --git a/drivers/speex/audio_stream_speex.cpp b/drivers/speex/audio_stream_speex.cpp
index 1bb4952cc8..79f3e58ac0 100644
--- a/drivers/speex/audio_stream_speex.cpp
+++ b/drivers/speex/audio_stream_speex.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* audio_stream_speex.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "audio_stream_speex.h"
#include "os_support.h"
diff --git a/drivers/speex/audio_stream_speex.h b/drivers/speex/audio_stream_speex.h
index f0617b302f..491c593e47 100644
--- a/drivers/speex/audio_stream_speex.h
+++ b/drivers/speex/audio_stream_speex.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* audio_stream_speex.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef AUDIO_STREAM_SPEEX_H
#define AUDIO_STREAM_SPEEX_H
diff --git a/drivers/squish/image_compress_squish.cpp b/drivers/squish/image_compress_squish.cpp
index 2c520bd1e9..95de83d5a5 100644
--- a/drivers/squish/image_compress_squish.cpp
+++ b/drivers/squish/image_compress_squish.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* image_compress_squish.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "image_compress_squish.h"
#include "squish/squish.h"
#include "print_string.h"
diff --git a/drivers/squish/image_compress_squish.h b/drivers/squish/image_compress_squish.h
index 4fec8d7ef7..8c37ac2caa 100644
--- a/drivers/squish/image_compress_squish.h
+++ b/drivers/squish/image_compress_squish.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* image_compress_squish.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef IMAGE_COMPRESS_SQUISH_H
#define IMAGE_COMPRESS_SQUISH_H
diff --git a/drivers/theora/codec.h b/drivers/theora/codec.h
index 9b816e5cfd..5c2669630c 100644
--- a/drivers/theora/codec.h
+++ b/drivers/theora/codec.h
@@ -15,7 +15,7 @@
********************************************************************/
-/**\file
+/**\mainpage
*
* \section intro Introduction
*
diff --git a/drivers/theora/decode.c b/drivers/theora/decode.c
index 882606ae77..7be66463d8 100644
--- a/drivers/theora/decode.c
+++ b/drivers/theora/decode.c
@@ -1611,35 +1611,28 @@ static void oc_filter_hedge(unsigned char *_dst,int _dst_ystride,
int sum1;
int bx;
int by;
- int _rlimit1;
- int _rlimit2;
rdst=_dst;
rsrc=_src;
- for(bx=0;bx<8;++bx){
+ for(bx=0;bx<8;bx++){
cdst=rdst;
csrc=rsrc;
- _rlimit1 = _rlimit2 = _flimit;
- for(by=0;by<10;++by){
+ for(by=0;by<10;by++){
r[by]=*csrc;
csrc+=_src_ystride;
}
sum0=sum1=0;
- for(by=0;by<4;++by){
- int sumed = abs(r[by+1]-r[by]);
- sum0+=sumed;
- _rlimit1-=sumed;
- sumed = abs(r[by+5]-r[by+6]);
- sum1+=sumed;
- _rlimit2-=sumed;
+ for(by=0;by<4;by++){
+ sum0+=abs(r[by+1]-r[by]);
+ sum1+=abs(r[by+5]-r[by+6]);
}
*_variance0+=OC_MINI(255,sum0);
*_variance1+=OC_MINI(255,sum1);
- if(_rlimit1&&_rlimit2&&!(r[5]-r[4]-_qstep)&&!(r[4]-r[5]-_qstep)){
+ if(sum0<_flimit&&sum1<_flimit&&r[5]-r[4]<_qstep&&r[4]-r[5]<_qstep){
*cdst=(unsigned char)(r[0]*3+r[1]*2+r[2]+r[3]+r[4]+4>>3);
cdst+=_dst_ystride;
*cdst=(unsigned char)(r[0]*2+r[1]+r[2]*2+r[3]+r[4]+r[5]+4>>3);
cdst+=_dst_ystride;
- for(by=0;by<4;++by){
+ for(by=0;by<4;by++){
*cdst=(unsigned char)(r[by]+r[by+1]+r[by+2]+r[by+3]*2+
r[by+4]+r[by+5]+r[by+6]+4>>3);
cdst+=_dst_ystride;
@@ -1649,13 +1642,13 @@ static void oc_filter_hedge(unsigned char *_dst,int _dst_ystride,
*cdst=(unsigned char)(r[5]+r[6]+r[7]+r[8]*2+r[9]*3+4>>3);
}
else{
- for(by=1;by<=8;++by){
+ for(by=1;by<=8;by++){
*cdst=(unsigned char)r[by];
cdst+=_dst_ystride;
}
}
- ++rdst;
- ++rsrc;
+ rdst++;
+ rsrc++;
}
}
@@ -1670,26 +1663,19 @@ static void oc_filter_vedge(unsigned char *_dst,int _dst_ystride,
int sum1;
int bx;
int by;
- int _rlimit1;
- int _rlimit2;
cdst=_dst;
- for(by=0;by<8;++by){
+ for(by=0;by<8;by++){
rsrc=cdst-1;
rdst=cdst;
- for(bx=0;bx<10;++bx)r[bx]=*rsrc++;
+ for(bx=0;bx<10;bx++)r[bx]=*rsrc++;
sum0=sum1=0;
- _rlimit1 = _rlimit2 = _flimit;
- for(bx=0;bx<4;++bx){
- int sumed = abs(r[bx+1]-r[bx]);
- sum0+=sumed;
- _rlimit1-=sumed;
- sumed = abs(r[bx+5]-r[bx+6]);
- sum1+=sumed;
- _rlimit2-=sumed;
+ for(bx=0;bx<4;bx++){
+ sum0+=abs(r[bx+1]-r[bx]);
+ sum1+=abs(r[bx+5]-r[bx+6]);
}
_variances[0]+=OC_MINI(255,sum0);
_variances[1]+=OC_MINI(255,sum1);
- if(_rlimit1&&_rlimit2&&!(r[5]-r[4]-_qstep)&&!(r[4]-r[5]-_qstep)){
+ if(sum0<_flimit&&sum1<_flimit&&r[5]-r[4]<_qstep&&r[4]-r[5]<_qstep){
*rdst++=(unsigned char)(r[0]*3+r[1]*2+r[2]+r[3]+r[4]+4>>3);
*rdst++=(unsigned char)(r[0]*2+r[1]+r[2]*2+r[3]+r[4]+r[5]+4>>3);
for(bx=0;bx<4;bx++){
diff --git a/drivers/theora/encint.h b/drivers/theora/encint.h
index 82338256dc..97897d5a04 100644
--- a/drivers/theora/encint.h
+++ b/drivers/theora/encint.h
@@ -14,7 +14,6 @@
last mod: $Id: encint.h 16503 2009-08-22 18:14:02Z giles $
********************************************************************/
-
#if !defined(_encint_H)
# define _encint_H (1)
# if defined(HAVE_CONFIG_H)
diff --git a/drivers/theora/video_stream_theora.cpp b/drivers/theora/video_stream_theora.cpp
index e577c3f932..fa2a79dc7b 100644
--- a/drivers/theora/video_stream_theora.cpp
+++ b/drivers/theora/video_stream_theora.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* video_stream_theora.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifdef THEORA_ENABLED
#include "video_stream_theora.h"
@@ -513,7 +541,7 @@ void VideoStreamPlaybackTheora::update(float p_delta) {
}
bool frame_done=false;
- bool audio_done=false;
+ bool audio_done=!vorbis_p;
bool theora_done=false;
diff --git a/drivers/theora/video_stream_theora.h b/drivers/theora/video_stream_theora.h
index f07acb2935..5484815844 100644
--- a/drivers/theora/video_stream_theora.h
+++ b/drivers/theora/video_stream_theora.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* video_stream_theora.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef VIDEO_STREAM_THEORA_H
#define VIDEO_STREAM_THEORA_H
diff --git a/drivers/unix/dir_access_unix.cpp b/drivers/unix/dir_access_unix.cpp
index 8b097ad25e..f0e4511b1d 100644
--- a/drivers/unix/dir_access_unix.cpp
+++ b/drivers/unix/dir_access_unix.cpp
@@ -66,7 +66,7 @@ bool DirAccessUnix::file_exists(String p_file) {
if (p_file.is_rel_path())
- p_file=current_dir+"/"+p_file;
+ p_file=current_dir.plus_file(p_file);
else
p_file=fix_path(p_file);
@@ -104,7 +104,7 @@ bool DirAccessUnix::dir_exists(String p_dir) {
uint64_t DirAccessUnix::get_modified_time(String p_file) {
if (p_file.is_rel_path())
- p_file=current_dir+"/"+p_file;
+ p_file=current_dir.plus_file(p_file);
else
p_file=fix_path(p_file);
@@ -138,11 +138,9 @@ String DirAccessUnix::get_next() {
//typedef struct stat Stat;
struct stat flags;
- String fname;
- if (fname.parse_utf8(entry->d_name))
- fname=entry->d_name; //no utf8, maybe latin?
+ String fname = fix_unicode_name(entry->d_name);
- String f=current_dir+"/"+fname;
+ String f=current_dir.plus_file(fname);
if (stat(f.utf8().get_data(),&flags)==0) {
@@ -201,8 +199,17 @@ Error DirAccessUnix::make_dir(String p_dir) {
GLOBAL_LOCK_FUNCTION
- p_dir=fix_path(p_dir);
-
+ if (p_dir.is_rel_path())
+ p_dir=get_current_dir().plus_file(p_dir);
+ else
+ p_dir=fix_path(p_dir);
+#if 1
+
+
+ bool success=(mkdir(p_dir.utf8().get_data(), S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH)==0);
+ int err = errno;
+
+#else
char real_current_dir_name[2048];
getcwd(real_current_dir_name,2048);
chdir(current_dir.utf8().get_data()); //ascii since this may be unicode or wathever the host os wants
@@ -211,7 +218,7 @@ Error DirAccessUnix::make_dir(String p_dir) {
int err = errno;
chdir(real_current_dir_name);
-
+#endif
if (success) {
return OK;
};
@@ -314,7 +321,7 @@ size_t DirAccessUnix::get_space_left() {
struct statvfs vfs;
if (statvfs(current_dir.utf8().get_data(), &vfs) != 0) {
- return -1;
+ return 0;
};
return vfs.f_bfree * vfs.f_bsize;
diff --git a/drivers/unix/dir_access_unix.h b/drivers/unix/dir_access_unix.h
index 9cba1ed3e0..b2f1aed10f 100644
--- a/drivers/unix/dir_access_unix.h
+++ b/drivers/unix/dir_access_unix.h
@@ -51,7 +51,10 @@ class DirAccessUnix : public DirAccess {
String current_dir;
bool _cisdir;
bool _cishidden;
-
+protected:
+
+ virtual String fix_unicode_name(const char* p_name) const { return String::utf8(p_name); }
+
public:
virtual bool list_dir_begin(); ///< This starts dir listing
diff --git a/drivers/unix/packet_peer_udp_posix.cpp b/drivers/unix/packet_peer_udp_posix.cpp
index 2111619080..0201a85651 100644
--- a/drivers/unix/packet_peer_udp_posix.cpp
+++ b/drivers/unix/packet_peer_udp_posix.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* packet_peer_udp_posix.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "packet_peer_udp_posix.h"
#ifdef UNIX_ENABLED
@@ -96,7 +124,6 @@ Error PacketPeerUDPPosix::listen(int p_port, int p_recv_buffer_size){
close();
return ERR_UNAVAILABLE;
}
- printf("UDP Connection listening on port %i bufsize %i \n", p_port,p_recv_buffer_size);
rb.resize(nearest_shift(p_recv_buffer_size));
return OK;
}
diff --git a/drivers/unix/packet_peer_udp_posix.h b/drivers/unix/packet_peer_udp_posix.h
index b14568eb5f..a11282e5d6 100644
--- a/drivers/unix/packet_peer_udp_posix.h
+++ b/drivers/unix/packet_peer_udp_posix.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* packet_peer_udp_posix.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef PACKET_PEER_UDP_POSIX_H
#define PACKET_PEER_UDP_POSIX_H
diff --git a/drivers/unix/tcp_server_posix.cpp b/drivers/unix/tcp_server_posix.cpp
index 98451957fd..c67bb51334 100644
--- a/drivers/unix/tcp_server_posix.cpp
+++ b/drivers/unix/tcp_server_posix.cpp
@@ -67,7 +67,6 @@ void TCPServerPosix::make_default() {
Error TCPServerPosix::listen(uint16_t p_port,const List<String> *p_accepted_hosts) {
- printf("********* listening on port %i\n", p_port);
int sockfd;
sockfd = socket(AF_INET, SOCK_STREAM, 0);
ERR_FAIL_COND_V(sockfd == -1, FAILED);
@@ -80,8 +79,7 @@ Error TCPServerPosix::listen(uint16_t p_port,const List<String> *p_accepted_host
int reuse=1;
if(setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, (char *)&reuse, sizeof(reuse)) < 0) {
-
- printf("REUSEADDR failed!");
+ WARN_PRINT("REUSEADDR failed!")
}
struct sockaddr_in my_addr;
@@ -103,14 +101,11 @@ Error TCPServerPosix::listen(uint16_t p_port,const List<String> *p_accepted_host
};
if (listen_sockfd != -1) {
-
- printf("FAILED\n");
stop();
};
listen_sockfd = sockfd;
- printf("OK! %i\n", listen_sockfd);
return OK;
};
@@ -129,7 +124,6 @@ bool TCPServerPosix::is_connection_available() const {
ERR_FAIL_COND_V(ret < 0, FAILED);
if (ret && (pfd.revents & POLLIN)) {
- printf("has connection!\n");
return true;
};
@@ -164,7 +158,6 @@ Ref<StreamPeerTCP> TCPServerPosix::take_connection() {
void TCPServerPosix::stop() {
if (listen_sockfd != -1) {
- print_line("CLOSING CONNECTION");
int ret = close(listen_sockfd);
ERR_FAIL_COND(ret!=0);
};
diff --git a/drivers/vorbis/COPYING b/drivers/vorbis/COPYING
index 28de72a970..8f1d18cc2b 100644
--- a/drivers/vorbis/COPYING
+++ b/drivers/vorbis/COPYING
@@ -1,4 +1,4 @@
-Copyright (c) 2002-2008 Xiph.org Foundation
+Copyright (c) 2002-2015 Xiph.org Foundation
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
diff --git a/drivers/vorbis/barkmel.c b/drivers/vorbis/barkmel.c
index 6adb715406..37b6c4c7ba 100644
--- a/drivers/vorbis/barkmel.c
+++ b/drivers/vorbis/barkmel.c
@@ -11,7 +11,7 @@
********************************************************************
function: bark scale utility
- last mod: $Id: barkmel.c 16037 2009-05-26 21:10:58Z xiphmont $
+ last mod: $Id: barkmel.c 19454 2015-03-02 22:39:28Z xiphmont $
********************************************************************/
diff --git a/drivers/vorbis/block.c b/drivers/vorbis/block.c
index eee9abfca7..345c042769 100644
--- a/drivers/vorbis/block.c
+++ b/drivers/vorbis/block.c
@@ -5,13 +5,13 @@
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
* by the Xiph.Org Foundation http://www.xiph.org/ *
* *
********************************************************************
function: PCM data vector blocking, windowing and dis/reassembly
- last mod: $Id: block.c 17561 2010-10-23 10:34:24Z xiphmont $
+ last mod: $Id: block.c 19457 2015-03-03 00:15:29Z giles $
Handle windowing, overlap-add, etc of the PCM vectors. This is made
more amusing by Vorbis' current two allowed block sizes.
@@ -31,16 +31,6 @@
#include "registry.h"
#include "misc.h"
-static int ilog2(unsigned int v){
- int ret=0;
- if(v)--v;
- while(v){
- ret++;
- v>>=1;
- }
- return(ret);
-}
-
/* pcm accumulator examples (not exhaustive):
<-------------- lW ---------------->
@@ -184,14 +174,19 @@ static int _vds_shared_init(vorbis_dsp_state *v,vorbis_info *vi,int encp){
private_state *b=NULL;
int hs;
- if(ci==NULL) return 1;
+ if(ci==NULL||
+ ci->modes<=0||
+ ci->blocksizes[0]<64||
+ ci->blocksizes[1]<ci->blocksizes[0]){
+ return 1;
+ }
hs=ci->halfrate_flag;
memset(v,0,sizeof(*v));
b=v->backend_state=_ogg_calloc(1,sizeof(*b));
v->vi=vi;
- b->modebits=ilog2(ci->modes);
+ b->modebits=ov_ilog(ci->modes-1);
b->transform[0]=_ogg_calloc(VI_TRANSFORMB,sizeof(*b->transform[0]));
b->transform[1]=_ogg_calloc(VI_TRANSFORMB,sizeof(*b->transform[1]));
@@ -204,8 +199,14 @@ static int _vds_shared_init(vorbis_dsp_state *v,vorbis_info *vi,int encp){
mdct_init(b->transform[1][0],ci->blocksizes[1]>>hs);
/* Vorbis I uses only window type 0 */
- b->window[0]=ilog2(ci->blocksizes[0])-6;
- b->window[1]=ilog2(ci->blocksizes[1])-6;
+ /* note that the correct computation below is technically:
+ b->window[0]=ov_ilog(ci->blocksizes[0]-1)-6;
+ b->window[1]=ov_ilog(ci->blocksizes[1]-1)-6;
+ but since blocksizes are always powers of two,
+ the below is equivalent.
+ */
+ b->window[0]=ov_ilog(ci->blocksizes[0])-7;
+ b->window[1]=ov_ilog(ci->blocksizes[1])-7;
if(encp){ /* encode/decode differ here */
@@ -771,14 +772,14 @@ int vorbis_synthesis_blockin(vorbis_dsp_state *v,vorbis_block *vb){
if(v->lW){
if(v->W){
/* large/large */
- float *w=_vorbis_window_get(b->window[1]-hs);
+ const float *w=_vorbis_window_get(b->window[1]-hs);
float *pcm=v->pcm[j]+prevCenter;
float *p=vb->pcm[j];
for(i=0;i<n1;i++)
pcm[i]=pcm[i]*w[n1-i-1] + p[i]*w[i];
}else{
/* large/small */
- float *w=_vorbis_window_get(b->window[0]-hs);
+ const float *w=_vorbis_window_get(b->window[0]-hs);
float *pcm=v->pcm[j]+prevCenter+n1/2-n0/2;
float *p=vb->pcm[j];
for(i=0;i<n0;i++)
@@ -787,7 +788,7 @@ int vorbis_synthesis_blockin(vorbis_dsp_state *v,vorbis_block *vb){
}else{
if(v->W){
/* small/large */
- float *w=_vorbis_window_get(b->window[0]-hs);
+ const float *w=_vorbis_window_get(b->window[0]-hs);
float *pcm=v->pcm[j]+prevCenter;
float *p=vb->pcm[j]+n1/2-n0/2;
for(i=0;i<n0;i++)
@@ -796,7 +797,7 @@ int vorbis_synthesis_blockin(vorbis_dsp_state *v,vorbis_block *vb){
pcm[i]=p[i];
}else{
/* small/small */
- float *w=_vorbis_window_get(b->window[0]-hs);
+ const float *w=_vorbis_window_get(b->window[0]-hs);
float *pcm=v->pcm[j]+prevCenter;
float *p=vb->pcm[j];
for(i=0;i<n0;i++)
@@ -1035,7 +1036,7 @@ int vorbis_synthesis_lapout(vorbis_dsp_state *v,float ***pcm){
}
-float *vorbis_window(vorbis_dsp_state *v,int W){
+const float *vorbis_window(vorbis_dsp_state *v,int W){
vorbis_info *vi=v->vi;
codec_setup_info *ci=vi->codec_setup;
int hs=ci->halfrate_flag;
diff --git a/drivers/vorbis/books/Makefile.am b/drivers/vorbis/books/Makefile.am
deleted file mode 100644
index 3697a7177e..0000000000
--- a/drivers/vorbis/books/Makefile.am
+++ /dev/null
@@ -1,3 +0,0 @@
-## Process this file with automake to produce Makefile.in
-
-SUBDIRS = coupled uncoupled floor
diff --git a/drivers/vorbis/books/Makefile.in b/drivers/vorbis/books/Makefile.in
deleted file mode 100644
index 0d957f0cf6..0000000000
--- a/drivers/vorbis/books/Makefile.in
+++ /dev/null
@@ -1,514 +0,0 @@
-# Makefile.in generated by automake 1.10.2 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = lib/books
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
- $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/pkg.m4 \
- $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-dvi-recursive install-exec-recursive \
- install-html-recursive install-info-recursive \
- install-pdf-recursive install-ps-recursive install-recursive \
- installcheck-recursive installdirs-recursive pdf-recursive \
- ps-recursive uninstall-recursive
-RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
- distclean-recursive maintainer-clean-recursive
-ETAGS = etags
-CTAGS = ctags
-DIST_SUBDIRS = $(SUBDIRS)
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG = @DEBUG@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-HAVE_DOXYGEN = @HAVE_DOXYGEN@
-HTLATEX = @HTLATEX@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBTOOL_DEPS = @LIBTOOL_DEPS@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PDFLATEX = @PDFLATEX@
-PKG_CONFIG = @PKG_CONFIG@
-PROFILE = @PROFILE@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-VE_LIB_AGE = @VE_LIB_AGE@
-VE_LIB_CURRENT = @VE_LIB_CURRENT@
-VE_LIB_REVISION = @VE_LIB_REVISION@
-VF_LIB_AGE = @VF_LIB_AGE@
-VF_LIB_CURRENT = @VF_LIB_CURRENT@
-VF_LIB_REVISION = @VF_LIB_REVISION@
-VORBIS_LIBS = @VORBIS_LIBS@
-V_LIB_AGE = @V_LIB_AGE@
-V_LIB_CURRENT = @V_LIB_CURRENT@
-V_LIB_REVISION = @V_LIB_REVISION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-pthread_lib = @pthread_lib@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-SUBDIRS = coupled uncoupled floor
-all: all-recursive
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/books/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu lib/books/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-# This directory's subdirectories are mostly independent; you can cd
-# into them and run `make' without going through this Makefile.
-# To change the values of `make' variables: instead of editing Makefiles,
-# (1) if the variable is set in `config.status', edit `config.status'
-# (which will cause the Makefiles to be regenerated when you run `make');
-# (2) otherwise, pass the desired values on the `make' command line.
-$(RECURSIVE_TARGETS):
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- dot_seen=yes; \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done; \
- if test "$$dot_seen" = "no"; then \
- $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
- fi; test -z "$$fail"
-
-$(RECURSIVE_CLEAN_TARGETS):
- @failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
- dot_seen=no; \
- case "$@" in \
- distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
- *) list='$(SUBDIRS)' ;; \
- esac; \
- rev=''; for subdir in $$list; do \
- if test "$$subdir" = "."; then :; else \
- rev="$$subdir $$rev"; \
- fi; \
- done; \
- rev="$$rev ."; \
- target=`echo $@ | sed s/-recursive//`; \
- for subdir in $$rev; do \
- echo "Making $$target in $$subdir"; \
- if test "$$subdir" = "."; then \
- local_target="$$target-am"; \
- else \
- local_target="$$target"; \
- fi; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
- || eval $$failcom; \
- done && test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
- include_option=--etags-include; \
- empty_fix=.; \
- else \
- include_option=--include; \
- empty_fix=; \
- fi; \
- list='$(SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test ! -f $$subdir/TAGS || \
- tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
- fi; \
- done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
- list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
- if test "$$subdir" = .; then :; else \
- test -d "$(distdir)/$$subdir" \
- || $(MKDIR_P) "$(distdir)/$$subdir" \
- || exit 1; \
- distdir=`$(am__cd) $(distdir) && pwd`; \
- top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
- (cd $$subdir && \
- $(MAKE) $(AM_MAKEFLAGS) \
- top_distdir="$$top_distdir" \
- distdir="$$distdir/$$subdir" \
- am__remove_distdir=: \
- am__skip_length_check=: \
- distdir) \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-recursive
-all-am: Makefile
-installdirs: installdirs-recursive
-installdirs-am:
-install: install-recursive
-install-exec: install-exec-recursive
-install-data: install-data-recursive
-uninstall: uninstall-recursive
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-recursive
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-recursive
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-recursive
- -rm -f Makefile
-distclean-am: clean-am distclean-generic distclean-tags
-
-dvi: dvi-recursive
-
-dvi-am:
-
-html: html-recursive
-
-info: info-recursive
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-recursive
-
-install-exec-am:
-
-install-html: install-html-recursive
-
-install-info: install-info-recursive
-
-install-man:
-
-install-pdf: install-pdf-recursive
-
-install-ps: install-ps-recursive
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-recursive
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-recursive
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-recursive
-
-pdf-am:
-
-ps: ps-recursive
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \
- install-strip
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am check check-am clean clean-generic clean-libtool \
- ctags ctags-recursive distclean distclean-generic \
- distclean-libtool distclean-tags distdir dvi dvi-am html \
- html-am info info-am install install-am install-data \
- install-data-am install-dvi install-dvi-am install-exec \
- install-exec-am install-html install-html-am install-info \
- install-info-am install-man install-pdf install-pdf-am \
- install-ps install-ps-am install-strip installcheck \
- installcheck-am installdirs installdirs-am maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
- uninstall uninstall-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/drivers/vorbis/books/coupled/Makefile.am b/drivers/vorbis/books/coupled/Makefile.am
deleted file mode 100644
index 1115201dd0..0000000000
--- a/drivers/vorbis/books/coupled/Makefile.am
+++ /dev/null
@@ -1,3 +0,0 @@
-## Process this file with automake to produce Makefile.in
-
-EXTRA_DIST = res_books_stereo.h res_books_51.h
diff --git a/drivers/vorbis/books/coupled/Makefile.in b/drivers/vorbis/books/coupled/Makefile.in
deleted file mode 100644
index ec9d98ead2..0000000000
--- a/drivers/vorbis/books/coupled/Makefile.in
+++ /dev/null
@@ -1,356 +0,0 @@
-# Makefile.in generated by automake 1.10.2 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = lib/books/coupled
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
- $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/pkg.m4 \
- $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG = @DEBUG@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-HAVE_DOXYGEN = @HAVE_DOXYGEN@
-HTLATEX = @HTLATEX@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBTOOL_DEPS = @LIBTOOL_DEPS@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PDFLATEX = @PDFLATEX@
-PKG_CONFIG = @PKG_CONFIG@
-PROFILE = @PROFILE@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-VE_LIB_AGE = @VE_LIB_AGE@
-VE_LIB_CURRENT = @VE_LIB_CURRENT@
-VE_LIB_REVISION = @VE_LIB_REVISION@
-VF_LIB_AGE = @VF_LIB_AGE@
-VF_LIB_CURRENT = @VF_LIB_CURRENT@
-VF_LIB_REVISION = @VF_LIB_REVISION@
-VORBIS_LIBS = @VORBIS_LIBS@
-V_LIB_AGE = @V_LIB_AGE@
-V_LIB_CURRENT = @V_LIB_CURRENT@
-V_LIB_REVISION = @V_LIB_REVISION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-pthread_lib = @pthread_lib@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-EXTRA_DIST = res_books_stereo.h res_books_51.h
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/books/coupled/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu lib/books/coupled/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-info: install-info-am
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-ps: install-ps-am
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: install-am install-strip
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-man install-pdf \
- install-pdf-am install-ps install-ps-am install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/drivers/vorbis/books/coupled/res_books_51.h b/drivers/vorbis/books/coupled/res_books_51.h
index 917a95583a..93910ff481 100644
--- a/drivers/vorbis/books/coupled/res_books_51.h
+++ b/drivers/vorbis/books/coupled/res_books_51.h
@@ -1,3 +1,20 @@
+/********************************************************************
+ * *
+ * THIS FILE IS PART OF THE OggVorbis SOFTWARE CODEC SOURCE CODE. *
+ * USE, DISTRIBUTION AND REPRODUCTION OF THIS LIBRARY SOURCE IS *
+ * GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
+ * IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
+ * *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2010 *
+ * by the Xiph.Org Foundation http://www.xiph.org/ *
+ * *
+ ********************************************************************
+ *
+ * function: static codebooks for 5.1 surround
+ * last modified: $Id: res_books_51.h 19057 2014-01-22 12:32:31Z xiphmont $
+ *
+ ********************************************************************/
+
static const long _vq_quantlist__44p0_l0_0[] = {
6,
5,
@@ -14,7 +31,7 @@ static const long _vq_quantlist__44p0_l0_0[] = {
12,
};
-static const long _vq_lengthlist__44p0_l0_0[] = {
+static const char _vq_lengthlist__44p0_l0_0[] = {
1, 3, 4, 7, 7, 8, 8, 9, 9, 9,10,10,10, 5, 6, 5,
8, 7, 9, 8, 9, 9,10, 9,11,10, 5, 5, 7, 7, 8, 8,
9, 9, 9, 9,10,10,11, 8, 9, 8,10, 9,10, 9,10, 9,
@@ -30,7 +47,7 @@ static const long _vq_lengthlist__44p0_l0_0[] = {
static const static_codebook _44p0_l0_0 = {
2, 169,
- (long *)_vq_lengthlist__44p0_l0_0,
+ (char *)_vq_lengthlist__44p0_l0_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__44p0_l0_0,
0
@@ -44,14 +61,14 @@ static const long _vq_quantlist__44p0_l0_1[] = {
4,
};
-static const long _vq_lengthlist__44p0_l0_1[] = {
+static const char _vq_lengthlist__44p0_l0_1[] = {
1, 4, 4, 6, 6, 5, 5, 5, 7, 5, 5, 5, 5, 6, 7, 7,
6, 7, 7, 7, 6, 7, 7, 7, 7,
};
static const static_codebook _44p0_l0_1 = {
2, 25,
- (long *)_vq_lengthlist__44p0_l0_1,
+ (char *)_vq_lengthlist__44p0_l0_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44p0_l0_1,
0
@@ -63,31 +80,31 @@ static const long _vq_quantlist__44p0_l1_0[] = {
2,
};
-static const long _vq_lengthlist__44p0_l1_0[] = {
+static const char _vq_lengthlist__44p0_l1_0[] = {
1, 4, 4, 4, 4, 4, 4, 4, 4,
};
static const static_codebook _44p0_l1_0 = {
2, 9,
- (long *)_vq_lengthlist__44p0_l1_0,
+ (char *)_vq_lengthlist__44p0_l1_0,
1, -516716544, 1630767104, 2, 0,
(long *)_vq_quantlist__44p0_l1_0,
0
};
-static const long _huff_lengthlist__44p0_lfe[] = {
+static const char _huff_lengthlist__44p0_lfe[] = {
1, 3, 2, 3,
};
static const static_codebook _huff_book__44p0_lfe = {
2, 4,
- (long *)_huff_lengthlist__44p0_lfe,
+ (char *)_huff_lengthlist__44p0_lfe,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist__44p0_long[] = {
+static const char _huff_lengthlist__44p0_long[] = {
2, 3, 6, 7,10,14,16, 3, 2, 5, 7,11,14,17, 6, 5,
5, 7,10,12,14, 7, 7, 6, 6, 7, 9,13,10,11, 9, 6,
6, 9,11,15,15,13,10, 9,10,12,18,18,16,14,12,13,
@@ -96,7 +113,7 @@ static const long _huff_lengthlist__44p0_long[] = {
static const static_codebook _huff_book__44p0_long = {
2, 49,
- (long *)_huff_lengthlist__44p0_long,
+ (char *)_huff_lengthlist__44p0_long,
0, 0, 0, 0, 0,
NULL,
0
@@ -108,7 +125,7 @@ static const long _vq_quantlist__44p0_p1_0[] = {
2,
};
-static const long _vq_lengthlist__44p0_p1_0[] = {
+static const char _vq_lengthlist__44p0_p1_0[] = {
1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -129,7 +146,7 @@ static const long _vq_lengthlist__44p0_p1_0[] = {
static const static_codebook _44p0_p1_0 = {
5, 243,
- (long *)_vq_lengthlist__44p0_p1_0,
+ (char *)_vq_lengthlist__44p0_p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44p0_p1_0,
0
@@ -141,7 +158,7 @@ static const long _vq_quantlist__44p0_p2_0[] = {
2,
};
-static const long _vq_lengthlist__44p0_p2_0[] = {
+static const char _vq_lengthlist__44p0_p2_0[] = {
1, 5, 5, 0, 7, 7, 0, 8, 8, 0, 9, 9, 0,12,12, 0,
8, 8, 0, 9, 9, 0,12,12, 0, 8, 8, 0, 6, 6, 0,11,
11, 0,12,12, 0,12,12, 0,15,15, 0,11,11, 0,12,12,
@@ -162,7 +179,7 @@ static const long _vq_lengthlist__44p0_p2_0[] = {
static const static_codebook _44p0_p2_0 = {
5, 243,
- (long *)_vq_lengthlist__44p0_p2_0,
+ (char *)_vq_lengthlist__44p0_p2_0,
1, -533200896, 1614282752, 2, 0,
(long *)_vq_quantlist__44p0_p2_0,
0
@@ -174,7 +191,7 @@ static const long _vq_quantlist__44p0_p2_1[] = {
2,
};
-static const long _vq_lengthlist__44p0_p2_1[] = {
+static const char _vq_lengthlist__44p0_p2_1[] = {
1, 3, 3, 0, 9, 9, 0, 9, 9, 0,10,10, 0, 9, 9, 0,
10,10, 0,10,10, 0, 9, 9, 0,10,10, 0, 7, 7, 0, 7,
7, 0, 6, 6, 0, 8, 8, 0, 7, 7, 0, 8, 8, 0, 8, 9,
@@ -195,7 +212,7 @@ static const long _vq_lengthlist__44p0_p2_1[] = {
static const static_codebook _44p0_p2_1 = {
5, 243,
- (long *)_vq_lengthlist__44p0_p2_1,
+ (char *)_vq_lengthlist__44p0_p2_1,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44p0_p2_1,
0
@@ -207,7 +224,7 @@ static const long _vq_quantlist__44p0_p3_0[] = {
2,
};
-static const long _vq_lengthlist__44p0_p3_0[] = {
+static const char _vq_lengthlist__44p0_p3_0[] = {
1, 6, 6, 7, 8, 8, 7, 8, 8, 7, 9, 9,10,12,11, 9,
8, 8, 7, 9, 9,11,12,12, 9, 9, 9, 6, 7, 7,10,11,
11,10,11,11,10,11,11,13,13,14,12,12,12,11,11,11,
@@ -228,7 +245,7 @@ static const long _vq_lengthlist__44p0_p3_0[] = {
static const static_codebook _44p0_p3_0 = {
5, 243,
- (long *)_vq_lengthlist__44p0_p3_0,
+ (char *)_vq_lengthlist__44p0_p3_0,
1, -531365888, 1616117760, 2, 0,
(long *)_vq_quantlist__44p0_p3_0,
0
@@ -242,7 +259,7 @@ static const long _vq_quantlist__44p0_p3_1[] = {
4,
};
-static const long _vq_lengthlist__44p0_p3_1[] = {
+static const char _vq_lengthlist__44p0_p3_1[] = {
2, 4, 4, 8, 8,10,12,12,11,11, 9,11,11,12,13,11,
12,12,11,11,11,12,12,12,12,10,13,12,13,13,11,12,
12,13,13,11,12,12,13,13,11,12,13,13,13,11,13,13,
@@ -443,7 +460,7 @@ static const long _vq_lengthlist__44p0_p3_1[] = {
static const static_codebook _44p0_p3_1 = {
5, 3125,
- (long *)_vq_lengthlist__44p0_p3_1,
+ (char *)_vq_lengthlist__44p0_p3_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44p0_p3_1,
0
@@ -457,7 +474,7 @@ static const long _vq_quantlist__44p0_p4_0[] = {
4,
};
-static const long _vq_lengthlist__44p0_p4_0[] = {
+static const char _vq_lengthlist__44p0_p4_0[] = {
2, 6, 6,14,14, 6, 8, 8,14,14, 7, 7, 7,14,14, 0,
13,13,15,16, 0,13,13,15,15, 7, 8, 8,15,15, 9,10,
10,16,16, 9, 8, 8,14,15, 0,13,13,17,17, 0,13,13,
@@ -658,7 +675,7 @@ static const long _vq_lengthlist__44p0_p4_0[] = {
static const static_codebook _44p0_p4_0 = {
5, 3125,
- (long *)_vq_lengthlist__44p0_p4_0,
+ (char *)_vq_lengthlist__44p0_p4_0,
1, -528744448, 1616642048, 3, 0,
(long *)_vq_quantlist__44p0_p4_0,
0
@@ -674,13 +691,13 @@ static const long _vq_quantlist__44p0_p4_1[] = {
6,
};
-static const long _vq_lengthlist__44p0_p4_1[] = {
+static const char _vq_lengthlist__44p0_p4_1[] = {
2, 3, 3, 3, 3, 3, 3,
};
static const static_codebook _44p0_p4_1 = {
1, 7,
- (long *)_vq_lengthlist__44p0_p4_1,
+ (char *)_vq_lengthlist__44p0_p4_1,
1, -533200896, 1611661312, 3, 0,
(long *)_vq_quantlist__44p0_p4_1,
0
@@ -692,7 +709,7 @@ static const long _vq_quantlist__44p0_p5_0[] = {
2,
};
-static const long _vq_lengthlist__44p0_p5_0[] = {
+static const char _vq_lengthlist__44p0_p5_0[] = {
1, 6, 6, 6, 8, 8, 7, 8, 8, 7, 9, 8,10,11,11, 9,
8, 8, 7, 8, 8,11,11,11, 9, 8, 8, 6, 7, 7,10,10,
10,10,10,10,10,10,10,14,13,13,12,11,11,10,10,10,
@@ -713,7 +730,7 @@ static const long _vq_lengthlist__44p0_p5_0[] = {
static const static_codebook _44p0_p5_0 = {
5, 243,
- (long *)_vq_lengthlist__44p0_p5_0,
+ (char *)_vq_lengthlist__44p0_p5_0,
1, -527106048, 1620377600, 2, 0,
(long *)_vq_quantlist__44p0_p5_0,
0
@@ -725,7 +742,7 @@ static const long _vq_quantlist__44p0_p5_1[] = {
2,
};
-static const long _vq_lengthlist__44p0_p5_1[] = {
+static const char _vq_lengthlist__44p0_p5_1[] = {
2, 7, 7, 7, 8, 8, 7, 7, 7, 7, 8, 8, 8, 8, 9, 8,
7, 7, 8, 8, 8, 9, 9, 9, 9, 7, 7, 6, 6, 6, 9, 7,
7, 9, 7, 7, 9, 8, 8,10, 8, 8,10, 8, 8,10, 8, 8,
@@ -746,7 +763,7 @@ static const long _vq_lengthlist__44p0_p5_1[] = {
static const static_codebook _44p0_p5_1 = {
5, 243,
- (long *)_vq_lengthlist__44p0_p5_1,
+ (char *)_vq_lengthlist__44p0_p5_1,
1, -530841600, 1616642048, 2, 0,
(long *)_vq_quantlist__44p0_p5_1,
0
@@ -758,7 +775,7 @@ static const long _vq_quantlist__44p0_p6_0[] = {
2,
};
-static const long _vq_lengthlist__44p0_p6_0[] = {
+static const char _vq_lengthlist__44p0_p6_0[] = {
1, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
@@ -779,7 +796,7 @@ static const long _vq_lengthlist__44p0_p6_0[] = {
static const static_codebook _44p0_p6_0 = {
5, 243,
- (long *)_vq_lengthlist__44p0_p6_0,
+ (char *)_vq_lengthlist__44p0_p6_0,
1, -516716544, 1630767104, 2, 0,
(long *)_vq_quantlist__44p0_p6_0,
0
@@ -813,14 +830,14 @@ static const long _vq_quantlist__44p0_p6_1[] = {
24,
};
-static const long _vq_lengthlist__44p0_p6_1[] = {
+static const char _vq_lengthlist__44p0_p6_1[] = {
1, 3, 2, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9,10,10,11,
11,12,12,12,14,14,14,15,15,
};
static const static_codebook _44p0_p6_1 = {
1, 25,
- (long *)_vq_lengthlist__44p0_p6_1,
+ (char *)_vq_lengthlist__44p0_p6_1,
1, -518864896, 1620639744, 5, 0,
(long *)_vq_quantlist__44p0_p6_1,
0
@@ -854,20 +871,20 @@ static const long _vq_quantlist__44p0_p6_2[] = {
24,
};
-static const long _vq_lengthlist__44p0_p6_2[] = {
+static const char _vq_lengthlist__44p0_p6_2[] = {
3, 4, 4, 5, 4, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5,
};
static const static_codebook _44p0_p6_2 = {
1, 25,
- (long *)_vq_lengthlist__44p0_p6_2,
+ (char *)_vq_lengthlist__44p0_p6_2,
1, -529006592, 1611661312, 5, 0,
(long *)_vq_quantlist__44p0_p6_2,
0
};
-static const long _huff_lengthlist__44p0_short[] = {
+static const char _huff_lengthlist__44p0_short[] = {
3, 3, 7, 8,10,13,16, 3, 2, 5, 7, 9,13,16, 6, 4,
4, 6,10,14,15, 7, 5, 5, 7,10,13,14, 9, 8, 9, 9,
9,11,13,12,11,12, 9, 7, 8,11,14,12,10, 6, 5, 7,
@@ -876,7 +893,7 @@ static const long _huff_lengthlist__44p0_short[] = {
static const static_codebook _huff_book__44p0_short = {
2, 49,
- (long *)_huff_lengthlist__44p0_short,
+ (char *)_huff_lengthlist__44p0_short,
0, 0, 0, 0, 0,
NULL,
0
@@ -898,7 +915,7 @@ static const long _vq_quantlist__44p1_l0_0[] = {
12,
};
-static const long _vq_lengthlist__44p1_l0_0[] = {
+static const char _vq_lengthlist__44p1_l0_0[] = {
1, 4, 4, 7, 7, 8, 8, 9, 9,10,10,11,11, 4, 6, 5,
8, 6, 9, 8,10, 9,10,10,11,10, 5, 5, 6, 6, 8, 8,
9, 9,10,10,10,10,11, 7, 8, 8, 9, 8,10, 9,10, 9,
@@ -914,7 +931,7 @@ static const long _vq_lengthlist__44p1_l0_0[] = {
static const static_codebook _44p1_l0_0 = {
2, 169,
- (long *)_vq_lengthlist__44p1_l0_0,
+ (char *)_vq_lengthlist__44p1_l0_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__44p1_l0_0,
0
@@ -928,14 +945,14 @@ static const long _vq_quantlist__44p1_l0_1[] = {
4,
};
-static const long _vq_lengthlist__44p1_l0_1[] = {
+static const char _vq_lengthlist__44p1_l0_1[] = {
1, 4, 4, 6, 6, 5, 5, 5, 6, 6, 5, 6, 5, 6, 6, 6,
6, 7, 7, 7, 6, 7, 6, 7, 7,
};
static const static_codebook _44p1_l0_1 = {
2, 25,
- (long *)_vq_lengthlist__44p1_l0_1,
+ (char *)_vq_lengthlist__44p1_l0_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44p1_l0_1,
0
@@ -947,31 +964,31 @@ static const long _vq_quantlist__44p1_l1_0[] = {
2,
};
-static const long _vq_lengthlist__44p1_l1_0[] = {
+static const char _vq_lengthlist__44p1_l1_0[] = {
1, 4, 4, 4, 4, 4, 4, 4, 4,
};
static const static_codebook _44p1_l1_0 = {
2, 9,
- (long *)_vq_lengthlist__44p1_l1_0,
+ (char *)_vq_lengthlist__44p1_l1_0,
1, -516716544, 1630767104, 2, 0,
(long *)_vq_quantlist__44p1_l1_0,
0
};
-static const long _huff_lengthlist__44p1_lfe[] = {
+static const char _huff_lengthlist__44p1_lfe[] = {
1, 3, 2, 3,
};
static const static_codebook _huff_book__44p1_lfe = {
2, 4,
- (long *)_huff_lengthlist__44p1_lfe,
+ (char *)_huff_lengthlist__44p1_lfe,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist__44p1_long[] = {
+static const char _huff_lengthlist__44p1_long[] = {
3, 3, 7, 7, 9,13,16, 3, 2, 4, 6,10,13,17, 7, 4,
4, 6, 9,12,14, 7, 6, 6, 5, 7, 9,12,10,10, 9, 6,
6, 9,12,14,14,13, 9, 8,10,11,18,18,15,13,11,10,
@@ -980,7 +997,7 @@ static const long _huff_lengthlist__44p1_long[] = {
static const static_codebook _huff_book__44p1_long = {
2, 49,
- (long *)_huff_lengthlist__44p1_long,
+ (char *)_huff_lengthlist__44p1_long,
0, 0, 0, 0, 0,
NULL,
0
@@ -992,7 +1009,7 @@ static const long _vq_quantlist__44p1_p1_0[] = {
2,
};
-static const long _vq_lengthlist__44p1_p1_0[] = {
+static const char _vq_lengthlist__44p1_p1_0[] = {
1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1013,7 +1030,7 @@ static const long _vq_lengthlist__44p1_p1_0[] = {
static const static_codebook _44p1_p1_0 = {
5, 243,
- (long *)_vq_lengthlist__44p1_p1_0,
+ (char *)_vq_lengthlist__44p1_p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44p1_p1_0,
0
@@ -1025,7 +1042,7 @@ static const long _vq_quantlist__44p1_p2_0[] = {
2,
};
-static const long _vq_lengthlist__44p1_p2_0[] = {
+static const char _vq_lengthlist__44p1_p2_0[] = {
1, 4, 4, 0, 7, 7, 0, 8, 8, 0, 9, 9, 0,12,12, 0,
8, 8, 0, 9, 9, 0,12,12, 0, 8, 8, 0, 6, 6, 0,11,
11, 0,11,11, 0,12,12, 0,14,14, 0,11,11, 0,12,12,
@@ -1046,7 +1063,7 @@ static const long _vq_lengthlist__44p1_p2_0[] = {
static const static_codebook _44p1_p2_0 = {
5, 243,
- (long *)_vq_lengthlist__44p1_p2_0,
+ (char *)_vq_lengthlist__44p1_p2_0,
1, -533200896, 1614282752, 2, 0,
(long *)_vq_quantlist__44p1_p2_0,
0
@@ -1058,7 +1075,7 @@ static const long _vq_quantlist__44p1_p2_1[] = {
2,
};
-static const long _vq_lengthlist__44p1_p2_1[] = {
+static const char _vq_lengthlist__44p1_p2_1[] = {
1, 3, 3, 0, 8, 8, 0, 8, 8, 0,10,10, 0, 9, 9, 0,
10,10, 0,10,10, 0, 9, 9, 0,10,10, 0, 7, 7, 0, 7,
7, 0, 7, 7, 0, 8, 8, 0, 8, 8, 0, 8, 8, 0, 9, 9,
@@ -1079,7 +1096,7 @@ static const long _vq_lengthlist__44p1_p2_1[] = {
static const static_codebook _44p1_p2_1 = {
5, 243,
- (long *)_vq_lengthlist__44p1_p2_1,
+ (char *)_vq_lengthlist__44p1_p2_1,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44p1_p2_1,
0
@@ -1091,7 +1108,7 @@ static const long _vq_quantlist__44p1_p3_0[] = {
2,
};
-static const long _vq_lengthlist__44p1_p3_0[] = {
+static const char _vq_lengthlist__44p1_p3_0[] = {
1, 6, 6, 6, 7, 7, 7, 8, 8, 7, 8, 8,10,11,11, 9,
8, 8, 7, 9, 9,11,12,12, 9, 8, 8, 6, 7, 7, 9,11,
11,10,11,11,10,11,11,13,13,13,11,12,12,10,11,11,
@@ -1112,7 +1129,7 @@ static const long _vq_lengthlist__44p1_p3_0[] = {
static const static_codebook _44p1_p3_0 = {
5, 243,
- (long *)_vq_lengthlist__44p1_p3_0,
+ (char *)_vq_lengthlist__44p1_p3_0,
1, -531365888, 1616117760, 2, 0,
(long *)_vq_quantlist__44p1_p3_0,
0
@@ -1126,7 +1143,7 @@ static const long _vq_quantlist__44p1_p3_1[] = {
4,
};
-static const long _vq_lengthlist__44p1_p3_1[] = {
+static const char _vq_lengthlist__44p1_p3_1[] = {
2, 3, 4, 7, 7,10,12,12,12,12,10,11,11,13,13,11,
12,12,11,11,12,12,12,12,12,11,13,13,13,13,12,12,
12,13,14,12,13,13,13,13,12,13,13,13,13,12,13,13,
@@ -1327,7 +1344,7 @@ static const long _vq_lengthlist__44p1_p3_1[] = {
static const static_codebook _44p1_p3_1 = {
5, 3125,
- (long *)_vq_lengthlist__44p1_p3_1,
+ (char *)_vq_lengthlist__44p1_p3_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44p1_p3_1,
0
@@ -1341,7 +1358,7 @@ static const long _vq_quantlist__44p1_p4_0[] = {
4,
};
-static const long _vq_lengthlist__44p1_p4_0[] = {
+static const char _vq_lengthlist__44p1_p4_0[] = {
2, 6, 6,14,14, 6, 7, 7,14,14, 7, 7, 7,14,14, 0,
13,13,16,16, 0,13,13,15,14, 7, 8, 8,15,15, 9,10,
10,16,16, 9, 8, 8,15,15, 0,13,13,17,16, 0,13,13,
@@ -1542,7 +1559,7 @@ static const long _vq_lengthlist__44p1_p4_0[] = {
static const static_codebook _44p1_p4_0 = {
5, 3125,
- (long *)_vq_lengthlist__44p1_p4_0,
+ (char *)_vq_lengthlist__44p1_p4_0,
1, -528744448, 1616642048, 3, 0,
(long *)_vq_quantlist__44p1_p4_0,
0
@@ -1558,13 +1575,13 @@ static const long _vq_quantlist__44p1_p4_1[] = {
6,
};
-static const long _vq_lengthlist__44p1_p4_1[] = {
+static const char _vq_lengthlist__44p1_p4_1[] = {
2, 3, 3, 3, 3, 3, 3,
};
static const static_codebook _44p1_p4_1 = {
1, 7,
- (long *)_vq_lengthlist__44p1_p4_1,
+ (char *)_vq_lengthlist__44p1_p4_1,
1, -533200896, 1611661312, 3, 0,
(long *)_vq_quantlist__44p1_p4_1,
0
@@ -1576,7 +1593,7 @@ static const long _vq_quantlist__44p1_p5_0[] = {
2,
};
-static const long _vq_lengthlist__44p1_p5_0[] = {
+static const char _vq_lengthlist__44p1_p5_0[] = {
1, 6, 6, 7, 8, 8, 7, 8, 8, 7, 9, 8,10,11,11, 9,
8, 8, 7, 8, 8,11,11,11, 9, 8, 8, 6, 7, 7,10,10,
10,10,10,10,10,10,10,14,13,13,12,11,11,10,10,10,
@@ -1597,7 +1614,7 @@ static const long _vq_lengthlist__44p1_p5_0[] = {
static const static_codebook _44p1_p5_0 = {
5, 243,
- (long *)_vq_lengthlist__44p1_p5_0,
+ (char *)_vq_lengthlist__44p1_p5_0,
1, -527106048, 1620377600, 2, 0,
(long *)_vq_quantlist__44p1_p5_0,
0
@@ -1609,7 +1626,7 @@ static const long _vq_quantlist__44p1_p5_1[] = {
2,
};
-static const long _vq_lengthlist__44p1_p5_1[] = {
+static const char _vq_lengthlist__44p1_p5_1[] = {
2, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 9, 8, 8, 8,
7, 7, 8, 8, 8, 9, 8, 8, 9, 7, 7, 6, 6, 6, 9, 8,
7, 9, 7, 7, 9, 8, 8,10, 8, 8,10, 8, 8,10, 8, 8,
@@ -1630,7 +1647,7 @@ static const long _vq_lengthlist__44p1_p5_1[] = {
static const static_codebook _44p1_p5_1 = {
5, 243,
- (long *)_vq_lengthlist__44p1_p5_1,
+ (char *)_vq_lengthlist__44p1_p5_1,
1, -530841600, 1616642048, 2, 0,
(long *)_vq_quantlist__44p1_p5_1,
0
@@ -1642,7 +1659,7 @@ static const long _vq_quantlist__44p1_p6_0[] = {
2,
};
-static const long _vq_lengthlist__44p1_p6_0[] = {
+static const char _vq_lengthlist__44p1_p6_0[] = {
1, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
@@ -1663,7 +1680,7 @@ static const long _vq_lengthlist__44p1_p6_0[] = {
static const static_codebook _44p1_p6_0 = {
5, 243,
- (long *)_vq_lengthlist__44p1_p6_0,
+ (char *)_vq_lengthlist__44p1_p6_0,
1, -516716544, 1630767104, 2, 0,
(long *)_vq_quantlist__44p1_p6_0,
0
@@ -1697,14 +1714,14 @@ static const long _vq_quantlist__44p1_p6_1[] = {
24,
};
-static const long _vq_lengthlist__44p1_p6_1[] = {
+static const char _vq_lengthlist__44p1_p6_1[] = {
1, 3, 2, 5, 4, 7, 7, 8, 8, 9, 9,10,10,11,11,12,
12,13,13,13,14,16,16,16,16,
};
static const static_codebook _44p1_p6_1 = {
1, 25,
- (long *)_vq_lengthlist__44p1_p6_1,
+ (char *)_vq_lengthlist__44p1_p6_1,
1, -518864896, 1620639744, 5, 0,
(long *)_vq_quantlist__44p1_p6_1,
0
@@ -1738,20 +1755,20 @@ static const long _vq_quantlist__44p1_p6_2[] = {
24,
};
-static const long _vq_lengthlist__44p1_p6_2[] = {
+static const char _vq_lengthlist__44p1_p6_2[] = {
3, 4, 4, 5, 4, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5,
};
static const static_codebook _44p1_p6_2 = {
1, 25,
- (long *)_vq_lengthlist__44p1_p6_2,
+ (char *)_vq_lengthlist__44p1_p6_2,
1, -529006592, 1611661312, 5, 0,
(long *)_vq_quantlist__44p1_p6_2,
0
};
-static const long _huff_lengthlist__44p1_short[] = {
+static const char _huff_lengthlist__44p1_short[] = {
4, 5, 7, 8,10,13,14, 4, 2, 4, 6, 8,11,12, 7, 4,
3, 5, 8,12,14, 8, 5, 4, 4, 8,12,12, 9, 7, 7, 7,
9,10,11,13,11,11, 9, 7, 8,10,13,11,10, 6, 5, 7,
@@ -1760,7 +1777,7 @@ static const long _huff_lengthlist__44p1_short[] = {
static const static_codebook _huff_book__44p1_short = {
2, 49,
- (long *)_huff_lengthlist__44p1_short,
+ (char *)_huff_lengthlist__44p1_short,
0, 0, 0, 0, 0,
NULL,
0
@@ -1782,7 +1799,7 @@ static const long _vq_quantlist__44p2_l0_0[] = {
12,
};
-static const long _vq_lengthlist__44p2_l0_0[] = {
+static const char _vq_lengthlist__44p2_l0_0[] = {
1, 4, 4, 7, 7, 8, 8, 9, 9,10,10,11,11, 4, 6, 5,
8, 7, 9, 8,10, 9,11,10,11,11, 4, 5, 6, 7, 8, 8,
9, 9,10,10,10,10,11, 8, 9, 8,10, 8,10, 9,11,10,
@@ -1798,7 +1815,7 @@ static const long _vq_lengthlist__44p2_l0_0[] = {
static const static_codebook _44p2_l0_0 = {
2, 169,
- (long *)_vq_lengthlist__44p2_l0_0,
+ (char *)_vq_lengthlist__44p2_l0_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__44p2_l0_0,
0
@@ -1812,14 +1829,14 @@ static const long _vq_quantlist__44p2_l0_1[] = {
4,
};
-static const long _vq_lengthlist__44p2_l0_1[] = {
+static const char _vq_lengthlist__44p2_l0_1[] = {
2, 4, 4, 5, 5, 4, 5, 5, 6, 5, 4, 5, 5, 5, 6, 5,
5, 6, 6, 6, 5, 6, 5, 6, 6,
};
static const static_codebook _44p2_l0_1 = {
2, 25,
- (long *)_vq_lengthlist__44p2_l0_1,
+ (char *)_vq_lengthlist__44p2_l0_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44p2_l0_1,
0
@@ -1831,31 +1848,31 @@ static const long _vq_quantlist__44p2_l1_0[] = {
2,
};
-static const long _vq_lengthlist__44p2_l1_0[] = {
+static const char _vq_lengthlist__44p2_l1_0[] = {
1, 4, 4, 4, 4, 4, 4, 4, 4,
};
static const static_codebook _44p2_l1_0 = {
2, 9,
- (long *)_vq_lengthlist__44p2_l1_0,
+ (char *)_vq_lengthlist__44p2_l1_0,
1, -516716544, 1630767104, 2, 0,
(long *)_vq_quantlist__44p2_l1_0,
0
};
-static const long _huff_lengthlist__44p2_lfe[] = {
+static const char _huff_lengthlist__44p2_lfe[] = {
1, 3, 2, 3,
};
static const static_codebook _huff_book__44p2_lfe = {
2, 4,
- (long *)_huff_lengthlist__44p2_lfe,
+ (char *)_huff_lengthlist__44p2_lfe,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist__44p2_long[] = {
+static const char _huff_lengthlist__44p2_long[] = {
3, 4, 9, 8, 8,10,13,16, 4, 2, 9, 5, 7,10,14,18,
9, 7, 6, 5, 7, 9,12,16, 7, 5, 5, 3, 5, 8,11,13,
8, 7, 7, 5, 5, 7, 9,11,10,10, 9, 8, 6, 6, 8,10,
@@ -1864,7 +1881,7 @@ static const long _huff_lengthlist__44p2_long[] = {
static const static_codebook _huff_book__44p2_long = {
2, 64,
- (long *)_huff_lengthlist__44p2_long,
+ (char *)_huff_lengthlist__44p2_long,
0, 0, 0, 0, 0,
NULL,
0
@@ -1876,7 +1893,7 @@ static const long _vq_quantlist__44p2_p1_0[] = {
2,
};
-static const long _vq_lengthlist__44p2_p1_0[] = {
+static const char _vq_lengthlist__44p2_p1_0[] = {
1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1897,7 +1914,7 @@ static const long _vq_lengthlist__44p2_p1_0[] = {
static const static_codebook _44p2_p1_0 = {
5, 243,
- (long *)_vq_lengthlist__44p2_p1_0,
+ (char *)_vq_lengthlist__44p2_p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44p2_p1_0,
0
@@ -1911,7 +1928,7 @@ static const long _vq_quantlist__44p2_p2_0[] = {
4,
};
-static const long _vq_lengthlist__44p2_p2_0[] = {
+static const char _vq_lengthlist__44p2_p2_0[] = {
1, 4, 4, 0, 0, 0, 8, 8, 0, 0, 0, 9, 9, 0, 0, 0,
10,10, 0, 0, 0, 0, 0, 0, 0, 0,10,10, 0, 0, 0, 0,
0, 0, 0, 0, 9, 9, 0, 0, 0,11,11, 0, 0, 0, 0, 0,
@@ -2112,7 +2129,7 @@ static const long _vq_lengthlist__44p2_p2_0[] = {
static const static_codebook _44p2_p2_0 = {
5, 3125,
- (long *)_vq_lengthlist__44p2_p2_0,
+ (char *)_vq_lengthlist__44p2_p2_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44p2_p2_0,
0
@@ -2124,7 +2141,7 @@ static const long _vq_quantlist__44p2_p3_0[] = {
2,
};
-static const long _vq_lengthlist__44p2_p3_0[] = {
+static const char _vq_lengthlist__44p2_p3_0[] = {
1, 5, 5, 6, 7, 7, 0, 8, 8, 6, 9, 9, 8,11,11, 0,
8, 8, 0, 9, 9, 0,12,12, 0, 8, 8, 5, 7, 7, 7,10,
10, 0,12,12, 8,11,11, 9,12,12, 0,11,12, 0,12,12,
@@ -2145,7 +2162,7 @@ static const long _vq_lengthlist__44p2_p3_0[] = {
static const static_codebook _44p2_p3_0 = {
5, 243,
- (long *)_vq_lengthlist__44p2_p3_0,
+ (char *)_vq_lengthlist__44p2_p3_0,
1, -533200896, 1614282752, 2, 0,
(long *)_vq_quantlist__44p2_p3_0,
0
@@ -2157,7 +2174,7 @@ static const long _vq_quantlist__44p2_p3_1[] = {
2,
};
-static const long _vq_lengthlist__44p2_p3_1[] = {
+static const char _vq_lengthlist__44p2_p3_1[] = {
2, 3, 3, 0, 8, 8, 0, 8, 8, 0, 9, 9, 0, 9, 9, 0,
9, 9, 0, 9, 9, 0, 9, 9, 0, 8, 8, 0, 6, 6, 0, 7,
7, 0, 7, 7, 0, 8, 8, 0, 8, 8, 0, 8, 8, 0, 8, 8,
@@ -2178,7 +2195,7 @@ static const long _vq_lengthlist__44p2_p3_1[] = {
static const static_codebook _44p2_p3_1 = {
5, 243,
- (long *)_vq_lengthlist__44p2_p3_1,
+ (char *)_vq_lengthlist__44p2_p3_1,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44p2_p3_1,
0
@@ -2190,7 +2207,7 @@ static const long _vq_quantlist__44p2_p4_0[] = {
2,
};
-static const long _vq_lengthlist__44p2_p4_0[] = {
+static const char _vq_lengthlist__44p2_p4_0[] = {
1, 6, 6, 6, 7, 7, 7, 8, 8, 7, 8, 8,10,11,11, 9,
8, 8, 7, 8, 8,11,11,11, 9, 8, 8, 6, 7, 7, 9,11,
11, 9,11,11,10,11,11,12,13,13,11,12,12,10,11,11,
@@ -2211,7 +2228,7 @@ static const long _vq_lengthlist__44p2_p4_0[] = {
static const static_codebook _44p2_p4_0 = {
5, 243,
- (long *)_vq_lengthlist__44p2_p4_0,
+ (char *)_vq_lengthlist__44p2_p4_0,
1, -531365888, 1616117760, 2, 0,
(long *)_vq_quantlist__44p2_p4_0,
0
@@ -2225,7 +2242,7 @@ static const long _vq_quantlist__44p2_p4_1[] = {
4,
};
-static const long _vq_lengthlist__44p2_p4_1[] = {
+static const char _vq_lengthlist__44p2_p4_1[] = {
3, 4, 4, 8, 8,11, 9, 9,12,12,11,10,10,12,12,12,
10,10,11,11,12,12,12,12,12,12,11,11,13,13,12,12,
12,13,13,12,10,10,12,12,12,11,11,13,13,12,13,13,
@@ -2426,7 +2443,7 @@ static const long _vq_lengthlist__44p2_p4_1[] = {
static const static_codebook _44p2_p4_1 = {
5, 3125,
- (long *)_vq_lengthlist__44p2_p4_1,
+ (char *)_vq_lengthlist__44p2_p4_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44p2_p4_1,
0
@@ -2440,7 +2457,7 @@ static const long _vq_quantlist__44p2_p5_0[] = {
4,
};
-static const long _vq_lengthlist__44p2_p5_0[] = {
+static const char _vq_lengthlist__44p2_p5_0[] = {
2, 6, 6,14,14, 6, 7, 7,14,14, 7, 7, 7,15,15, 0,
13,13,16,16, 0,13,13,15,15, 7, 8, 8,15,15, 9,10,
10,17,16, 9, 8, 8,15,15, 0,13,13,18,17, 0,13,13,
@@ -2641,7 +2658,7 @@ static const long _vq_lengthlist__44p2_p5_0[] = {
static const static_codebook _44p2_p5_0 = {
5, 3125,
- (long *)_vq_lengthlist__44p2_p5_0,
+ (char *)_vq_lengthlist__44p2_p5_0,
1, -528744448, 1616642048, 3, 0,
(long *)_vq_quantlist__44p2_p5_0,
0
@@ -2657,13 +2674,13 @@ static const long _vq_quantlist__44p2_p5_1[] = {
6,
};
-static const long _vq_lengthlist__44p2_p5_1[] = {
+static const char _vq_lengthlist__44p2_p5_1[] = {
2, 3, 3, 3, 3, 3, 3,
};
static const static_codebook _44p2_p5_1 = {
1, 7,
- (long *)_vq_lengthlist__44p2_p5_1,
+ (char *)_vq_lengthlist__44p2_p5_1,
1, -533200896, 1611661312, 3, 0,
(long *)_vq_quantlist__44p2_p5_1,
0
@@ -2675,7 +2692,7 @@ static const long _vq_quantlist__44p2_p6_0[] = {
2,
};
-static const long _vq_lengthlist__44p2_p6_0[] = {
+static const char _vq_lengthlist__44p2_p6_0[] = {
1, 7, 7, 7, 8, 8, 7, 8, 8, 7, 9, 9,10,11,11, 9,
8, 8, 7, 8, 9,11,11,11, 9, 8, 8, 6, 7, 7,10,10,
10,10,10,10,10,10,10,14,14,14,12,11,11,10,11,11,
@@ -2696,7 +2713,7 @@ static const long _vq_lengthlist__44p2_p6_0[] = {
static const static_codebook _44p2_p6_0 = {
5, 243,
- (long *)_vq_lengthlist__44p2_p6_0,
+ (char *)_vq_lengthlist__44p2_p6_0,
1, -527106048, 1620377600, 2, 0,
(long *)_vq_quantlist__44p2_p6_0,
0
@@ -2708,7 +2725,7 @@ static const long _vq_quantlist__44p2_p6_1[] = {
2,
};
-static const long _vq_lengthlist__44p2_p6_1[] = {
+static const char _vq_lengthlist__44p2_p6_1[] = {
2, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 9, 9, 9, 8,
7, 7, 8, 8, 8, 9, 9, 9, 9, 8, 8, 6, 7, 7, 9, 8,
8, 9, 7, 7, 9, 8, 8,10, 8, 8,10, 8, 8,10, 8, 8,
@@ -2729,7 +2746,7 @@ static const long _vq_lengthlist__44p2_p6_1[] = {
static const static_codebook _44p2_p6_1 = {
5, 243,
- (long *)_vq_lengthlist__44p2_p6_1,
+ (char *)_vq_lengthlist__44p2_p6_1,
1, -530841600, 1616642048, 2, 0,
(long *)_vq_quantlist__44p2_p6_1,
0
@@ -2741,7 +2758,7 @@ static const long _vq_quantlist__44p2_p7_0[] = {
2,
};
-static const long _vq_lengthlist__44p2_p7_0[] = {
+static const char _vq_lengthlist__44p2_p7_0[] = {
1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
@@ -2762,7 +2779,7 @@ static const long _vq_lengthlist__44p2_p7_0[] = {
static const static_codebook _44p2_p7_0 = {
5, 243,
- (long *)_vq_lengthlist__44p2_p7_0,
+ (char *)_vq_lengthlist__44p2_p7_0,
1, -513979392, 1633504256, 2, 0,
(long *)_vq_quantlist__44p2_p7_0,
0
@@ -2774,7 +2791,7 @@ static const long _vq_quantlist__44p2_p7_1[] = {
2,
};
-static const long _vq_lengthlist__44p2_p7_1[] = {
+static const char _vq_lengthlist__44p2_p7_1[] = {
1, 9, 9, 6, 9, 9, 5, 9, 9, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
@@ -2795,7 +2812,7 @@ static const long _vq_lengthlist__44p2_p7_1[] = {
static const static_codebook _44p2_p7_1 = {
5, 243,
- (long *)_vq_lengthlist__44p2_p7_1,
+ (char *)_vq_lengthlist__44p2_p7_1,
1, -516716544, 1630767104, 2, 0,
(long *)_vq_quantlist__44p2_p7_1,
0
@@ -2829,14 +2846,14 @@ static const long _vq_quantlist__44p2_p7_2[] = {
24,
};
-static const long _vq_lengthlist__44p2_p7_2[] = {
+static const char _vq_lengthlist__44p2_p7_2[] = {
1, 3, 2, 5, 4, 7, 7, 8, 8, 9, 9,10,10,11,11,12,
12,13,13,14,14,15,15,15,15,
};
static const static_codebook _44p2_p7_2 = {
1, 25,
- (long *)_vq_lengthlist__44p2_p7_2,
+ (char *)_vq_lengthlist__44p2_p7_2,
1, -518864896, 1620639744, 5, 0,
(long *)_vq_quantlist__44p2_p7_2,
0
@@ -2870,20 +2887,20 @@ static const long _vq_quantlist__44p2_p7_3[] = {
24,
};
-static const long _vq_lengthlist__44p2_p7_3[] = {
+static const char _vq_lengthlist__44p2_p7_3[] = {
3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5,
};
static const static_codebook _44p2_p7_3 = {
1, 25,
- (long *)_vq_lengthlist__44p2_p7_3,
+ (char *)_vq_lengthlist__44p2_p7_3,
1, -529006592, 1611661312, 5, 0,
(long *)_vq_quantlist__44p2_p7_3,
0
};
-static const long _huff_lengthlist__44p2_short[] = {
+static const char _huff_lengthlist__44p2_short[] = {
4, 4,12, 9, 8,12,15,17, 4, 2,11, 6, 5, 9,13,15,
11, 7, 8, 7, 7,10,14,13, 8, 5, 7, 5, 5, 8,12,12,
8, 4, 7, 4, 3, 6,11,12,11, 8, 9, 7, 6, 8,11,12,
@@ -2892,7 +2909,7 @@ static const long _huff_lengthlist__44p2_short[] = {
static const static_codebook _huff_book__44p2_short = {
2, 64,
- (long *)_huff_lengthlist__44p2_short,
+ (char *)_huff_lengthlist__44p2_short,
0, 0, 0, 0, 0,
NULL,
0
@@ -2914,7 +2931,7 @@ static const long _vq_quantlist__44p3_l0_0[] = {
12,
};
-static const long _vq_lengthlist__44p3_l0_0[] = {
+static const char _vq_lengthlist__44p3_l0_0[] = {
1, 4, 4, 8, 8, 8, 8, 9, 9,10,10,10,10, 4, 6, 5,
8, 7, 9, 9, 9, 9,10, 9,11, 9, 4, 5, 6, 7, 8, 9,
9, 9, 9, 9,10, 9,10, 8, 9, 8, 9, 8,10, 9,11, 9,
@@ -2930,7 +2947,7 @@ static const long _vq_lengthlist__44p3_l0_0[] = {
static const static_codebook _44p3_l0_0 = {
2, 169,
- (long *)_vq_lengthlist__44p3_l0_0,
+ (char *)_vq_lengthlist__44p3_l0_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__44p3_l0_0,
0
@@ -2944,14 +2961,14 @@ static const long _vq_quantlist__44p3_l0_1[] = {
4,
};
-static const long _vq_lengthlist__44p3_l0_1[] = {
+static const char _vq_lengthlist__44p3_l0_1[] = {
3, 4, 4, 5, 5, 4, 4, 5, 5, 5, 4, 5, 4, 5, 5, 5,
5, 6, 5, 6, 5, 6, 5, 6, 5,
};
static const static_codebook _44p3_l0_1 = {
2, 25,
- (long *)_vq_lengthlist__44p3_l0_1,
+ (char *)_vq_lengthlist__44p3_l0_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44p3_l0_1,
0
@@ -2963,31 +2980,31 @@ static const long _vq_quantlist__44p3_l1_0[] = {
2,
};
-static const long _vq_lengthlist__44p3_l1_0[] = {
+static const char _vq_lengthlist__44p3_l1_0[] = {
1, 4, 4, 4, 4, 4, 4, 4, 4,
};
static const static_codebook _44p3_l1_0 = {
2, 9,
- (long *)_vq_lengthlist__44p3_l1_0,
+ (char *)_vq_lengthlist__44p3_l1_0,
1, -516716544, 1630767104, 2, 0,
(long *)_vq_quantlist__44p3_l1_0,
0
};
-static const long _huff_lengthlist__44p3_lfe[] = {
+static const char _huff_lengthlist__44p3_lfe[] = {
1, 3, 2, 3,
};
static const static_codebook _huff_book__44p3_lfe = {
2, 4,
- (long *)_huff_lengthlist__44p3_lfe,
+ (char *)_huff_lengthlist__44p3_lfe,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist__44p3_long[] = {
+static const char _huff_lengthlist__44p3_long[] = {
3, 4,13, 9, 9,12,15,17, 4, 2,18, 5, 7,10,14,18,
11, 8, 6, 5, 6, 8,11,14, 8, 5, 5, 3, 5, 8,11,13,
9, 6, 7, 5, 5, 7, 9,10,11,10, 9, 8, 6, 6, 8,10,
@@ -2996,7 +3013,7 @@ static const long _huff_lengthlist__44p3_long[] = {
static const static_codebook _huff_book__44p3_long = {
2, 64,
- (long *)_huff_lengthlist__44p3_long,
+ (char *)_huff_lengthlist__44p3_long,
0, 0, 0, 0, 0,
NULL,
0
@@ -3008,7 +3025,7 @@ static const long _vq_quantlist__44p3_p1_0[] = {
2,
};
-static const long _vq_lengthlist__44p3_p1_0[] = {
+static const char _vq_lengthlist__44p3_p1_0[] = {
1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3029,7 +3046,7 @@ static const long _vq_lengthlist__44p3_p1_0[] = {
static const static_codebook _44p3_p1_0 = {
5, 243,
- (long *)_vq_lengthlist__44p3_p1_0,
+ (char *)_vq_lengthlist__44p3_p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44p3_p1_0,
0
@@ -3043,7 +3060,7 @@ static const long _vq_quantlist__44p3_p2_0[] = {
4,
};
-static const long _vq_lengthlist__44p3_p2_0[] = {
+static const char _vq_lengthlist__44p3_p2_0[] = {
3, 7, 7, 0, 0, 0, 8, 8, 0, 0, 0, 8, 8, 0, 0, 0,
11,11, 0, 0, 0, 0, 0, 0, 0, 0,10, 9, 0, 0, 0, 0,
0, 0, 0, 0, 9, 9, 0, 0, 0,10,11, 0, 0, 0, 0, 0,
@@ -3244,7 +3261,7 @@ static const long _vq_lengthlist__44p3_p2_0[] = {
static const static_codebook _44p3_p2_0 = {
5, 3125,
- (long *)_vq_lengthlist__44p3_p2_0,
+ (char *)_vq_lengthlist__44p3_p2_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44p3_p2_0,
0
@@ -3256,7 +3273,7 @@ static const long _vq_quantlist__44p3_p3_0[] = {
2,
};
-static const long _vq_lengthlist__44p3_p3_0[] = {
+static const char _vq_lengthlist__44p3_p3_0[] = {
1, 5, 5, 5, 8, 8, 0, 8, 8, 6, 9, 9, 8,10,10, 0,
8, 8, 0, 9, 9, 0,12,12, 0, 8, 8, 4, 7, 7, 6,10,
10, 0,12,12, 7,11,11, 9,12,12, 0,12,12, 0,13,13,
@@ -3277,7 +3294,7 @@ static const long _vq_lengthlist__44p3_p3_0[] = {
static const static_codebook _44p3_p3_0 = {
5, 243,
- (long *)_vq_lengthlist__44p3_p3_0,
+ (char *)_vq_lengthlist__44p3_p3_0,
1, -533200896, 1614282752, 2, 0,
(long *)_vq_quantlist__44p3_p3_0,
0
@@ -3289,7 +3306,7 @@ static const long _vq_quantlist__44p3_p3_1[] = {
2,
};
-static const long _vq_lengthlist__44p3_p3_1[] = {
+static const char _vq_lengthlist__44p3_p3_1[] = {
3, 4, 4, 0, 8, 8, 0, 8, 8, 0, 9, 9, 0,10,10, 0,
8, 8, 0, 9, 9, 0,10,10, 0, 8, 8, 0, 7, 7, 0, 8,
8, 0, 8, 8, 0, 8, 8, 0, 8, 8, 0, 8, 8, 0, 8, 8,
@@ -3310,7 +3327,7 @@ static const long _vq_lengthlist__44p3_p3_1[] = {
static const static_codebook _44p3_p3_1 = {
5, 243,
- (long *)_vq_lengthlist__44p3_p3_1,
+ (char *)_vq_lengthlist__44p3_p3_1,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44p3_p3_1,
0
@@ -3322,7 +3339,7 @@ static const long _vq_quantlist__44p3_p4_0[] = {
2,
};
-static const long _vq_lengthlist__44p3_p4_0[] = {
+static const char _vq_lengthlist__44p3_p4_0[] = {
1, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8,10,11,11, 9,
8, 8, 8, 8, 8,11,11,11,10, 8, 8, 5, 7, 7, 9,11,
11,10,11,11,10,11,11,12,13,14,11,12,12,10,11,11,
@@ -3343,7 +3360,7 @@ static const long _vq_lengthlist__44p3_p4_0[] = {
static const static_codebook _44p3_p4_0 = {
5, 243,
- (long *)_vq_lengthlist__44p3_p4_0,
+ (char *)_vq_lengthlist__44p3_p4_0,
1, -531365888, 1616117760, 2, 0,
(long *)_vq_quantlist__44p3_p4_0,
0
@@ -3357,7 +3374,7 @@ static const long _vq_quantlist__44p3_p4_1[] = {
4,
};
-static const long _vq_lengthlist__44p3_p4_1[] = {
+static const char _vq_lengthlist__44p3_p4_1[] = {
3, 4, 5, 8, 8,12,10,10,12,12,12,10,10,12,12,13,
11,11,12,12,13,12,12,12,12,13,10,10,13,13,13,13,
13,13,13,13,10,10,13,13,13,11,11,13,13,14,13,13,
@@ -3558,7 +3575,7 @@ static const long _vq_lengthlist__44p3_p4_1[] = {
static const static_codebook _44p3_p4_1 = {
5, 3125,
- (long *)_vq_lengthlist__44p3_p4_1,
+ (char *)_vq_lengthlist__44p3_p4_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44p3_p4_1,
0
@@ -3572,7 +3589,7 @@ static const long _vq_quantlist__44p3_p5_0[] = {
4,
};
-static const long _vq_lengthlist__44p3_p5_0[] = {
+static const char _vq_lengthlist__44p3_p5_0[] = {
2, 6, 6,14,14, 6, 7, 7,14,14, 7, 7, 7,15,15, 0,
12,12,15,15, 0,13,13,15,15, 7, 8, 8,15,15,10,10,
10,16,16, 9, 8, 8,15,15, 0,13,13,18,17, 0,13,13,
@@ -3773,7 +3790,7 @@ static const long _vq_lengthlist__44p3_p5_0[] = {
static const static_codebook _44p3_p5_0 = {
5, 3125,
- (long *)_vq_lengthlist__44p3_p5_0,
+ (char *)_vq_lengthlist__44p3_p5_0,
1, -528744448, 1616642048, 3, 0,
(long *)_vq_quantlist__44p3_p5_0,
0
@@ -3789,13 +3806,13 @@ static const long _vq_quantlist__44p3_p5_1[] = {
6,
};
-static const long _vq_lengthlist__44p3_p5_1[] = {
+static const char _vq_lengthlist__44p3_p5_1[] = {
2, 3, 3, 3, 3, 3, 3,
};
static const static_codebook _44p3_p5_1 = {
1, 7,
- (long *)_vq_lengthlist__44p3_p5_1,
+ (char *)_vq_lengthlist__44p3_p5_1,
1, -533200896, 1611661312, 3, 0,
(long *)_vq_quantlist__44p3_p5_1,
0
@@ -3807,7 +3824,7 @@ static const long _vq_quantlist__44p3_p6_0[] = {
2,
};
-static const long _vq_lengthlist__44p3_p6_0[] = {
+static const char _vq_lengthlist__44p3_p6_0[] = {
1, 6, 6, 7, 7, 7, 7, 8, 8, 7, 9, 9,11,11,11, 9,
8, 8, 8, 9, 9,12,11,11, 9, 8, 8, 6, 7, 7,10,11,
10,10,10,10,11,11,10,14,13,14,12,11,11,11,11,11,
@@ -3828,7 +3845,7 @@ static const long _vq_lengthlist__44p3_p6_0[] = {
static const static_codebook _44p3_p6_0 = {
5, 243,
- (long *)_vq_lengthlist__44p3_p6_0,
+ (char *)_vq_lengthlist__44p3_p6_0,
1, -527106048, 1620377600, 2, 0,
(long *)_vq_quantlist__44p3_p6_0,
0
@@ -3840,7 +3857,7 @@ static const long _vq_quantlist__44p3_p6_1[] = {
2,
};
-static const long _vq_lengthlist__44p3_p6_1[] = {
+static const char _vq_lengthlist__44p3_p6_1[] = {
2, 6, 6, 7, 7, 7, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9,
7, 7, 8, 8, 8, 9, 9, 9, 9, 7, 8, 6, 7, 7, 8, 8,
8, 8, 8, 8, 9, 8, 8,10, 9, 9,10, 8, 8,10, 8, 8,
@@ -3861,7 +3878,7 @@ static const long _vq_lengthlist__44p3_p6_1[] = {
static const static_codebook _44p3_p6_1 = {
5, 243,
- (long *)_vq_lengthlist__44p3_p6_1,
+ (char *)_vq_lengthlist__44p3_p6_1,
1, -530841600, 1616642048, 2, 0,
(long *)_vq_quantlist__44p3_p6_1,
0
@@ -3873,7 +3890,7 @@ static const long _vq_quantlist__44p3_p7_0[] = {
2,
};
-static const long _vq_lengthlist__44p3_p7_0[] = {
+static const char _vq_lengthlist__44p3_p7_0[] = {
1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
@@ -3894,7 +3911,7 @@ static const long _vq_lengthlist__44p3_p7_0[] = {
static const static_codebook _44p3_p7_0 = {
5, 243,
- (long *)_vq_lengthlist__44p3_p7_0,
+ (char *)_vq_lengthlist__44p3_p7_0,
1, -513979392, 1633504256, 2, 0,
(long *)_vq_quantlist__44p3_p7_0,
0
@@ -3906,7 +3923,7 @@ static const long _vq_quantlist__44p3_p7_1[] = {
2,
};
-static const long _vq_lengthlist__44p3_p7_1[] = {
+static const char _vq_lengthlist__44p3_p7_1[] = {
1, 9, 9, 6, 9, 9, 5, 9, 9, 8, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 8, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
@@ -3927,7 +3944,7 @@ static const long _vq_lengthlist__44p3_p7_1[] = {
static const static_codebook _44p3_p7_1 = {
5, 243,
- (long *)_vq_lengthlist__44p3_p7_1,
+ (char *)_vq_lengthlist__44p3_p7_1,
1, -516716544, 1630767104, 2, 0,
(long *)_vq_quantlist__44p3_p7_1,
0
@@ -3961,14 +3978,14 @@ static const long _vq_quantlist__44p3_p7_2[] = {
24,
};
-static const long _vq_lengthlist__44p3_p7_2[] = {
+static const char _vq_lengthlist__44p3_p7_2[] = {
1, 3, 2, 5, 4, 7, 7, 8, 8, 9, 9,10,10,11,11,12,
12,13,13,14,14,15,15,15,15,
};
static const static_codebook _44p3_p7_2 = {
1, 25,
- (long *)_vq_lengthlist__44p3_p7_2,
+ (char *)_vq_lengthlist__44p3_p7_2,
1, -518864896, 1620639744, 5, 0,
(long *)_vq_quantlist__44p3_p7_2,
0
@@ -4002,20 +4019,20 @@ static const long _vq_quantlist__44p3_p7_3[] = {
24,
};
-static const long _vq_lengthlist__44p3_p7_3[] = {
+static const char _vq_lengthlist__44p3_p7_3[] = {
4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5,
};
static const static_codebook _44p3_p7_3 = {
1, 25,
- (long *)_vq_lengthlist__44p3_p7_3,
+ (char *)_vq_lengthlist__44p3_p7_3,
1, -529006592, 1611661312, 5, 0,
(long *)_vq_quantlist__44p3_p7_3,
0
};
-static const long _huff_lengthlist__44p3_short[] = {
+static const char _huff_lengthlist__44p3_short[] = {
4, 5,16, 9, 9,12,17,18, 4, 2,18, 6, 5, 9,13,15,
10, 7, 7, 6, 7, 9,13,13, 8, 5, 6, 5, 5, 7,11,12,
8, 4, 7, 4, 3, 6,10,12,11, 8, 9, 7, 6, 8,11,12,
@@ -4024,7 +4041,7 @@ static const long _huff_lengthlist__44p3_short[] = {
static const static_codebook _huff_book__44p3_short = {
2, 64,
- (long *)_huff_lengthlist__44p3_short,
+ (char *)_huff_lengthlist__44p3_short,
0, 0, 0, 0, 0,
NULL,
0
@@ -4046,7 +4063,7 @@ static const long _vq_quantlist__44p4_l0_0[] = {
12,
};
-static const long _vq_lengthlist__44p4_l0_0[] = {
+static const char _vq_lengthlist__44p4_l0_0[] = {
1, 4, 4, 8, 8, 9, 8, 9, 9,10,10,10,10, 4, 6, 5,
8, 7, 9, 9, 9, 9,10, 9,10,10, 4, 5, 6, 7, 8, 9,
9, 9, 9, 9,10, 9,10, 8, 9, 8, 9, 8,10, 9,11, 9,
@@ -4062,7 +4079,7 @@ static const long _vq_lengthlist__44p4_l0_0[] = {
static const static_codebook _44p4_l0_0 = {
2, 169,
- (long *)_vq_lengthlist__44p4_l0_0,
+ (char *)_vq_lengthlist__44p4_l0_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__44p4_l0_0,
0
@@ -4076,14 +4093,14 @@ static const long _vq_quantlist__44p4_l0_1[] = {
4,
};
-static const long _vq_lengthlist__44p4_l0_1[] = {
+static const char _vq_lengthlist__44p4_l0_1[] = {
3, 4, 4, 5, 5, 4, 4, 5, 5, 5, 4, 5, 4, 5, 5, 5,
5, 6, 5, 6, 5, 6, 5, 6, 5,
};
static const static_codebook _44p4_l0_1 = {
2, 25,
- (long *)_vq_lengthlist__44p4_l0_1,
+ (char *)_vq_lengthlist__44p4_l0_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44p4_l0_1,
0
@@ -4095,31 +4112,31 @@ static const long _vq_quantlist__44p4_l1_0[] = {
2,
};
-static const long _vq_lengthlist__44p4_l1_0[] = {
+static const char _vq_lengthlist__44p4_l1_0[] = {
1, 4, 4, 4, 4, 4, 4, 4, 4,
};
static const static_codebook _44p4_l1_0 = {
2, 9,
- (long *)_vq_lengthlist__44p4_l1_0,
+ (char *)_vq_lengthlist__44p4_l1_0,
1, -516716544, 1630767104, 2, 0,
(long *)_vq_quantlist__44p4_l1_0,
0
};
-static const long _huff_lengthlist__44p4_lfe[] = {
+static const char _huff_lengthlist__44p4_lfe[] = {
1, 3, 2, 3,
};
static const static_codebook _huff_book__44p4_lfe = {
2, 4,
- (long *)_huff_lengthlist__44p4_lfe,
+ (char *)_huff_lengthlist__44p4_lfe,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist__44p4_long[] = {
+static const char _huff_lengthlist__44p4_long[] = {
3, 5,13, 9, 9,12,16,18, 4, 2,20, 6, 7,10,15,20,
10, 7, 5, 5, 6, 8,10,13, 8, 5, 5, 3, 5, 7,10,11,
9, 7, 6, 5, 5, 7, 9, 9,11,10, 8, 7, 6, 6, 8, 8,
@@ -4128,7 +4145,7 @@ static const long _huff_lengthlist__44p4_long[] = {
static const static_codebook _huff_book__44p4_long = {
2, 64,
- (long *)_huff_lengthlist__44p4_long,
+ (char *)_huff_lengthlist__44p4_long,
0, 0, 0, 0, 0,
NULL,
0
@@ -4140,7 +4157,7 @@ static const long _vq_quantlist__44p4_p1_0[] = {
2,
};
-static const long _vq_lengthlist__44p4_p1_0[] = {
+static const char _vq_lengthlist__44p4_p1_0[] = {
1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4161,7 +4178,7 @@ static const long _vq_lengthlist__44p4_p1_0[] = {
static const static_codebook _44p4_p1_0 = {
5, 243,
- (long *)_vq_lengthlist__44p4_p1_0,
+ (char *)_vq_lengthlist__44p4_p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44p4_p1_0,
0
@@ -4175,7 +4192,7 @@ static const long _vq_quantlist__44p4_p2_0[] = {
4,
};
-static const long _vq_lengthlist__44p4_p2_0[] = {
+static const char _vq_lengthlist__44p4_p2_0[] = {
3, 9, 9, 0, 0, 0, 8, 8, 0, 0, 0, 9, 9, 0, 0, 0,
12,12, 0, 0, 0, 0, 0, 0, 0, 0,10,10, 0, 0, 0, 0,
0, 0, 0, 0, 9, 9, 0, 0, 0,11,11, 0, 0, 0, 0, 0,
@@ -4376,7 +4393,7 @@ static const long _vq_lengthlist__44p4_p2_0[] = {
static const static_codebook _44p4_p2_0 = {
5, 3125,
- (long *)_vq_lengthlist__44p4_p2_0,
+ (char *)_vq_lengthlist__44p4_p2_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44p4_p2_0,
0
@@ -4388,7 +4405,7 @@ static const long _vq_quantlist__44p4_p3_0[] = {
2,
};
-static const long _vq_lengthlist__44p4_p3_0[] = {
+static const char _vq_lengthlist__44p4_p3_0[] = {
1, 6, 6, 5, 7, 8, 0, 8, 8, 6, 9, 9, 7,10,10, 0,
8, 8, 0, 9, 9, 0,12,12, 0, 8, 8, 4, 7, 7, 6,10,
10, 0,12,12, 7,11,11, 8,12,12, 0,12,12, 0,13,12,
@@ -4409,7 +4426,7 @@ static const long _vq_lengthlist__44p4_p3_0[] = {
static const static_codebook _44p4_p3_0 = {
5, 243,
- (long *)_vq_lengthlist__44p4_p3_0,
+ (char *)_vq_lengthlist__44p4_p3_0,
1, -533200896, 1614282752, 2, 0,
(long *)_vq_quantlist__44p4_p3_0,
0
@@ -4421,7 +4438,7 @@ static const long _vq_quantlist__44p4_p3_1[] = {
2,
};
-static const long _vq_lengthlist__44p4_p3_1[] = {
+static const char _vq_lengthlist__44p4_p3_1[] = {
3, 5, 5, 0, 8, 8, 0, 8, 8, 0, 9, 9, 0,10,10, 0,
8, 8, 0, 8, 8, 0,10,10, 0, 8, 8, 0, 7, 7, 0, 8,
8, 0, 7, 7, 0, 8, 8, 0, 8, 8, 0, 8, 8, 0, 8, 8,
@@ -4442,7 +4459,7 @@ static const long _vq_lengthlist__44p4_p3_1[] = {
static const static_codebook _44p4_p3_1 = {
5, 243,
- (long *)_vq_lengthlist__44p4_p3_1,
+ (char *)_vq_lengthlist__44p4_p3_1,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44p4_p3_1,
0
@@ -4454,7 +4471,7 @@ static const long _vq_quantlist__44p4_p4_0[] = {
2,
};
-static const long _vq_lengthlist__44p4_p4_0[] = {
+static const char _vq_lengthlist__44p4_p4_0[] = {
1, 6, 6, 6, 7, 7, 7, 8, 8, 7, 8, 8,10,11,11, 9,
8, 8, 8, 8, 8,11,11,12, 9, 8, 8, 5, 7, 7, 9,11,
11,10,11,11,10,11,11,12,14,14,11,12,12,10,12,12,
@@ -4475,7 +4492,7 @@ static const long _vq_lengthlist__44p4_p4_0[] = {
static const static_codebook _44p4_p4_0 = {
5, 243,
- (long *)_vq_lengthlist__44p4_p4_0,
+ (char *)_vq_lengthlist__44p4_p4_0,
1, -531365888, 1616117760, 2, 0,
(long *)_vq_quantlist__44p4_p4_0,
0
@@ -4489,7 +4506,7 @@ static const long _vq_quantlist__44p4_p4_1[] = {
4,
};
-static const long _vq_lengthlist__44p4_p4_1[] = {
+static const char _vq_lengthlist__44p4_p4_1[] = {
4, 5, 5, 9, 9,12, 9, 9,12,12,12,10,10,13,13,13,
11,11,12,12,13,13,13,12,12,13,10,10,13,13,13,13,
13,13,13,13,10,10,13,12,13,11,11,13,13,13,14,14,
@@ -4690,7 +4707,7 @@ static const long _vq_lengthlist__44p4_p4_1[] = {
static const static_codebook _44p4_p4_1 = {
5, 3125,
- (long *)_vq_lengthlist__44p4_p4_1,
+ (char *)_vq_lengthlist__44p4_p4_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44p4_p4_1,
0
@@ -4704,7 +4721,7 @@ static const long _vq_quantlist__44p4_p5_0[] = {
4,
};
-static const long _vq_lengthlist__44p4_p5_0[] = {
+static const char _vq_lengthlist__44p4_p5_0[] = {
1, 7, 6,15,15, 7, 8, 8,15,15, 8, 8, 8,15,15, 0,
13,13,16,16, 0,14,14,16,16, 7, 9, 9,16,16,10,11,
11,17,17,10, 8, 8,15,16, 0,14,14,18,18, 0,14,14,
@@ -4905,7 +4922,7 @@ static const long _vq_lengthlist__44p4_p5_0[] = {
static const static_codebook _44p4_p5_0 = {
5, 3125,
- (long *)_vq_lengthlist__44p4_p5_0,
+ (char *)_vq_lengthlist__44p4_p5_0,
1, -528744448, 1616642048, 3, 0,
(long *)_vq_quantlist__44p4_p5_0,
0
@@ -4921,13 +4938,13 @@ static const long _vq_quantlist__44p4_p5_1[] = {
6,
};
-static const long _vq_lengthlist__44p4_p5_1[] = {
+static const char _vq_lengthlist__44p4_p5_1[] = {
2, 3, 3, 3, 3, 3, 3,
};
static const static_codebook _44p4_p5_1 = {
1, 7,
- (long *)_vq_lengthlist__44p4_p5_1,
+ (char *)_vq_lengthlist__44p4_p5_1,
1, -533200896, 1611661312, 3, 0,
(long *)_vq_quantlist__44p4_p5_1,
0
@@ -4939,7 +4956,7 @@ static const long _vq_quantlist__44p4_p6_0[] = {
2,
};
-static const long _vq_lengthlist__44p4_p6_0[] = {
+static const char _vq_lengthlist__44p4_p6_0[] = {
1, 7, 7, 7, 8, 8, 7, 8, 8, 7, 9, 9,11,11,11, 9,
8, 8, 8, 9, 9,12,11,12, 9, 8, 8, 6, 7, 7,10,11,
11,10,10,10,11,11,11,14,14,14,12,11,12,11,11,11,
@@ -4960,7 +4977,7 @@ static const long _vq_lengthlist__44p4_p6_0[] = {
static const static_codebook _44p4_p6_0 = {
5, 243,
- (long *)_vq_lengthlist__44p4_p6_0,
+ (char *)_vq_lengthlist__44p4_p6_0,
1, -527106048, 1620377600, 2, 0,
(long *)_vq_quantlist__44p4_p6_0,
0
@@ -4972,7 +4989,7 @@ static const long _vq_quantlist__44p4_p6_1[] = {
2,
};
-static const long _vq_lengthlist__44p4_p6_1[] = {
+static const char _vq_lengthlist__44p4_p6_1[] = {
2, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9,
7, 7, 8, 8, 8, 9, 9, 9, 9, 8, 8, 6, 7, 7, 8, 8,
8, 8, 8, 8, 9, 8, 8, 9, 8, 9, 9, 8, 8,10, 8, 8,
@@ -4993,7 +5010,7 @@ static const long _vq_lengthlist__44p4_p6_1[] = {
static const static_codebook _44p4_p6_1 = {
5, 243,
- (long *)_vq_lengthlist__44p4_p6_1,
+ (char *)_vq_lengthlist__44p4_p6_1,
1, -530841600, 1616642048, 2, 0,
(long *)_vq_quantlist__44p4_p6_1,
0
@@ -5005,7 +5022,7 @@ static const long _vq_quantlist__44p4_p7_0[] = {
2,
};
-static const long _vq_lengthlist__44p4_p7_0[] = {
+static const char _vq_lengthlist__44p4_p7_0[] = {
1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
@@ -5026,7 +5043,7 @@ static const long _vq_lengthlist__44p4_p7_0[] = {
static const static_codebook _44p4_p7_0 = {
5, 243,
- (long *)_vq_lengthlist__44p4_p7_0,
+ (char *)_vq_lengthlist__44p4_p7_0,
1, -513979392, 1633504256, 2, 0,
(long *)_vq_quantlist__44p4_p7_0,
0
@@ -5038,7 +5055,7 @@ static const long _vq_quantlist__44p4_p7_1[] = {
2,
};
-static const long _vq_lengthlist__44p4_p7_1[] = {
+static const char _vq_lengthlist__44p4_p7_1[] = {
1, 9, 9, 7, 9, 9, 8, 8, 9, 9, 9, 9, 9, 9, 9, 8,
9, 9, 7, 9, 9, 9, 9, 9, 9, 9, 9, 7, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
@@ -5059,7 +5076,7 @@ static const long _vq_lengthlist__44p4_p7_1[] = {
static const static_codebook _44p4_p7_1 = {
5, 243,
- (long *)_vq_lengthlist__44p4_p7_1,
+ (char *)_vq_lengthlist__44p4_p7_1,
1, -516716544, 1630767104, 2, 0,
(long *)_vq_quantlist__44p4_p7_1,
0
@@ -5093,14 +5110,14 @@ static const long _vq_quantlist__44p4_p7_2[] = {
24,
};
-static const long _vq_lengthlist__44p4_p7_2[] = {
+static const char _vq_lengthlist__44p4_p7_2[] = {
1, 3, 2, 5, 4, 7, 7, 8, 8, 9, 9,10,10,11,11,12,
12,13,13,14,14,15,15,15,15,
};
static const static_codebook _44p4_p7_2 = {
1, 25,
- (long *)_vq_lengthlist__44p4_p7_2,
+ (char *)_vq_lengthlist__44p4_p7_2,
1, -518864896, 1620639744, 5, 0,
(long *)_vq_quantlist__44p4_p7_2,
0
@@ -5134,20 +5151,20 @@ static const long _vq_quantlist__44p4_p7_3[] = {
24,
};
-static const long _vq_lengthlist__44p4_p7_3[] = {
+static const char _vq_lengthlist__44p4_p7_3[] = {
4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5,
};
static const static_codebook _44p4_p7_3 = {
1, 25,
- (long *)_vq_lengthlist__44p4_p7_3,
+ (char *)_vq_lengthlist__44p4_p7_3,
1, -529006592, 1611661312, 5, 0,
(long *)_vq_quantlist__44p4_p7_3,
0
};
-static const long _huff_lengthlist__44p4_short[] = {
+static const char _huff_lengthlist__44p4_short[] = {
3, 5,16, 9, 9,13,18,21, 4, 2,21, 6, 6,10,15,21,
16,19, 6, 5, 7,10,13,16, 8, 6, 5, 4, 4, 8,13,16,
8, 5, 6, 4, 4, 7,12,15,13,10, 9, 7, 7, 9,13,16,
@@ -5156,7 +5173,7 @@ static const long _huff_lengthlist__44p4_short[] = {
static const static_codebook _huff_book__44p4_short = {
2, 64,
- (long *)_huff_lengthlist__44p4_short,
+ (char *)_huff_lengthlist__44p4_short,
0, 0, 0, 0, 0,
NULL,
0
@@ -5178,7 +5195,7 @@ static const long _vq_quantlist__44p5_l0_0[] = {
12,
};
-static const long _vq_lengthlist__44p5_l0_0[] = {
+static const char _vq_lengthlist__44p5_l0_0[] = {
1, 4, 4, 8, 8,10,10,10,10, 9, 8,11,11, 4, 6, 5,
8, 6,10,10,10,10,10, 9,10, 9, 4, 5, 6, 6, 9,10,
10,10,10, 9,10, 9,10, 8, 9, 8, 9, 8, 9, 9,10, 9,
@@ -5194,7 +5211,7 @@ static const long _vq_lengthlist__44p5_l0_0[] = {
static const static_codebook _44p5_l0_0 = {
2, 169,
- (long *)_vq_lengthlist__44p5_l0_0,
+ (char *)_vq_lengthlist__44p5_l0_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__44p5_l0_0,
0
@@ -5208,14 +5225,14 @@ static const long _vq_quantlist__44p5_l0_1[] = {
4,
};
-static const long _vq_lengthlist__44p5_l0_1[] = {
+static const char _vq_lengthlist__44p5_l0_1[] = {
4, 4, 4, 5, 5, 4, 5, 5, 5, 5, 4, 5, 4, 4, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5,
};
static const static_codebook _44p5_l0_1 = {
2, 25,
- (long *)_vq_lengthlist__44p5_l0_1,
+ (char *)_vq_lengthlist__44p5_l0_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44p5_l0_1,
0
@@ -5227,31 +5244,31 @@ static const long _vq_quantlist__44p5_l1_0[] = {
2,
};
-static const long _vq_lengthlist__44p5_l1_0[] = {
+static const char _vq_lengthlist__44p5_l1_0[] = {
1, 4, 4, 4, 4, 4, 4, 4, 4,
};
static const static_codebook _44p5_l1_0 = {
2, 9,
- (long *)_vq_lengthlist__44p5_l1_0,
+ (char *)_vq_lengthlist__44p5_l1_0,
1, -516716544, 1630767104, 2, 0,
(long *)_vq_quantlist__44p5_l1_0,
0
};
-static const long _huff_lengthlist__44p5_lfe[] = {
+static const char _huff_lengthlist__44p5_lfe[] = {
1, 3, 2, 3,
};
static const static_codebook _huff_book__44p5_lfe = {
2, 4,
- (long *)_huff_lengthlist__44p5_lfe,
+ (char *)_huff_lengthlist__44p5_lfe,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist__44p5_long[] = {
+static const char _huff_lengthlist__44p5_long[] = {
3, 7,12,14,14,16,18,19, 6, 2, 4, 6, 8, 9,12,14,
12, 3, 3, 5, 7, 8,11,13,13, 6, 4, 5, 7, 8,10,11,
14, 8, 7, 7, 7, 7, 9,10,15, 9, 8, 7, 7, 6, 8, 9,
@@ -5260,7 +5277,7 @@ static const long _huff_lengthlist__44p5_long[] = {
static const static_codebook _huff_book__44p5_long = {
2, 64,
- (long *)_huff_lengthlist__44p5_long,
+ (char *)_huff_lengthlist__44p5_long,
0, 0, 0, 0, 0,
NULL,
0
@@ -5272,7 +5289,7 @@ static const long _vq_quantlist__44p5_p1_0[] = {
2,
};
-static const long _vq_lengthlist__44p5_p1_0[] = {
+static const char _vq_lengthlist__44p5_p1_0[] = {
2, 5, 5, 5, 7, 7, 5, 7, 7, 5, 7, 7, 7, 8, 9, 7,
9, 9, 5, 7, 7, 7, 9, 9, 7, 9, 8, 5, 7, 8, 8, 9,
10, 8, 9,10, 8, 9,10, 9,10,12,10,11,11, 8,10,10,
@@ -5293,7 +5310,7 @@ static const long _vq_lengthlist__44p5_p1_0[] = {
static const static_codebook _44p5_p1_0 = {
5, 243,
- (long *)_vq_lengthlist__44p5_p1_0,
+ (char *)_vq_lengthlist__44p5_p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44p5_p1_0,
0
@@ -5307,7 +5324,7 @@ static const long _vq_quantlist__44p5_p2_0[] = {
4,
};
-static const long _vq_lengthlist__44p5_p2_0[] = {
+static const char _vq_lengthlist__44p5_p2_0[] = {
4, 6, 6, 9, 9, 6, 7, 8,10,10, 6, 8, 7,10,10, 8,
10,10,12,13, 8,10,10,13,12, 6, 7, 8,10,10, 7, 8,
9,10,11, 8, 9, 9,11,11,10,10,11,12,14,10,11,11,
@@ -5508,7 +5525,7 @@ static const long _vq_lengthlist__44p5_p2_0[] = {
static const static_codebook _44p5_p2_0 = {
5, 3125,
- (long *)_vq_lengthlist__44p5_p2_0,
+ (char *)_vq_lengthlist__44p5_p2_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44p5_p2_0,
0
@@ -5520,7 +5537,7 @@ static const long _vq_quantlist__44p5_p3_0[] = {
2,
};
-static const long _vq_lengthlist__44p5_p3_0[] = {
+static const char _vq_lengthlist__44p5_p3_0[] = {
1, 5, 6, 5, 7, 8, 5, 8, 7, 5, 7, 8, 7, 8,10, 8,
10,10, 5, 8, 7, 8,10,10, 7,10, 8, 6, 8, 9, 8,10,
11, 9,10,10, 9,10,11,10,11,12,11,12,12, 9,11,10,
@@ -5541,7 +5558,7 @@ static const long _vq_lengthlist__44p5_p3_0[] = {
static const static_codebook _44p5_p3_0 = {
5, 243,
- (long *)_vq_lengthlist__44p5_p3_0,
+ (char *)_vq_lengthlist__44p5_p3_0,
1, -533200896, 1614282752, 2, 0,
(long *)_vq_quantlist__44p5_p3_0,
0
@@ -5553,7 +5570,7 @@ static const long _vq_quantlist__44p5_p3_1[] = {
2,
};
-static const long _vq_lengthlist__44p5_p3_1[] = {
+static const char _vq_lengthlist__44p5_p3_1[] = {
5, 6, 6, 6, 7, 7, 6, 7, 7, 6, 7, 7, 7, 7, 8, 7,
8, 8, 6, 7, 7, 7, 8, 8, 7, 8, 7, 7, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 8, 9, 9, 8, 8, 8,
@@ -5574,7 +5591,7 @@ static const long _vq_lengthlist__44p5_p3_1[] = {
static const static_codebook _44p5_p3_1 = {
5, 243,
- (long *)_vq_lengthlist__44p5_p3_1,
+ (char *)_vq_lengthlist__44p5_p3_1,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44p5_p3_1,
0
@@ -5586,7 +5603,7 @@ static const long _vq_quantlist__44p5_p4_0[] = {
2,
};
-static const long _vq_lengthlist__44p5_p4_0[] = {
+static const char _vq_lengthlist__44p5_p4_0[] = {
1, 5, 5, 5, 7, 9, 5, 9, 7, 5, 7, 8, 7, 7,10, 9,
10,10, 5, 8, 7, 9,10,10, 7,10, 7, 6, 8, 9, 9,10,
12, 9,11,11, 9,10,11,11,11,13,12,13,13, 9,11,11,
@@ -5607,7 +5624,7 @@ static const long _vq_lengthlist__44p5_p4_0[] = {
static const static_codebook _44p5_p4_0 = {
5, 243,
- (long *)_vq_lengthlist__44p5_p4_0,
+ (char *)_vq_lengthlist__44p5_p4_0,
1, -531365888, 1616117760, 2, 0,
(long *)_vq_quantlist__44p5_p4_0,
0
@@ -5621,7 +5638,7 @@ static const long _vq_quantlist__44p5_p4_1[] = {
4,
};
-static const long _vq_lengthlist__44p5_p4_1[] = {
+static const char _vq_lengthlist__44p5_p4_1[] = {
5, 7, 7,10,10, 7, 8, 9,10,11, 7, 9, 8,11,10, 9,
10,10,11,11, 9,10,10,11,11, 7, 9, 9,10,10, 8, 9,
10,10,11, 9,10,10,11,11,10,10,11,11,11,10,11,11,
@@ -5822,7 +5839,7 @@ static const long _vq_lengthlist__44p5_p4_1[] = {
static const static_codebook _44p5_p4_1 = {
5, 3125,
- (long *)_vq_lengthlist__44p5_p4_1,
+ (char *)_vq_lengthlist__44p5_p4_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44p5_p4_1,
0
@@ -5836,7 +5853,7 @@ static const long _vq_quantlist__44p5_p5_0[] = {
4,
};
-static const long _vq_lengthlist__44p5_p5_0[] = {
+static const char _vq_lengthlist__44p5_p5_0[] = {
1, 6, 6,10,10, 6, 7, 9,11,13, 5, 9, 7,13,11, 8,
11,12,13,15, 8,12,11,15,13, 6, 7, 8,11,11, 7, 8,
10,11,13, 9,10,10,13,13,11,11,13,12,16,12,13,13,
@@ -6037,7 +6054,7 @@ static const long _vq_lengthlist__44p5_p5_0[] = {
static const static_codebook _44p5_p5_0 = {
5, 3125,
- (long *)_vq_lengthlist__44p5_p5_0,
+ (char *)_vq_lengthlist__44p5_p5_0,
1, -528744448, 1616642048, 3, 0,
(long *)_vq_quantlist__44p5_p5_0,
0
@@ -6053,13 +6070,13 @@ static const long _vq_quantlist__44p5_p5_1[] = {
6,
};
-static const long _vq_lengthlist__44p5_p5_1[] = {
+static const char _vq_lengthlist__44p5_p5_1[] = {
2, 3, 3, 3, 3, 3, 3,
};
static const static_codebook _44p5_p5_1 = {
1, 7,
- (long *)_vq_lengthlist__44p5_p5_1,
+ (char *)_vq_lengthlist__44p5_p5_1,
1, -533200896, 1611661312, 3, 0,
(long *)_vq_quantlist__44p5_p5_1,
0
@@ -6071,7 +6088,7 @@ static const long _vq_quantlist__44p5_p6_0[] = {
2,
};
-static const long _vq_lengthlist__44p5_p6_0[] = {
+static const char _vq_lengthlist__44p5_p6_0[] = {
1, 5, 5, 5, 7, 9, 5, 9, 7, 5, 7, 8, 7, 7,10, 9,
9,10, 5, 8, 7, 9,10, 9, 7,10, 7, 6, 9, 9, 9,10,
12,10,12,11, 9,10,11,11,10,13,12,12,13,10,11,11,
@@ -6092,7 +6109,7 @@ static const long _vq_lengthlist__44p5_p6_0[] = {
static const static_codebook _44p5_p6_0 = {
5, 243,
- (long *)_vq_lengthlist__44p5_p6_0,
+ (char *)_vq_lengthlist__44p5_p6_0,
1, -527106048, 1620377600, 2, 0,
(long *)_vq_quantlist__44p5_p6_0,
0
@@ -6104,7 +6121,7 @@ static const long _vq_quantlist__44p5_p6_1[] = {
2,
};
-static const long _vq_lengthlist__44p5_p6_1[] = {
+static const char _vq_lengthlist__44p5_p6_1[] = {
2, 6, 6, 5, 7, 8, 5, 8, 7, 6, 7, 7, 7, 7, 8, 8,
8, 8, 6, 7, 7, 7, 8, 8, 7, 8, 7, 6, 8, 8, 8, 9,
10, 8, 9, 9, 8, 9, 9, 9, 9,10,10,10,10, 8, 9, 9,
@@ -6125,7 +6142,7 @@ static const long _vq_lengthlist__44p5_p6_1[] = {
static const static_codebook _44p5_p6_1 = {
5, 243,
- (long *)_vq_lengthlist__44p5_p6_1,
+ (char *)_vq_lengthlist__44p5_p6_1,
1, -530841600, 1616642048, 2, 0,
(long *)_vq_quantlist__44p5_p6_1,
0
@@ -6137,7 +6154,7 @@ static const long _vq_quantlist__44p5_p7_0[] = {
2,
};
-static const long _vq_lengthlist__44p5_p7_0[] = {
+static const char _vq_lengthlist__44p5_p7_0[] = {
1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
@@ -6158,7 +6175,7 @@ static const long _vq_lengthlist__44p5_p7_0[] = {
static const static_codebook _44p5_p7_0 = {
5, 243,
- (long *)_vq_lengthlist__44p5_p7_0,
+ (char *)_vq_lengthlist__44p5_p7_0,
1, -513979392, 1633504256, 2, 0,
(long *)_vq_quantlist__44p5_p7_0,
0
@@ -6170,7 +6187,7 @@ static const long _vq_quantlist__44p5_p7_1[] = {
2,
};
-static const long _vq_lengthlist__44p5_p7_1[] = {
+static const char _vq_lengthlist__44p5_p7_1[] = {
1, 7, 7, 6, 9, 9, 7, 9, 9, 6, 9, 9, 9, 9, 9, 9,
9, 9, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
@@ -6191,7 +6208,7 @@ static const long _vq_lengthlist__44p5_p7_1[] = {
static const static_codebook _44p5_p7_1 = {
5, 243,
- (long *)_vq_lengthlist__44p5_p7_1,
+ (char *)_vq_lengthlist__44p5_p7_1,
1, -516716544, 1630767104, 2, 0,
(long *)_vq_quantlist__44p5_p7_1,
0
@@ -6225,14 +6242,14 @@ static const long _vq_quantlist__44p5_p7_2[] = {
24,
};
-static const long _vq_lengthlist__44p5_p7_2[] = {
+static const char _vq_lengthlist__44p5_p7_2[] = {
1, 2, 3, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9,10,10,11,
11,12,12,13,13,14,14,14,14,
};
static const static_codebook _44p5_p7_2 = {
1, 25,
- (long *)_vq_lengthlist__44p5_p7_2,
+ (char *)_vq_lengthlist__44p5_p7_2,
1, -518864896, 1620639744, 5, 0,
(long *)_vq_quantlist__44p5_p7_2,
0
@@ -6266,20 +6283,20 @@ static const long _vq_quantlist__44p5_p7_3[] = {
24,
};
-static const long _vq_lengthlist__44p5_p7_3[] = {
+static const char _vq_lengthlist__44p5_p7_3[] = {
4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5,
};
static const static_codebook _44p5_p7_3 = {
1, 25,
- (long *)_vq_lengthlist__44p5_p7_3,
+ (char *)_vq_lengthlist__44p5_p7_3,
1, -529006592, 1611661312, 5, 0,
(long *)_vq_quantlist__44p5_p7_3,
0
};
-static const long _huff_lengthlist__44p5_short[] = {
+static const char _huff_lengthlist__44p5_short[] = {
4, 7,12,14,15,18,20,20, 5, 3, 4, 6, 9,11,15,19,
9, 4, 3, 4, 7, 9,13,18,11, 6, 3, 3, 5, 8,13,19,
14, 9, 6, 5, 7,10,16,20,16,11, 9, 8,10,10,14,16,
@@ -6288,7 +6305,7 @@ static const long _huff_lengthlist__44p5_short[] = {
static const static_codebook _huff_book__44p5_short = {
2, 64,
- (long *)_huff_lengthlist__44p5_short,
+ (char *)_huff_lengthlist__44p5_short,
0, 0, 0, 0, 0,
NULL,
0
@@ -6310,7 +6327,7 @@ static const long _vq_quantlist__44p6_l0_0[] = {
12,
};
-static const long _vq_lengthlist__44p6_l0_0[] = {
+static const char _vq_lengthlist__44p6_l0_0[] = {
1, 4, 4, 7, 7,10,10,12,12,12,12,13,12, 5, 5, 5,
8, 6,11, 9,12,12,13,12,12,12, 4, 5, 5, 6, 8, 9,
11,12,12,13,12,12,12, 7, 7, 8, 9, 9,11, 8,12, 9,
@@ -6326,7 +6343,7 @@ static const long _vq_lengthlist__44p6_l0_0[] = {
static const static_codebook _44p6_l0_0 = {
2, 169,
- (long *)_vq_lengthlist__44p6_l0_0,
+ (char *)_vq_lengthlist__44p6_l0_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__44p6_l0_0,
0
@@ -6340,14 +6357,14 @@ static const long _vq_quantlist__44p6_l0_1[] = {
4,
};
-static const long _vq_lengthlist__44p6_l0_1[] = {
+static const char _vq_lengthlist__44p6_l0_1[] = {
4, 4, 4, 5, 5, 4, 5, 5, 5, 5, 4, 5, 5, 5, 5, 5,
5, 5, 4, 5, 5, 5, 5, 5, 4,
};
static const static_codebook _44p6_l0_1 = {
2, 25,
- (long *)_vq_lengthlist__44p6_l0_1,
+ (char *)_vq_lengthlist__44p6_l0_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44p6_l0_1,
0
@@ -6359,31 +6376,31 @@ static const long _vq_quantlist__44p6_l1_0[] = {
2,
};
-static const long _vq_lengthlist__44p6_l1_0[] = {
+static const char _vq_lengthlist__44p6_l1_0[] = {
1, 3, 2, 5, 5, 6, 6, 6, 6,
};
static const static_codebook _44p6_l1_0 = {
2, 9,
- (long *)_vq_lengthlist__44p6_l1_0,
+ (char *)_vq_lengthlist__44p6_l1_0,
1, -516716544, 1630767104, 2, 0,
(long *)_vq_quantlist__44p6_l1_0,
0
};
-static const long _huff_lengthlist__44p6_lfe[] = {
+static const char _huff_lengthlist__44p6_lfe[] = {
2, 3, 1, 3,
};
static const static_codebook _huff_book__44p6_lfe = {
2, 4,
- (long *)_huff_lengthlist__44p6_lfe,
+ (char *)_huff_lengthlist__44p6_lfe,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist__44p6_long[] = {
+static const char _huff_lengthlist__44p6_long[] = {
2, 7,13,15,16,17,19,20, 6, 3, 4, 7, 9,10,12,15,
13, 4, 3, 4, 7, 8,11,13,14, 7, 4, 4, 6, 7,10,11,
16, 9, 7, 6, 7, 8, 9,10,16, 9, 8, 7, 7, 6, 8, 8,
@@ -6392,7 +6409,7 @@ static const long _huff_lengthlist__44p6_long[] = {
static const static_codebook _huff_book__44p6_long = {
2, 64,
- (long *)_huff_lengthlist__44p6_long,
+ (char *)_huff_lengthlist__44p6_long,
0, 0, 0, 0, 0,
NULL,
0
@@ -6404,7 +6421,7 @@ static const long _vq_quantlist__44p6_p1_0[] = {
2,
};
-static const long _vq_lengthlist__44p6_p1_0[] = {
+static const char _vq_lengthlist__44p6_p1_0[] = {
2, 5, 5, 5, 7, 7, 5, 7, 7, 5, 7, 7, 7, 8, 9, 7,
9, 9, 5, 7, 7, 7, 9, 9, 7, 9, 8, 5, 7, 8, 8, 9,
10, 8, 9, 9, 8, 9,10, 9,10,12,10,11,11, 8, 9,10,
@@ -6425,7 +6442,7 @@ static const long _vq_lengthlist__44p6_p1_0[] = {
static const static_codebook _44p6_p1_0 = {
5, 243,
- (long *)_vq_lengthlist__44p6_p1_0,
+ (char *)_vq_lengthlist__44p6_p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44p6_p1_0,
0
@@ -6439,7 +6456,7 @@ static const long _vq_quantlist__44p6_p2_0[] = {
4,
};
-static const long _vq_lengthlist__44p6_p2_0[] = {
+static const char _vq_lengthlist__44p6_p2_0[] = {
4, 6, 6, 9, 9, 6, 7, 8,10,10, 6, 8, 7,10,10, 8,
10,10,12,13, 8,10,10,13,12, 6, 8, 8,10,10, 7, 8,
9,10,11, 8, 9, 9,11,11,10,10,11,12,13,10,11,11,
@@ -6640,7 +6657,7 @@ static const long _vq_lengthlist__44p6_p2_0[] = {
static const static_codebook _44p6_p2_0 = {
5, 3125,
- (long *)_vq_lengthlist__44p6_p2_0,
+ (char *)_vq_lengthlist__44p6_p2_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44p6_p2_0,
0
@@ -6652,7 +6669,7 @@ static const long _vq_quantlist__44p6_p3_0[] = {
2,
};
-static const long _vq_lengthlist__44p6_p3_0[] = {
+static const char _vq_lengthlist__44p6_p3_0[] = {
1, 5, 5, 5, 7, 8, 5, 8, 7, 5, 7, 8, 8, 8,10, 8,
10,10, 5, 8, 7, 8,10,10, 8,10, 8, 6, 8, 9, 8,10,
12, 9,11,11, 9,10,11,11,11,13,12,13,13, 9,11,11,
@@ -6673,7 +6690,7 @@ static const long _vq_lengthlist__44p6_p3_0[] = {
static const static_codebook _44p6_p3_0 = {
5, 243,
- (long *)_vq_lengthlist__44p6_p3_0,
+ (char *)_vq_lengthlist__44p6_p3_0,
1, -533200896, 1614282752, 2, 0,
(long *)_vq_quantlist__44p6_p3_0,
0
@@ -6685,7 +6702,7 @@ static const long _vq_quantlist__44p6_p3_1[] = {
2,
};
-static const long _vq_lengthlist__44p6_p3_1[] = {
+static const char _vq_lengthlist__44p6_p3_1[] = {
5, 7, 7, 6, 7, 7, 6, 7, 7, 6, 7, 7, 7, 8, 8, 7,
8, 8, 6, 7, 7, 7, 8, 8, 7, 8, 8, 7, 7, 8, 7, 8,
8, 7, 8, 8, 8, 8, 8, 8, 8, 9, 8, 9, 9, 8, 8, 8,
@@ -6706,7 +6723,7 @@ static const long _vq_lengthlist__44p6_p3_1[] = {
static const static_codebook _44p6_p3_1 = {
5, 243,
- (long *)_vq_lengthlist__44p6_p3_1,
+ (char *)_vq_lengthlist__44p6_p3_1,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44p6_p3_1,
0
@@ -6718,7 +6735,7 @@ static const long _vq_quantlist__44p6_p4_0[] = {
2,
};
-static const long _vq_lengthlist__44p6_p4_0[] = {
+static const char _vq_lengthlist__44p6_p4_0[] = {
2, 5, 5, 5, 7, 8, 5, 8, 7, 5, 7, 7, 7, 7, 9, 7,
9, 9, 5, 7, 7, 8, 9, 9, 7, 9, 7, 6, 8, 8, 8, 9,
10, 8, 9, 9, 8, 9,10, 9, 9,11,10,11,11, 8, 9, 9,
@@ -6739,7 +6756,7 @@ static const long _vq_lengthlist__44p6_p4_0[] = {
static const static_codebook _44p6_p4_0 = {
5, 243,
- (long *)_vq_lengthlist__44p6_p4_0,
+ (char *)_vq_lengthlist__44p6_p4_0,
1, -531365888, 1616117760, 2, 0,
(long *)_vq_quantlist__44p6_p4_0,
0
@@ -6753,7 +6770,7 @@ static const long _vq_quantlist__44p6_p4_1[] = {
4,
};
-static const long _vq_lengthlist__44p6_p4_1[] = {
+static const char _vq_lengthlist__44p6_p4_1[] = {
6, 8, 8,10,10, 8, 9, 9,10,11, 8,10, 9,11,10, 9,
10,10,11,11, 9,10,10,11,11, 8, 9, 9,10,10, 9, 9,
10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,
@@ -6954,7 +6971,7 @@ static const long _vq_lengthlist__44p6_p4_1[] = {
static const static_codebook _44p6_p4_1 = {
5, 3125,
- (long *)_vq_lengthlist__44p6_p4_1,
+ (char *)_vq_lengthlist__44p6_p4_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44p6_p4_1,
0
@@ -6968,7 +6985,7 @@ static const long _vq_quantlist__44p6_p5_0[] = {
4,
};
-static const long _vq_lengthlist__44p6_p5_0[] = {
+static const char _vq_lengthlist__44p6_p5_0[] = {
2, 6, 6,10,10, 5, 7, 8,11,12, 5, 8, 7,12,11, 9,
11,11,13,15, 9,11,11,15,13, 6, 7, 8,11,11, 7, 7,
9,11,13, 8, 9, 9,13,12,11,11,12,12,15,11,12,12,
@@ -7169,7 +7186,7 @@ static const long _vq_lengthlist__44p6_p5_0[] = {
static const static_codebook _44p6_p5_0 = {
5, 3125,
- (long *)_vq_lengthlist__44p6_p5_0,
+ (char *)_vq_lengthlist__44p6_p5_0,
1, -528744448, 1616642048, 3, 0,
(long *)_vq_quantlist__44p6_p5_0,
0
@@ -7185,13 +7202,13 @@ static const long _vq_quantlist__44p6_p5_1[] = {
6,
};
-static const long _vq_lengthlist__44p6_p5_1[] = {
+static const char _vq_lengthlist__44p6_p5_1[] = {
2, 3, 3, 3, 3, 3, 3,
};
static const static_codebook _44p6_p5_1 = {
1, 7,
- (long *)_vq_lengthlist__44p6_p5_1,
+ (char *)_vq_lengthlist__44p6_p5_1,
1, -533200896, 1611661312, 3, 0,
(long *)_vq_quantlist__44p6_p5_1,
0
@@ -7203,7 +7220,7 @@ static const long _vq_quantlist__44p6_p6_0[] = {
2,
};
-static const long _vq_lengthlist__44p6_p6_0[] = {
+static const char _vq_lengthlist__44p6_p6_0[] = {
1, 5, 5, 5, 7, 9, 5, 9, 7, 5, 7, 8, 7, 7,10, 9,
10,10, 5, 8, 7, 9,10,10, 7,10, 7, 6, 9, 9, 9,10,
12, 9,11,11, 9,10,11,11,11,13,12,13,13, 9,11,11,
@@ -7224,7 +7241,7 @@ static const long _vq_lengthlist__44p6_p6_0[] = {
static const static_codebook _44p6_p6_0 = {
5, 243,
- (long *)_vq_lengthlist__44p6_p6_0,
+ (char *)_vq_lengthlist__44p6_p6_0,
1, -527106048, 1620377600, 2, 0,
(long *)_vq_quantlist__44p6_p6_0,
0
@@ -7236,7 +7253,7 @@ static const long _vq_quantlist__44p6_p6_1[] = {
2,
};
-static const long _vq_lengthlist__44p6_p6_1[] = {
+static const char _vq_lengthlist__44p6_p6_1[] = {
2, 6, 6, 6, 7, 8, 6, 8, 7, 6, 7, 7, 7, 7, 8, 7,
8, 8, 6, 7, 7, 7, 8, 8, 7, 8, 7, 6, 8, 8, 8, 9,
9, 8, 9, 9, 8, 9, 9, 9, 9,10, 9,10,10, 8, 9, 9,
@@ -7257,7 +7274,7 @@ static const long _vq_lengthlist__44p6_p6_1[] = {
static const static_codebook _44p6_p6_1 = {
5, 243,
- (long *)_vq_lengthlist__44p6_p6_1,
+ (char *)_vq_lengthlist__44p6_p6_1,
1, -530841600, 1616642048, 2, 0,
(long *)_vq_quantlist__44p6_p6_1,
0
@@ -7269,7 +7286,7 @@ static const long _vq_quantlist__44p6_p7_0[] = {
2,
};
-static const long _vq_lengthlist__44p6_p7_0[] = {
+static const char _vq_lengthlist__44p6_p7_0[] = {
1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
@@ -7290,7 +7307,7 @@ static const long _vq_lengthlist__44p6_p7_0[] = {
static const static_codebook _44p6_p7_0 = {
5, 243,
- (long *)_vq_lengthlist__44p6_p7_0,
+ (char *)_vq_lengthlist__44p6_p7_0,
1, -513979392, 1633504256, 2, 0,
(long *)_vq_quantlist__44p6_p7_0,
0
@@ -7302,7 +7319,7 @@ static const long _vq_quantlist__44p6_p7_1[] = {
2,
};
-static const long _vq_lengthlist__44p6_p7_1[] = {
+static const char _vq_lengthlist__44p6_p7_1[] = {
1, 4, 5, 5,10,10, 5,10,10, 5,10,10,10,10,10,10,
10,10, 5,10,10,10,10,10,10,10,10, 7,10,10,10,10,
10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
@@ -7323,7 +7340,7 @@ static const long _vq_lengthlist__44p6_p7_1[] = {
static const static_codebook _44p6_p7_1 = {
5, 243,
- (long *)_vq_lengthlist__44p6_p7_1,
+ (char *)_vq_lengthlist__44p6_p7_1,
1, -516716544, 1630767104, 2, 0,
(long *)_vq_quantlist__44p6_p7_1,
0
@@ -7357,14 +7374,14 @@ static const long _vq_quantlist__44p6_p7_2[] = {
24,
};
-static const long _vq_lengthlist__44p6_p7_2[] = {
+static const char _vq_lengthlist__44p6_p7_2[] = {
1, 2, 3, 4, 5, 7, 7, 8, 8, 9, 9,10,10,11,11,12,
12,13,13,14,14,15,15,15,15,
};
static const static_codebook _44p6_p7_2 = {
1, 25,
- (long *)_vq_lengthlist__44p6_p7_2,
+ (char *)_vq_lengthlist__44p6_p7_2,
1, -518864896, 1620639744, 5, 0,
(long *)_vq_quantlist__44p6_p7_2,
0
@@ -7398,20 +7415,20 @@ static const long _vq_quantlist__44p6_p7_3[] = {
24,
};
-static const long _vq_lengthlist__44p6_p7_3[] = {
+static const char _vq_lengthlist__44p6_p7_3[] = {
4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5,
};
static const static_codebook _44p6_p7_3 = {
1, 25,
- (long *)_vq_lengthlist__44p6_p7_3,
+ (char *)_vq_lengthlist__44p6_p7_3,
1, -529006592, 1611661312, 5, 0,
(long *)_vq_quantlist__44p6_p7_3,
0
};
-static const long _huff_lengthlist__44p6_short[] = {
+static const char _huff_lengthlist__44p6_short[] = {
2, 8,13,15,16,18,21,22, 5, 4, 6, 8,10,12,17,21,
9, 5, 5, 6, 8,11,15,19,11, 6, 5, 5, 6, 7,12,14,
14, 8, 7, 5, 4, 4, 9,11,16,11, 9, 7, 4, 3, 7,10,
@@ -7420,7 +7437,7 @@ static const long _huff_lengthlist__44p6_short[] = {
static const static_codebook _huff_book__44p6_short = {
2, 64,
- (long *)_huff_lengthlist__44p6_short,
+ (char *)_huff_lengthlist__44p6_short,
0, 0, 0, 0, 0,
NULL,
0
@@ -7442,7 +7459,7 @@ static const long _vq_quantlist__44p7_l0_0[] = {
12,
};
-static const long _vq_lengthlist__44p7_l0_0[] = {
+static const char _vq_lengthlist__44p7_l0_0[] = {
2, 4, 4, 7, 7, 8, 8,10,10,11,11,12,12, 4, 5, 5,
7, 7, 9, 9,11, 9,12,11,12,12, 4, 5, 5, 7, 7, 9,
9, 9,10,10,11,12,12, 7, 7, 7, 7, 8, 9, 8,11, 5,
@@ -7458,7 +7475,7 @@ static const long _vq_lengthlist__44p7_l0_0[] = {
static const static_codebook _44p7_l0_0 = {
2, 169,
- (long *)_vq_lengthlist__44p7_l0_0,
+ (char *)_vq_lengthlist__44p7_l0_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__44p7_l0_0,
0
@@ -7472,14 +7489,14 @@ static const long _vq_quantlist__44p7_l0_1[] = {
4,
};
-static const long _vq_lengthlist__44p7_l0_1[] = {
+static const char _vq_lengthlist__44p7_l0_1[] = {
4, 4, 4, 5, 5, 4, 4, 5, 5, 5, 4, 5, 4, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5,
};
static const static_codebook _44p7_l0_1 = {
2, 25,
- (long *)_vq_lengthlist__44p7_l0_1,
+ (char *)_vq_lengthlist__44p7_l0_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44p7_l0_1,
0
@@ -7493,32 +7510,32 @@ static const long _vq_quantlist__44p7_l1_0[] = {
108,
};
-static const long _vq_lengthlist__44p7_l1_0[] = {
+static const char _vq_lengthlist__44p7_l1_0[] = {
1, 2, 3, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8, 8,
};
static const static_codebook _44p7_l1_0 = {
2, 25,
- (long *)_vq_lengthlist__44p7_l1_0,
+ (char *)_vq_lengthlist__44p7_l1_0,
1, -514516992, 1620639744, 7, 0,
(long *)_vq_quantlist__44p7_l1_0,
0
};
-static const long _huff_lengthlist__44p7_lfe[] = {
+static const char _huff_lengthlist__44p7_lfe[] = {
2, 3, 1, 3,
};
static const static_codebook _huff_book__44p7_lfe = {
2, 4,
- (long *)_huff_lengthlist__44p7_lfe,
+ (char *)_huff_lengthlist__44p7_lfe,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist__44p7_long[] = {
+static const char _huff_lengthlist__44p7_long[] = {
2, 7,14,16,17,17,18,20, 6, 3, 5, 8,10,11,13,15,
13, 5, 3, 5, 8, 9,11,12,15, 7, 4, 3, 5, 7, 9,11,
16,10, 7, 5, 6, 7, 9,10,17,11, 8, 7, 7, 6, 8, 8,
@@ -7527,7 +7544,7 @@ static const long _huff_lengthlist__44p7_long[] = {
static const static_codebook _huff_book__44p7_long = {
2, 64,
- (long *)_huff_lengthlist__44p7_long,
+ (char *)_huff_lengthlist__44p7_long,
0, 0, 0, 0, 0,
NULL,
0
@@ -7539,7 +7556,7 @@ static const long _vq_quantlist__44p7_p1_0[] = {
2,
};
-static const long _vq_lengthlist__44p7_p1_0[] = {
+static const char _vq_lengthlist__44p7_p1_0[] = {
2, 5, 5, 4, 7, 7, 4, 7, 7, 5, 7, 7, 7, 8, 9, 7,
9, 9, 5, 7, 7, 7, 9, 9, 7, 9, 8, 6, 7, 8, 8, 9,
10, 8, 9,10, 8, 9,10,10,10,12,10,11,11, 8,10,10,
@@ -7560,7 +7577,7 @@ static const long _vq_lengthlist__44p7_p1_0[] = {
static const static_codebook _44p7_p1_0 = {
5, 243,
- (long *)_vq_lengthlist__44p7_p1_0,
+ (char *)_vq_lengthlist__44p7_p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44p7_p1_0,
0
@@ -7574,7 +7591,7 @@ static const long _vq_quantlist__44p7_p2_0[] = {
4,
};
-static const long _vq_lengthlist__44p7_p2_0[] = {
+static const char _vq_lengthlist__44p7_p2_0[] = {
4, 6, 6, 9, 9, 6, 8, 8,10,10, 6, 8, 8,10,10, 8,
10,10,12,13, 8,10,10,13,12, 6, 8, 8,10,10, 8, 8,
9,10,11, 8, 9, 9,11,11,10,10,11,12,13,10,11,11,
@@ -7775,7 +7792,7 @@ static const long _vq_lengthlist__44p7_p2_0[] = {
static const static_codebook _44p7_p2_0 = {
5, 3125,
- (long *)_vq_lengthlist__44p7_p2_0,
+ (char *)_vq_lengthlist__44p7_p2_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44p7_p2_0,
0
@@ -7787,7 +7804,7 @@ static const long _vq_quantlist__44p7_p3_0[] = {
2,
};
-static const long _vq_lengthlist__44p7_p3_0[] = {
+static const char _vq_lengthlist__44p7_p3_0[] = {
2, 5, 5, 4, 7, 7, 4, 7, 7, 5, 7, 8, 7, 8,10, 8,
9, 9, 5, 7, 7, 8, 9, 9, 7,10, 8, 5, 7, 8, 8, 9,
10, 8,10,10, 8, 9,10,10,10,12,10,12,12, 8,10,10,
@@ -7808,7 +7825,7 @@ static const long _vq_lengthlist__44p7_p3_0[] = {
static const static_codebook _44p7_p3_0 = {
5, 243,
- (long *)_vq_lengthlist__44p7_p3_0,
+ (char *)_vq_lengthlist__44p7_p3_0,
1, -533200896, 1614282752, 2, 0,
(long *)_vq_quantlist__44p7_p3_0,
0
@@ -7820,7 +7837,7 @@ static const long _vq_quantlist__44p7_p3_1[] = {
2,
};
-static const long _vq_lengthlist__44p7_p3_1[] = {
+static const char _vq_lengthlist__44p7_p3_1[] = {
6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 7, 8, 8, 7,
8, 8, 7, 8, 7, 7, 8, 8, 7, 8, 8, 7, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 8, 8, 9, 8, 8, 8,
@@ -7841,7 +7858,7 @@ static const long _vq_lengthlist__44p7_p3_1[] = {
static const static_codebook _44p7_p3_1 = {
5, 243,
- (long *)_vq_lengthlist__44p7_p3_1,
+ (char *)_vq_lengthlist__44p7_p3_1,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44p7_p3_1,
0
@@ -7853,7 +7870,7 @@ static const long _vq_quantlist__44p7_p4_0[] = {
2,
};
-static const long _vq_lengthlist__44p7_p4_0[] = {
+static const char _vq_lengthlist__44p7_p4_0[] = {
1, 5, 5, 5, 7, 8, 5, 8, 7, 5, 7, 8, 7, 8,10, 8,
10,10, 5, 8, 7, 8,10,10, 7,10, 8, 6, 8, 9, 9,10,
12, 9,11,11, 9,10,11,11,11,13,11,13,13, 9,11,11,
@@ -7874,7 +7891,7 @@ static const long _vq_lengthlist__44p7_p4_0[] = {
static const static_codebook _44p7_p4_0 = {
5, 243,
- (long *)_vq_lengthlist__44p7_p4_0,
+ (char *)_vq_lengthlist__44p7_p4_0,
1, -531365888, 1616117760, 2, 0,
(long *)_vq_quantlist__44p7_p4_0,
0
@@ -7888,7 +7905,7 @@ static const long _vq_quantlist__44p7_p4_1[] = {
4,
};
-static const long _vq_lengthlist__44p7_p4_1[] = {
+static const char _vq_lengthlist__44p7_p4_1[] = {
7, 8, 8,10,10, 8, 9, 9,10,11, 8, 9, 9,10,10, 9,
10,10,11,11, 9,10,10,11,11, 8, 9, 9,10,10, 9, 9,
10,11,11, 9,10,10,11,11,10,10,11,11,11,10,11,11,
@@ -8089,7 +8106,7 @@ static const long _vq_lengthlist__44p7_p4_1[] = {
static const static_codebook _44p7_p4_1 = {
5, 3125,
- (long *)_vq_lengthlist__44p7_p4_1,
+ (char *)_vq_lengthlist__44p7_p4_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44p7_p4_1,
0
@@ -8103,7 +8120,7 @@ static const long _vq_quantlist__44p7_p5_0[] = {
4,
};
-static const long _vq_lengthlist__44p7_p5_0[] = {
+static const char _vq_lengthlist__44p7_p5_0[] = {
2, 6, 6, 9, 9, 5, 7, 8,10,11, 5, 8, 7,11,10, 8,
10,11,12,13, 8,11,10,13,12, 6, 7, 8,10,11, 7, 8,
10,10,12, 8, 9, 9,12,11,10,10,12,11,14,10,11,12,
@@ -8304,7 +8321,7 @@ static const long _vq_lengthlist__44p7_p5_0[] = {
static const static_codebook _44p7_p5_0 = {
5, 3125,
- (long *)_vq_lengthlist__44p7_p5_0,
+ (char *)_vq_lengthlist__44p7_p5_0,
1, -528744448, 1616642048, 3, 0,
(long *)_vq_quantlist__44p7_p5_0,
0
@@ -8320,13 +8337,13 @@ static const long _vq_quantlist__44p7_p5_1[] = {
6,
};
-static const long _vq_lengthlist__44p7_p5_1[] = {
+static const char _vq_lengthlist__44p7_p5_1[] = {
2, 3, 3, 3, 3, 3, 3,
};
static const static_codebook _44p7_p5_1 = {
1, 7,
- (long *)_vq_lengthlist__44p7_p5_1,
+ (char *)_vq_lengthlist__44p7_p5_1,
1, -533200896, 1611661312, 3, 0,
(long *)_vq_quantlist__44p7_p5_1,
0
@@ -8338,7 +8355,7 @@ static const long _vq_quantlist__44p7_p6_0[] = {
2,
};
-static const long _vq_lengthlist__44p7_p6_0[] = {
+static const char _vq_lengthlist__44p7_p6_0[] = {
2, 5, 6, 5, 7, 8, 5, 8, 7, 5, 7, 7, 7, 7, 9, 8,
9, 9, 5, 7, 7, 8, 9, 9, 7, 9, 7, 6, 8, 8, 8, 9,
10, 8, 9, 9, 8, 9,10, 9, 9,11,10,10,11, 8,10, 9,
@@ -8359,7 +8376,7 @@ static const long _vq_lengthlist__44p7_p6_0[] = {
static const static_codebook _44p7_p6_0 = {
5, 243,
- (long *)_vq_lengthlist__44p7_p6_0,
+ (char *)_vq_lengthlist__44p7_p6_0,
1, -527106048, 1620377600, 2, 0,
(long *)_vq_quantlist__44p7_p6_0,
0
@@ -8371,7 +8388,7 @@ static const long _vq_quantlist__44p7_p6_1[] = {
2,
};
-static const long _vq_lengthlist__44p7_p6_1[] = {
+static const char _vq_lengthlist__44p7_p6_1[] = {
4, 7, 7, 6, 7, 8, 6, 8, 7, 7, 7, 8, 7, 7, 8, 8,
8, 8, 7, 7, 7, 8, 8, 8, 7, 8, 8, 7, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 8, 9, 9, 8, 8, 8,
@@ -8392,7 +8409,7 @@ static const long _vq_lengthlist__44p7_p6_1[] = {
static const static_codebook _44p7_p6_1 = {
5, 243,
- (long *)_vq_lengthlist__44p7_p6_1,
+ (char *)_vq_lengthlist__44p7_p6_1,
1, -530841600, 1616642048, 2, 0,
(long *)_vq_quantlist__44p7_p6_1,
0
@@ -8404,7 +8421,7 @@ static const long _vq_quantlist__44p7_p7_0[] = {
2,
};
-static const long _vq_lengthlist__44p7_p7_0[] = {
+static const char _vq_lengthlist__44p7_p7_0[] = {
1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
@@ -8425,7 +8442,7 @@ static const long _vq_lengthlist__44p7_p7_0[] = {
static const static_codebook _44p7_p7_0 = {
5, 243,
- (long *)_vq_lengthlist__44p7_p7_0,
+ (char *)_vq_lengthlist__44p7_p7_0,
1, -513979392, 1633504256, 2, 0,
(long *)_vq_quantlist__44p7_p7_0,
0
@@ -8437,7 +8454,7 @@ static const long _vq_quantlist__44p7_p7_1[] = {
2,
};
-static const long _vq_lengthlist__44p7_p7_1[] = {
+static const char _vq_lengthlist__44p7_p7_1[] = {
1, 5, 5, 4,10,10, 5,10,10, 5,10,10,10,10,10,10,
10,10, 5,10,10,10,10,10, 9,10,10, 6,10,10,10,10,
10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
@@ -8458,7 +8475,7 @@ static const long _vq_lengthlist__44p7_p7_1[] = {
static const static_codebook _44p7_p7_1 = {
5, 243,
- (long *)_vq_lengthlist__44p7_p7_1,
+ (char *)_vq_lengthlist__44p7_p7_1,
1, -516716544, 1630767104, 2, 0,
(long *)_vq_quantlist__44p7_p7_1,
0
@@ -8492,14 +8509,14 @@ static const long _vq_quantlist__44p7_p7_2[] = {
24,
};
-static const long _vq_lengthlist__44p7_p7_2[] = {
+static const char _vq_lengthlist__44p7_p7_2[] = {
1, 3, 2, 4, 5, 7, 7, 8, 8, 9, 9,10,10,11,11,12,
12,13,13,14,14,15,15,15,15,
};
static const static_codebook _44p7_p7_2 = {
1, 25,
- (long *)_vq_lengthlist__44p7_p7_2,
+ (char *)_vq_lengthlist__44p7_p7_2,
1, -518864896, 1620639744, 5, 0,
(long *)_vq_quantlist__44p7_p7_2,
0
@@ -8533,20 +8550,20 @@ static const long _vq_quantlist__44p7_p7_3[] = {
24,
};
-static const long _vq_lengthlist__44p7_p7_3[] = {
+static const char _vq_lengthlist__44p7_p7_3[] = {
4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5,
};
static const static_codebook _44p7_p7_3 = {
1, 25,
- (long *)_vq_lengthlist__44p7_p7_3,
+ (char *)_vq_lengthlist__44p7_p7_3,
1, -529006592, 1611661312, 5, 0,
(long *)_vq_quantlist__44p7_p7_3,
0
};
-static const long _huff_lengthlist__44p7_short[] = {
+static const char _huff_lengthlist__44p7_short[] = {
3, 9,14,16,17,19,22,22, 5, 4, 6, 9,11,13,17,20,
9, 5, 5, 6, 9,11,15,19,11, 7, 5, 5, 7, 9,13,17,
14, 9, 7, 6, 6, 7,11,14,16,11, 9, 7, 6, 4, 4, 8,
@@ -8555,7 +8572,7 @@ static const long _huff_lengthlist__44p7_short[] = {
static const static_codebook _huff_book__44p7_short = {
2, 64,
- (long *)_huff_lengthlist__44p7_short,
+ (char *)_huff_lengthlist__44p7_short,
0, 0, 0, 0, 0,
NULL,
0
@@ -8577,7 +8594,7 @@ static const long _vq_quantlist__44p8_l0_0[] = {
12,
};
-static const long _vq_lengthlist__44p8_l0_0[] = {
+static const char _vq_lengthlist__44p8_l0_0[] = {
2, 4, 4, 7, 7, 8, 8,10,10,11,11,12,12, 4, 5, 5,
7, 7, 9, 9,10, 9,12,10,12,12, 4, 5, 5, 7, 7, 9,
9, 9,10,10,12,12,12, 7, 7, 7, 7, 8, 9, 8,11, 5,
@@ -8593,7 +8610,7 @@ static const long _vq_lengthlist__44p8_l0_0[] = {
static const static_codebook _44p8_l0_0 = {
2, 169,
- (long *)_vq_lengthlist__44p8_l0_0,
+ (char *)_vq_lengthlist__44p8_l0_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__44p8_l0_0,
0
@@ -8607,14 +8624,14 @@ static const long _vq_quantlist__44p8_l0_1[] = {
4,
};
-static const long _vq_lengthlist__44p8_l0_1[] = {
+static const char _vq_lengthlist__44p8_l0_1[] = {
4, 4, 4, 5, 5, 4, 4, 5, 5, 5, 4, 5, 4, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5,
};
static const static_codebook _44p8_l0_1 = {
2, 25,
- (long *)_vq_lengthlist__44p8_l0_1,
+ (char *)_vq_lengthlist__44p8_l0_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44p8_l0_1,
0
@@ -8628,32 +8645,32 @@ static const long _vq_quantlist__44p8_l1_0[] = {
108,
};
-static const long _vq_lengthlist__44p8_l1_0[] = {
+static const char _vq_lengthlist__44p8_l1_0[] = {
1, 2, 3, 6, 7, 7, 6, 7, 7, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8, 8,
};
static const static_codebook _44p8_l1_0 = {
2, 25,
- (long *)_vq_lengthlist__44p8_l1_0,
+ (char *)_vq_lengthlist__44p8_l1_0,
1, -514516992, 1620639744, 7, 0,
(long *)_vq_quantlist__44p8_l1_0,
0
};
-static const long _huff_lengthlist__44p8_lfe[] = {
+static const char _huff_lengthlist__44p8_lfe[] = {
2, 3, 1, 3,
};
static const static_codebook _huff_book__44p8_lfe = {
2, 4,
- (long *)_huff_lengthlist__44p8_lfe,
+ (char *)_huff_lengthlist__44p8_lfe,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist__44p8_long[] = {
+static const char _huff_lengthlist__44p8_long[] = {
2, 7,14,16,17,18,20,21, 7, 4, 6, 8,11,12,14,16,
13, 5, 4, 4, 8, 9,11,13,15, 8, 4, 3, 5, 7, 9,10,
17,11, 8, 4, 4, 6, 9, 9,17,11, 9, 7, 6, 5, 7, 8,
@@ -8662,7 +8679,7 @@ static const long _huff_lengthlist__44p8_long[] = {
static const static_codebook _huff_book__44p8_long = {
2, 64,
- (long *)_huff_lengthlist__44p8_long,
+ (char *)_huff_lengthlist__44p8_long,
0, 0, 0, 0, 0,
NULL,
0
@@ -8674,7 +8691,7 @@ static const long _vq_quantlist__44p8_p1_0[] = {
2,
};
-static const long _vq_lengthlist__44p8_p1_0[] = {
+static const char _vq_lengthlist__44p8_p1_0[] = {
2, 5, 5, 4, 7, 7, 4, 7, 7, 5, 7, 7, 7, 8, 9, 7,
9, 9, 5, 7, 7, 7, 9, 9, 7, 9, 8, 6, 7, 8, 8, 9,
10, 8, 9,10, 8, 9,10,10,10,12,10,11,12, 8,10,10,
@@ -8695,7 +8712,7 @@ static const long _vq_lengthlist__44p8_p1_0[] = {
static const static_codebook _44p8_p1_0 = {
5, 243,
- (long *)_vq_lengthlist__44p8_p1_0,
+ (char *)_vq_lengthlist__44p8_p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44p8_p1_0,
0
@@ -8709,7 +8726,7 @@ static const long _vq_quantlist__44p8_p2_0[] = {
4,
};
-static const long _vq_lengthlist__44p8_p2_0[] = {
+static const char _vq_lengthlist__44p8_p2_0[] = {
4, 6, 6, 9, 9, 6, 8, 8,10,10, 6, 8, 8,10,10, 8,
9,10,12,12, 8,10, 9,12,12, 6, 8, 8,10,10, 8, 8,
9,10,11, 8, 9, 9,11,11, 9,10,11,12,13,10,11,11,
@@ -8910,7 +8927,7 @@ static const long _vq_lengthlist__44p8_p2_0[] = {
static const static_codebook _44p8_p2_0 = {
5, 3125,
- (long *)_vq_lengthlist__44p8_p2_0,
+ (char *)_vq_lengthlist__44p8_p2_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44p8_p2_0,
0
@@ -8922,7 +8939,7 @@ static const long _vq_quantlist__44p8_p3_0[] = {
2,
};
-static const long _vq_lengthlist__44p8_p3_0[] = {
+static const char _vq_lengthlist__44p8_p3_0[] = {
2, 5, 5, 5, 7, 7, 5, 7, 7, 5, 7, 7, 7, 8, 9, 7,
9, 9, 5, 7, 7, 7, 9, 9, 7, 9, 8, 5, 7, 8, 7, 9,
10, 8, 9, 9, 8, 9,10, 9,10,12,10,11,11, 8,10, 9,
@@ -8943,7 +8960,7 @@ static const long _vq_lengthlist__44p8_p3_0[] = {
static const static_codebook _44p8_p3_0 = {
5, 243,
- (long *)_vq_lengthlist__44p8_p3_0,
+ (char *)_vq_lengthlist__44p8_p3_0,
1, -533200896, 1614282752, 2, 0,
(long *)_vq_quantlist__44p8_p3_0,
0
@@ -8955,7 +8972,7 @@ static const long _vq_quantlist__44p8_p3_1[] = {
2,
};
-static const long _vq_lengthlist__44p8_p3_1[] = {
+static const char _vq_lengthlist__44p8_p3_1[] = {
6, 7, 7, 7, 7, 8, 7, 8, 7, 7, 7, 8, 7, 8, 8, 8,
8, 8, 7, 8, 7, 7, 8, 8, 7, 8, 8, 7, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
@@ -8976,7 +8993,7 @@ static const long _vq_lengthlist__44p8_p3_1[] = {
static const static_codebook _44p8_p3_1 = {
5, 243,
- (long *)_vq_lengthlist__44p8_p3_1,
+ (char *)_vq_lengthlist__44p8_p3_1,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44p8_p3_1,
0
@@ -8988,7 +9005,7 @@ static const long _vq_quantlist__44p8_p4_0[] = {
2,
};
-static const long _vq_lengthlist__44p8_p4_0[] = {
+static const char _vq_lengthlist__44p8_p4_0[] = {
2, 5, 5, 4, 7, 8, 4, 8, 7, 5, 7, 8, 7, 7,10, 8,
9, 9, 5, 7, 7, 8, 9, 9, 7,10, 7, 5, 7, 8, 8, 9,
11, 8,10,10, 8, 9,10,10,10,12,11,12,12, 8,10,10,
@@ -9009,7 +9026,7 @@ static const long _vq_lengthlist__44p8_p4_0[] = {
static const static_codebook _44p8_p4_0 = {
5, 243,
- (long *)_vq_lengthlist__44p8_p4_0,
+ (char *)_vq_lengthlist__44p8_p4_0,
1, -531365888, 1616117760, 2, 0,
(long *)_vq_quantlist__44p8_p4_0,
0
@@ -9023,7 +9040,7 @@ static const long _vq_quantlist__44p8_p4_1[] = {
4,
};
-static const long _vq_lengthlist__44p8_p4_1[] = {
+static const char _vq_lengthlist__44p8_p4_1[] = {
7, 9, 9,10,10, 9,10,10,10,11, 9,10,10,11,10, 9,
10,10,11,11, 9,10,10,11,11, 9,10,10,11,11,10,10,
10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,
@@ -9224,7 +9241,7 @@ static const long _vq_lengthlist__44p8_p4_1[] = {
static const static_codebook _44p8_p4_1 = {
5, 3125,
- (long *)_vq_lengthlist__44p8_p4_1,
+ (char *)_vq_lengthlist__44p8_p4_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44p8_p4_1,
0
@@ -9238,7 +9255,7 @@ static const long _vq_quantlist__44p8_p5_0[] = {
4,
};
-static const long _vq_lengthlist__44p8_p5_0[] = {
+static const char _vq_lengthlist__44p8_p5_0[] = {
2, 6, 6, 9, 9, 5, 7, 8,10,11, 5, 8, 7,11,10, 8,
10,11,12,13, 8,11,10,13,12, 6, 7, 8,10,11, 7, 8,
10,10,12, 8, 9, 9,12,12,10,10,12,12,14,10,12,12,
@@ -9439,7 +9456,7 @@ static const long _vq_lengthlist__44p8_p5_0[] = {
static const static_codebook _44p8_p5_0 = {
5, 3125,
- (long *)_vq_lengthlist__44p8_p5_0,
+ (char *)_vq_lengthlist__44p8_p5_0,
1, -528744448, 1616642048, 3, 0,
(long *)_vq_quantlist__44p8_p5_0,
0
@@ -9455,13 +9472,13 @@ static const long _vq_quantlist__44p8_p5_1[] = {
6,
};
-static const long _vq_lengthlist__44p8_p5_1[] = {
+static const char _vq_lengthlist__44p8_p5_1[] = {
2, 3, 3, 3, 3, 3, 3,
};
static const static_codebook _44p8_p5_1 = {
1, 7,
- (long *)_vq_lengthlist__44p8_p5_1,
+ (char *)_vq_lengthlist__44p8_p5_1,
1, -533200896, 1611661312, 3, 0,
(long *)_vq_quantlist__44p8_p5_1,
0
@@ -9473,7 +9490,7 @@ static const long _vq_quantlist__44p8_p6_0[] = {
2,
};
-static const long _vq_lengthlist__44p8_p6_0[] = {
+static const char _vq_lengthlist__44p8_p6_0[] = {
2, 6, 6, 5, 7, 7, 5, 7, 7, 5, 7, 7, 7, 7, 9, 7,
9, 9, 6, 7, 7, 8, 9, 9, 7, 9, 7, 6, 8, 8, 8, 9,
10, 8, 9, 9, 8, 9,10, 9, 9,10,10,10,10, 8, 9, 9,
@@ -9494,7 +9511,7 @@ static const long _vq_lengthlist__44p8_p6_0[] = {
static const static_codebook _44p8_p6_0 = {
5, 243,
- (long *)_vq_lengthlist__44p8_p6_0,
+ (char *)_vq_lengthlist__44p8_p6_0,
1, -527106048, 1620377600, 2, 0,
(long *)_vq_quantlist__44p8_p6_0,
0
@@ -9506,7 +9523,7 @@ static const long _vq_quantlist__44p8_p6_1[] = {
2,
};
-static const long _vq_lengthlist__44p8_p6_1[] = {
+static const char _vq_lengthlist__44p8_p6_1[] = {
4, 7, 7, 7, 7, 8, 7, 8, 7, 7, 7, 8, 7, 8, 8, 8,
8, 8, 7, 8, 7, 8, 8, 8, 7, 8, 8, 7, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 8, 8, 9, 8, 8, 8,
@@ -9527,7 +9544,7 @@ static const long _vq_lengthlist__44p8_p6_1[] = {
static const static_codebook _44p8_p6_1 = {
5, 243,
- (long *)_vq_lengthlist__44p8_p6_1,
+ (char *)_vq_lengthlist__44p8_p6_1,
1, -530841600, 1616642048, 2, 0,
(long *)_vq_quantlist__44p8_p6_1,
0
@@ -9539,7 +9556,7 @@ static const long _vq_quantlist__44p8_p7_0[] = {
2,
};
-static const long _vq_lengthlist__44p8_p7_0[] = {
+static const char _vq_lengthlist__44p8_p7_0[] = {
1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
@@ -9560,7 +9577,7 @@ static const long _vq_lengthlist__44p8_p7_0[] = {
static const static_codebook _44p8_p7_0 = {
5, 243,
- (long *)_vq_lengthlist__44p8_p7_0,
+ (char *)_vq_lengthlist__44p8_p7_0,
1, -512202240, 1635281408, 2, 0,
(long *)_vq_quantlist__44p8_p7_0,
0
@@ -9574,7 +9591,7 @@ static const long _vq_quantlist__44p8_p7_1[] = {
4,
};
-static const long _vq_lengthlist__44p8_p7_1[] = {
+static const char _vq_lengthlist__44p8_p7_1[] = {
1, 7, 7,12,12, 5,11,12,12,12, 5,12,11,12,12,12,
12,12,12,12,12,13,13,13,13, 7,11,11,13,13,13,12,
13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,
@@ -9775,7 +9792,7 @@ static const long _vq_lengthlist__44p8_p7_1[] = {
static const static_codebook _44p8_p7_1 = {
5, 3125,
- (long *)_vq_lengthlist__44p8_p7_1,
+ (char *)_vq_lengthlist__44p8_p7_1,
1, -514619392, 1630767104, 3, 0,
(long *)_vq_quantlist__44p8_p7_1,
0
@@ -9809,14 +9826,14 @@ static const long _vq_quantlist__44p8_p7_2[] = {
24,
};
-static const long _vq_lengthlist__44p8_p7_2[] = {
+static const char _vq_lengthlist__44p8_p7_2[] = {
1, 3, 2, 4, 5, 7, 7, 8, 8, 9, 9,10,10,11,11,12,
12,13,13,14,14,15,15,15,15,
};
static const static_codebook _44p8_p7_2 = {
1, 25,
- (long *)_vq_lengthlist__44p8_p7_2,
+ (char *)_vq_lengthlist__44p8_p7_2,
1, -518864896, 1620639744, 5, 0,
(long *)_vq_quantlist__44p8_p7_2,
0
@@ -9850,20 +9867,20 @@ static const long _vq_quantlist__44p8_p7_3[] = {
24,
};
-static const long _vq_lengthlist__44p8_p7_3[] = {
+static const char _vq_lengthlist__44p8_p7_3[] = {
4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5,
};
static const static_codebook _44p8_p7_3 = {
1, 25,
- (long *)_vq_lengthlist__44p8_p7_3,
+ (char *)_vq_lengthlist__44p8_p7_3,
1, -529006592, 1611661312, 5, 0,
(long *)_vq_quantlist__44p8_p7_3,
0
};
-static const long _huff_lengthlist__44p8_short[] = {
+static const char _huff_lengthlist__44p8_short[] = {
3, 9,15,17,20,21,22,23, 5, 5, 7, 9,11,13,17,20,
9, 5, 5, 6, 8,10,15,18,11, 7, 5, 4, 6, 9,13,17,
14, 9, 7, 5, 6, 7,10,14,17,10, 8, 6, 6, 4, 5, 8,
@@ -9872,7 +9889,7 @@ static const long _huff_lengthlist__44p8_short[] = {
static const static_codebook _huff_book__44p8_short = {
2, 64,
- (long *)_huff_lengthlist__44p8_short,
+ (char *)_huff_lengthlist__44p8_short,
0, 0, 0, 0, 0,
NULL,
0
@@ -9894,7 +9911,7 @@ static const long _vq_quantlist__44p9_l0_0[] = {
12,
};
-static const long _vq_lengthlist__44p9_l0_0[] = {
+static const char _vq_lengthlist__44p9_l0_0[] = {
2, 5, 5, 7, 6, 8, 8, 9, 9,10,10,11,11, 4, 5, 5,
6, 7, 8, 8, 9, 9,10,10,11,10, 4, 5, 5, 7, 6, 8,
8, 9, 9,10,10,10,10, 6, 6, 7, 6, 7, 8, 8, 9, 9,
@@ -9910,7 +9927,7 @@ static const long _vq_lengthlist__44p9_l0_0[] = {
static const static_codebook _44p9_l0_0 = {
2, 169,
- (long *)_vq_lengthlist__44p9_l0_0,
+ (char *)_vq_lengthlist__44p9_l0_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__44p9_l0_0,
0
@@ -9924,14 +9941,14 @@ static const long _vq_quantlist__44p9_l0_1[] = {
4,
};
-static const long _vq_lengthlist__44p9_l0_1[] = {
+static const char _vq_lengthlist__44p9_l0_1[] = {
4, 4, 4, 5, 5, 4, 4, 5, 5, 5, 4, 5, 4, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5,
};
static const static_codebook _44p9_l0_1 = {
2, 25,
- (long *)_vq_lengthlist__44p9_l0_1,
+ (char *)_vq_lengthlist__44p9_l0_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44p9_l0_1,
0
@@ -9945,38 +9962,38 @@ static const long _vq_quantlist__44p9_l1_0[] = {
4,
};
-static const long _vq_lengthlist__44p9_l1_0[] = {
+static const char _vq_lengthlist__44p9_l1_0[] = {
1, 2, 3, 5, 9, 9, 4, 9, 9, 9, 9, 9, 9, 9, 9, 9,
9,10,10,10,10,10,10,10,10,
};
static const static_codebook _44p9_l1_0 = {
2, 25,
- (long *)_vq_lengthlist__44p9_l1_0,
+ (char *)_vq_lengthlist__44p9_l1_0,
1, -514619392, 1630767104, 3, 0,
(long *)_vq_quantlist__44p9_l1_0,
0
};
-static const long _huff_lengthlist__44p9_lfe[] = {
+static const char _huff_lengthlist__44p9_lfe[] = {
1, 1,
};
static const static_codebook _huff_book__44p9_lfe = {
1, 2,
- (long *)_huff_lengthlist__44p9_lfe,
+ (char *)_huff_lengthlist__44p9_lfe,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist__44p9_long[] = {
+static const char _huff_lengthlist__44p9_long[] = {
3, 3, 3, 3, 3, 3, 3, 3,
};
static const static_codebook _huff_book__44p9_long = {
1, 8,
- (long *)_huff_lengthlist__44p9_long,
+ (char *)_huff_lengthlist__44p9_long,
0, 0, 0, 0, 0,
NULL,
0
@@ -9988,7 +10005,7 @@ static const long _vq_quantlist__44p9_p1_0[] = {
2,
};
-static const long _vq_lengthlist__44p9_p1_0[] = {
+static const char _vq_lengthlist__44p9_p1_0[] = {
1, 5, 5, 4, 8, 8, 4, 8, 8, 5, 7, 8, 8, 9,10, 8,
10,10, 5, 8, 7, 8,10,10, 8,10, 9, 7, 9, 9, 9,11,
11, 9,11,11, 9,11,11,11,12,13,11,13,13, 9,11,11,
@@ -10009,7 +10026,7 @@ static const long _vq_lengthlist__44p9_p1_0[] = {
static const static_codebook _44p9_p1_0 = {
5, 243,
- (long *)_vq_lengthlist__44p9_p1_0,
+ (char *)_vq_lengthlist__44p9_p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44p9_p1_0,
0
@@ -10023,7 +10040,7 @@ static const long _vq_quantlist__44p9_p2_0[] = {
4,
};
-static const long _vq_lengthlist__44p9_p2_0[] = {
+static const char _vq_lengthlist__44p9_p2_0[] = {
4, 6, 6, 8, 8, 5, 7, 7, 9, 9, 5, 7, 7, 9, 9, 6,
8, 8,11,11, 6, 8, 8,11,11, 6, 7, 7, 9, 9, 7, 8,
9,10,11, 7, 9, 9,11,10, 8, 9,10,12,12, 8,10,10,
@@ -10224,7 +10241,7 @@ static const long _vq_lengthlist__44p9_p2_0[] = {
static const static_codebook _44p9_p2_0 = {
5, 3125,
- (long *)_vq_lengthlist__44p9_p2_0,
+ (char *)_vq_lengthlist__44p9_p2_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44p9_p2_0,
0
@@ -10236,7 +10253,7 @@ static const long _vq_quantlist__44p9_p3_0[] = {
2,
};
-static const long _vq_lengthlist__44p9_p3_0[] = {
+static const char _vq_lengthlist__44p9_p3_0[] = {
2, 5, 4, 4, 7, 7, 4, 7, 6, 5, 6, 7, 7, 8, 9, 7,
9, 9, 5, 7, 6, 7, 9, 9, 7, 9, 8, 6, 8, 8, 8,10,
10, 8,10,10, 8, 9,10,10,11,12,10,12,12, 8,10,10,
@@ -10257,7 +10274,7 @@ static const long _vq_lengthlist__44p9_p3_0[] = {
static const static_codebook _44p9_p3_0 = {
5, 243,
- (long *)_vq_lengthlist__44p9_p3_0,
+ (char *)_vq_lengthlist__44p9_p3_0,
1, -533200896, 1614282752, 2, 0,
(long *)_vq_quantlist__44p9_p3_0,
0
@@ -10269,7 +10286,7 @@ static const long _vq_quantlist__44p9_p3_1[] = {
2,
};
-static const long _vq_lengthlist__44p9_p3_1[] = {
+static const char _vq_lengthlist__44p9_p3_1[] = {
4, 6, 6, 6, 7, 7, 6, 7, 7, 6, 7, 7, 7, 7, 8, 7,
7, 8, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 8, 9, 9, 8, 8, 8,
@@ -10290,7 +10307,7 @@ static const long _vq_lengthlist__44p9_p3_1[] = {
static const static_codebook _44p9_p3_1 = {
5, 243,
- (long *)_vq_lengthlist__44p9_p3_1,
+ (char *)_vq_lengthlist__44p9_p3_1,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44p9_p3_1,
0
@@ -10302,7 +10319,7 @@ static const long _vq_quantlist__44p9_p4_0[] = {
2,
};
-static const long _vq_lengthlist__44p9_p4_0[] = {
+static const char _vq_lengthlist__44p9_p4_0[] = {
2, 5, 5, 4, 7, 7, 4, 7, 6, 5, 7, 7, 7, 8, 9, 7,
9, 9, 5, 7, 7, 7, 9, 9, 7, 9, 8, 6, 7, 8, 8, 9,
10, 8,10,10, 8, 9,10,10,11,12,10,11,12, 8,10,10,
@@ -10323,7 +10340,7 @@ static const long _vq_lengthlist__44p9_p4_0[] = {
static const static_codebook _44p9_p4_0 = {
5, 243,
- (long *)_vq_lengthlist__44p9_p4_0,
+ (char *)_vq_lengthlist__44p9_p4_0,
1, -531365888, 1616117760, 2, 0,
(long *)_vq_quantlist__44p9_p4_0,
0
@@ -10337,7 +10354,7 @@ static const long _vq_quantlist__44p9_p4_1[] = {
4,
};
-static const long _vq_lengthlist__44p9_p4_1[] = {
+static const char _vq_lengthlist__44p9_p4_1[] = {
6, 8, 8,10, 9, 8, 9, 9,10,10, 8, 9, 9,10,10, 8,
10,10,10,10, 8,10,10,10,10, 9, 9, 9,10,10, 9,10,
10,10,11, 9,10,10,11,11,10,10,10,11,11,10,10,10,
@@ -10538,7 +10555,7 @@ static const long _vq_lengthlist__44p9_p4_1[] = {
static const static_codebook _44p9_p4_1 = {
5, 3125,
- (long *)_vq_lengthlist__44p9_p4_1,
+ (char *)_vq_lengthlist__44p9_p4_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44p9_p4_1,
0
@@ -10552,7 +10569,7 @@ static const long _vq_quantlist__44p9_p5_0[] = {
4,
};
-static const long _vq_lengthlist__44p9_p5_0[] = {
+static const char _vq_lengthlist__44p9_p5_0[] = {
4, 6, 6, 9, 9, 6, 7, 8,10,11, 6, 8, 7,10,10, 8,
10,10,12,12, 8,10,10,12,12, 6, 7, 8,10,10, 7, 8,
9,10,11, 8, 9, 9,11,11,10,10,11,12,13,10,11,11,
@@ -10753,7 +10770,7 @@ static const long _vq_lengthlist__44p9_p5_0[] = {
static const static_codebook _44p9_p5_0 = {
5, 3125,
- (long *)_vq_lengthlist__44p9_p5_0,
+ (char *)_vq_lengthlist__44p9_p5_0,
1, -528744448, 1616642048, 3, 0,
(long *)_vq_quantlist__44p9_p5_0,
0
@@ -10769,13 +10786,13 @@ static const long _vq_quantlist__44p9_p5_1[] = {
6,
};
-static const long _vq_lengthlist__44p9_p5_1[] = {
+static const char _vq_lengthlist__44p9_p5_1[] = {
2, 3, 3, 3, 3, 3, 3,
};
static const static_codebook _44p9_p5_1 = {
1, 7,
- (long *)_vq_lengthlist__44p9_p5_1,
+ (char *)_vq_lengthlist__44p9_p5_1,
1, -533200896, 1611661312, 3, 0,
(long *)_vq_quantlist__44p9_p5_1,
0
@@ -10787,7 +10804,7 @@ static const long _vq_quantlist__44p9_p6_0[] = {
2,
};
-static const long _vq_lengthlist__44p9_p6_0[] = {
+static const char _vq_lengthlist__44p9_p6_0[] = {
2, 5, 5, 5, 7, 7, 5, 7, 7, 5, 7, 7, 7, 8, 9, 7,
9, 9, 5, 7, 7, 7, 9, 9, 7, 9, 8, 5, 7, 8, 8, 9,
10, 8, 9,10, 8, 9,10,10,10,12,10,11,11, 8,10,10,
@@ -10808,7 +10825,7 @@ static const long _vq_lengthlist__44p9_p6_0[] = {
static const static_codebook _44p9_p6_0 = {
5, 243,
- (long *)_vq_lengthlist__44p9_p6_0,
+ (char *)_vq_lengthlist__44p9_p6_0,
1, -527106048, 1620377600, 2, 0,
(long *)_vq_quantlist__44p9_p6_0,
0
@@ -10820,7 +10837,7 @@ static const long _vq_quantlist__44p9_p6_1[] = {
2,
};
-static const long _vq_lengthlist__44p9_p6_1[] = {
+static const char _vq_lengthlist__44p9_p6_1[] = {
6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 7, 8, 8, 7,
8, 8, 7, 8, 7, 7, 8, 8, 7, 8, 8, 7, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 8, 8, 9, 8, 8, 8,
@@ -10841,7 +10858,7 @@ static const long _vq_lengthlist__44p9_p6_1[] = {
static const static_codebook _44p9_p6_1 = {
5, 243,
- (long *)_vq_lengthlist__44p9_p6_1,
+ (char *)_vq_lengthlist__44p9_p6_1,
1, -530841600, 1616642048, 2, 0,
(long *)_vq_quantlist__44p9_p6_1,
0
@@ -10855,7 +10872,7 @@ static const long _vq_quantlist__44p9_p7_0[] = {
4,
};
-static const long _vq_lengthlist__44p9_p7_0[] = {
+static const char _vq_lengthlist__44p9_p7_0[] = {
1,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
@@ -11056,7 +11073,7 @@ static const long _vq_lengthlist__44p9_p7_0[] = {
static const static_codebook _44p9_p7_0 = {
5, 3125,
- (long *)_vq_lengthlist__44p9_p7_0,
+ (char *)_vq_lengthlist__44p9_p7_0,
1, -510105088, 1635281408, 3, 0,
(long *)_vq_quantlist__44p9_p7_0,
0
@@ -11070,7 +11087,7 @@ static const long _vq_quantlist__44p9_p7_1[] = {
4,
};
-static const long _vq_lengthlist__44p9_p7_1[] = {
+static const char _vq_lengthlist__44p9_p7_1[] = {
1, 4, 4,16,16, 4, 9,11,15,16, 4,12, 8,16,16,12,
16,16,16,16,13,16,16,16,16, 5, 8,10,16,16, 9, 9,
14,15,16,12,14,14,16,16,16,16,16,16,16,16,16,16,
@@ -11271,7 +11288,7 @@ static const long _vq_lengthlist__44p9_p7_1[] = {
static const static_codebook _44p9_p7_1 = {
5, 3125,
- (long *)_vq_lengthlist__44p9_p7_1,
+ (char *)_vq_lengthlist__44p9_p7_1,
1, -514619392, 1630767104, 3, 0,
(long *)_vq_quantlist__44p9_p7_1,
0
@@ -11305,14 +11322,14 @@ static const long _vq_quantlist__44p9_p7_2[] = {
24,
};
-static const long _vq_lengthlist__44p9_p7_2[] = {
+static const char _vq_lengthlist__44p9_p7_2[] = {
1, 3, 2, 5, 4, 7, 7, 8, 8, 9,10,10,10,11,11,11,
12,12,12,13,13,13,13,13,13,
};
static const static_codebook _44p9_p7_2 = {
1, 25,
- (long *)_vq_lengthlist__44p9_p7_2,
+ (char *)_vq_lengthlist__44p9_p7_2,
1, -518864896, 1620639744, 5, 0,
(long *)_vq_quantlist__44p9_p7_2,
0
@@ -11346,26 +11363,26 @@ static const long _vq_quantlist__44p9_p7_3[] = {
24,
};
-static const long _vq_lengthlist__44p9_p7_3[] = {
+static const char _vq_lengthlist__44p9_p7_3[] = {
4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5,
};
static const static_codebook _44p9_p7_3 = {
1, 25,
- (long *)_vq_lengthlist__44p9_p7_3,
+ (char *)_vq_lengthlist__44p9_p7_3,
1, -529006592, 1611661312, 5, 0,
(long *)_vq_quantlist__44p9_p7_3,
0
};
-static const long _huff_lengthlist__44p9_short[] = {
+static const char _huff_lengthlist__44p9_short[] = {
3, 3, 3, 3, 3, 3, 3, 3,
};
static const static_codebook _huff_book__44p9_short = {
1, 8,
- (long *)_huff_lengthlist__44p9_short,
+ (char *)_huff_lengthlist__44p9_short,
0, 0, 0, 0, 0,
NULL,
0
@@ -11387,7 +11404,7 @@ static const long _vq_quantlist__44pn1_l0_0[] = {
12,
};
-static const long _vq_lengthlist__44pn1_l0_0[] = {
+static const char _vq_lengthlist__44pn1_l0_0[] = {
1, 3, 3, 8, 8,10,10,10,10,10,10,10,10, 5, 7, 5,
9, 8,10,10,10,10,11,10,11,10, 5, 5, 7, 8, 9,10,
10,11,10,10,11,10,11,10,10,10,11,11,11,11,11,11,
@@ -11403,7 +11420,7 @@ static const long _vq_lengthlist__44pn1_l0_0[] = {
static const static_codebook _44pn1_l0_0 = {
2, 169,
- (long *)_vq_lengthlist__44pn1_l0_0,
+ (char *)_vq_lengthlist__44pn1_l0_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__44pn1_l0_0,
0
@@ -11417,14 +11434,14 @@ static const long _vq_quantlist__44pn1_l0_1[] = {
4,
};
-static const long _vq_lengthlist__44pn1_l0_1[] = {
+static const char _vq_lengthlist__44pn1_l0_1[] = {
1, 4, 4, 7, 7, 4, 5, 6, 7, 7, 4, 6, 5, 7, 7, 7,
6, 7, 6, 7, 7, 7, 6, 7, 6,
};
static const static_codebook _44pn1_l0_1 = {
2, 25,
- (long *)_vq_lengthlist__44pn1_l0_1,
+ (char *)_vq_lengthlist__44pn1_l0_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44pn1_l0_1,
0
@@ -11436,31 +11453,31 @@ static const long _vq_quantlist__44pn1_l1_0[] = {
2,
};
-static const long _vq_lengthlist__44pn1_l1_0[] = {
+static const char _vq_lengthlist__44pn1_l1_0[] = {
1, 4, 4, 4, 4, 4, 4, 4, 4,
};
static const static_codebook _44pn1_l1_0 = {
2, 9,
- (long *)_vq_lengthlist__44pn1_l1_0,
+ (char *)_vq_lengthlist__44pn1_l1_0,
1, -516716544, 1630767104, 2, 0,
(long *)_vq_quantlist__44pn1_l1_0,
0
};
-static const long _huff_lengthlist__44pn1_lfe[] = {
+static const char _huff_lengthlist__44pn1_lfe[] = {
1, 3, 2, 3,
};
static const static_codebook _huff_book__44pn1_lfe = {
2, 4,
- (long *)_huff_lengthlist__44pn1_lfe,
+ (char *)_huff_lengthlist__44pn1_lfe,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist__44pn1_long[] = {
+static const char _huff_lengthlist__44pn1_long[] = {
2, 3, 6, 7, 9,13,17, 3, 2, 5, 7, 9,13,17, 6, 5,
5, 6, 9,12,16, 7, 7, 6, 6, 7,10,13,10,10, 9, 7,
6,10,13,13,13,12,10,10,11,15,17,17,17,14,14,15,
@@ -11469,7 +11486,7 @@ static const long _huff_lengthlist__44pn1_long[] = {
static const static_codebook _huff_book__44pn1_long = {
2, 49,
- (long *)_huff_lengthlist__44pn1_long,
+ (char *)_huff_lengthlist__44pn1_long,
0, 0, 0, 0, 0,
NULL,
0
@@ -11481,7 +11498,7 @@ static const long _vq_quantlist__44pn1_p1_0[] = {
2,
};
-static const long _vq_lengthlist__44pn1_p1_0[] = {
+static const char _vq_lengthlist__44pn1_p1_0[] = {
1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11502,7 +11519,7 @@ static const long _vq_lengthlist__44pn1_p1_0[] = {
static const static_codebook _44pn1_p1_0 = {
5, 243,
- (long *)_vq_lengthlist__44pn1_p1_0,
+ (char *)_vq_lengthlist__44pn1_p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44pn1_p1_0,
0
@@ -11514,7 +11531,7 @@ static const long _vq_quantlist__44pn1_p2_0[] = {
2,
};
-static const long _vq_lengthlist__44pn1_p2_0[] = {
+static const char _vq_lengthlist__44pn1_p2_0[] = {
1, 5, 5, 0, 7, 7, 0, 8, 8, 0, 9, 9, 0,12,12, 0,
8, 8, 0, 9, 9, 0,13,13, 0, 8, 8, 0, 6, 6, 0,11,
11, 0,12,12, 0,12,12, 0,14,14, 0,11,12, 0,12,12,
@@ -11535,7 +11552,7 @@ static const long _vq_lengthlist__44pn1_p2_0[] = {
static const static_codebook _44pn1_p2_0 = {
5, 243,
- (long *)_vq_lengthlist__44pn1_p2_0,
+ (char *)_vq_lengthlist__44pn1_p2_0,
1, -533200896, 1614282752, 2, 0,
(long *)_vq_quantlist__44pn1_p2_0,
0
@@ -11547,7 +11564,7 @@ static const long _vq_quantlist__44pn1_p2_1[] = {
2,
};
-static const long _vq_lengthlist__44pn1_p2_1[] = {
+static const char _vq_lengthlist__44pn1_p2_1[] = {
1, 3, 3, 0, 9, 9, 0, 9, 9, 0,10,10, 0, 9, 9, 0,
10,10, 0,10,10, 0,10,10, 0,10,10, 0, 7, 7, 0, 7,
7, 0, 6, 6, 0, 8, 8, 0, 7, 7, 0, 8, 8, 0, 8, 8,
@@ -11568,7 +11585,7 @@ static const long _vq_lengthlist__44pn1_p2_1[] = {
static const static_codebook _44pn1_p2_1 = {
5, 243,
- (long *)_vq_lengthlist__44pn1_p2_1,
+ (char *)_vq_lengthlist__44pn1_p2_1,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44pn1_p2_1,
0
@@ -11580,7 +11597,7 @@ static const long _vq_quantlist__44pn1_p3_0[] = {
2,
};
-static const long _vq_lengthlist__44pn1_p3_0[] = {
+static const char _vq_lengthlist__44pn1_p3_0[] = {
1, 6, 6, 6, 8, 8, 6, 8, 8, 7, 9, 9,10,11,11, 8,
8, 8, 7, 9, 9,11,12,12, 9, 9, 9, 6, 7, 7,10,11,
11,10,11,11,10,11,11,13,13,13,12,12,12,10,12,11,
@@ -11601,7 +11618,7 @@ static const long _vq_lengthlist__44pn1_p3_0[] = {
static const static_codebook _44pn1_p3_0 = {
5, 243,
- (long *)_vq_lengthlist__44pn1_p3_0,
+ (char *)_vq_lengthlist__44pn1_p3_0,
1, -531365888, 1616117760, 2, 0,
(long *)_vq_quantlist__44pn1_p3_0,
0
@@ -11615,7 +11632,7 @@ static const long _vq_quantlist__44pn1_p3_1[] = {
4,
};
-static const long _vq_lengthlist__44pn1_p3_1[] = {
+static const char _vq_lengthlist__44pn1_p3_1[] = {
2, 3, 4, 9, 9,10,12,12,12,11,10,12,12,13,12,11,
13,12,11,11,11,12,12,12,11,11,13,13,13,13,11,12,
12,14,14,12,13,13,13,13,11,13,13,13,13,11,13,13,
@@ -11816,7 +11833,7 @@ static const long _vq_lengthlist__44pn1_p3_1[] = {
static const static_codebook _44pn1_p3_1 = {
5, 3125,
- (long *)_vq_lengthlist__44pn1_p3_1,
+ (char *)_vq_lengthlist__44pn1_p3_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44pn1_p3_1,
0
@@ -11830,7 +11847,7 @@ static const long _vq_quantlist__44pn1_p4_0[] = {
4,
};
-static const long _vq_lengthlist__44pn1_p4_0[] = {
+static const char _vq_lengthlist__44pn1_p4_0[] = {
1, 7, 7,14,14, 6, 8, 8,15,16, 7, 8, 8,16,15, 0,
14,14,17,17, 0,14,14,16,16, 7, 9, 9,16,16,10,11,
11,17,18, 9, 8, 8,16,16, 0,14,14,19,19, 0,14,14,
@@ -12031,7 +12048,7 @@ static const long _vq_lengthlist__44pn1_p4_0[] = {
static const static_codebook _44pn1_p4_0 = {
5, 3125,
- (long *)_vq_lengthlist__44pn1_p4_0,
+ (char *)_vq_lengthlist__44pn1_p4_0,
1, -528744448, 1616642048, 3, 0,
(long *)_vq_quantlist__44pn1_p4_0,
0
@@ -12047,13 +12064,13 @@ static const long _vq_quantlist__44pn1_p4_1[] = {
6,
};
-static const long _vq_lengthlist__44pn1_p4_1[] = {
+static const char _vq_lengthlist__44pn1_p4_1[] = {
2, 3, 3, 3, 3, 3, 3,
};
static const static_codebook _44pn1_p4_1 = {
1, 7,
- (long *)_vq_lengthlist__44pn1_p4_1,
+ (char *)_vq_lengthlist__44pn1_p4_1,
1, -533200896, 1611661312, 3, 0,
(long *)_vq_quantlist__44pn1_p4_1,
0
@@ -12065,7 +12082,7 @@ static const long _vq_quantlist__44pn1_p5_0[] = {
2,
};
-static const long _vq_lengthlist__44pn1_p5_0[] = {
+static const char _vq_lengthlist__44pn1_p5_0[] = {
1, 7, 7, 6, 8, 8, 7, 8, 8, 7, 9, 9,11,11,11, 9,
8, 8, 7, 9, 9,11,12,11, 9, 9, 9, 6, 7, 7,10,11,
11,10,10,10,10,11,11,15,14,14,12,12,12,11,11,11,
@@ -12086,7 +12103,7 @@ static const long _vq_lengthlist__44pn1_p5_0[] = {
static const static_codebook _44pn1_p5_0 = {
5, 243,
- (long *)_vq_lengthlist__44pn1_p5_0,
+ (char *)_vq_lengthlist__44pn1_p5_0,
1, -527106048, 1620377600, 2, 0,
(long *)_vq_quantlist__44pn1_p5_0,
0
@@ -12098,7 +12115,7 @@ static const long _vq_quantlist__44pn1_p5_1[] = {
2,
};
-static const long _vq_lengthlist__44pn1_p5_1[] = {
+static const char _vq_lengthlist__44pn1_p5_1[] = {
2, 6, 7, 6, 8, 8, 7, 7, 8, 7, 8, 8, 9, 9, 9, 8,
7, 7, 8, 8, 8, 9, 9, 9, 9, 8, 8, 6, 6, 6, 9, 7,
7, 9, 7, 7, 9, 8, 8,10, 8, 8,10, 8, 8,10, 8, 8,
@@ -12119,7 +12136,7 @@ static const long _vq_lengthlist__44pn1_p5_1[] = {
static const static_codebook _44pn1_p5_1 = {
5, 243,
- (long *)_vq_lengthlist__44pn1_p5_1,
+ (char *)_vq_lengthlist__44pn1_p5_1,
1, -530841600, 1616642048, 2, 0,
(long *)_vq_quantlist__44pn1_p5_1,
0
@@ -12131,7 +12148,7 @@ static const long _vq_quantlist__44pn1_p6_0[] = {
2,
};
-static const long _vq_lengthlist__44pn1_p6_0[] = {
+static const char _vq_lengthlist__44pn1_p6_0[] = {
1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
@@ -12152,7 +12169,7 @@ static const long _vq_lengthlist__44pn1_p6_0[] = {
static const static_codebook _44pn1_p6_0 = {
5, 243,
- (long *)_vq_lengthlist__44pn1_p6_0,
+ (char *)_vq_lengthlist__44pn1_p6_0,
1, -516716544, 1630767104, 2, 0,
(long *)_vq_quantlist__44pn1_p6_0,
0
@@ -12186,14 +12203,14 @@ static const long _vq_quantlist__44pn1_p6_1[] = {
24,
};
-static const long _vq_lengthlist__44pn1_p6_1[] = {
+static const char _vq_lengthlist__44pn1_p6_1[] = {
1, 3, 2, 5, 4, 7, 7, 8, 8, 9, 9,10,10,11,11,12,
12,13,13,14,14,15,15,15,15,
};
static const static_codebook _44pn1_p6_1 = {
1, 25,
- (long *)_vq_lengthlist__44pn1_p6_1,
+ (char *)_vq_lengthlist__44pn1_p6_1,
1, -518864896, 1620639744, 5, 0,
(long *)_vq_quantlist__44pn1_p6_1,
0
@@ -12227,20 +12244,20 @@ static const long _vq_quantlist__44pn1_p6_2[] = {
24,
};
-static const long _vq_lengthlist__44pn1_p6_2[] = {
+static const char _vq_lengthlist__44pn1_p6_2[] = {
3, 5, 4, 5, 4, 5, 4, 5, 5, 5, 4, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5,
};
static const static_codebook _44pn1_p6_2 = {
1, 25,
- (long *)_vq_lengthlist__44pn1_p6_2,
+ (char *)_vq_lengthlist__44pn1_p6_2,
1, -529006592, 1611661312, 5, 0,
(long *)_vq_quantlist__44pn1_p6_2,
0
};
-static const long _huff_lengthlist__44pn1_short[] = {
+static const char _huff_lengthlist__44pn1_short[] = {
4, 3, 7, 9,12,16,16, 3, 2, 5, 7,11,14,15, 7, 4,
5, 6, 9,12,15, 8, 5, 5, 5, 8,10,14, 9, 7, 6, 6,
8,10,12,12,10,10, 7, 6, 8,10,15,12,10, 6, 4, 7,
@@ -12249,7 +12266,7 @@ static const long _huff_lengthlist__44pn1_short[] = {
static const static_codebook _huff_book__44pn1_short = {
2, 49,
- (long *)_huff_lengthlist__44pn1_short,
+ (char *)_huff_lengthlist__44pn1_short,
0, 0, 0, 0, 0,
NULL,
0
diff --git a/drivers/vorbis/books/coupled/res_books_stereo.h b/drivers/vorbis/books/coupled/res_books_stereo.h
index 5f26215e9f..9a9049f6ed 100644
--- a/drivers/vorbis/books/coupled/res_books_stereo.h
+++ b/drivers/vorbis/books/coupled/res_books_stereo.h
@@ -11,7 +11,7 @@
********************************************************************
function: static codebooks autogenerated by huff/huffbuld
- last modified: $Id: res_books_stereo.h 17025 2010-03-25 04:56:56Z xiphmont $
+ last modified: $Id: res_books_stereo.h 19057 2014-01-22 12:32:31Z xiphmont $
********************************************************************/
@@ -23,7 +23,7 @@ static const long _vq_quantlist__16c0_s_p1_0[] = {
2,
};
-static const long _vq_lengthlist__16c0_s_p1_0[] = {
+static const char _vq_lengthlist__16c0_s_p1_0[] = {
1, 4, 4, 0, 0, 0, 0, 0, 0, 5, 7, 7, 0, 0, 0, 0,
0, 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -439,7 +439,7 @@ static const long _vq_lengthlist__16c0_s_p1_0[] = {
static const static_codebook _16c0_s_p1_0 = {
8, 6561,
- (long *)_vq_lengthlist__16c0_s_p1_0,
+ (char *)_vq_lengthlist__16c0_s_p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__16c0_s_p1_0,
0
@@ -453,7 +453,7 @@ static const long _vq_quantlist__16c0_s_p3_0[] = {
4,
};
-static const long _vq_lengthlist__16c0_s_p3_0[] = {
+static const char _vq_lengthlist__16c0_s_p3_0[] = {
1, 4, 4, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 6, 6, 7, 6, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -498,7 +498,7 @@ static const long _vq_lengthlist__16c0_s_p3_0[] = {
static const static_codebook _16c0_s_p3_0 = {
4, 625,
- (long *)_vq_lengthlist__16c0_s_p3_0,
+ (char *)_vq_lengthlist__16c0_s_p3_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__16c0_s_p3_0,
0
@@ -516,7 +516,7 @@ static const long _vq_quantlist__16c0_s_p4_0[] = {
8,
};
-static const long _vq_lengthlist__16c0_s_p4_0[] = {
+static const char _vq_lengthlist__16c0_s_p4_0[] = {
1, 3, 2, 7, 8, 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0,
0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0, 7, 7,
0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0,
@@ -527,7 +527,7 @@ static const long _vq_lengthlist__16c0_s_p4_0[] = {
static const static_codebook _16c0_s_p4_0 = {
2, 81,
- (long *)_vq_lengthlist__16c0_s_p4_0,
+ (char *)_vq_lengthlist__16c0_s_p4_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__16c0_s_p4_0,
0
@@ -545,7 +545,7 @@ static const long _vq_quantlist__16c0_s_p5_0[] = {
8,
};
-static const long _vq_lengthlist__16c0_s_p5_0[] = {
+static const char _vq_lengthlist__16c0_s_p5_0[] = {
1, 3, 3, 6, 6, 6, 6, 8, 8, 0, 0, 0, 7, 7, 7, 7,
8, 8, 0, 0, 0, 7, 7, 7, 7, 8, 8, 0, 0, 0, 7, 7,
8, 8, 9, 9, 0, 0, 0, 7, 7, 8, 8, 9, 9, 0, 0, 0,
@@ -556,7 +556,7 @@ static const long _vq_lengthlist__16c0_s_p5_0[] = {
static const static_codebook _16c0_s_p5_0 = {
2, 81,
- (long *)_vq_lengthlist__16c0_s_p5_0,
+ (char *)_vq_lengthlist__16c0_s_p5_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__16c0_s_p5_0,
0
@@ -582,7 +582,7 @@ static const long _vq_quantlist__16c0_s_p6_0[] = {
16,
};
-static const long _vq_lengthlist__16c0_s_p6_0[] = {
+static const char _vq_lengthlist__16c0_s_p6_0[] = {
1, 3, 4, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,10,10,11,
11, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,10,10,10,11,
11,11, 0, 0, 0, 6, 6, 8, 8, 9, 9, 9, 9,10,10,11,
@@ -606,7 +606,7 @@ static const long _vq_lengthlist__16c0_s_p6_0[] = {
static const static_codebook _16c0_s_p6_0 = {
2, 289,
- (long *)_vq_lengthlist__16c0_s_p6_0,
+ (char *)_vq_lengthlist__16c0_s_p6_0,
1, -529530880, 1611661312, 5, 0,
(long *)_vq_quantlist__16c0_s_p6_0,
0
@@ -618,7 +618,7 @@ static const long _vq_quantlist__16c0_s_p7_0[] = {
2,
};
-static const long _vq_lengthlist__16c0_s_p7_0[] = {
+static const char _vq_lengthlist__16c0_s_p7_0[] = {
1, 4, 4, 6, 6, 6, 7, 6, 6, 4, 7, 7,11,10,10,11,
11,10, 4, 7, 7,10,10,10,11,10,10, 6,10,10,11,11,
11,11,11,10, 6, 9, 9,11,12,12,11, 9, 9, 6, 9,10,
@@ -629,7 +629,7 @@ static const long _vq_lengthlist__16c0_s_p7_0[] = {
static const static_codebook _16c0_s_p7_0 = {
4, 81,
- (long *)_vq_lengthlist__16c0_s_p7_0,
+ (char *)_vq_lengthlist__16c0_s_p7_0,
1, -529137664, 1618345984, 2, 0,
(long *)_vq_quantlist__16c0_s_p7_0,
0
@@ -649,7 +649,7 @@ static const long _vq_quantlist__16c0_s_p7_1[] = {
10,
};
-static const long _vq_lengthlist__16c0_s_p7_1[] = {
+static const char _vq_lengthlist__16c0_s_p7_1[] = {
1, 3, 4, 6, 6, 7, 7, 8, 8, 8, 8,10,10,10, 7, 7,
8, 8, 8, 9, 9, 9,10,10,10, 6, 7, 8, 8, 8, 8, 9,
8,10,10,10, 7, 7, 8, 8, 9, 9, 9, 9,10,10,10, 7,
@@ -662,7 +662,7 @@ static const long _vq_lengthlist__16c0_s_p7_1[] = {
static const static_codebook _16c0_s_p7_1 = {
2, 121,
- (long *)_vq_lengthlist__16c0_s_p7_1,
+ (char *)_vq_lengthlist__16c0_s_p7_1,
1, -531365888, 1611661312, 4, 0,
(long *)_vq_quantlist__16c0_s_p7_1,
0
@@ -684,7 +684,7 @@ static const long _vq_quantlist__16c0_s_p8_0[] = {
12,
};
-static const long _vq_lengthlist__16c0_s_p8_0[] = {
+static const char _vq_lengthlist__16c0_s_p8_0[] = {
1, 4, 4, 7, 7, 7, 7, 7, 6, 8, 8,10,10, 6, 5, 6,
8, 8, 8, 8, 8, 8, 8, 9,10,10, 7, 6, 6, 8, 8, 8,
8, 8, 8, 8, 8,10,10, 0, 8, 8, 8, 8, 9, 8, 9, 9,
@@ -700,7 +700,7 @@ static const long _vq_lengthlist__16c0_s_p8_0[] = {
static const static_codebook _16c0_s_p8_0 = {
2, 169,
- (long *)_vq_lengthlist__16c0_s_p8_0,
+ (char *)_vq_lengthlist__16c0_s_p8_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__16c0_s_p8_0,
0
@@ -714,14 +714,14 @@ static const long _vq_quantlist__16c0_s_p8_1[] = {
4,
};
-static const long _vq_lengthlist__16c0_s_p8_1[] = {
+static const char _vq_lengthlist__16c0_s_p8_1[] = {
1, 4, 3, 5, 5, 7, 7, 7, 6, 6, 7, 7, 7, 5, 5, 7,
7, 7, 6, 6, 7, 7, 7, 6, 6,
};
static const static_codebook _16c0_s_p8_1 = {
2, 25,
- (long *)_vq_lengthlist__16c0_s_p8_1,
+ (char *)_vq_lengthlist__16c0_s_p8_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__16c0_s_p8_1,
0
@@ -733,7 +733,7 @@ static const long _vq_quantlist__16c0_s_p9_0[] = {
2,
};
-static const long _vq_lengthlist__16c0_s_p9_0[] = {
+static const char _vq_lengthlist__16c0_s_p9_0[] = {
1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
@@ -744,7 +744,7 @@ static const long _vq_lengthlist__16c0_s_p9_0[] = {
static const static_codebook _16c0_s_p9_0 = {
4, 81,
- (long *)_vq_lengthlist__16c0_s_p9_0,
+ (char *)_vq_lengthlist__16c0_s_p9_0,
1, -518803456, 1628680192, 2, 0,
(long *)_vq_quantlist__16c0_s_p9_0,
0
@@ -768,7 +768,7 @@ static const long _vq_quantlist__16c0_s_p9_1[] = {
14,
};
-static const long _vq_lengthlist__16c0_s_p9_1[] = {
+static const char _vq_lengthlist__16c0_s_p9_1[] = {
1, 5, 5, 5, 5, 9,11,11,10,10,10,10,10,10,10, 7,
6, 6, 6, 6,10,10,10,10,10,10,10,10,10,10, 7, 6,
6, 6, 6,10, 9,10,10,10,10,10,10,10,10,10, 7, 7,
@@ -788,7 +788,7 @@ static const long _vq_lengthlist__16c0_s_p9_1[] = {
static const static_codebook _16c0_s_p9_1 = {
2, 225,
- (long *)_vq_lengthlist__16c0_s_p9_1,
+ (char *)_vq_lengthlist__16c0_s_p9_1,
1, -520986624, 1620377600, 4, 0,
(long *)_vq_quantlist__16c0_s_p9_1,
0
@@ -818,7 +818,7 @@ static const long _vq_quantlist__16c0_s_p9_2[] = {
20,
};
-static const long _vq_lengthlist__16c0_s_p9_2[] = {
+static const char _vq_lengthlist__16c0_s_p9_2[] = {
1, 5, 5, 7, 8, 8, 7, 9, 9, 9,12,12,11,12,12,10,
10,11,12,12,12,11,12,12, 8, 9, 8, 7, 9,10,10,11,
11,10,11,12,10,12,10,12,12,12,11,12,11, 9, 8, 8,
@@ -851,13 +851,13 @@ static const long _vq_lengthlist__16c0_s_p9_2[] = {
static const static_codebook _16c0_s_p9_2 = {
2, 441,
- (long *)_vq_lengthlist__16c0_s_p9_2,
+ (char *)_vq_lengthlist__16c0_s_p9_2,
1, -529268736, 1611661312, 5, 0,
(long *)_vq_quantlist__16c0_s_p9_2,
0
};
-static const long _huff_lengthlist__16c0_s_single[] = {
+static const char _huff_lengthlist__16c0_s_single[] = {
3, 4,19, 7, 9, 7, 8,11, 9,12, 4, 1,19, 6, 7, 7,
8,10,11,13,18,18,18,18,18,18,18,18,18,18, 8, 6,
18, 8, 9, 9,11,12,14,18, 9, 6,18, 9, 7, 8, 9,11,
@@ -869,13 +869,13 @@ static const long _huff_lengthlist__16c0_s_single[] = {
static const static_codebook _huff_book__16c0_s_single = {
2, 100,
- (long *)_huff_lengthlist__16c0_s_single,
+ (char *)_huff_lengthlist__16c0_s_single,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist__16c1_s_long[] = {
+static const char _huff_lengthlist__16c1_s_long[] = {
2, 5,20, 7,10, 7, 8,10,11,11, 4, 2,20, 5, 8, 6,
7, 9,10,10,20,20,20,20,19,19,19,19,19,19, 7, 5,
19, 6,10, 7, 9,11,13,17,11, 8,19,10, 7, 7, 8,10,
@@ -887,7 +887,7 @@ static const long _huff_lengthlist__16c1_s_long[] = {
static const static_codebook _huff_book__16c1_s_long = {
2, 100,
- (long *)_huff_lengthlist__16c1_s_long,
+ (char *)_huff_lengthlist__16c1_s_long,
0, 0, 0, 0, 0,
NULL,
0
@@ -899,7 +899,7 @@ static const long _vq_quantlist__16c1_s_p1_0[] = {
2,
};
-static const long _vq_lengthlist__16c1_s_p1_0[] = {
+static const char _vq_lengthlist__16c1_s_p1_0[] = {
1, 5, 5, 0, 0, 0, 0, 0, 0, 5, 7, 7, 0, 0, 0, 0,
0, 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1315,7 +1315,7 @@ static const long _vq_lengthlist__16c1_s_p1_0[] = {
static const static_codebook _16c1_s_p1_0 = {
8, 6561,
- (long *)_vq_lengthlist__16c1_s_p1_0,
+ (char *)_vq_lengthlist__16c1_s_p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__16c1_s_p1_0,
0
@@ -1329,7 +1329,7 @@ static const long _vq_quantlist__16c1_s_p3_0[] = {
4,
};
-static const long _vq_lengthlist__16c1_s_p3_0[] = {
+static const char _vq_lengthlist__16c1_s_p3_0[] = {
1, 4, 4, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 5, 7, 7, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1374,7 +1374,7 @@ static const long _vq_lengthlist__16c1_s_p3_0[] = {
static const static_codebook _16c1_s_p3_0 = {
4, 625,
- (long *)_vq_lengthlist__16c1_s_p3_0,
+ (char *)_vq_lengthlist__16c1_s_p3_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__16c1_s_p3_0,
0
@@ -1392,7 +1392,7 @@ static const long _vq_quantlist__16c1_s_p4_0[] = {
8,
};
-static const long _vq_lengthlist__16c1_s_p4_0[] = {
+static const char _vq_lengthlist__16c1_s_p4_0[] = {
1, 2, 3, 7, 7, 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0,
0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0, 7, 7,
0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0,
@@ -1403,7 +1403,7 @@ static const long _vq_lengthlist__16c1_s_p4_0[] = {
static const static_codebook _16c1_s_p4_0 = {
2, 81,
- (long *)_vq_lengthlist__16c1_s_p4_0,
+ (char *)_vq_lengthlist__16c1_s_p4_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__16c1_s_p4_0,
0
@@ -1421,7 +1421,7 @@ static const long _vq_quantlist__16c1_s_p5_0[] = {
8,
};
-static const long _vq_lengthlist__16c1_s_p5_0[] = {
+static const char _vq_lengthlist__16c1_s_p5_0[] = {
1, 3, 3, 5, 5, 6, 6, 8, 8, 0, 0, 0, 7, 7, 7, 7,
9, 9, 0, 0, 0, 7, 7, 7, 7, 9, 9, 0, 0, 0, 8, 8,
8, 8, 9, 9, 0, 0, 0, 8, 8, 8, 8,10,10, 0, 0, 0,
@@ -1432,7 +1432,7 @@ static const long _vq_lengthlist__16c1_s_p5_0[] = {
static const static_codebook _16c1_s_p5_0 = {
2, 81,
- (long *)_vq_lengthlist__16c1_s_p5_0,
+ (char *)_vq_lengthlist__16c1_s_p5_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__16c1_s_p5_0,
0
@@ -1458,7 +1458,7 @@ static const long _vq_quantlist__16c1_s_p6_0[] = {
16,
};
-static const long _vq_lengthlist__16c1_s_p6_0[] = {
+static const char _vq_lengthlist__16c1_s_p6_0[] = {
1, 3, 3, 6, 6, 8, 8, 9, 9, 9, 9,10,10,11,11,12,
12, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,10,10,11,11,
12,12, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,10,10,11,
@@ -1482,7 +1482,7 @@ static const long _vq_lengthlist__16c1_s_p6_0[] = {
static const static_codebook _16c1_s_p6_0 = {
2, 289,
- (long *)_vq_lengthlist__16c1_s_p6_0,
+ (char *)_vq_lengthlist__16c1_s_p6_0,
1, -529530880, 1611661312, 5, 0,
(long *)_vq_quantlist__16c1_s_p6_0,
0
@@ -1494,7 +1494,7 @@ static const long _vq_quantlist__16c1_s_p7_0[] = {
2,
};
-static const long _vq_lengthlist__16c1_s_p7_0[] = {
+static const char _vq_lengthlist__16c1_s_p7_0[] = {
1, 4, 4, 6, 6, 6, 7, 6, 6, 4, 7, 7,10, 9,10,10,
10, 9, 4, 7, 7,10,10,10,11,10,10, 6,10,10,11,11,
11,11,10,10, 6,10, 9,11,11,11,11,10,10, 6,10,10,
@@ -1505,7 +1505,7 @@ static const long _vq_lengthlist__16c1_s_p7_0[] = {
static const static_codebook _16c1_s_p7_0 = {
4, 81,
- (long *)_vq_lengthlist__16c1_s_p7_0,
+ (char *)_vq_lengthlist__16c1_s_p7_0,
1, -529137664, 1618345984, 2, 0,
(long *)_vq_quantlist__16c1_s_p7_0,
0
@@ -1525,7 +1525,7 @@ static const long _vq_quantlist__16c1_s_p7_1[] = {
10,
};
-static const long _vq_lengthlist__16c1_s_p7_1[] = {
+static const char _vq_lengthlist__16c1_s_p7_1[] = {
2, 3, 3, 5, 6, 7, 7, 7, 7, 8, 8,10,10,10, 6, 6,
7, 7, 8, 8, 8, 8,10,10,10, 6, 6, 7, 7, 8, 8, 8,
8,10,10,10, 7, 7, 7, 7, 8, 8, 8, 8,10,10,10, 7,
@@ -1538,7 +1538,7 @@ static const long _vq_lengthlist__16c1_s_p7_1[] = {
static const static_codebook _16c1_s_p7_1 = {
2, 121,
- (long *)_vq_lengthlist__16c1_s_p7_1,
+ (char *)_vq_lengthlist__16c1_s_p7_1,
1, -531365888, 1611661312, 4, 0,
(long *)_vq_quantlist__16c1_s_p7_1,
0
@@ -1560,7 +1560,7 @@ static const long _vq_quantlist__16c1_s_p8_0[] = {
12,
};
-static const long _vq_lengthlist__16c1_s_p8_0[] = {
+static const char _vq_lengthlist__16c1_s_p8_0[] = {
1, 4, 4, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 6, 5, 5,
7, 8, 8, 9, 8, 8, 9, 9,10,11, 6, 5, 5, 8, 8, 9,
9, 8, 8, 9,10,10,11, 0, 8, 8, 8, 9, 9, 9, 9, 9,
@@ -1576,7 +1576,7 @@ static const long _vq_lengthlist__16c1_s_p8_0[] = {
static const static_codebook _16c1_s_p8_0 = {
2, 169,
- (long *)_vq_lengthlist__16c1_s_p8_0,
+ (char *)_vq_lengthlist__16c1_s_p8_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__16c1_s_p8_0,
0
@@ -1590,14 +1590,14 @@ static const long _vq_quantlist__16c1_s_p8_1[] = {
4,
};
-static const long _vq_lengthlist__16c1_s_p8_1[] = {
+static const char _vq_lengthlist__16c1_s_p8_1[] = {
2, 3, 3, 5, 5, 6, 6, 6, 5, 5, 6, 6, 6, 5, 5, 6,
6, 6, 5, 5, 6, 6, 6, 5, 5,
};
static const static_codebook _16c1_s_p8_1 = {
2, 25,
- (long *)_vq_lengthlist__16c1_s_p8_1,
+ (char *)_vq_lengthlist__16c1_s_p8_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__16c1_s_p8_1,
0
@@ -1619,7 +1619,7 @@ static const long _vq_quantlist__16c1_s_p9_0[] = {
12,
};
-static const long _vq_lengthlist__16c1_s_p9_0[] = {
+static const char _vq_lengthlist__16c1_s_p9_0[] = {
1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
@@ -1635,7 +1635,7 @@ static const long _vq_lengthlist__16c1_s_p9_0[] = {
static const static_codebook _16c1_s_p9_0 = {
2, 169,
- (long *)_vq_lengthlist__16c1_s_p9_0,
+ (char *)_vq_lengthlist__16c1_s_p9_0,
1, -513964032, 1628680192, 4, 0,
(long *)_vq_quantlist__16c1_s_p9_0,
0
@@ -1659,7 +1659,7 @@ static const long _vq_quantlist__16c1_s_p9_1[] = {
14,
};
-static const long _vq_lengthlist__16c1_s_p9_1[] = {
+static const char _vq_lengthlist__16c1_s_p9_1[] = {
1, 4, 4, 4, 4, 8, 8,12,13,14,14,14,14,14,14, 6,
6, 6, 6, 6,10, 9,14,14,14,14,14,14,14,14, 7, 6,
5, 6, 6,10, 9,12,13,13,13,13,13,13,13,13, 7, 7,
@@ -1679,7 +1679,7 @@ static const long _vq_lengthlist__16c1_s_p9_1[] = {
static const static_codebook _16c1_s_p9_1 = {
2, 225,
- (long *)_vq_lengthlist__16c1_s_p9_1,
+ (char *)_vq_lengthlist__16c1_s_p9_1,
1, -520986624, 1620377600, 4, 0,
(long *)_vq_quantlist__16c1_s_p9_1,
0
@@ -1709,7 +1709,7 @@ static const long _vq_quantlist__16c1_s_p9_2[] = {
20,
};
-static const long _vq_lengthlist__16c1_s_p9_2[] = {
+static const char _vq_lengthlist__16c1_s_p9_2[] = {
1, 4, 4, 6, 6, 7, 7, 8, 7, 8, 8, 9, 9, 9, 9,10,
10,10, 9,10,10,11,12,12, 8, 8, 8, 8, 9, 9, 9, 9,
10,10,10,10,10,11,11,10,12,11,11,13,11, 7, 7, 8,
@@ -1742,13 +1742,13 @@ static const long _vq_lengthlist__16c1_s_p9_2[] = {
static const static_codebook _16c1_s_p9_2 = {
2, 441,
- (long *)_vq_lengthlist__16c1_s_p9_2,
+ (char *)_vq_lengthlist__16c1_s_p9_2,
1, -529268736, 1611661312, 5, 0,
(long *)_vq_quantlist__16c1_s_p9_2,
0
};
-static const long _huff_lengthlist__16c1_s_short[] = {
+static const char _huff_lengthlist__16c1_s_short[] = {
5, 6,17, 8,12, 9,10,10,12,13, 5, 2,17, 4, 9, 5,
7, 8,11,13,16,16,16,16,16,16,16,16,16,16, 6, 4,
16, 5,10, 5, 7,10,14,16,13, 9,16,11, 8, 7, 8, 9,
@@ -1760,13 +1760,13 @@ static const long _huff_lengthlist__16c1_s_short[] = {
static const static_codebook _huff_book__16c1_s_short = {
2, 100,
- (long *)_huff_lengthlist__16c1_s_short,
+ (char *)_huff_lengthlist__16c1_s_short,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist__16c2_s_long[] = {
+static const char _huff_lengthlist__16c2_s_long[] = {
4, 7, 9, 9, 9, 8, 9,10,13,16, 5, 4, 5, 6, 7, 7,
8, 9,12,16, 6, 5, 5, 5, 7, 7, 9,10,12,15, 7, 6,
5, 4, 5, 6, 8, 9,10,13, 8, 7, 7, 5, 5, 5, 7, 9,
@@ -1778,7 +1778,7 @@ static const long _huff_lengthlist__16c2_s_long[] = {
static const static_codebook _huff_book__16c2_s_long = {
2, 100,
- (long *)_huff_lengthlist__16c2_s_long,
+ (char *)_huff_lengthlist__16c2_s_long,
0, 0, 0, 0, 0,
NULL,
0
@@ -1790,7 +1790,7 @@ static const long _vq_quantlist__16c2_s_p1_0[] = {
2,
};
-static const long _vq_lengthlist__16c2_s_p1_0[] = {
+static const char _vq_lengthlist__16c2_s_p1_0[] = {
1, 3, 3, 0, 0, 0, 0, 0, 0, 4, 5, 5, 0, 0, 0, 0,
0, 0, 4, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1801,7 +1801,7 @@ static const long _vq_lengthlist__16c2_s_p1_0[] = {
static const static_codebook _16c2_s_p1_0 = {
4, 81,
- (long *)_vq_lengthlist__16c2_s_p1_0,
+ (char *)_vq_lengthlist__16c2_s_p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__16c2_s_p1_0,
0
@@ -1815,7 +1815,7 @@ static const long _vq_quantlist__16c2_s_p2_0[] = {
4,
};
-static const long _vq_lengthlist__16c2_s_p2_0[] = {
+static const char _vq_lengthlist__16c2_s_p2_0[] = {
2, 4, 4, 7, 7, 0, 0, 0, 8, 8, 0, 0, 0, 8, 8, 0,
0, 0, 8, 8, 0, 0, 0, 8, 8, 4, 4, 4, 8, 7, 0, 0,
0, 8, 8, 0, 0, 0, 8, 8, 0, 0, 0, 9, 9, 0, 0, 0,
@@ -1860,7 +1860,7 @@ static const long _vq_lengthlist__16c2_s_p2_0[] = {
static const static_codebook _16c2_s_p2_0 = {
4, 625,
- (long *)_vq_lengthlist__16c2_s_p2_0,
+ (char *)_vq_lengthlist__16c2_s_p2_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__16c2_s_p2_0,
0
@@ -1878,7 +1878,7 @@ static const long _vq_quantlist__16c2_s_p3_0[] = {
8,
};
-static const long _vq_lengthlist__16c2_s_p3_0[] = {
+static const char _vq_lengthlist__16c2_s_p3_0[] = {
1, 3, 3, 5, 5, 7, 7, 8, 8, 0, 0, 0, 6, 6, 8, 8,
9, 9, 0, 0, 0, 6, 6, 8, 8, 9, 9, 0, 0, 0, 7, 7,
8, 9,10,10, 0, 0, 0, 7, 7, 9, 9,10,10, 0, 0, 0,
@@ -1889,7 +1889,7 @@ static const long _vq_lengthlist__16c2_s_p3_0[] = {
static const static_codebook _16c2_s_p3_0 = {
2, 81,
- (long *)_vq_lengthlist__16c2_s_p3_0,
+ (char *)_vq_lengthlist__16c2_s_p3_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__16c2_s_p3_0,
0
@@ -1915,7 +1915,7 @@ static const long _vq_quantlist__16c2_s_p4_0[] = {
16,
};
-static const long _vq_lengthlist__16c2_s_p4_0[] = {
+static const char _vq_lengthlist__16c2_s_p4_0[] = {
2, 3, 3, 5, 5, 6, 6, 6, 6, 7, 7, 8, 8, 8, 8, 9,
9, 0, 0, 0, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,10,10,
11,10, 0, 0, 0, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,10,
@@ -1939,7 +1939,7 @@ static const long _vq_lengthlist__16c2_s_p4_0[] = {
static const static_codebook _16c2_s_p4_0 = {
2, 289,
- (long *)_vq_lengthlist__16c2_s_p4_0,
+ (char *)_vq_lengthlist__16c2_s_p4_0,
1, -529530880, 1611661312, 5, 0,
(long *)_vq_quantlist__16c2_s_p4_0,
0
@@ -1951,7 +1951,7 @@ static const long _vq_quantlist__16c2_s_p5_0[] = {
2,
};
-static const long _vq_lengthlist__16c2_s_p5_0[] = {
+static const char _vq_lengthlist__16c2_s_p5_0[] = {
1, 4, 4, 5, 7, 7, 6, 7, 7, 4, 6, 6,10,11,10,10,
10,11, 4, 6, 6,10,10,11,10,11,10, 5,10,10, 9,12,
11,10,12,12, 7,10,10,12,12,12,12,13,13, 7,11,10,
@@ -1962,7 +1962,7 @@ static const long _vq_lengthlist__16c2_s_p5_0[] = {
static const static_codebook _16c2_s_p5_0 = {
4, 81,
- (long *)_vq_lengthlist__16c2_s_p5_0,
+ (char *)_vq_lengthlist__16c2_s_p5_0,
1, -529137664, 1618345984, 2, 0,
(long *)_vq_quantlist__16c2_s_p5_0,
0
@@ -1982,7 +1982,7 @@ static const long _vq_quantlist__16c2_s_p5_1[] = {
10,
};
-static const long _vq_lengthlist__16c2_s_p5_1[] = {
+static const char _vq_lengthlist__16c2_s_p5_1[] = {
2, 3, 3, 6, 6, 6, 6, 7, 7, 7, 7,11,10,10, 6, 6,
7, 7, 8, 8, 8, 8,10,10,10, 6, 6, 7, 7, 8, 8, 8,
8,11,11,11, 7, 7, 8, 8, 8, 8, 9, 9,11,11,11, 6,
@@ -1995,7 +1995,7 @@ static const long _vq_lengthlist__16c2_s_p5_1[] = {
static const static_codebook _16c2_s_p5_1 = {
2, 121,
- (long *)_vq_lengthlist__16c2_s_p5_1,
+ (char *)_vq_lengthlist__16c2_s_p5_1,
1, -531365888, 1611661312, 4, 0,
(long *)_vq_quantlist__16c2_s_p5_1,
0
@@ -2017,7 +2017,7 @@ static const long _vq_quantlist__16c2_s_p6_0[] = {
12,
};
-static const long _vq_lengthlist__16c2_s_p6_0[] = {
+static const char _vq_lengthlist__16c2_s_p6_0[] = {
1, 4, 4, 6, 6, 8, 7, 8, 8, 9, 9,10,10, 5, 5, 5,
7, 7, 9, 9, 9, 9,11,11,12,12, 6, 5, 5, 7, 7, 9,
9,10, 9,11,11,12,12, 0, 7, 7, 7, 7, 9, 9,10,10,
@@ -2033,7 +2033,7 @@ static const long _vq_lengthlist__16c2_s_p6_0[] = {
static const static_codebook _16c2_s_p6_0 = {
2, 169,
- (long *)_vq_lengthlist__16c2_s_p6_0,
+ (char *)_vq_lengthlist__16c2_s_p6_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__16c2_s_p6_0,
0
@@ -2047,14 +2047,14 @@ static const long _vq_quantlist__16c2_s_p6_1[] = {
4,
};
-static const long _vq_lengthlist__16c2_s_p6_1[] = {
+static const char _vq_lengthlist__16c2_s_p6_1[] = {
2, 3, 3, 5, 5, 6, 6, 6, 5, 5, 6, 6, 6, 5, 5, 6,
6, 6, 5, 5, 6, 6, 6, 5, 5,
};
static const static_codebook _16c2_s_p6_1 = {
2, 25,
- (long *)_vq_lengthlist__16c2_s_p6_1,
+ (char *)_vq_lengthlist__16c2_s_p6_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__16c2_s_p6_1,
0
@@ -2076,7 +2076,7 @@ static const long _vq_quantlist__16c2_s_p7_0[] = {
12,
};
-static const long _vq_lengthlist__16c2_s_p7_0[] = {
+static const char _vq_lengthlist__16c2_s_p7_0[] = {
1, 4, 4, 7, 7, 8, 8, 8, 8,10, 9,10,10, 5, 5, 5,
7, 7, 9, 9,10,10,11,10,12,11, 6, 5, 5, 7, 7, 9,
9,10,10,11,11,12,12,20, 7, 7, 7, 7, 9, 9,10,10,
@@ -2092,7 +2092,7 @@ static const long _vq_lengthlist__16c2_s_p7_0[] = {
static const static_codebook _16c2_s_p7_0 = {
2, 169,
- (long *)_vq_lengthlist__16c2_s_p7_0,
+ (char *)_vq_lengthlist__16c2_s_p7_0,
1, -523206656, 1618345984, 4, 0,
(long *)_vq_quantlist__16c2_s_p7_0,
0
@@ -2112,7 +2112,7 @@ static const long _vq_quantlist__16c2_s_p7_1[] = {
10,
};
-static const long _vq_lengthlist__16c2_s_p7_1[] = {
+static const char _vq_lengthlist__16c2_s_p7_1[] = {
2, 4, 4, 6, 6, 7, 7, 7, 7, 7, 7, 9, 9, 9, 6, 7,
7, 7, 7, 7, 8, 8, 9, 9, 9, 6, 6, 7, 7, 7, 7, 8,
8, 9, 9, 9, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 7,
@@ -2125,7 +2125,7 @@ static const long _vq_lengthlist__16c2_s_p7_1[] = {
static const static_codebook _16c2_s_p7_1 = {
2, 121,
- (long *)_vq_lengthlist__16c2_s_p7_1,
+ (char *)_vq_lengthlist__16c2_s_p7_1,
1, -531365888, 1611661312, 4, 0,
(long *)_vq_quantlist__16c2_s_p7_1,
0
@@ -2149,7 +2149,7 @@ static const long _vq_quantlist__16c2_s_p8_0[] = {
14,
};
-static const long _vq_lengthlist__16c2_s_p8_0[] = {
+static const char _vq_lengthlist__16c2_s_p8_0[] = {
1, 4, 4, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9,10,10, 6,
6, 6, 8, 8, 9, 9, 8, 8, 9, 9,10,10,11,11, 6, 5,
5, 8, 7, 9, 9, 8, 8, 9, 9,10,10,11,11,20, 8, 8,
@@ -2169,7 +2169,7 @@ static const long _vq_lengthlist__16c2_s_p8_0[] = {
static const static_codebook _16c2_s_p8_0 = {
2, 225,
- (long *)_vq_lengthlist__16c2_s_p8_0,
+ (char *)_vq_lengthlist__16c2_s_p8_0,
1, -520986624, 1620377600, 4, 0,
(long *)_vq_quantlist__16c2_s_p8_0,
0
@@ -2199,7 +2199,7 @@ static const long _vq_quantlist__16c2_s_p8_1[] = {
20,
};
-static const long _vq_lengthlist__16c2_s_p8_1[] = {
+static const char _vq_lengthlist__16c2_s_p8_1[] = {
2, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8,11,11,11, 7, 7, 8, 8, 8, 8, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10,11,10, 7, 7, 8,
@@ -2232,7 +2232,7 @@ static const long _vq_lengthlist__16c2_s_p8_1[] = {
static const static_codebook _16c2_s_p8_1 = {
2, 441,
- (long *)_vq_lengthlist__16c2_s_p8_1,
+ (char *)_vq_lengthlist__16c2_s_p8_1,
1, -529268736, 1611661312, 5, 0,
(long *)_vq_quantlist__16c2_s_p8_1,
0
@@ -2258,7 +2258,7 @@ static const long _vq_quantlist__16c2_s_p9_0[] = {
16,
};
-static const long _vq_lengthlist__16c2_s_p9_0[] = {
+static const char _vq_lengthlist__16c2_s_p9_0[] = {
1, 4, 3,10, 8,10,10,10,10,10,10,10,10,10,10,10,
10, 6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
10,10, 6,10, 9,10,10,10,10,10,10,10,10,10,10,10,
@@ -2282,7 +2282,7 @@ static const long _vq_lengthlist__16c2_s_p9_0[] = {
static const static_codebook _16c2_s_p9_0 = {
2, 289,
- (long *)_vq_lengthlist__16c2_s_p9_0,
+ (char *)_vq_lengthlist__16c2_s_p9_0,
1, -509798400, 1631393792, 5, 0,
(long *)_vq_quantlist__16c2_s_p9_0,
0
@@ -2310,7 +2310,7 @@ static const long _vq_quantlist__16c2_s_p9_1[] = {
18,
};
-static const long _vq_lengthlist__16c2_s_p9_1[] = {
+static const char _vq_lengthlist__16c2_s_p9_1[] = {
1, 4, 4, 7, 7, 7, 7, 7, 7, 8, 8,10, 9,11,10,13,
11,14,13, 6, 6, 6, 8, 8, 8, 8, 8, 7, 9, 8,11, 9,
13,11,14,12,14,13, 5, 6, 6, 8, 8, 8, 8, 8, 8, 9,
@@ -2338,7 +2338,7 @@ static const long _vq_lengthlist__16c2_s_p9_1[] = {
static const static_codebook _16c2_s_p9_1 = {
2, 361,
- (long *)_vq_lengthlist__16c2_s_p9_1,
+ (char *)_vq_lengthlist__16c2_s_p9_1,
1, -518287360, 1622704128, 5, 0,
(long *)_vq_quantlist__16c2_s_p9_1,
0
@@ -2396,7 +2396,7 @@ static const long _vq_quantlist__16c2_s_p9_2[] = {
48,
};
-static const long _vq_lengthlist__16c2_s_p9_2[] = {
+static const char _vq_lengthlist__16c2_s_p9_2[] = {
2, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6,
6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
@@ -2405,13 +2405,13 @@ static const long _vq_lengthlist__16c2_s_p9_2[] = {
static const static_codebook _16c2_s_p9_2 = {
1, 49,
- (long *)_vq_lengthlist__16c2_s_p9_2,
+ (char *)_vq_lengthlist__16c2_s_p9_2,
1, -526909440, 1611661312, 6, 0,
(long *)_vq_quantlist__16c2_s_p9_2,
0
};
-static const long _huff_lengthlist__16c2_s_short[] = {
+static const char _huff_lengthlist__16c2_s_short[] = {
7,10,12,11,12,13,15,16,18,15,10, 8, 8, 8, 9,10,
12,13,14,17,10, 7, 7, 7, 7, 8,10,12,15,18,10, 7,
7, 5, 5, 6, 8,10,13,15,10, 7, 6, 5, 4, 4, 6, 9,
@@ -2423,7 +2423,7 @@ static const long _huff_lengthlist__16c2_s_short[] = {
static const static_codebook _huff_book__16c2_s_short = {
2, 100,
- (long *)_huff_lengthlist__16c2_s_short,
+ (char *)_huff_lengthlist__16c2_s_short,
0, 0, 0, 0, 0,
NULL,
0
@@ -2435,7 +2435,7 @@ static const long _vq_quantlist__8c0_s_p1_0[] = {
2,
};
-static const long _vq_lengthlist__8c0_s_p1_0[] = {
+static const char _vq_lengthlist__8c0_s_p1_0[] = {
1, 5, 4, 0, 0, 0, 0, 0, 0, 5, 7, 7, 0, 0, 0, 0,
0, 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2851,7 +2851,7 @@ static const long _vq_lengthlist__8c0_s_p1_0[] = {
static const static_codebook _8c0_s_p1_0 = {
8, 6561,
- (long *)_vq_lengthlist__8c0_s_p1_0,
+ (char *)_vq_lengthlist__8c0_s_p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__8c0_s_p1_0,
0
@@ -2865,7 +2865,7 @@ static const long _vq_quantlist__8c0_s_p3_0[] = {
4,
};
-static const long _vq_lengthlist__8c0_s_p3_0[] = {
+static const char _vq_lengthlist__8c0_s_p3_0[] = {
1, 4, 4, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 6, 7, 7, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -2910,7 +2910,7 @@ static const long _vq_lengthlist__8c0_s_p3_0[] = {
static const static_codebook _8c0_s_p3_0 = {
4, 625,
- (long *)_vq_lengthlist__8c0_s_p3_0,
+ (char *)_vq_lengthlist__8c0_s_p3_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__8c0_s_p3_0,
0
@@ -2928,7 +2928,7 @@ static const long _vq_quantlist__8c0_s_p4_0[] = {
8,
};
-static const long _vq_lengthlist__8c0_s_p4_0[] = {
+static const char _vq_lengthlist__8c0_s_p4_0[] = {
1, 2, 3, 7, 7, 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0,
0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0, 7, 7,
0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0,
@@ -2939,7 +2939,7 @@ static const long _vq_lengthlist__8c0_s_p4_0[] = {
static const static_codebook _8c0_s_p4_0 = {
2, 81,
- (long *)_vq_lengthlist__8c0_s_p4_0,
+ (char *)_vq_lengthlist__8c0_s_p4_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__8c0_s_p4_0,
0
@@ -2957,7 +2957,7 @@ static const long _vq_quantlist__8c0_s_p5_0[] = {
8,
};
-static const long _vq_lengthlist__8c0_s_p5_0[] = {
+static const char _vq_lengthlist__8c0_s_p5_0[] = {
1, 3, 3, 5, 5, 7, 6, 8, 8, 0, 0, 0, 7, 7, 7, 7,
8, 8, 0, 0, 0, 7, 7, 7, 7, 8, 9, 0, 0, 0, 8, 8,
8, 8, 9, 9, 0, 0, 0, 8, 8, 8, 8, 9, 9, 0, 0, 0,
@@ -2968,7 +2968,7 @@ static const long _vq_lengthlist__8c0_s_p5_0[] = {
static const static_codebook _8c0_s_p5_0 = {
2, 81,
- (long *)_vq_lengthlist__8c0_s_p5_0,
+ (char *)_vq_lengthlist__8c0_s_p5_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__8c0_s_p5_0,
0
@@ -2994,7 +2994,7 @@ static const long _vq_quantlist__8c0_s_p6_0[] = {
16,
};
-static const long _vq_lengthlist__8c0_s_p6_0[] = {
+static const char _vq_lengthlist__8c0_s_p6_0[] = {
1, 3, 3, 6, 6, 8, 8, 9, 9, 8, 8,10, 9,10,10,11,
11, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,10,10,11,11,
11,12, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,10,10,11,
@@ -3018,7 +3018,7 @@ static const long _vq_lengthlist__8c0_s_p6_0[] = {
static const static_codebook _8c0_s_p6_0 = {
2, 289,
- (long *)_vq_lengthlist__8c0_s_p6_0,
+ (char *)_vq_lengthlist__8c0_s_p6_0,
1, -529530880, 1611661312, 5, 0,
(long *)_vq_quantlist__8c0_s_p6_0,
0
@@ -3030,7 +3030,7 @@ static const long _vq_quantlist__8c0_s_p7_0[] = {
2,
};
-static const long _vq_lengthlist__8c0_s_p7_0[] = {
+static const char _vq_lengthlist__8c0_s_p7_0[] = {
1, 4, 4, 7, 6, 6, 7, 6, 6, 4, 7, 7,11, 9,10,12,
9,10, 4, 7, 7,10,10,10,11, 9, 9, 6,11,10,11,11,
12,11,11,11, 6,10,10,11,11,12,11,10,10, 6, 9,10,
@@ -3041,7 +3041,7 @@ static const long _vq_lengthlist__8c0_s_p7_0[] = {
static const static_codebook _8c0_s_p7_0 = {
4, 81,
- (long *)_vq_lengthlist__8c0_s_p7_0,
+ (char *)_vq_lengthlist__8c0_s_p7_0,
1, -529137664, 1618345984, 2, 0,
(long *)_vq_quantlist__8c0_s_p7_0,
0
@@ -3061,7 +3061,7 @@ static const long _vq_quantlist__8c0_s_p7_1[] = {
10,
};
-static const long _vq_lengthlist__8c0_s_p7_1[] = {
+static const char _vq_lengthlist__8c0_s_p7_1[] = {
1, 3, 3, 6, 6, 8, 8, 9, 9, 9, 9,10,10,10, 7, 7,
8, 8, 9, 9, 9, 9,10,10, 9, 7, 7, 8, 8, 9, 9, 9,
9,10,10,10, 8, 8, 9, 9, 9, 9, 9, 9,10,10,10, 8,
@@ -3074,7 +3074,7 @@ static const long _vq_lengthlist__8c0_s_p7_1[] = {
static const static_codebook _8c0_s_p7_1 = {
2, 121,
- (long *)_vq_lengthlist__8c0_s_p7_1,
+ (char *)_vq_lengthlist__8c0_s_p7_1,
1, -531365888, 1611661312, 4, 0,
(long *)_vq_quantlist__8c0_s_p7_1,
0
@@ -3096,7 +3096,7 @@ static const long _vq_quantlist__8c0_s_p8_0[] = {
12,
};
-static const long _vq_lengthlist__8c0_s_p8_0[] = {
+static const char _vq_lengthlist__8c0_s_p8_0[] = {
1, 4, 4, 7, 6, 7, 7, 7, 7, 8, 8, 9, 9, 7, 6, 6,
7, 7, 8, 8, 7, 7, 8, 9,10,10, 7, 6, 6, 7, 7, 8,
7, 7, 7, 9, 9,10,12, 0, 8, 8, 8, 8, 8, 9, 8, 8,
@@ -3112,7 +3112,7 @@ static const long _vq_lengthlist__8c0_s_p8_0[] = {
static const static_codebook _8c0_s_p8_0 = {
2, 169,
- (long *)_vq_lengthlist__8c0_s_p8_0,
+ (char *)_vq_lengthlist__8c0_s_p8_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__8c0_s_p8_0,
0
@@ -3126,14 +3126,14 @@ static const long _vq_quantlist__8c0_s_p8_1[] = {
4,
};
-static const long _vq_lengthlist__8c0_s_p8_1[] = {
+static const char _vq_lengthlist__8c0_s_p8_1[] = {
1, 3, 4, 5, 5, 7, 6, 6, 6, 5, 7, 7, 7, 6, 6, 7,
7, 7, 6, 6, 7, 7, 7, 6, 6,
};
static const static_codebook _8c0_s_p8_1 = {
2, 25,
- (long *)_vq_lengthlist__8c0_s_p8_1,
+ (char *)_vq_lengthlist__8c0_s_p8_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__8c0_s_p8_1,
0
@@ -3145,7 +3145,7 @@ static const long _vq_quantlist__8c0_s_p9_0[] = {
2,
};
-static const long _vq_lengthlist__8c0_s_p9_0[] = {
+static const char _vq_lengthlist__8c0_s_p9_0[] = {
1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
@@ -3156,7 +3156,7 @@ static const long _vq_lengthlist__8c0_s_p9_0[] = {
static const static_codebook _8c0_s_p9_0 = {
4, 81,
- (long *)_vq_lengthlist__8c0_s_p9_0,
+ (char *)_vq_lengthlist__8c0_s_p9_0,
1, -518803456, 1628680192, 2, 0,
(long *)_vq_quantlist__8c0_s_p9_0,
0
@@ -3180,7 +3180,7 @@ static const long _vq_quantlist__8c0_s_p9_1[] = {
14,
};
-static const long _vq_lengthlist__8c0_s_p9_1[] = {
+static const char _vq_lengthlist__8c0_s_p9_1[] = {
1, 4, 4, 5, 5,10, 8,11,11,11,11,11,11,11,11, 6,
6, 6, 7, 6,11,10,11,11,11,11,11,11,11,11, 7, 5,
6, 6, 6, 8, 7,11,11,11,11,11,11,11,11,11, 7, 8,
@@ -3200,7 +3200,7 @@ static const long _vq_lengthlist__8c0_s_p9_1[] = {
static const static_codebook _8c0_s_p9_1 = {
2, 225,
- (long *)_vq_lengthlist__8c0_s_p9_1,
+ (char *)_vq_lengthlist__8c0_s_p9_1,
1, -520986624, 1620377600, 4, 0,
(long *)_vq_quantlist__8c0_s_p9_1,
0
@@ -3230,7 +3230,7 @@ static const long _vq_quantlist__8c0_s_p9_2[] = {
20,
};
-static const long _vq_lengthlist__8c0_s_p9_2[] = {
+static const char _vq_lengthlist__8c0_s_p9_2[] = {
1, 5, 5, 7, 7, 8, 7, 8, 8,10,10, 9, 9,10,10,10,
11,11,10,12,11,12,12,12, 9, 8, 8, 8, 8, 8, 9,10,
10,10,10,11,11,11,10,11,11,12,12,11,12, 8, 8, 7,
@@ -3263,13 +3263,13 @@ static const long _vq_lengthlist__8c0_s_p9_2[] = {
static const static_codebook _8c0_s_p9_2 = {
2, 441,
- (long *)_vq_lengthlist__8c0_s_p9_2,
+ (char *)_vq_lengthlist__8c0_s_p9_2,
1, -529268736, 1611661312, 5, 0,
(long *)_vq_quantlist__8c0_s_p9_2,
0
};
-static const long _huff_lengthlist__8c0_s_single[] = {
+static const char _huff_lengthlist__8c0_s_single[] = {
4, 5,18, 7,10, 6, 7, 8, 9,10, 5, 2,18, 5, 7, 5,
6, 7, 8,11,17,17,17,17,17,17,17,17,17,17, 7, 4,
17, 6, 9, 6, 8,10,12,15,11, 7,17, 9, 6, 6, 7, 9,
@@ -3281,7 +3281,7 @@ static const long _huff_lengthlist__8c0_s_single[] = {
static const static_codebook _huff_book__8c0_s_single = {
2, 100,
- (long *)_huff_lengthlist__8c0_s_single,
+ (char *)_huff_lengthlist__8c0_s_single,
0, 0, 0, 0, 0,
NULL,
0
@@ -3293,7 +3293,7 @@ static const long _vq_quantlist__8c1_s_p1_0[] = {
2,
};
-static const long _vq_lengthlist__8c1_s_p1_0[] = {
+static const char _vq_lengthlist__8c1_s_p1_0[] = {
1, 5, 5, 0, 0, 0, 0, 0, 0, 5, 7, 7, 0, 0, 0, 0,
0, 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3709,7 +3709,7 @@ static const long _vq_lengthlist__8c1_s_p1_0[] = {
static const static_codebook _8c1_s_p1_0 = {
8, 6561,
- (long *)_vq_lengthlist__8c1_s_p1_0,
+ (char *)_vq_lengthlist__8c1_s_p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__8c1_s_p1_0,
0
@@ -3723,7 +3723,7 @@ static const long _vq_quantlist__8c1_s_p3_0[] = {
4,
};
-static const long _vq_lengthlist__8c1_s_p3_0[] = {
+static const char _vq_lengthlist__8c1_s_p3_0[] = {
2, 4, 4, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 6, 6, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3768,7 +3768,7 @@ static const long _vq_lengthlist__8c1_s_p3_0[] = {
static const static_codebook _8c1_s_p3_0 = {
4, 625,
- (long *)_vq_lengthlist__8c1_s_p3_0,
+ (char *)_vq_lengthlist__8c1_s_p3_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__8c1_s_p3_0,
0
@@ -3786,7 +3786,7 @@ static const long _vq_quantlist__8c1_s_p4_0[] = {
8,
};
-static const long _vq_lengthlist__8c1_s_p4_0[] = {
+static const char _vq_lengthlist__8c1_s_p4_0[] = {
1, 2, 3, 7, 7, 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0,
0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0, 7, 7,
0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0,
@@ -3797,7 +3797,7 @@ static const long _vq_lengthlist__8c1_s_p4_0[] = {
static const static_codebook _8c1_s_p4_0 = {
2, 81,
- (long *)_vq_lengthlist__8c1_s_p4_0,
+ (char *)_vq_lengthlist__8c1_s_p4_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__8c1_s_p4_0,
0
@@ -3815,7 +3815,7 @@ static const long _vq_quantlist__8c1_s_p5_0[] = {
8,
};
-static const long _vq_lengthlist__8c1_s_p5_0[] = {
+static const char _vq_lengthlist__8c1_s_p5_0[] = {
1, 3, 3, 4, 5, 6, 6, 8, 8, 0, 0, 0, 8, 8, 7, 7,
9, 9, 0, 0, 0, 8, 8, 7, 7, 9, 9, 0, 0, 0, 9,10,
8, 8, 9, 9, 0, 0, 0,10,10, 8, 8, 9, 9, 0, 0, 0,
@@ -3826,7 +3826,7 @@ static const long _vq_lengthlist__8c1_s_p5_0[] = {
static const static_codebook _8c1_s_p5_0 = {
2, 81,
- (long *)_vq_lengthlist__8c1_s_p5_0,
+ (char *)_vq_lengthlist__8c1_s_p5_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__8c1_s_p5_0,
0
@@ -3852,7 +3852,7 @@ static const long _vq_quantlist__8c1_s_p6_0[] = {
16,
};
-static const long _vq_lengthlist__8c1_s_p6_0[] = {
+static const char _vq_lengthlist__8c1_s_p6_0[] = {
1, 3, 3, 5, 5, 8, 8, 8, 8, 9, 9,10,10,11,11,11,
11, 0, 0, 0, 8, 8, 8, 8, 9, 9, 9, 9,10,10,11,11,
12,12, 0, 0, 0, 8, 8, 8, 8, 9, 9, 9, 9,10,10,11,
@@ -3876,7 +3876,7 @@ static const long _vq_lengthlist__8c1_s_p6_0[] = {
static const static_codebook _8c1_s_p6_0 = {
2, 289,
- (long *)_vq_lengthlist__8c1_s_p6_0,
+ (char *)_vq_lengthlist__8c1_s_p6_0,
1, -529530880, 1611661312, 5, 0,
(long *)_vq_quantlist__8c1_s_p6_0,
0
@@ -3888,7 +3888,7 @@ static const long _vq_quantlist__8c1_s_p7_0[] = {
2,
};
-static const long _vq_lengthlist__8c1_s_p7_0[] = {
+static const char _vq_lengthlist__8c1_s_p7_0[] = {
1, 4, 4, 6, 6, 6, 7, 6, 6, 4, 7, 7,10, 9, 9,10,
9, 9, 5, 7, 7,10, 9, 9,10, 9, 9, 6,10,10,10,10,
10,11,10,10, 6, 9, 9,10, 9,10,11,10,10, 6, 9, 9,
@@ -3899,7 +3899,7 @@ static const long _vq_lengthlist__8c1_s_p7_0[] = {
static const static_codebook _8c1_s_p7_0 = {
4, 81,
- (long *)_vq_lengthlist__8c1_s_p7_0,
+ (char *)_vq_lengthlist__8c1_s_p7_0,
1, -529137664, 1618345984, 2, 0,
(long *)_vq_quantlist__8c1_s_p7_0,
0
@@ -3919,7 +3919,7 @@ static const long _vq_quantlist__8c1_s_p7_1[] = {
10,
};
-static const long _vq_lengthlist__8c1_s_p7_1[] = {
+static const char _vq_lengthlist__8c1_s_p7_1[] = {
2, 3, 3, 5, 5, 7, 7, 7, 7, 7, 7,10,10, 9, 7, 7,
7, 7, 8, 8, 8, 8, 9, 9, 9, 7, 7, 7, 7, 8, 8, 8,
8,10,10,10, 7, 7, 7, 7, 8, 8, 8, 8,10,10,10, 7,
@@ -3932,7 +3932,7 @@ static const long _vq_lengthlist__8c1_s_p7_1[] = {
static const static_codebook _8c1_s_p7_1 = {
2, 121,
- (long *)_vq_lengthlist__8c1_s_p7_1,
+ (char *)_vq_lengthlist__8c1_s_p7_1,
1, -531365888, 1611661312, 4, 0,
(long *)_vq_quantlist__8c1_s_p7_1,
0
@@ -3954,7 +3954,7 @@ static const long _vq_quantlist__8c1_s_p8_0[] = {
12,
};
-static const long _vq_lengthlist__8c1_s_p8_0[] = {
+static const char _vq_lengthlist__8c1_s_p8_0[] = {
1, 4, 4, 6, 6, 8, 8, 8, 8, 9, 9,10,10, 7, 5, 5,
7, 7, 8, 8, 8, 8, 9,10,11,11, 7, 5, 5, 7, 7, 8,
8, 9, 9,10,10,11,11, 0, 8, 8, 8, 8, 9, 9, 9, 9,
@@ -3970,7 +3970,7 @@ static const long _vq_lengthlist__8c1_s_p8_0[] = {
static const static_codebook _8c1_s_p8_0 = {
2, 169,
- (long *)_vq_lengthlist__8c1_s_p8_0,
+ (char *)_vq_lengthlist__8c1_s_p8_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__8c1_s_p8_0,
0
@@ -3984,14 +3984,14 @@ static const long _vq_quantlist__8c1_s_p8_1[] = {
4,
};
-static const long _vq_lengthlist__8c1_s_p8_1[] = {
+static const char _vq_lengthlist__8c1_s_p8_1[] = {
2, 3, 3, 5, 5, 6, 6, 6, 5, 5, 6, 6, 6, 5, 5, 6,
6, 6, 5, 5, 6, 6, 6, 5, 5,
};
static const static_codebook _8c1_s_p8_1 = {
2, 25,
- (long *)_vq_lengthlist__8c1_s_p8_1,
+ (char *)_vq_lengthlist__8c1_s_p8_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__8c1_s_p8_1,
0
@@ -4013,7 +4013,7 @@ static const long _vq_quantlist__8c1_s_p9_0[] = {
12,
};
-static const long _vq_lengthlist__8c1_s_p9_0[] = {
+static const char _vq_lengthlist__8c1_s_p9_0[] = {
1, 3, 3,10,10,10,10,10,10,10,10,10,10, 5, 6, 6,
10,10,10,10,10,10,10,10,10,10, 6, 7, 8,10,10,10,
10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
@@ -4029,7 +4029,7 @@ static const long _vq_lengthlist__8c1_s_p9_0[] = {
static const static_codebook _8c1_s_p9_0 = {
2, 169,
- (long *)_vq_lengthlist__8c1_s_p9_0,
+ (char *)_vq_lengthlist__8c1_s_p9_0,
1, -513964032, 1628680192, 4, 0,
(long *)_vq_quantlist__8c1_s_p9_0,
0
@@ -4053,7 +4053,7 @@ static const long _vq_quantlist__8c1_s_p9_1[] = {
14,
};
-static const long _vq_lengthlist__8c1_s_p9_1[] = {
+static const char _vq_lengthlist__8c1_s_p9_1[] = {
1, 4, 4, 5, 5, 7, 7, 9, 9,11,11,12,12,13,13, 6,
5, 5, 6, 6, 9, 9,10,10,12,12,12,13,15,14, 6, 5,
5, 7, 7, 9, 9,10,10,12,12,12,13,14,13,17, 7, 7,
@@ -4073,7 +4073,7 @@ static const long _vq_lengthlist__8c1_s_p9_1[] = {
static const static_codebook _8c1_s_p9_1 = {
2, 225,
- (long *)_vq_lengthlist__8c1_s_p9_1,
+ (char *)_vq_lengthlist__8c1_s_p9_1,
1, -520986624, 1620377600, 4, 0,
(long *)_vq_quantlist__8c1_s_p9_1,
0
@@ -4103,7 +4103,7 @@ static const long _vq_quantlist__8c1_s_p9_2[] = {
20,
};
-static const long _vq_lengthlist__8c1_s_p9_2[] = {
+static const char _vq_lengthlist__8c1_s_p9_2[] = {
2, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8, 9, 8, 9, 9, 9,
9, 9, 9, 9, 9,11,11,12, 7, 7, 7, 7, 8, 8, 9, 9,
9, 9,10,10,10,10,10,10,10,10,11,11,11, 7, 7, 7,
@@ -4136,13 +4136,13 @@ static const long _vq_lengthlist__8c1_s_p9_2[] = {
static const static_codebook _8c1_s_p9_2 = {
2, 441,
- (long *)_vq_lengthlist__8c1_s_p9_2,
+ (char *)_vq_lengthlist__8c1_s_p9_2,
1, -529268736, 1611661312, 5, 0,
(long *)_vq_quantlist__8c1_s_p9_2,
0
};
-static const long _huff_lengthlist__8c1_s_single[] = {
+static const char _huff_lengthlist__8c1_s_single[] = {
4, 6,18, 8,11, 8, 8, 9, 9,10, 4, 4,18, 5, 9, 5,
6, 7, 8,10,18,18,18,18,17,17,17,17,17,17, 7, 5,
17, 6,11, 6, 7, 8, 9,12,12, 9,17,12, 8, 8, 9,10,
@@ -4154,13 +4154,13 @@ static const long _huff_lengthlist__8c1_s_single[] = {
static const static_codebook _huff_book__8c1_s_single = {
2, 100,
- (long *)_huff_lengthlist__8c1_s_single,
+ (char *)_huff_lengthlist__8c1_s_single,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist__44c2_s_long[] = {
+static const char _huff_lengthlist__44c2_s_long[] = {
6, 6,12,10,10,10, 9,10,12,12, 6, 1,10, 5, 6, 6,
7, 9,11,14,12, 9, 8,11, 7, 8, 9,11,13,15,10, 5,
12, 7, 8, 7, 9,12,14,15,10, 6, 7, 8, 5, 6, 7, 9,
@@ -4172,7 +4172,7 @@ static const long _huff_lengthlist__44c2_s_long[] = {
static const static_codebook _huff_book__44c2_s_long = {
2, 100,
- (long *)_huff_lengthlist__44c2_s_long,
+ (char *)_huff_lengthlist__44c2_s_long,
0, 0, 0, 0, 0,
NULL,
0
@@ -4184,7 +4184,7 @@ static const long _vq_quantlist__44c2_s_p1_0[] = {
2,
};
-static const long _vq_lengthlist__44c2_s_p1_0[] = {
+static const char _vq_lengthlist__44c2_s_p1_0[] = {
2, 4, 4, 0, 0, 0, 0, 0, 0, 5, 6, 6, 0, 0, 0, 0,
0, 0, 5, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4600,7 +4600,7 @@ static const long _vq_lengthlist__44c2_s_p1_0[] = {
static const static_codebook _44c2_s_p1_0 = {
8, 6561,
- (long *)_vq_lengthlist__44c2_s_p1_0,
+ (char *)_vq_lengthlist__44c2_s_p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44c2_s_p1_0,
0
@@ -4614,7 +4614,7 @@ static const long _vq_quantlist__44c2_s_p2_0[] = {
4,
};
-static const long _vq_lengthlist__44c2_s_p2_0[] = {
+static const char _vq_lengthlist__44c2_s_p2_0[] = {
1, 4, 4, 0, 0, 0, 7, 7, 0, 0, 0, 7, 7, 0, 0, 0,
8, 8, 0, 0, 0, 0, 0, 0, 0, 4, 6, 6, 0, 0, 0, 8,
8, 0, 0, 0, 8, 8, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0,
@@ -4659,7 +4659,7 @@ static const long _vq_lengthlist__44c2_s_p2_0[] = {
static const static_codebook _44c2_s_p2_0 = {
4, 625,
- (long *)_vq_lengthlist__44c2_s_p2_0,
+ (char *)_vq_lengthlist__44c2_s_p2_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44c2_s_p2_0,
0
@@ -4673,7 +4673,7 @@ static const long _vq_quantlist__44c2_s_p3_0[] = {
4,
};
-static const long _vq_lengthlist__44c2_s_p3_0[] = {
+static const char _vq_lengthlist__44c2_s_p3_0[] = {
2, 4, 3, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 6, 6, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -4718,7 +4718,7 @@ static const long _vq_lengthlist__44c2_s_p3_0[] = {
static const static_codebook _44c2_s_p3_0 = {
4, 625,
- (long *)_vq_lengthlist__44c2_s_p3_0,
+ (char *)_vq_lengthlist__44c2_s_p3_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44c2_s_p3_0,
0
@@ -4736,7 +4736,7 @@ static const long _vq_quantlist__44c2_s_p4_0[] = {
8,
};
-static const long _vq_lengthlist__44c2_s_p4_0[] = {
+static const char _vq_lengthlist__44c2_s_p4_0[] = {
1, 3, 3, 6, 6, 0, 0, 0, 0, 0, 6, 6, 6, 6, 0, 0,
0, 0, 0, 6, 6, 6, 6, 0, 0, 0, 0, 0, 7, 7, 6, 6,
0, 0, 0, 0, 0, 0, 0, 6, 7, 0, 0, 0, 0, 0, 0, 0,
@@ -4747,7 +4747,7 @@ static const long _vq_lengthlist__44c2_s_p4_0[] = {
static const static_codebook _44c2_s_p4_0 = {
2, 81,
- (long *)_vq_lengthlist__44c2_s_p4_0,
+ (char *)_vq_lengthlist__44c2_s_p4_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__44c2_s_p4_0,
0
@@ -4765,7 +4765,7 @@ static const long _vq_quantlist__44c2_s_p5_0[] = {
8,
};
-static const long _vq_lengthlist__44c2_s_p5_0[] = {
+static const char _vq_lengthlist__44c2_s_p5_0[] = {
1, 3, 3, 6, 6, 7, 7, 9, 9, 0, 7, 7, 7, 7, 7, 7,
9, 9, 0, 7, 7, 7, 7, 7, 7, 9, 9, 0, 8, 8, 7, 7,
8, 8,10,10, 0, 0, 0, 7, 7, 8, 8,10,10, 0, 0, 0,
@@ -4776,7 +4776,7 @@ static const long _vq_lengthlist__44c2_s_p5_0[] = {
static const static_codebook _44c2_s_p5_0 = {
2, 81,
- (long *)_vq_lengthlist__44c2_s_p5_0,
+ (char *)_vq_lengthlist__44c2_s_p5_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__44c2_s_p5_0,
0
@@ -4802,7 +4802,7 @@ static const long _vq_quantlist__44c2_s_p6_0[] = {
16,
};
-static const long _vq_lengthlist__44c2_s_p6_0[] = {
+static const char _vq_lengthlist__44c2_s_p6_0[] = {
1, 4, 3, 6, 6, 8, 8, 9, 9, 9, 9, 9, 9,10,10,11,
11, 0, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9,10,10,11,11,
12,11, 0, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9,10,10,11,
@@ -4826,7 +4826,7 @@ static const long _vq_lengthlist__44c2_s_p6_0[] = {
static const static_codebook _44c2_s_p6_0 = {
2, 289,
- (long *)_vq_lengthlist__44c2_s_p6_0,
+ (char *)_vq_lengthlist__44c2_s_p6_0,
1, -529530880, 1611661312, 5, 0,
(long *)_vq_quantlist__44c2_s_p6_0,
0
@@ -4838,7 +4838,7 @@ static const long _vq_quantlist__44c2_s_p7_0[] = {
2,
};
-static const long _vq_lengthlist__44c2_s_p7_0[] = {
+static const char _vq_lengthlist__44c2_s_p7_0[] = {
1, 4, 4, 7, 6, 6, 7, 6, 6, 4, 7, 7,10, 9, 9,11,
9, 9, 4, 7, 7,10, 9, 9,10, 9, 9, 7,10,10,11,10,
11,11,10,11, 6, 9, 9,11,10,10,11,10,10, 6, 9, 9,
@@ -4849,7 +4849,7 @@ static const long _vq_lengthlist__44c2_s_p7_0[] = {
static const static_codebook _44c2_s_p7_0 = {
4, 81,
- (long *)_vq_lengthlist__44c2_s_p7_0,
+ (char *)_vq_lengthlist__44c2_s_p7_0,
1, -529137664, 1618345984, 2, 0,
(long *)_vq_quantlist__44c2_s_p7_0,
0
@@ -4869,7 +4869,7 @@ static const long _vq_quantlist__44c2_s_p7_1[] = {
10,
};
-static const long _vq_lengthlist__44c2_s_p7_1[] = {
+static const char _vq_lengthlist__44c2_s_p7_1[] = {
2, 3, 4, 6, 6, 7, 7, 7, 7, 7, 7, 9, 7, 7, 6, 6,
7, 7, 8, 8, 8, 8, 9, 6, 6, 6, 6, 7, 7, 8, 8, 8,
8,10, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8,10,10,10, 7,
@@ -4882,7 +4882,7 @@ static const long _vq_lengthlist__44c2_s_p7_1[] = {
static const static_codebook _44c2_s_p7_1 = {
2, 121,
- (long *)_vq_lengthlist__44c2_s_p7_1,
+ (char *)_vq_lengthlist__44c2_s_p7_1,
1, -531365888, 1611661312, 4, 0,
(long *)_vq_quantlist__44c2_s_p7_1,
0
@@ -4904,7 +4904,7 @@ static const long _vq_quantlist__44c2_s_p8_0[] = {
12,
};
-static const long _vq_lengthlist__44c2_s_p8_0[] = {
+static const char _vq_lengthlist__44c2_s_p8_0[] = {
1, 4, 4, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 6, 5, 5,
7, 7, 8, 8, 8, 8, 9, 9,10,10, 7, 6, 5, 7, 7, 8,
8, 8, 8, 9, 9,10,10, 0, 8, 8, 8, 8, 9, 9, 9, 9,
@@ -4920,7 +4920,7 @@ static const long _vq_lengthlist__44c2_s_p8_0[] = {
static const static_codebook _44c2_s_p8_0 = {
2, 169,
- (long *)_vq_lengthlist__44c2_s_p8_0,
+ (char *)_vq_lengthlist__44c2_s_p8_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__44c2_s_p8_0,
0
@@ -4934,14 +4934,14 @@ static const long _vq_quantlist__44c2_s_p8_1[] = {
4,
};
-static const long _vq_lengthlist__44c2_s_p8_1[] = {
+static const char _vq_lengthlist__44c2_s_p8_1[] = {
2, 4, 4, 5, 4, 6, 5, 5, 5, 5, 6, 5, 5, 5, 5, 6,
5, 5, 5, 5, 6, 6, 6, 5, 5,
};
static const static_codebook _44c2_s_p8_1 = {
2, 25,
- (long *)_vq_lengthlist__44c2_s_p8_1,
+ (char *)_vq_lengthlist__44c2_s_p8_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44c2_s_p8_1,
0
@@ -4963,7 +4963,7 @@ static const long _vq_quantlist__44c2_s_p9_0[] = {
12,
};
-static const long _vq_lengthlist__44c2_s_p9_0[] = {
+static const char _vq_lengthlist__44c2_s_p9_0[] = {
1, 5, 4,12,12,12,12,12,12,12,12,12,12, 4, 9, 8,
11,11,11,11,11,11,11,11,11,11, 2, 8, 7,11,11,11,
11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
@@ -4979,7 +4979,7 @@ static const long _vq_lengthlist__44c2_s_p9_0[] = {
static const static_codebook _44c2_s_p9_0 = {
2, 169,
- (long *)_vq_lengthlist__44c2_s_p9_0,
+ (char *)_vq_lengthlist__44c2_s_p9_0,
1, -514541568, 1627103232, 4, 0,
(long *)_vq_quantlist__44c2_s_p9_0,
0
@@ -5001,7 +5001,7 @@ static const long _vq_quantlist__44c2_s_p9_1[] = {
12,
};
-static const long _vq_lengthlist__44c2_s_p9_1[] = {
+static const char _vq_lengthlist__44c2_s_p9_1[] = {
1, 4, 4, 6, 6, 7, 6, 8, 8,10, 9,10,10, 6, 5, 5,
7, 7, 8, 7,10, 9,11,11,12,13, 6, 5, 5, 7, 7, 8,
8,10,10,11,11,13,13,18, 8, 8, 8, 8, 9, 9,10,10,
@@ -5017,7 +5017,7 @@ static const long _vq_lengthlist__44c2_s_p9_1[] = {
static const static_codebook _44c2_s_p9_1 = {
2, 169,
- (long *)_vq_lengthlist__44c2_s_p9_1,
+ (char *)_vq_lengthlist__44c2_s_p9_1,
1, -522616832, 1620115456, 4, 0,
(long *)_vq_quantlist__44c2_s_p9_1,
0
@@ -5043,7 +5043,7 @@ static const long _vq_quantlist__44c2_s_p9_2[] = {
16,
};
-static const long _vq_lengthlist__44c2_s_p9_2[] = {
+static const char _vq_lengthlist__44c2_s_p9_2[] = {
2, 4, 4, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8,
8,10, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9,
9, 9,10, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9,
@@ -5067,13 +5067,13 @@ static const long _vq_lengthlist__44c2_s_p9_2[] = {
static const static_codebook _44c2_s_p9_2 = {
2, 289,
- (long *)_vq_lengthlist__44c2_s_p9_2,
+ (char *)_vq_lengthlist__44c2_s_p9_2,
1, -529530880, 1611661312, 5, 0,
(long *)_vq_quantlist__44c2_s_p9_2,
0
};
-static const long _huff_lengthlist__44c2_s_short[] = {
+static const char _huff_lengthlist__44c2_s_short[] = {
11, 9,13,12,12,11,12,12,13,15, 8, 2,11, 4, 8, 5,
7,10,12,15,13, 7,10, 9, 8, 8,10,13,17,17,11, 4,
12, 5, 9, 5, 8,11,14,16,12, 6, 8, 7, 6, 6, 8,11,
@@ -5085,13 +5085,13 @@ static const long _huff_lengthlist__44c2_s_short[] = {
static const static_codebook _huff_book__44c2_s_short = {
2, 100,
- (long *)_huff_lengthlist__44c2_s_short,
+ (char *)_huff_lengthlist__44c2_s_short,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist__44c3_s_long[] = {
+static const char _huff_lengthlist__44c3_s_long[] = {
5, 6,11,11,11,11,10,10,12,11, 5, 2,11, 5, 6, 6,
7, 9,11,13,13,10, 7,11, 6, 7, 8, 9,10,12,11, 5,
11, 6, 8, 7, 9,11,14,15,11, 6, 6, 8, 4, 5, 7, 8,
@@ -5103,7 +5103,7 @@ static const long _huff_lengthlist__44c3_s_long[] = {
static const static_codebook _huff_book__44c3_s_long = {
2, 100,
- (long *)_huff_lengthlist__44c3_s_long,
+ (char *)_huff_lengthlist__44c3_s_long,
0, 0, 0, 0, 0,
NULL,
0
@@ -5115,7 +5115,7 @@ static const long _vq_quantlist__44c3_s_p1_0[] = {
2,
};
-static const long _vq_lengthlist__44c3_s_p1_0[] = {
+static const char _vq_lengthlist__44c3_s_p1_0[] = {
2, 4, 4, 0, 0, 0, 0, 0, 0, 5, 6, 6, 0, 0, 0, 0,
0, 0, 5, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5531,7 +5531,7 @@ static const long _vq_lengthlist__44c3_s_p1_0[] = {
static const static_codebook _44c3_s_p1_0 = {
8, 6561,
- (long *)_vq_lengthlist__44c3_s_p1_0,
+ (char *)_vq_lengthlist__44c3_s_p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44c3_s_p1_0,
0
@@ -5545,7 +5545,7 @@ static const long _vq_quantlist__44c3_s_p2_0[] = {
4,
};
-static const long _vq_lengthlist__44c3_s_p2_0[] = {
+static const char _vq_lengthlist__44c3_s_p2_0[] = {
2, 5, 5, 0, 0, 0, 5, 5, 0, 0, 0, 5, 5, 0, 0, 0,
7, 8, 0, 0, 0, 0, 0, 0, 0, 5, 6, 6, 0, 0, 0, 7,
7, 0, 0, 0, 7, 7, 0, 0, 0,10,10, 0, 0, 0, 0, 0,
@@ -5590,7 +5590,7 @@ static const long _vq_lengthlist__44c3_s_p2_0[] = {
static const static_codebook _44c3_s_p2_0 = {
4, 625,
- (long *)_vq_lengthlist__44c3_s_p2_0,
+ (char *)_vq_lengthlist__44c3_s_p2_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44c3_s_p2_0,
0
@@ -5604,7 +5604,7 @@ static const long _vq_quantlist__44c3_s_p3_0[] = {
4,
};
-static const long _vq_lengthlist__44c3_s_p3_0[] = {
+static const char _vq_lengthlist__44c3_s_p3_0[] = {
2, 4, 3, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 6, 6, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -5649,7 +5649,7 @@ static const long _vq_lengthlist__44c3_s_p3_0[] = {
static const static_codebook _44c3_s_p3_0 = {
4, 625,
- (long *)_vq_lengthlist__44c3_s_p3_0,
+ (char *)_vq_lengthlist__44c3_s_p3_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44c3_s_p3_0,
0
@@ -5667,7 +5667,7 @@ static const long _vq_quantlist__44c3_s_p4_0[] = {
8,
};
-static const long _vq_lengthlist__44c3_s_p4_0[] = {
+static const char _vq_lengthlist__44c3_s_p4_0[] = {
2, 3, 3, 6, 6, 0, 0, 0, 0, 0, 4, 4, 6, 6, 0, 0,
0, 0, 0, 4, 4, 6, 6, 0, 0, 0, 0, 0, 5, 5, 6, 6,
0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0,
@@ -5678,7 +5678,7 @@ static const long _vq_lengthlist__44c3_s_p4_0[] = {
static const static_codebook _44c3_s_p4_0 = {
2, 81,
- (long *)_vq_lengthlist__44c3_s_p4_0,
+ (char *)_vq_lengthlist__44c3_s_p4_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__44c3_s_p4_0,
0
@@ -5696,7 +5696,7 @@ static const long _vq_quantlist__44c3_s_p5_0[] = {
8,
};
-static const long _vq_lengthlist__44c3_s_p5_0[] = {
+static const char _vq_lengthlist__44c3_s_p5_0[] = {
1, 3, 4, 6, 6, 7, 7, 9, 9, 0, 5, 5, 7, 7, 7, 8,
9, 9, 0, 5, 5, 7, 7, 8, 8, 9, 9, 0, 7, 7, 8, 8,
8, 8,10,10, 0, 0, 0, 8, 8, 8, 8,10,10, 0, 0, 0,
@@ -5707,7 +5707,7 @@ static const long _vq_lengthlist__44c3_s_p5_0[] = {
static const static_codebook _44c3_s_p5_0 = {
2, 81,
- (long *)_vq_lengthlist__44c3_s_p5_0,
+ (char *)_vq_lengthlist__44c3_s_p5_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__44c3_s_p5_0,
0
@@ -5733,7 +5733,7 @@ static const long _vq_quantlist__44c3_s_p6_0[] = {
16,
};
-static const long _vq_lengthlist__44c3_s_p6_0[] = {
+static const char _vq_lengthlist__44c3_s_p6_0[] = {
2, 3, 3, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,10,10,11,
10, 0, 5, 5, 7, 7, 8, 8, 9, 9, 9, 9,10,10,10,10,
11,11, 0, 5, 5, 7, 7, 8, 8, 9, 9, 9, 9,10,10,10,
@@ -5757,7 +5757,7 @@ static const long _vq_lengthlist__44c3_s_p6_0[] = {
static const static_codebook _44c3_s_p6_0 = {
2, 289,
- (long *)_vq_lengthlist__44c3_s_p6_0,
+ (char *)_vq_lengthlist__44c3_s_p6_0,
1, -529530880, 1611661312, 5, 0,
(long *)_vq_quantlist__44c3_s_p6_0,
0
@@ -5769,7 +5769,7 @@ static const long _vq_quantlist__44c3_s_p7_0[] = {
2,
};
-static const long _vq_lengthlist__44c3_s_p7_0[] = {
+static const char _vq_lengthlist__44c3_s_p7_0[] = {
1, 4, 4, 7, 6, 6, 7, 6, 6, 4, 7, 7,10, 9, 9,11,
9, 9, 4, 7, 7,10, 9, 9,11, 9, 9, 7,10,10,11,11,
10,12,11,11, 6, 9, 9,11,10,10,11,10,10, 6, 9, 9,
@@ -5780,7 +5780,7 @@ static const long _vq_lengthlist__44c3_s_p7_0[] = {
static const static_codebook _44c3_s_p7_0 = {
4, 81,
- (long *)_vq_lengthlist__44c3_s_p7_0,
+ (char *)_vq_lengthlist__44c3_s_p7_0,
1, -529137664, 1618345984, 2, 0,
(long *)_vq_quantlist__44c3_s_p7_0,
0
@@ -5800,7 +5800,7 @@ static const long _vq_quantlist__44c3_s_p7_1[] = {
10,
};
-static const long _vq_lengthlist__44c3_s_p7_1[] = {
+static const char _vq_lengthlist__44c3_s_p7_1[] = {
2, 4, 4, 6, 6, 7, 7, 7, 7, 8, 8,10, 5, 5, 6, 6,
7, 7, 8, 8, 8, 8,10, 5, 5, 6, 6, 7, 7, 8, 8, 8,
8,10, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8,10,10,10, 7,
@@ -5813,7 +5813,7 @@ static const long _vq_lengthlist__44c3_s_p7_1[] = {
static const static_codebook _44c3_s_p7_1 = {
2, 121,
- (long *)_vq_lengthlist__44c3_s_p7_1,
+ (char *)_vq_lengthlist__44c3_s_p7_1,
1, -531365888, 1611661312, 4, 0,
(long *)_vq_quantlist__44c3_s_p7_1,
0
@@ -5835,7 +5835,7 @@ static const long _vq_quantlist__44c3_s_p8_0[] = {
12,
};
-static const long _vq_lengthlist__44c3_s_p8_0[] = {
+static const char _vq_lengthlist__44c3_s_p8_0[] = {
1, 4, 4, 6, 6, 7, 7, 8, 8, 9, 9,10,10, 6, 5, 5,
7, 7, 8, 8, 8, 8, 9, 9,10,10, 7, 5, 5, 7, 7, 8,
8, 8, 8, 9, 9,11,10, 0, 8, 8, 8, 8, 9, 9, 9, 9,
@@ -5851,7 +5851,7 @@ static const long _vq_lengthlist__44c3_s_p8_0[] = {
static const static_codebook _44c3_s_p8_0 = {
2, 169,
- (long *)_vq_lengthlist__44c3_s_p8_0,
+ (char *)_vq_lengthlist__44c3_s_p8_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__44c3_s_p8_0,
0
@@ -5865,14 +5865,14 @@ static const long _vq_quantlist__44c3_s_p8_1[] = {
4,
};
-static const long _vq_lengthlist__44c3_s_p8_1[] = {
+static const char _vq_lengthlist__44c3_s_p8_1[] = {
2, 4, 4, 5, 5, 6, 5, 5, 5, 5, 6, 4, 5, 5, 5, 6,
5, 5, 5, 5, 6, 6, 6, 5, 5,
};
static const static_codebook _44c3_s_p8_1 = {
2, 25,
- (long *)_vq_lengthlist__44c3_s_p8_1,
+ (char *)_vq_lengthlist__44c3_s_p8_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44c3_s_p8_1,
0
@@ -5894,7 +5894,7 @@ static const long _vq_quantlist__44c3_s_p9_0[] = {
12,
};
-static const long _vq_lengthlist__44c3_s_p9_0[] = {
+static const char _vq_lengthlist__44c3_s_p9_0[] = {
1, 4, 4,12,12,12,12,12,12,12,12,12,12, 4, 9, 8,
12,12,12,12,12,12,12,12,12,12, 2, 9, 7,12,12,12,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
@@ -5910,7 +5910,7 @@ static const long _vq_lengthlist__44c3_s_p9_0[] = {
static const static_codebook _44c3_s_p9_0 = {
2, 169,
- (long *)_vq_lengthlist__44c3_s_p9_0,
+ (char *)_vq_lengthlist__44c3_s_p9_0,
1, -514332672, 1627381760, 4, 0,
(long *)_vq_quantlist__44c3_s_p9_0,
0
@@ -5934,7 +5934,7 @@ static const long _vq_quantlist__44c3_s_p9_1[] = {
14,
};
-static const long _vq_lengthlist__44c3_s_p9_1[] = {
+static const char _vq_lengthlist__44c3_s_p9_1[] = {
1, 4, 4, 6, 6, 7, 7, 8, 7, 9, 9,10,10,10,10, 6,
5, 5, 7, 7, 8, 8,10, 8,11,10,12,12,13,13, 6, 5,
5, 7, 7, 8, 8,10, 9,11,11,12,12,13,12,18, 8, 8,
@@ -5954,7 +5954,7 @@ static const long _vq_lengthlist__44c3_s_p9_1[] = {
static const static_codebook _44c3_s_p9_1 = {
2, 225,
- (long *)_vq_lengthlist__44c3_s_p9_1,
+ (char *)_vq_lengthlist__44c3_s_p9_1,
1, -522338304, 1620115456, 4, 0,
(long *)_vq_quantlist__44c3_s_p9_1,
0
@@ -5980,7 +5980,7 @@ static const long _vq_quantlist__44c3_s_p9_2[] = {
16,
};
-static const long _vq_lengthlist__44c3_s_p9_2[] = {
+static const char _vq_lengthlist__44c3_s_p9_2[] = {
2, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8,
8,10, 6, 6, 7, 7, 8, 7, 8, 8, 8, 8, 8, 9, 9, 9,
9, 9,10, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9,
@@ -6004,13 +6004,13 @@ static const long _vq_lengthlist__44c3_s_p9_2[] = {
static const static_codebook _44c3_s_p9_2 = {
2, 289,
- (long *)_vq_lengthlist__44c3_s_p9_2,
+ (char *)_vq_lengthlist__44c3_s_p9_2,
1, -529530880, 1611661312, 5, 0,
(long *)_vq_quantlist__44c3_s_p9_2,
0
};
-static const long _huff_lengthlist__44c3_s_short[] = {
+static const char _huff_lengthlist__44c3_s_short[] = {
10, 9,13,11,14,10,12,13,13,14, 7, 2,12, 5,10, 5,
7,10,12,14,12, 6, 9, 8, 7, 7, 9,11,13,16,10, 4,
12, 5,10, 6, 8,12,14,16,12, 6, 8, 7, 6, 5, 7,11,
@@ -6022,13 +6022,13 @@ static const long _huff_lengthlist__44c3_s_short[] = {
static const static_codebook _huff_book__44c3_s_short = {
2, 100,
- (long *)_huff_lengthlist__44c3_s_short,
+ (char *)_huff_lengthlist__44c3_s_short,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist__44c4_s_long[] = {
+static const char _huff_lengthlist__44c4_s_long[] = {
4, 7,11,11,11,11,10,11,12,11, 5, 2,11, 5, 6, 6,
7, 9,11,12,11, 9, 6,10, 6, 7, 8, 9,10,11,11, 5,
11, 7, 8, 8, 9,11,13,14,11, 6, 5, 8, 4, 5, 7, 8,
@@ -6040,7 +6040,7 @@ static const long _huff_lengthlist__44c4_s_long[] = {
static const static_codebook _huff_book__44c4_s_long = {
2, 100,
- (long *)_huff_lengthlist__44c4_s_long,
+ (char *)_huff_lengthlist__44c4_s_long,
0, 0, 0, 0, 0,
NULL,
0
@@ -6052,7 +6052,7 @@ static const long _vq_quantlist__44c4_s_p1_0[] = {
2,
};
-static const long _vq_lengthlist__44c4_s_p1_0[] = {
+static const char _vq_lengthlist__44c4_s_p1_0[] = {
2, 4, 4, 0, 0, 0, 0, 0, 0, 5, 6, 6, 0, 0, 0, 0,
0, 0, 5, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6468,7 +6468,7 @@ static const long _vq_lengthlist__44c4_s_p1_0[] = {
static const static_codebook _44c4_s_p1_0 = {
8, 6561,
- (long *)_vq_lengthlist__44c4_s_p1_0,
+ (char *)_vq_lengthlist__44c4_s_p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44c4_s_p1_0,
0
@@ -6482,7 +6482,7 @@ static const long _vq_quantlist__44c4_s_p2_0[] = {
4,
};
-static const long _vq_lengthlist__44c4_s_p2_0[] = {
+static const char _vq_lengthlist__44c4_s_p2_0[] = {
2, 5, 5, 0, 0, 0, 5, 5, 0, 0, 0, 5, 5, 0, 0, 0,
7, 7, 0, 0, 0, 0, 0, 0, 0, 5, 6, 6, 0, 0, 0, 7,
7, 0, 0, 0, 7, 7, 0, 0, 0,10,10, 0, 0, 0, 0, 0,
@@ -6527,7 +6527,7 @@ static const long _vq_lengthlist__44c4_s_p2_0[] = {
static const static_codebook _44c4_s_p2_0 = {
4, 625,
- (long *)_vq_lengthlist__44c4_s_p2_0,
+ (char *)_vq_lengthlist__44c4_s_p2_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44c4_s_p2_0,
0
@@ -6541,7 +6541,7 @@ static const long _vq_quantlist__44c4_s_p3_0[] = {
4,
};
-static const long _vq_lengthlist__44c4_s_p3_0[] = {
+static const char _vq_lengthlist__44c4_s_p3_0[] = {
2, 3, 3, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 4, 6, 6, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -6586,7 +6586,7 @@ static const long _vq_lengthlist__44c4_s_p3_0[] = {
static const static_codebook _44c4_s_p3_0 = {
4, 625,
- (long *)_vq_lengthlist__44c4_s_p3_0,
+ (char *)_vq_lengthlist__44c4_s_p3_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44c4_s_p3_0,
0
@@ -6604,7 +6604,7 @@ static const long _vq_quantlist__44c4_s_p4_0[] = {
8,
};
-static const long _vq_lengthlist__44c4_s_p4_0[] = {
+static const char _vq_lengthlist__44c4_s_p4_0[] = {
2, 3, 3, 6, 6, 0, 0, 0, 0, 0, 4, 4, 6, 6, 0, 0,
0, 0, 0, 4, 4, 6, 6, 0, 0, 0, 0, 0, 5, 5, 6, 6,
0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0,
@@ -6615,7 +6615,7 @@ static const long _vq_lengthlist__44c4_s_p4_0[] = {
static const static_codebook _44c4_s_p4_0 = {
2, 81,
- (long *)_vq_lengthlist__44c4_s_p4_0,
+ (char *)_vq_lengthlist__44c4_s_p4_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__44c4_s_p4_0,
0
@@ -6633,7 +6633,7 @@ static const long _vq_quantlist__44c4_s_p5_0[] = {
8,
};
-static const long _vq_lengthlist__44c4_s_p5_0[] = {
+static const char _vq_lengthlist__44c4_s_p5_0[] = {
2, 3, 3, 6, 6, 7, 7, 9, 9, 0, 4, 4, 6, 6, 7, 7,
9, 9, 0, 4, 5, 6, 6, 7, 7, 9, 9, 0, 6, 6, 7, 7,
8, 8,10,10, 0, 0, 0, 7, 7, 8, 8,10, 9, 0, 0, 0,
@@ -6644,7 +6644,7 @@ static const long _vq_lengthlist__44c4_s_p5_0[] = {
static const static_codebook _44c4_s_p5_0 = {
2, 81,
- (long *)_vq_lengthlist__44c4_s_p5_0,
+ (char *)_vq_lengthlist__44c4_s_p5_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__44c4_s_p5_0,
0
@@ -6670,7 +6670,7 @@ static const long _vq_quantlist__44c4_s_p6_0[] = {
16,
};
-static const long _vq_lengthlist__44c4_s_p6_0[] = {
+static const char _vq_lengthlist__44c4_s_p6_0[] = {
2, 4, 4, 6, 6, 8, 8, 9, 9, 8, 8, 9, 9,10,10,11,
11, 0, 4, 4, 6, 6, 8, 8, 9, 9, 9, 9,10,10,11,11,
11,11, 0, 4, 4, 7, 6, 8, 8, 9, 9, 9, 9,10,10,11,
@@ -6694,7 +6694,7 @@ static const long _vq_lengthlist__44c4_s_p6_0[] = {
static const static_codebook _44c4_s_p6_0 = {
2, 289,
- (long *)_vq_lengthlist__44c4_s_p6_0,
+ (char *)_vq_lengthlist__44c4_s_p6_0,
1, -529530880, 1611661312, 5, 0,
(long *)_vq_quantlist__44c4_s_p6_0,
0
@@ -6706,7 +6706,7 @@ static const long _vq_quantlist__44c4_s_p7_0[] = {
2,
};
-static const long _vq_lengthlist__44c4_s_p7_0[] = {
+static const char _vq_lengthlist__44c4_s_p7_0[] = {
1, 4, 4, 7, 6, 6, 7, 6, 6, 4, 7, 7,10, 9, 9,11,
9, 9, 4, 7, 7,10, 9, 9,11, 9, 9, 7,10,10,11,11,
10,11,11,11, 6, 9, 9,11,10,10,11,10,10, 6, 9, 9,
@@ -6717,7 +6717,7 @@ static const long _vq_lengthlist__44c4_s_p7_0[] = {
static const static_codebook _44c4_s_p7_0 = {
4, 81,
- (long *)_vq_lengthlist__44c4_s_p7_0,
+ (char *)_vq_lengthlist__44c4_s_p7_0,
1, -529137664, 1618345984, 2, 0,
(long *)_vq_quantlist__44c4_s_p7_0,
0
@@ -6737,7 +6737,7 @@ static const long _vq_quantlist__44c4_s_p7_1[] = {
10,
};
-static const long _vq_lengthlist__44c4_s_p7_1[] = {
+static const char _vq_lengthlist__44c4_s_p7_1[] = {
2, 4, 4, 6, 6, 7, 7, 7, 7, 8, 8,10, 5, 5, 6, 6,
7, 7, 8, 8, 8, 8,10, 5, 5, 6, 6, 7, 7, 8, 8, 8,
8,10, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8,10,10,10, 7,
@@ -6750,7 +6750,7 @@ static const long _vq_lengthlist__44c4_s_p7_1[] = {
static const static_codebook _44c4_s_p7_1 = {
2, 121,
- (long *)_vq_lengthlist__44c4_s_p7_1,
+ (char *)_vq_lengthlist__44c4_s_p7_1,
1, -531365888, 1611661312, 4, 0,
(long *)_vq_quantlist__44c4_s_p7_1,
0
@@ -6772,7 +6772,7 @@ static const long _vq_quantlist__44c4_s_p8_0[] = {
12,
};
-static const long _vq_lengthlist__44c4_s_p8_0[] = {
+static const char _vq_lengthlist__44c4_s_p8_0[] = {
1, 4, 4, 6, 6, 7, 7, 8, 8, 9, 9,10,10, 6, 5, 5,
7, 7, 8, 8, 8, 8, 9,10,11,11, 7, 5, 5, 7, 7, 8,
8, 9, 9,10,10,11,11, 0, 8, 8, 8, 8, 9, 9, 9, 9,
@@ -6788,7 +6788,7 @@ static const long _vq_lengthlist__44c4_s_p8_0[] = {
static const static_codebook _44c4_s_p8_0 = {
2, 169,
- (long *)_vq_lengthlist__44c4_s_p8_0,
+ (char *)_vq_lengthlist__44c4_s_p8_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__44c4_s_p8_0,
0
@@ -6802,14 +6802,14 @@ static const long _vq_quantlist__44c4_s_p8_1[] = {
4,
};
-static const long _vq_lengthlist__44c4_s_p8_1[] = {
+static const char _vq_lengthlist__44c4_s_p8_1[] = {
2, 4, 4, 5, 5, 6, 5, 5, 5, 5, 6, 5, 4, 5, 5, 6,
5, 5, 5, 5, 6, 6, 6, 5, 5,
};
static const static_codebook _44c4_s_p8_1 = {
2, 25,
- (long *)_vq_lengthlist__44c4_s_p8_1,
+ (char *)_vq_lengthlist__44c4_s_p8_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44c4_s_p8_1,
0
@@ -6831,7 +6831,7 @@ static const long _vq_quantlist__44c4_s_p9_0[] = {
12,
};
-static const long _vq_lengthlist__44c4_s_p9_0[] = {
+static const char _vq_lengthlist__44c4_s_p9_0[] = {
1, 3, 3,12,12,12,12,12,12,12,12,12,12, 4, 7, 7,
12,12,12,12,12,12,12,12,12,12, 3, 8, 8,12,12,12,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
@@ -6847,7 +6847,7 @@ static const long _vq_lengthlist__44c4_s_p9_0[] = {
static const static_codebook _44c4_s_p9_0 = {
2, 169,
- (long *)_vq_lengthlist__44c4_s_p9_0,
+ (char *)_vq_lengthlist__44c4_s_p9_0,
1, -513964032, 1628680192, 4, 0,
(long *)_vq_quantlist__44c4_s_p9_0,
0
@@ -6871,7 +6871,7 @@ static const long _vq_quantlist__44c4_s_p9_1[] = {
14,
};
-static const long _vq_lengthlist__44c4_s_p9_1[] = {
+static const char _vq_lengthlist__44c4_s_p9_1[] = {
1, 4, 4, 5, 5, 7, 7, 9, 8,10, 9,10,10,10,10, 6,
5, 5, 7, 7, 9, 8,10, 9,11,10,12,12,13,13, 6, 5,
5, 7, 7, 9, 9,10,10,11,11,12,12,12,13,19, 8, 8,
@@ -6891,7 +6891,7 @@ static const long _vq_lengthlist__44c4_s_p9_1[] = {
static const static_codebook _44c4_s_p9_1 = {
2, 225,
- (long *)_vq_lengthlist__44c4_s_p9_1,
+ (char *)_vq_lengthlist__44c4_s_p9_1,
1, -520986624, 1620377600, 4, 0,
(long *)_vq_quantlist__44c4_s_p9_1,
0
@@ -6921,7 +6921,7 @@ static const long _vq_quantlist__44c4_s_p9_2[] = {
20,
};
-static const long _vq_lengthlist__44c4_s_p9_2[] = {
+static const char _vq_lengthlist__44c4_s_p9_2[] = {
2, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8,
8, 9, 9, 9, 9,11, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,
9, 9, 9, 9, 9, 9,10,10,10,10,11, 6, 6, 7, 7, 8,
@@ -6954,13 +6954,13 @@ static const long _vq_lengthlist__44c4_s_p9_2[] = {
static const static_codebook _44c4_s_p9_2 = {
2, 441,
- (long *)_vq_lengthlist__44c4_s_p9_2,
+ (char *)_vq_lengthlist__44c4_s_p9_2,
1, -529268736, 1611661312, 5, 0,
(long *)_vq_quantlist__44c4_s_p9_2,
0
};
-static const long _huff_lengthlist__44c4_s_short[] = {
+static const char _huff_lengthlist__44c4_s_short[] = {
4, 7,14,10,15,10,12,15,16,15, 4, 2,11, 5,10, 6,
8,11,14,14,14,10, 7,11, 6, 8,10,11,13,15, 9, 4,
11, 5, 9, 6, 9,12,14,15,14, 9, 6, 9, 4, 5, 7,10,
@@ -6972,13 +6972,13 @@ static const long _huff_lengthlist__44c4_s_short[] = {
static const static_codebook _huff_book__44c4_s_short = {
2, 100,
- (long *)_huff_lengthlist__44c4_s_short,
+ (char *)_huff_lengthlist__44c4_s_short,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist__44c5_s_long[] = {
+static const char _huff_lengthlist__44c5_s_long[] = {
3, 8, 9,13,10,12,12,12,12,12, 6, 4, 6, 8, 6, 8,
10,10,11,12, 8, 5, 4,10, 4, 7, 8, 9,10,11,13, 8,
10, 8, 9, 9,11,12,13,14,10, 6, 4, 9, 3, 5, 6, 8,
@@ -6990,7 +6990,7 @@ static const long _huff_lengthlist__44c5_s_long[] = {
static const static_codebook _huff_book__44c5_s_long = {
2, 100,
- (long *)_huff_lengthlist__44c5_s_long,
+ (char *)_huff_lengthlist__44c5_s_long,
0, 0, 0, 0, 0,
NULL,
0
@@ -7002,7 +7002,7 @@ static const long _vq_quantlist__44c5_s_p1_0[] = {
2,
};
-static const long _vq_lengthlist__44c5_s_p1_0[] = {
+static const char _vq_lengthlist__44c5_s_p1_0[] = {
2, 4, 4, 0, 0, 0, 0, 0, 0, 4, 7, 7, 0, 0, 0, 0,
0, 0, 4, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7418,7 +7418,7 @@ static const long _vq_lengthlist__44c5_s_p1_0[] = {
static const static_codebook _44c5_s_p1_0 = {
8, 6561,
- (long *)_vq_lengthlist__44c5_s_p1_0,
+ (char *)_vq_lengthlist__44c5_s_p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44c5_s_p1_0,
0
@@ -7432,7 +7432,7 @@ static const long _vq_quantlist__44c5_s_p2_0[] = {
4,
};
-static const long _vq_lengthlist__44c5_s_p2_0[] = {
+static const char _vq_lengthlist__44c5_s_p2_0[] = {
2, 4, 4, 0, 0, 0, 5, 5, 0, 0, 0, 5, 5, 0, 0, 0,
8, 7, 0, 0, 0, 0, 0, 0, 0, 4, 6, 6, 0, 0, 0, 8,
8, 0, 0, 0, 8, 7, 0, 0, 0,10,10, 0, 0, 0, 0, 0,
@@ -7477,7 +7477,7 @@ static const long _vq_lengthlist__44c5_s_p2_0[] = {
static const static_codebook _44c5_s_p2_0 = {
4, 625,
- (long *)_vq_lengthlist__44c5_s_p2_0,
+ (char *)_vq_lengthlist__44c5_s_p2_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44c5_s_p2_0,
0
@@ -7491,7 +7491,7 @@ static const long _vq_quantlist__44c5_s_p3_0[] = {
4,
};
-static const long _vq_lengthlist__44c5_s_p3_0[] = {
+static const char _vq_lengthlist__44c5_s_p3_0[] = {
2, 4, 3, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 5, 6, 6, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7536,7 +7536,7 @@ static const long _vq_lengthlist__44c5_s_p3_0[] = {
static const static_codebook _44c5_s_p3_0 = {
4, 625,
- (long *)_vq_lengthlist__44c5_s_p3_0,
+ (char *)_vq_lengthlist__44c5_s_p3_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44c5_s_p3_0,
0
@@ -7554,7 +7554,7 @@ static const long _vq_quantlist__44c5_s_p4_0[] = {
8,
};
-static const long _vq_lengthlist__44c5_s_p4_0[] = {
+static const char _vq_lengthlist__44c5_s_p4_0[] = {
2, 3, 3, 6, 6, 0, 0, 0, 0, 0, 4, 4, 6, 6, 0, 0,
0, 0, 0, 4, 4, 6, 6, 0, 0, 0, 0, 0, 5, 5, 6, 6,
0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0,
@@ -7565,7 +7565,7 @@ static const long _vq_lengthlist__44c5_s_p4_0[] = {
static const static_codebook _44c5_s_p4_0 = {
2, 81,
- (long *)_vq_lengthlist__44c5_s_p4_0,
+ (char *)_vq_lengthlist__44c5_s_p4_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__44c5_s_p4_0,
0
@@ -7583,7 +7583,7 @@ static const long _vq_quantlist__44c5_s_p5_0[] = {
8,
};
-static const long _vq_lengthlist__44c5_s_p5_0[] = {
+static const char _vq_lengthlist__44c5_s_p5_0[] = {
2, 4, 3, 6, 6, 7, 7, 9, 9, 0, 4, 4, 6, 6, 7, 7,
9, 9, 0, 4, 4, 6, 6, 7, 7, 9, 9, 0, 6, 6, 7, 7,
7, 7, 9, 9, 0, 0, 0, 7, 6, 7, 7, 9, 9, 0, 0, 0,
@@ -7594,7 +7594,7 @@ static const long _vq_lengthlist__44c5_s_p5_0[] = {
static const static_codebook _44c5_s_p5_0 = {
2, 81,
- (long *)_vq_lengthlist__44c5_s_p5_0,
+ (char *)_vq_lengthlist__44c5_s_p5_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__44c5_s_p5_0,
0
@@ -7620,7 +7620,7 @@ static const long _vq_quantlist__44c5_s_p6_0[] = {
16,
};
-static const long _vq_lengthlist__44c5_s_p6_0[] = {
+static const char _vq_lengthlist__44c5_s_p6_0[] = {
2, 4, 4, 6, 6, 8, 8, 9, 9, 9, 9,10,10,10,10,11,
11, 0, 4, 4, 6, 6, 8, 8, 9, 9, 9, 9,10,10,11,11,
12,12, 0, 4, 4, 6, 6, 8, 8, 9, 9, 9, 9,10,10,11,
@@ -7644,7 +7644,7 @@ static const long _vq_lengthlist__44c5_s_p6_0[] = {
static const static_codebook _44c5_s_p6_0 = {
2, 289,
- (long *)_vq_lengthlist__44c5_s_p6_0,
+ (char *)_vq_lengthlist__44c5_s_p6_0,
1, -529530880, 1611661312, 5, 0,
(long *)_vq_quantlist__44c5_s_p6_0,
0
@@ -7656,7 +7656,7 @@ static const long _vq_quantlist__44c5_s_p7_0[] = {
2,
};
-static const long _vq_lengthlist__44c5_s_p7_0[] = {
+static const char _vq_lengthlist__44c5_s_p7_0[] = {
1, 4, 4, 7, 6, 6, 7, 6, 6, 4, 7, 7,10, 9, 9,11,
9, 9, 4, 7, 7,10, 9, 9,11, 9, 9, 7,10,10,11,11,
10,11,11,11, 6, 9, 9,11,10,10,11,10,10, 6, 9, 9,
@@ -7667,7 +7667,7 @@ static const long _vq_lengthlist__44c5_s_p7_0[] = {
static const static_codebook _44c5_s_p7_0 = {
4, 81,
- (long *)_vq_lengthlist__44c5_s_p7_0,
+ (char *)_vq_lengthlist__44c5_s_p7_0,
1, -529137664, 1618345984, 2, 0,
(long *)_vq_quantlist__44c5_s_p7_0,
0
@@ -7687,7 +7687,7 @@ static const long _vq_quantlist__44c5_s_p7_1[] = {
10,
};
-static const long _vq_lengthlist__44c5_s_p7_1[] = {
+static const char _vq_lengthlist__44c5_s_p7_1[] = {
2, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8,10, 5, 5, 6, 6,
7, 7, 8, 8, 8, 8,10, 5, 5, 6, 6, 7, 7, 8, 8, 8,
8,10, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8,10,10,10, 7,
@@ -7700,7 +7700,7 @@ static const long _vq_lengthlist__44c5_s_p7_1[] = {
static const static_codebook _44c5_s_p7_1 = {
2, 121,
- (long *)_vq_lengthlist__44c5_s_p7_1,
+ (char *)_vq_lengthlist__44c5_s_p7_1,
1, -531365888, 1611661312, 4, 0,
(long *)_vq_quantlist__44c5_s_p7_1,
0
@@ -7722,7 +7722,7 @@ static const long _vq_quantlist__44c5_s_p8_0[] = {
12,
};
-static const long _vq_lengthlist__44c5_s_p8_0[] = {
+static const char _vq_lengthlist__44c5_s_p8_0[] = {
1, 4, 4, 6, 6, 7, 7, 8, 8, 9, 9,10,10, 6, 5, 5,
7, 7, 8, 8, 8, 9,10,10,10,10, 7, 5, 5, 7, 7, 8,
8, 9, 9,10,10,10,10, 0, 8, 8, 8, 8, 9, 9, 9, 9,
@@ -7738,7 +7738,7 @@ static const long _vq_lengthlist__44c5_s_p8_0[] = {
static const static_codebook _44c5_s_p8_0 = {
2, 169,
- (long *)_vq_lengthlist__44c5_s_p8_0,
+ (char *)_vq_lengthlist__44c5_s_p8_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__44c5_s_p8_0,
0
@@ -7752,14 +7752,14 @@ static const long _vq_quantlist__44c5_s_p8_1[] = {
4,
};
-static const long _vq_lengthlist__44c5_s_p8_1[] = {
+static const char _vq_lengthlist__44c5_s_p8_1[] = {
2, 4, 4, 5, 5, 6, 5, 5, 5, 5, 6, 4, 5, 5, 5, 6,
5, 5, 5, 5, 6, 6, 6, 5, 5,
};
static const static_codebook _44c5_s_p8_1 = {
2, 25,
- (long *)_vq_lengthlist__44c5_s_p8_1,
+ (char *)_vq_lengthlist__44c5_s_p8_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44c5_s_p8_1,
0
@@ -7783,7 +7783,7 @@ static const long _vq_quantlist__44c5_s_p9_0[] = {
14,
};
-static const long _vq_lengthlist__44c5_s_p9_0[] = {
+static const char _vq_lengthlist__44c5_s_p9_0[] = {
1, 3, 3,13,13,13,13,13,13,13,13,13,13,13,13, 4,
7, 7,13,13,13,13,13,13,13,13,13,13,13,13, 3, 8,
6,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,
@@ -7803,7 +7803,7 @@ static const long _vq_lengthlist__44c5_s_p9_0[] = {
static const static_codebook _44c5_s_p9_0 = {
2, 225,
- (long *)_vq_lengthlist__44c5_s_p9_0,
+ (char *)_vq_lengthlist__44c5_s_p9_0,
1, -512522752, 1628852224, 4, 0,
(long *)_vq_quantlist__44c5_s_p9_0,
0
@@ -7829,7 +7829,7 @@ static const long _vq_quantlist__44c5_s_p9_1[] = {
16,
};
-static const long _vq_lengthlist__44c5_s_p9_1[] = {
+static const char _vq_lengthlist__44c5_s_p9_1[] = {
1, 4, 4, 5, 5, 7, 7, 9, 8,10, 9,10,10,11,10,11,
11, 6, 5, 5, 7, 7, 8, 9,10,10,11,10,12,11,12,11,
13,12, 6, 5, 5, 7, 7, 9, 9,10,10,11,11,12,12,13,
@@ -7853,7 +7853,7 @@ static const long _vq_lengthlist__44c5_s_p9_1[] = {
static const static_codebook _44c5_s_p9_1 = {
2, 289,
- (long *)_vq_lengthlist__44c5_s_p9_1,
+ (char *)_vq_lengthlist__44c5_s_p9_1,
1, -520814592, 1620377600, 5, 0,
(long *)_vq_quantlist__44c5_s_p9_1,
0
@@ -7883,7 +7883,7 @@ static const long _vq_quantlist__44c5_s_p9_2[] = {
20,
};
-static const long _vq_lengthlist__44c5_s_p9_2[] = {
+static const char _vq_lengthlist__44c5_s_p9_2[] = {
3, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 9,11, 5, 6, 7, 7, 8, 7, 8, 8, 8, 8,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9,11, 5, 5, 7, 7, 7,
@@ -7916,13 +7916,13 @@ static const long _vq_lengthlist__44c5_s_p9_2[] = {
static const static_codebook _44c5_s_p9_2 = {
2, 441,
- (long *)_vq_lengthlist__44c5_s_p9_2,
+ (char *)_vq_lengthlist__44c5_s_p9_2,
1, -529268736, 1611661312, 5, 0,
(long *)_vq_quantlist__44c5_s_p9_2,
0
};
-static const long _huff_lengthlist__44c5_s_short[] = {
+static const char _huff_lengthlist__44c5_s_short[] = {
5, 8,10,14,11,11,12,16,15,17, 5, 5, 7, 9, 7, 8,
10,13,17,17, 7, 5, 5,10, 5, 7, 8,11,13,15,10, 8,
10, 8, 8, 8,11,15,18,18, 8, 5, 5, 8, 3, 4, 6,10,
@@ -7934,13 +7934,13 @@ static const long _huff_lengthlist__44c5_s_short[] = {
static const static_codebook _huff_book__44c5_s_short = {
2, 100,
- (long *)_huff_lengthlist__44c5_s_short,
+ (char *)_huff_lengthlist__44c5_s_short,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist__44c6_s_long[] = {
+static const char _huff_lengthlist__44c6_s_long[] = {
3, 8,11,13,14,14,13,13,16,14, 6, 3, 4, 7, 9, 9,
10,11,14,13,10, 4, 3, 5, 7, 7, 9,10,13,15,12, 7,
4, 4, 6, 6, 8,10,13,15,12, 8, 6, 6, 6, 6, 8,10,
@@ -7952,7 +7952,7 @@ static const long _huff_lengthlist__44c6_s_long[] = {
static const static_codebook _huff_book__44c6_s_long = {
2, 100,
- (long *)_huff_lengthlist__44c6_s_long,
+ (char *)_huff_lengthlist__44c6_s_long,
0, 0, 0, 0, 0,
NULL,
0
@@ -7964,7 +7964,7 @@ static const long _vq_quantlist__44c6_s_p1_0[] = {
2,
};
-static const long _vq_lengthlist__44c6_s_p1_0[] = {
+static const char _vq_lengthlist__44c6_s_p1_0[] = {
1, 5, 5, 0, 5, 5, 0, 5, 5, 5, 8, 7, 0, 9, 9, 0,
9, 8, 5, 7, 8, 0, 9, 9, 0, 8, 9, 0, 0, 0, 0, 0,
0, 0, 0, 0, 5, 9, 8, 0, 8, 8, 0, 8, 8, 5, 8, 9,
@@ -7974,7 +7974,7 @@ static const long _vq_lengthlist__44c6_s_p1_0[] = {
};
static const static_codebook _44c6_s_p1_0 = {
4, 81,
- (long *)_vq_lengthlist__44c6_s_p1_0,
+ (char *)_vq_lengthlist__44c6_s_p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44c6_s_p1_0,
0
@@ -7988,7 +7988,7 @@ static const long _vq_quantlist__44c6_s_p2_0[] = {
4,
};
-static const long _vq_lengthlist__44c6_s_p2_0[] = {
+static const char _vq_lengthlist__44c6_s_p2_0[] = {
3, 5, 5, 8, 8, 0, 5, 5, 8, 8, 0, 5, 5, 8, 8, 0,
7, 7, 9, 9, 0, 0, 0, 9, 9, 5, 7, 7, 9, 9, 0, 8,
8,10,10, 0, 8, 7,10, 9, 0,10,10,11,11, 0, 0, 0,
@@ -8033,7 +8033,7 @@ static const long _vq_lengthlist__44c6_s_p2_0[] = {
static const static_codebook _44c6_s_p2_0 = {
4, 625,
- (long *)_vq_lengthlist__44c6_s_p2_0,
+ (char *)_vq_lengthlist__44c6_s_p2_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44c6_s_p2_0,
0
@@ -8051,7 +8051,7 @@ static const long _vq_quantlist__44c6_s_p3_0[] = {
8,
};
-static const long _vq_lengthlist__44c6_s_p3_0[] = {
+static const char _vq_lengthlist__44c6_s_p3_0[] = {
2, 3, 4, 6, 6, 7, 7, 9, 9, 0, 4, 4, 6, 6, 7, 7,
9,10, 0, 4, 4, 6, 6, 7, 7,10, 9, 0, 5, 5, 7, 7,
8, 8,10,10, 0, 0, 0, 7, 6, 8, 8,10,10, 0, 0, 0,
@@ -8062,7 +8062,7 @@ static const long _vq_lengthlist__44c6_s_p3_0[] = {
static const static_codebook _44c6_s_p3_0 = {
2, 81,
- (long *)_vq_lengthlist__44c6_s_p3_0,
+ (char *)_vq_lengthlist__44c6_s_p3_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__44c6_s_p3_0,
0
@@ -8088,7 +8088,7 @@ static const long _vq_quantlist__44c6_s_p4_0[] = {
16,
};
-static const long _vq_lengthlist__44c6_s_p4_0[] = {
+static const char _vq_lengthlist__44c6_s_p4_0[] = {
2, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9,10,10,
10, 0, 4, 4, 6, 6, 8, 8, 9, 9, 9, 9,10,10,10,10,
11,11, 0, 4, 4, 6, 6, 8, 8, 9, 9, 9, 9,10,10,10,
@@ -8112,7 +8112,7 @@ static const long _vq_lengthlist__44c6_s_p4_0[] = {
static const static_codebook _44c6_s_p4_0 = {
2, 289,
- (long *)_vq_lengthlist__44c6_s_p4_0,
+ (char *)_vq_lengthlist__44c6_s_p4_0,
1, -529530880, 1611661312, 5, 0,
(long *)_vq_quantlist__44c6_s_p4_0,
0
@@ -8124,7 +8124,7 @@ static const long _vq_quantlist__44c6_s_p5_0[] = {
2,
};
-static const long _vq_lengthlist__44c6_s_p5_0[] = {
+static const char _vq_lengthlist__44c6_s_p5_0[] = {
1, 4, 4, 5, 7, 7, 6, 7, 7, 4, 6, 6, 9, 9,10,10,
10, 9, 4, 6, 6, 9,10, 9,10, 9,10, 6, 9, 9,10,12,
11,10,11,11, 7,10, 9,11,12,12,12,12,12, 7,10,10,
@@ -8135,7 +8135,7 @@ static const long _vq_lengthlist__44c6_s_p5_0[] = {
static const static_codebook _44c6_s_p5_0 = {
4, 81,
- (long *)_vq_lengthlist__44c6_s_p5_0,
+ (char *)_vq_lengthlist__44c6_s_p5_0,
1, -529137664, 1618345984, 2, 0,
(long *)_vq_quantlist__44c6_s_p5_0,
0
@@ -8155,7 +8155,7 @@ static const long _vq_quantlist__44c6_s_p5_1[] = {
10,
};
-static const long _vq_lengthlist__44c6_s_p5_1[] = {
+static const char _vq_lengthlist__44c6_s_p5_1[] = {
3, 5, 4, 6, 6, 7, 7, 8, 8, 8, 8,11, 4, 4, 6, 6,
7, 7, 8, 8, 8, 8,11, 4, 4, 6, 6, 7, 7, 8, 8, 8,
8,11, 6, 6, 6, 6, 8, 8, 8, 8, 9, 9,11,11,11, 6,
@@ -8168,7 +8168,7 @@ static const long _vq_lengthlist__44c6_s_p5_1[] = {
static const static_codebook _44c6_s_p5_1 = {
2, 121,
- (long *)_vq_lengthlist__44c6_s_p5_1,
+ (char *)_vq_lengthlist__44c6_s_p5_1,
1, -531365888, 1611661312, 4, 0,
(long *)_vq_quantlist__44c6_s_p5_1,
0
@@ -8190,7 +8190,7 @@ static const long _vq_quantlist__44c6_s_p6_0[] = {
12,
};
-static const long _vq_lengthlist__44c6_s_p6_0[] = {
+static const char _vq_lengthlist__44c6_s_p6_0[] = {
1, 4, 4, 6, 6, 8, 8, 8, 8,10, 9,10,10, 6, 5, 5,
7, 7, 9, 9, 9, 9,10,10,11,11, 6, 5, 5, 7, 7, 9,
9,10, 9,11,10,11,11, 0, 6, 6, 7, 7, 9, 9,10,10,
@@ -8206,7 +8206,7 @@ static const long _vq_lengthlist__44c6_s_p6_0[] = {
static const static_codebook _44c6_s_p6_0 = {
2, 169,
- (long *)_vq_lengthlist__44c6_s_p6_0,
+ (char *)_vq_lengthlist__44c6_s_p6_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__44c6_s_p6_0,
0
@@ -8220,14 +8220,14 @@ static const long _vq_quantlist__44c6_s_p6_1[] = {
4,
};
-static const long _vq_lengthlist__44c6_s_p6_1[] = {
+static const char _vq_lengthlist__44c6_s_p6_1[] = {
3, 4, 4, 5, 5, 5, 4, 4, 5, 5, 5, 4, 4, 5, 5, 6,
5, 5, 5, 5, 6, 6, 6, 5, 5,
};
static const static_codebook _44c6_s_p6_1 = {
2, 25,
- (long *)_vq_lengthlist__44c6_s_p6_1,
+ (char *)_vq_lengthlist__44c6_s_p6_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44c6_s_p6_1,
0
@@ -8249,7 +8249,7 @@ static const long _vq_quantlist__44c6_s_p7_0[] = {
12,
};
-static const long _vq_lengthlist__44c6_s_p7_0[] = {
+static const char _vq_lengthlist__44c6_s_p7_0[] = {
1, 4, 4, 6, 6, 8, 8, 8, 8,10,10,11,10, 6, 5, 5,
7, 7, 8, 8, 9, 9,10,10,12,11, 6, 5, 5, 7, 7, 8,
8, 9, 9,10,10,12,11,21, 7, 7, 7, 7, 9, 9,10,10,
@@ -8265,7 +8265,7 @@ static const long _vq_lengthlist__44c6_s_p7_0[] = {
static const static_codebook _44c6_s_p7_0 = {
2, 169,
- (long *)_vq_lengthlist__44c6_s_p7_0,
+ (char *)_vq_lengthlist__44c6_s_p7_0,
1, -523206656, 1618345984, 4, 0,
(long *)_vq_quantlist__44c6_s_p7_0,
0
@@ -8285,7 +8285,7 @@ static const long _vq_quantlist__44c6_s_p7_1[] = {
10,
};
-static const long _vq_lengthlist__44c6_s_p7_1[] = {
+static const char _vq_lengthlist__44c6_s_p7_1[] = {
3, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7, 9, 5, 5, 6, 6,
7, 7, 7, 7, 8, 7, 8, 5, 5, 6, 6, 7, 7, 7, 7, 7,
7, 9, 6, 6, 7, 7, 7, 7, 8, 7, 7, 8, 9, 9, 9, 7,
@@ -8298,7 +8298,7 @@ static const long _vq_lengthlist__44c6_s_p7_1[] = {
static const static_codebook _44c6_s_p7_1 = {
2, 121,
- (long *)_vq_lengthlist__44c6_s_p7_1,
+ (char *)_vq_lengthlist__44c6_s_p7_1,
1, -531365888, 1611661312, 4, 0,
(long *)_vq_quantlist__44c6_s_p7_1,
0
@@ -8322,7 +8322,7 @@ static const long _vq_quantlist__44c6_s_p8_0[] = {
14,
};
-static const long _vq_lengthlist__44c6_s_p8_0[] = {
+static const char _vq_lengthlist__44c6_s_p8_0[] = {
1, 4, 4, 7, 7, 8, 8, 7, 7, 8, 7, 9, 8,10, 9, 6,
5, 5, 8, 8, 9, 9, 8, 8, 9, 9,11,10,11,10, 6, 5,
5, 8, 8, 9, 9, 8, 8, 9, 9,10,10,11,11,18, 8, 8,
@@ -8342,7 +8342,7 @@ static const long _vq_lengthlist__44c6_s_p8_0[] = {
static const static_codebook _44c6_s_p8_0 = {
2, 225,
- (long *)_vq_lengthlist__44c6_s_p8_0,
+ (char *)_vq_lengthlist__44c6_s_p8_0,
1, -520986624, 1620377600, 4, 0,
(long *)_vq_quantlist__44c6_s_p8_0,
0
@@ -8372,7 +8372,7 @@ static const long _vq_quantlist__44c6_s_p8_1[] = {
20,
};
-static const long _vq_lengthlist__44c6_s_p8_1[] = {
+static const char _vq_lengthlist__44c6_s_p8_1[] = {
3, 5, 5, 6, 6, 7, 7, 7, 7, 8, 7, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8,10, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10, 6, 6, 7, 7, 8,
@@ -8405,7 +8405,7 @@ static const long _vq_lengthlist__44c6_s_p8_1[] = {
static const static_codebook _44c6_s_p8_1 = {
2, 441,
- (long *)_vq_lengthlist__44c6_s_p8_1,
+ (char *)_vq_lengthlist__44c6_s_p8_1,
1, -529268736, 1611661312, 5, 0,
(long *)_vq_quantlist__44c6_s_p8_1,
0
@@ -8427,7 +8427,7 @@ static const long _vq_quantlist__44c6_s_p9_0[] = {
12,
};
-static const long _vq_lengthlist__44c6_s_p9_0[] = {
+static const char _vq_lengthlist__44c6_s_p9_0[] = {
1, 3, 3,11,11,11,11,11,11,11,11,11,11, 4, 7, 7,
11,11,11,11,11,11,11,11,11,11, 5, 8, 9,11,11,11,
11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
@@ -8443,7 +8443,7 @@ static const long _vq_lengthlist__44c6_s_p9_0[] = {
static const static_codebook _44c6_s_p9_0 = {
2, 169,
- (long *)_vq_lengthlist__44c6_s_p9_0,
+ (char *)_vq_lengthlist__44c6_s_p9_0,
1, -511845376, 1630791680, 4, 0,
(long *)_vq_quantlist__44c6_s_p9_0,
0
@@ -8465,7 +8465,7 @@ static const long _vq_quantlist__44c6_s_p9_1[] = {
12,
};
-static const long _vq_lengthlist__44c6_s_p9_1[] = {
+static const char _vq_lengthlist__44c6_s_p9_1[] = {
1, 4, 4, 7, 7, 7, 7, 7, 6, 8, 8, 8, 8, 6, 6, 6,
8, 8, 8, 8, 8, 7, 9, 8,10,10, 5, 6, 6, 8, 8, 9,
9, 8, 8,10,10,10,10,16, 9, 9, 9, 9, 9, 9, 9, 8,
@@ -8481,7 +8481,7 @@ static const long _vq_lengthlist__44c6_s_p9_1[] = {
static const static_codebook _44c6_s_p9_1 = {
2, 169,
- (long *)_vq_lengthlist__44c6_s_p9_1,
+ (char *)_vq_lengthlist__44c6_s_p9_1,
1, -518889472, 1622704128, 4, 0,
(long *)_vq_quantlist__44c6_s_p9_1,
0
@@ -8539,7 +8539,7 @@ static const long _vq_quantlist__44c6_s_p9_2[] = {
48,
};
-static const long _vq_lengthlist__44c6_s_p9_2[] = {
+static const char _vq_lengthlist__44c6_s_p9_2[] = {
2, 4, 3, 4, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
@@ -8548,13 +8548,13 @@ static const long _vq_lengthlist__44c6_s_p9_2[] = {
static const static_codebook _44c6_s_p9_2 = {
1, 49,
- (long *)_vq_lengthlist__44c6_s_p9_2,
+ (char *)_vq_lengthlist__44c6_s_p9_2,
1, -526909440, 1611661312, 6, 0,
(long *)_vq_quantlist__44c6_s_p9_2,
0
};
-static const long _huff_lengthlist__44c6_s_short[] = {
+static const char _huff_lengthlist__44c6_s_short[] = {
3, 9,11,11,13,14,19,17,17,19, 5, 4, 5, 8,10,10,
13,16,18,19, 7, 4, 4, 5, 8, 9,12,14,17,19, 8, 6,
5, 5, 7, 7,10,13,16,18,10, 8, 7, 6, 5, 5, 8,11,
@@ -8566,13 +8566,13 @@ static const long _huff_lengthlist__44c6_s_short[] = {
static const static_codebook _huff_book__44c6_s_short = {
2, 100,
- (long *)_huff_lengthlist__44c6_s_short,
+ (char *)_huff_lengthlist__44c6_s_short,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist__44c7_s_long[] = {
+static const char _huff_lengthlist__44c7_s_long[] = {
3, 8,11,13,15,14,14,13,15,14, 6, 4, 5, 7, 9,10,
11,11,14,13,10, 4, 3, 5, 7, 8, 9,10,13,13,12, 7,
4, 4, 5, 6, 8, 9,12,14,13, 9, 6, 5, 5, 6, 8, 9,
@@ -8584,7 +8584,7 @@ static const long _huff_lengthlist__44c7_s_long[] = {
static const static_codebook _huff_book__44c7_s_long = {
2, 100,
- (long *)_huff_lengthlist__44c7_s_long,
+ (char *)_huff_lengthlist__44c7_s_long,
0, 0, 0, 0, 0,
NULL,
0
@@ -8596,7 +8596,7 @@ static const long _vq_quantlist__44c7_s_p1_0[] = {
2,
};
-static const long _vq_lengthlist__44c7_s_p1_0[] = {
+static const char _vq_lengthlist__44c7_s_p1_0[] = {
1, 5, 5, 0, 5, 5, 0, 5, 5, 5, 8, 7, 0, 9, 9, 0,
9, 8, 5, 7, 8, 0, 9, 9, 0, 8, 9, 0, 0, 0, 0, 0,
0, 0, 0, 0, 5, 9, 9, 0, 8, 8, 0, 8, 8, 5, 8, 9,
@@ -8607,7 +8607,7 @@ static const long _vq_lengthlist__44c7_s_p1_0[] = {
static const static_codebook _44c7_s_p1_0 = {
4, 81,
- (long *)_vq_lengthlist__44c7_s_p1_0,
+ (char *)_vq_lengthlist__44c7_s_p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44c7_s_p1_0,
0
@@ -8621,7 +8621,7 @@ static const long _vq_quantlist__44c7_s_p2_0[] = {
4,
};
-static const long _vq_lengthlist__44c7_s_p2_0[] = {
+static const char _vq_lengthlist__44c7_s_p2_0[] = {
3, 5, 5, 8, 8, 0, 5, 5, 8, 8, 0, 5, 5, 8, 8, 0,
7, 7, 9, 9, 0, 0, 0, 9, 9, 5, 7, 7, 9, 9, 0, 8,
8,10,10, 0, 8, 7,10, 9, 0,10,10,11,11, 0, 0, 0,
@@ -8666,7 +8666,7 @@ static const long _vq_lengthlist__44c7_s_p2_0[] = {
static const static_codebook _44c7_s_p2_0 = {
4, 625,
- (long *)_vq_lengthlist__44c7_s_p2_0,
+ (char *)_vq_lengthlist__44c7_s_p2_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44c7_s_p2_0,
0
@@ -8684,7 +8684,7 @@ static const long _vq_quantlist__44c7_s_p3_0[] = {
8,
};
-static const long _vq_lengthlist__44c7_s_p3_0[] = {
+static const char _vq_lengthlist__44c7_s_p3_0[] = {
2, 4, 4, 5, 5, 7, 7, 9, 9, 0, 4, 4, 6, 6, 7, 7,
9, 9, 0, 4, 4, 6, 6, 7, 7, 9, 9, 0, 5, 5, 6, 6,
8, 8,10,10, 0, 0, 0, 6, 6, 8, 8,10,10, 0, 0, 0,
@@ -8695,7 +8695,7 @@ static const long _vq_lengthlist__44c7_s_p3_0[] = {
static const static_codebook _44c7_s_p3_0 = {
2, 81,
- (long *)_vq_lengthlist__44c7_s_p3_0,
+ (char *)_vq_lengthlist__44c7_s_p3_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__44c7_s_p3_0,
0
@@ -8721,7 +8721,7 @@ static const long _vq_quantlist__44c7_s_p4_0[] = {
16,
};
-static const long _vq_lengthlist__44c7_s_p4_0[] = {
+static const char _vq_lengthlist__44c7_s_p4_0[] = {
3, 4, 4, 5, 5, 7, 7, 8, 8, 8, 8, 9, 9,10,10,11,
11, 0, 4, 4, 6, 6, 7, 7, 8, 8, 9, 9,10,10,11,11,
12,12, 0, 4, 4, 6, 6, 7, 7, 8, 8, 9, 9,10,10,11,
@@ -8745,7 +8745,7 @@ static const long _vq_lengthlist__44c7_s_p4_0[] = {
static const static_codebook _44c7_s_p4_0 = {
2, 289,
- (long *)_vq_lengthlist__44c7_s_p4_0,
+ (char *)_vq_lengthlist__44c7_s_p4_0,
1, -529530880, 1611661312, 5, 0,
(long *)_vq_quantlist__44c7_s_p4_0,
0
@@ -8757,7 +8757,7 @@ static const long _vq_quantlist__44c7_s_p5_0[] = {
2,
};
-static const long _vq_lengthlist__44c7_s_p5_0[] = {
+static const char _vq_lengthlist__44c7_s_p5_0[] = {
1, 4, 4, 5, 7, 7, 6, 7, 7, 4, 6, 7,10,10,10,10,
10, 9, 4, 6, 6,10,10,10,10, 9,10, 5,10,10, 9,11,
12,10,11,12, 7,10,10,11,12,12,12,12,12, 7,10,10,
@@ -8768,7 +8768,7 @@ static const long _vq_lengthlist__44c7_s_p5_0[] = {
static const static_codebook _44c7_s_p5_0 = {
4, 81,
- (long *)_vq_lengthlist__44c7_s_p5_0,
+ (char *)_vq_lengthlist__44c7_s_p5_0,
1, -529137664, 1618345984, 2, 0,
(long *)_vq_quantlist__44c7_s_p5_0,
0
@@ -8788,7 +8788,7 @@ static const long _vq_quantlist__44c7_s_p5_1[] = {
10,
};
-static const long _vq_lengthlist__44c7_s_p5_1[] = {
+static const char _vq_lengthlist__44c7_s_p5_1[] = {
3, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8,11, 4, 4, 6, 6,
7, 7, 8, 8, 9, 9,11, 4, 4, 6, 6, 7, 7, 8, 8, 9,
9,12, 5, 5, 6, 6, 7, 7, 9, 9, 9, 9,12,12,12, 6,
@@ -8801,7 +8801,7 @@ static const long _vq_lengthlist__44c7_s_p5_1[] = {
static const static_codebook _44c7_s_p5_1 = {
2, 121,
- (long *)_vq_lengthlist__44c7_s_p5_1,
+ (char *)_vq_lengthlist__44c7_s_p5_1,
1, -531365888, 1611661312, 4, 0,
(long *)_vq_quantlist__44c7_s_p5_1,
0
@@ -8823,7 +8823,7 @@ static const long _vq_quantlist__44c7_s_p6_0[] = {
12,
};
-static const long _vq_lengthlist__44c7_s_p6_0[] = {
+static const char _vq_lengthlist__44c7_s_p6_0[] = {
1, 4, 4, 6, 6, 7, 7, 8, 7, 9, 8,10,10, 6, 5, 5,
7, 7, 8, 8, 9, 9, 9,10,11,11, 7, 5, 5, 7, 7, 8,
8, 9, 9,10,10,11,11, 0, 7, 7, 7, 7, 9, 8, 9, 9,
@@ -8839,7 +8839,7 @@ static const long _vq_lengthlist__44c7_s_p6_0[] = {
static const static_codebook _44c7_s_p6_0 = {
2, 169,
- (long *)_vq_lengthlist__44c7_s_p6_0,
+ (char *)_vq_lengthlist__44c7_s_p6_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__44c7_s_p6_0,
0
@@ -8853,14 +8853,14 @@ static const long _vq_quantlist__44c7_s_p6_1[] = {
4,
};
-static const long _vq_lengthlist__44c7_s_p6_1[] = {
+static const char _vq_lengthlist__44c7_s_p6_1[] = {
3, 4, 4, 5, 5, 5, 4, 4, 5, 5, 5, 4, 4, 5, 5, 6,
5, 5, 5, 5, 6, 6, 6, 5, 5,
};
static const static_codebook _44c7_s_p6_1 = {
2, 25,
- (long *)_vq_lengthlist__44c7_s_p6_1,
+ (char *)_vq_lengthlist__44c7_s_p6_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44c7_s_p6_1,
0
@@ -8882,7 +8882,7 @@ static const long _vq_quantlist__44c7_s_p7_0[] = {
12,
};
-static const long _vq_lengthlist__44c7_s_p7_0[] = {
+static const char _vq_lengthlist__44c7_s_p7_0[] = {
1, 4, 4, 6, 6, 7, 8, 9, 9,10,10,12,11, 6, 5, 5,
7, 7, 8, 8, 9,10,11,11,12,12, 7, 5, 5, 7, 7, 8,
8,10,10,11,11,12,12,20, 7, 7, 7, 7, 8, 9,10,10,
@@ -8898,7 +8898,7 @@ static const long _vq_lengthlist__44c7_s_p7_0[] = {
static const static_codebook _44c7_s_p7_0 = {
2, 169,
- (long *)_vq_lengthlist__44c7_s_p7_0,
+ (char *)_vq_lengthlist__44c7_s_p7_0,
1, -523206656, 1618345984, 4, 0,
(long *)_vq_quantlist__44c7_s_p7_0,
0
@@ -8918,7 +8918,7 @@ static const long _vq_quantlist__44c7_s_p7_1[] = {
10,
};
-static const long _vq_lengthlist__44c7_s_p7_1[] = {
+static const char _vq_lengthlist__44c7_s_p7_1[] = {
4, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7, 8, 6, 6, 7, 7,
7, 7, 7, 7, 7, 7, 8, 6, 6, 6, 7, 7, 7, 7, 7, 7,
7, 8, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 7,
@@ -8931,7 +8931,7 @@ static const long _vq_lengthlist__44c7_s_p7_1[] = {
static const static_codebook _44c7_s_p7_1 = {
2, 121,
- (long *)_vq_lengthlist__44c7_s_p7_1,
+ (char *)_vq_lengthlist__44c7_s_p7_1,
1, -531365888, 1611661312, 4, 0,
(long *)_vq_quantlist__44c7_s_p7_1,
0
@@ -8955,7 +8955,7 @@ static const long _vq_quantlist__44c7_s_p8_0[] = {
14,
};
-static const long _vq_lengthlist__44c7_s_p8_0[] = {
+static const char _vq_lengthlist__44c7_s_p8_0[] = {
1, 4, 4, 7, 7, 8, 8, 8, 7, 9, 8, 9, 9,10,10, 6,
5, 5, 7, 7, 9, 9, 8, 8,10, 9,11,10,12,11, 6, 5,
5, 8, 7, 9, 9, 8, 8,10,10,11,11,12,11,19, 8, 8,
@@ -8975,7 +8975,7 @@ static const long _vq_lengthlist__44c7_s_p8_0[] = {
static const static_codebook _44c7_s_p8_0 = {
2, 225,
- (long *)_vq_lengthlist__44c7_s_p8_0,
+ (char *)_vq_lengthlist__44c7_s_p8_0,
1, -520986624, 1620377600, 4, 0,
(long *)_vq_quantlist__44c7_s_p8_0,
0
@@ -9005,7 +9005,7 @@ static const long _vq_quantlist__44c7_s_p8_1[] = {
20,
};
-static const long _vq_lengthlist__44c7_s_p8_1[] = {
+static const char _vq_lengthlist__44c7_s_p8_1[] = {
3, 5, 5, 7, 6, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8,10, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10, 6, 6, 7, 7, 8,
@@ -9038,7 +9038,7 @@ static const long _vq_lengthlist__44c7_s_p8_1[] = {
static const static_codebook _44c7_s_p8_1 = {
2, 441,
- (long *)_vq_lengthlist__44c7_s_p8_1,
+ (char *)_vq_lengthlist__44c7_s_p8_1,
1, -529268736, 1611661312, 5, 0,
(long *)_vq_quantlist__44c7_s_p8_1,
0
@@ -9060,7 +9060,7 @@ static const long _vq_quantlist__44c7_s_p9_0[] = {
12,
};
-static const long _vq_lengthlist__44c7_s_p9_0[] = {
+static const char _vq_lengthlist__44c7_s_p9_0[] = {
1, 3, 3,11,11,11,11,11,11,11,11,11,11, 4, 6, 6,
11,11,11,11,11,11,11,11,11,11, 4, 7, 7,11,11,11,
11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
@@ -9076,7 +9076,7 @@ static const long _vq_lengthlist__44c7_s_p9_0[] = {
static const static_codebook _44c7_s_p9_0 = {
2, 169,
- (long *)_vq_lengthlist__44c7_s_p9_0,
+ (char *)_vq_lengthlist__44c7_s_p9_0,
1, -511845376, 1630791680, 4, 0,
(long *)_vq_quantlist__44c7_s_p9_0,
0
@@ -9098,7 +9098,7 @@ static const long _vq_quantlist__44c7_s_p9_1[] = {
12,
};
-static const long _vq_lengthlist__44c7_s_p9_1[] = {
+static const char _vq_lengthlist__44c7_s_p9_1[] = {
1, 4, 4, 7, 7, 7, 7, 7, 6, 8, 8, 8, 8, 6, 6, 6,
8, 8, 9, 8, 8, 7, 9, 8,11,10, 5, 6, 6, 8, 8, 9,
8, 8, 8,10, 9,11,11,16, 8, 8, 9, 8, 9, 9, 9, 8,
@@ -9114,7 +9114,7 @@ static const long _vq_lengthlist__44c7_s_p9_1[] = {
static const static_codebook _44c7_s_p9_1 = {
2, 169,
- (long *)_vq_lengthlist__44c7_s_p9_1,
+ (char *)_vq_lengthlist__44c7_s_p9_1,
1, -518889472, 1622704128, 4, 0,
(long *)_vq_quantlist__44c7_s_p9_1,
0
@@ -9172,7 +9172,7 @@ static const long _vq_quantlist__44c7_s_p9_2[] = {
48,
};
-static const long _vq_lengthlist__44c7_s_p9_2[] = {
+static const char _vq_lengthlist__44c7_s_p9_2[] = {
2, 4, 3, 4, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6,
6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
@@ -9181,13 +9181,13 @@ static const long _vq_lengthlist__44c7_s_p9_2[] = {
static const static_codebook _44c7_s_p9_2 = {
1, 49,
- (long *)_vq_lengthlist__44c7_s_p9_2,
+ (char *)_vq_lengthlist__44c7_s_p9_2,
1, -526909440, 1611661312, 6, 0,
(long *)_vq_quantlist__44c7_s_p9_2,
0
};
-static const long _huff_lengthlist__44c7_s_short[] = {
+static const char _huff_lengthlist__44c7_s_short[] = {
4,11,12,14,15,15,17,17,18,18, 5, 6, 6, 8, 9,10,
13,17,18,19, 7, 5, 4, 6, 8, 9,11,15,19,19, 8, 6,
5, 5, 6, 7,11,14,16,17, 9, 7, 7, 6, 7, 7,10,13,
@@ -9199,13 +9199,13 @@ static const long _huff_lengthlist__44c7_s_short[] = {
static const static_codebook _huff_book__44c7_s_short = {
2, 100,
- (long *)_huff_lengthlist__44c7_s_short,
+ (char *)_huff_lengthlist__44c7_s_short,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist__44c8_s_long[] = {
+static const char _huff_lengthlist__44c8_s_long[] = {
3, 8,12,13,14,14,14,13,14,14, 6, 4, 5, 8,10,10,
11,11,14,13, 9, 5, 4, 5, 7, 8, 9,10,13,13,12, 7,
5, 4, 5, 6, 8, 9,12,13,13, 9, 6, 5, 5, 5, 7, 9,
@@ -9217,7 +9217,7 @@ static const long _huff_lengthlist__44c8_s_long[] = {
static const static_codebook _huff_book__44c8_s_long = {
2, 100,
- (long *)_huff_lengthlist__44c8_s_long,
+ (char *)_huff_lengthlist__44c8_s_long,
0, 0, 0, 0, 0,
NULL,
0
@@ -9229,7 +9229,7 @@ static const long _vq_quantlist__44c8_s_p1_0[] = {
2,
};
-static const long _vq_lengthlist__44c8_s_p1_0[] = {
+static const char _vq_lengthlist__44c8_s_p1_0[] = {
1, 5, 5, 0, 5, 5, 0, 5, 5, 5, 7, 7, 0, 9, 8, 0,
9, 8, 6, 7, 7, 0, 8, 9, 0, 8, 9, 0, 0, 0, 0, 0,
0, 0, 0, 0, 5, 9, 8, 0, 8, 8, 0, 8, 8, 5, 8, 9,
@@ -9240,7 +9240,7 @@ static const long _vq_lengthlist__44c8_s_p1_0[] = {
static const static_codebook _44c8_s_p1_0 = {
4, 81,
- (long *)_vq_lengthlist__44c8_s_p1_0,
+ (char *)_vq_lengthlist__44c8_s_p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44c8_s_p1_0,
0
@@ -9254,7 +9254,7 @@ static const long _vq_quantlist__44c8_s_p2_0[] = {
4,
};
-static const long _vq_lengthlist__44c8_s_p2_0[] = {
+static const char _vq_lengthlist__44c8_s_p2_0[] = {
3, 5, 5, 8, 8, 0, 5, 5, 8, 8, 0, 5, 5, 8, 8, 0,
7, 7, 9, 9, 0, 0, 0, 9, 9, 5, 7, 7, 9, 9, 0, 8,
7,10, 9, 0, 8, 7,10, 9, 0,10,10,11,11, 0, 0, 0,
@@ -9299,7 +9299,7 @@ static const long _vq_lengthlist__44c8_s_p2_0[] = {
static const static_codebook _44c8_s_p2_0 = {
4, 625,
- (long *)_vq_lengthlist__44c8_s_p2_0,
+ (char *)_vq_lengthlist__44c8_s_p2_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44c8_s_p2_0,
0
@@ -9317,7 +9317,7 @@ static const long _vq_quantlist__44c8_s_p3_0[] = {
8,
};
-static const long _vq_lengthlist__44c8_s_p3_0[] = {
+static const char _vq_lengthlist__44c8_s_p3_0[] = {
2, 4, 4, 5, 5, 7, 7, 9, 9, 0, 4, 4, 6, 6, 7, 7,
9, 9, 0, 4, 4, 6, 6, 7, 7, 9, 9, 0, 5, 5, 6, 6,
8, 8,10,10, 0, 0, 0, 6, 6, 8, 8,10,10, 0, 0, 0,
@@ -9328,7 +9328,7 @@ static const long _vq_lengthlist__44c8_s_p3_0[] = {
static const static_codebook _44c8_s_p3_0 = {
2, 81,
- (long *)_vq_lengthlist__44c8_s_p3_0,
+ (char *)_vq_lengthlist__44c8_s_p3_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__44c8_s_p3_0,
0
@@ -9354,7 +9354,7 @@ static const long _vq_quantlist__44c8_s_p4_0[] = {
16,
};
-static const long _vq_lengthlist__44c8_s_p4_0[] = {
+static const char _vq_lengthlist__44c8_s_p4_0[] = {
3, 4, 4, 5, 5, 7, 7, 8, 8, 8, 8, 9, 9,10,10,11,
11, 0, 4, 4, 6, 6, 7, 7, 8, 8, 9, 8,10,10,11,11,
11,11, 0, 4, 4, 6, 6, 7, 7, 8, 8, 9, 9,10,10,11,
@@ -9378,7 +9378,7 @@ static const long _vq_lengthlist__44c8_s_p4_0[] = {
static const static_codebook _44c8_s_p4_0 = {
2, 289,
- (long *)_vq_lengthlist__44c8_s_p4_0,
+ (char *)_vq_lengthlist__44c8_s_p4_0,
1, -529530880, 1611661312, 5, 0,
(long *)_vq_quantlist__44c8_s_p4_0,
0
@@ -9390,7 +9390,7 @@ static const long _vq_quantlist__44c8_s_p5_0[] = {
2,
};
-static const long _vq_lengthlist__44c8_s_p5_0[] = {
+static const char _vq_lengthlist__44c8_s_p5_0[] = {
1, 4, 4, 5, 7, 7, 6, 7, 7, 4, 7, 6,10,10,10,10,
10,10, 4, 6, 6,10,10,10,10, 9,10, 5,10,10, 9,11,
11,10,11,11, 7,10,10,11,12,12,12,12,12, 7,10,10,
@@ -9401,7 +9401,7 @@ static const long _vq_lengthlist__44c8_s_p5_0[] = {
static const static_codebook _44c8_s_p5_0 = {
4, 81,
- (long *)_vq_lengthlist__44c8_s_p5_0,
+ (char *)_vq_lengthlist__44c8_s_p5_0,
1, -529137664, 1618345984, 2, 0,
(long *)_vq_quantlist__44c8_s_p5_0,
0
@@ -9421,7 +9421,7 @@ static const long _vq_quantlist__44c8_s_p5_1[] = {
10,
};
-static const long _vq_lengthlist__44c8_s_p5_1[] = {
+static const char _vq_lengthlist__44c8_s_p5_1[] = {
3, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8,11, 4, 5, 6, 6,
7, 7, 8, 8, 8, 8,11, 5, 5, 6, 6, 7, 7, 8, 8, 8,
9,12, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9,12,12,12, 6,
@@ -9434,7 +9434,7 @@ static const long _vq_lengthlist__44c8_s_p5_1[] = {
static const static_codebook _44c8_s_p5_1 = {
2, 121,
- (long *)_vq_lengthlist__44c8_s_p5_1,
+ (char *)_vq_lengthlist__44c8_s_p5_1,
1, -531365888, 1611661312, 4, 0,
(long *)_vq_quantlist__44c8_s_p5_1,
0
@@ -9456,7 +9456,7 @@ static const long _vq_quantlist__44c8_s_p6_0[] = {
12,
};
-static const long _vq_lengthlist__44c8_s_p6_0[] = {
+static const char _vq_lengthlist__44c8_s_p6_0[] = {
1, 4, 4, 6, 6, 7, 7, 8, 8, 9, 9,10,10, 6, 5, 5,
7, 7, 8, 8, 9, 9,10,10,11,11, 6, 5, 5, 7, 7, 8,
8, 9, 9,10,10,11,11, 0, 7, 7, 7, 7, 9, 9,10,10,
@@ -9472,7 +9472,7 @@ static const long _vq_lengthlist__44c8_s_p6_0[] = {
static const static_codebook _44c8_s_p6_0 = {
2, 169,
- (long *)_vq_lengthlist__44c8_s_p6_0,
+ (char *)_vq_lengthlist__44c8_s_p6_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__44c8_s_p6_0,
0
@@ -9486,14 +9486,14 @@ static const long _vq_quantlist__44c8_s_p6_1[] = {
4,
};
-static const long _vq_lengthlist__44c8_s_p6_1[] = {
+static const char _vq_lengthlist__44c8_s_p6_1[] = {
3, 4, 4, 5, 5, 5, 4, 4, 5, 5, 5, 4, 4, 5, 5, 6,
5, 5, 5, 5, 6, 6, 6, 5, 5,
};
static const static_codebook _44c8_s_p6_1 = {
2, 25,
- (long *)_vq_lengthlist__44c8_s_p6_1,
+ (char *)_vq_lengthlist__44c8_s_p6_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44c8_s_p6_1,
0
@@ -9515,7 +9515,7 @@ static const long _vq_quantlist__44c8_s_p7_0[] = {
12,
};
-static const long _vq_lengthlist__44c8_s_p7_0[] = {
+static const char _vq_lengthlist__44c8_s_p7_0[] = {
1, 4, 4, 6, 6, 8, 7, 9, 9,10,10,12,12, 6, 5, 5,
7, 7, 8, 8,10,10,11,11,12,12, 7, 5, 5, 7, 7, 8,
8,10,10,11,11,12,12,21, 7, 7, 7, 7, 8, 9,10,10,
@@ -9531,7 +9531,7 @@ static const long _vq_lengthlist__44c8_s_p7_0[] = {
static const static_codebook _44c8_s_p7_0 = {
2, 169,
- (long *)_vq_lengthlist__44c8_s_p7_0,
+ (char *)_vq_lengthlist__44c8_s_p7_0,
1, -523206656, 1618345984, 4, 0,
(long *)_vq_quantlist__44c8_s_p7_0,
0
@@ -9551,7 +9551,7 @@ static const long _vq_quantlist__44c8_s_p7_1[] = {
10,
};
-static const long _vq_lengthlist__44c8_s_p7_1[] = {
+static const char _vq_lengthlist__44c8_s_p7_1[] = {
4, 5, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 6, 6, 6, 7,
7, 7, 7, 7, 7, 7, 8, 6, 6, 6, 6, 7, 7, 7, 7, 7,
7, 8, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 7,
@@ -9564,7 +9564,7 @@ static const long _vq_lengthlist__44c8_s_p7_1[] = {
static const static_codebook _44c8_s_p7_1 = {
2, 121,
- (long *)_vq_lengthlist__44c8_s_p7_1,
+ (char *)_vq_lengthlist__44c8_s_p7_1,
1, -531365888, 1611661312, 4, 0,
(long *)_vq_quantlist__44c8_s_p7_1,
0
@@ -9588,7 +9588,7 @@ static const long _vq_quantlist__44c8_s_p8_0[] = {
14,
};
-static const long _vq_lengthlist__44c8_s_p8_0[] = {
+static const char _vq_lengthlist__44c8_s_p8_0[] = {
1, 4, 4, 7, 6, 8, 8, 8, 7, 9, 8,10,10,11,10, 6,
5, 5, 7, 7, 9, 9, 8, 8,10,10,11,11,12,11, 6, 5,
5, 7, 7, 9, 9, 9, 9,10,10,11,11,12,12,20, 8, 8,
@@ -9608,7 +9608,7 @@ static const long _vq_lengthlist__44c8_s_p8_0[] = {
static const static_codebook _44c8_s_p8_0 = {
2, 225,
- (long *)_vq_lengthlist__44c8_s_p8_0,
+ (char *)_vq_lengthlist__44c8_s_p8_0,
1, -520986624, 1620377600, 4, 0,
(long *)_vq_quantlist__44c8_s_p8_0,
0
@@ -9638,7 +9638,7 @@ static const long _vq_quantlist__44c8_s_p8_1[] = {
20,
};
-static const long _vq_lengthlist__44c8_s_p8_1[] = {
+static const char _vq_lengthlist__44c8_s_p8_1[] = {
4, 5, 5, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8,10, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10, 6, 6, 7, 7, 8,
@@ -9671,7 +9671,7 @@ static const long _vq_lengthlist__44c8_s_p8_1[] = {
static const static_codebook _44c8_s_p8_1 = {
2, 441,
- (long *)_vq_lengthlist__44c8_s_p8_1,
+ (char *)_vq_lengthlist__44c8_s_p8_1,
1, -529268736, 1611661312, 5, 0,
(long *)_vq_quantlist__44c8_s_p8_1,
0
@@ -9697,7 +9697,7 @@ static const long _vq_quantlist__44c8_s_p9_0[] = {
16,
};
-static const long _vq_lengthlist__44c8_s_p9_0[] = {
+static const char _vq_lengthlist__44c8_s_p9_0[] = {
1, 4, 3,11,11,11,11,11,11,11,11,11,11,11,11,11,
11, 4, 7, 7,11,11,11,11,11,11,11,11,11,11,11,11,
11,11, 4, 8,11,11,11,11,11,11,11,11,11,11,11,11,
@@ -9721,7 +9721,7 @@ static const long _vq_lengthlist__44c8_s_p9_0[] = {
static const static_codebook _44c8_s_p9_0 = {
2, 289,
- (long *)_vq_lengthlist__44c8_s_p9_0,
+ (char *)_vq_lengthlist__44c8_s_p9_0,
1, -509798400, 1631393792, 5, 0,
(long *)_vq_quantlist__44c8_s_p9_0,
0
@@ -9749,7 +9749,7 @@ static const long _vq_quantlist__44c8_s_p9_1[] = {
18,
};
-static const long _vq_lengthlist__44c8_s_p9_1[] = {
+static const char _vq_lengthlist__44c8_s_p9_1[] = {
1, 4, 4, 7, 6, 7, 7, 7, 7, 8, 8, 9, 9,10,10,10,
10,11,11, 6, 6, 6, 8, 8, 9, 8, 8, 7,10, 8,11,10,
12,11,12,12,13,13, 5, 5, 6, 8, 8, 9, 9, 8, 8,10,
@@ -9777,7 +9777,7 @@ static const long _vq_lengthlist__44c8_s_p9_1[] = {
static const static_codebook _44c8_s_p9_1 = {
2, 361,
- (long *)_vq_lengthlist__44c8_s_p9_1,
+ (char *)_vq_lengthlist__44c8_s_p9_1,
1, -518287360, 1622704128, 5, 0,
(long *)_vq_quantlist__44c8_s_p9_1,
0
@@ -9835,7 +9835,7 @@ static const long _vq_quantlist__44c8_s_p9_2[] = {
48,
};
-static const long _vq_lengthlist__44c8_s_p9_2[] = {
+static const char _vq_lengthlist__44c8_s_p9_2[] = {
2, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
@@ -9844,13 +9844,13 @@ static const long _vq_lengthlist__44c8_s_p9_2[] = {
static const static_codebook _44c8_s_p9_2 = {
1, 49,
- (long *)_vq_lengthlist__44c8_s_p9_2,
+ (char *)_vq_lengthlist__44c8_s_p9_2,
1, -526909440, 1611661312, 6, 0,
(long *)_vq_quantlist__44c8_s_p9_2,
0
};
-static const long _huff_lengthlist__44c8_s_short[] = {
+static const char _huff_lengthlist__44c8_s_short[] = {
4,11,13,14,15,15,18,17,19,17, 5, 6, 8, 9,10,10,
12,15,19,19, 6, 6, 6, 6, 8, 8,11,14,18,19, 8, 6,
5, 4, 6, 7,10,13,16,17, 9, 7, 6, 5, 6, 7, 9,12,
@@ -9862,13 +9862,13 @@ static const long _huff_lengthlist__44c8_s_short[] = {
static const static_codebook _huff_book__44c8_s_short = {
2, 100,
- (long *)_huff_lengthlist__44c8_s_short,
+ (char *)_huff_lengthlist__44c8_s_short,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist__44c9_s_long[] = {
+static const char _huff_lengthlist__44c9_s_long[] = {
3, 8,12,14,15,15,15,13,15,15, 6, 5, 8,10,12,12,
13,12,14,13,10, 6, 5, 6, 8, 9,11,11,13,13,13, 8,
5, 4, 5, 6, 8,10,11,13,14,10, 7, 5, 4, 5, 7, 9,
@@ -9880,7 +9880,7 @@ static const long _huff_lengthlist__44c9_s_long[] = {
static const static_codebook _huff_book__44c9_s_long = {
2, 100,
- (long *)_huff_lengthlist__44c9_s_long,
+ (char *)_huff_lengthlist__44c9_s_long,
0, 0, 0, 0, 0,
NULL,
0
@@ -9892,7 +9892,7 @@ static const long _vq_quantlist__44c9_s_p1_0[] = {
2,
};
-static const long _vq_lengthlist__44c9_s_p1_0[] = {
+static const char _vq_lengthlist__44c9_s_p1_0[] = {
1, 5, 5, 0, 5, 5, 0, 5, 5, 6, 8, 8, 0, 9, 8, 0,
9, 8, 6, 8, 8, 0, 8, 9, 0, 8, 9, 0, 0, 0, 0, 0,
0, 0, 0, 0, 5, 8, 8, 0, 7, 7, 0, 8, 8, 5, 8, 8,
@@ -9903,7 +9903,7 @@ static const long _vq_lengthlist__44c9_s_p1_0[] = {
static const static_codebook _44c9_s_p1_0 = {
4, 81,
- (long *)_vq_lengthlist__44c9_s_p1_0,
+ (char *)_vq_lengthlist__44c9_s_p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44c9_s_p1_0,
0
@@ -9917,7 +9917,7 @@ static const long _vq_quantlist__44c9_s_p2_0[] = {
4,
};
-static const long _vq_lengthlist__44c9_s_p2_0[] = {
+static const char _vq_lengthlist__44c9_s_p2_0[] = {
3, 5, 5, 8, 8, 0, 5, 5, 8, 8, 0, 5, 5, 8, 8, 0,
7, 7, 9, 9, 0, 0, 0, 9, 9, 6, 7, 7, 9, 8, 0, 8,
8, 9, 9, 0, 8, 7, 9, 9, 0, 9,10,10,10, 0, 0, 0,
@@ -9962,7 +9962,7 @@ static const long _vq_lengthlist__44c9_s_p2_0[] = {
static const static_codebook _44c9_s_p2_0 = {
4, 625,
- (long *)_vq_lengthlist__44c9_s_p2_0,
+ (char *)_vq_lengthlist__44c9_s_p2_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44c9_s_p2_0,
0
@@ -9980,7 +9980,7 @@ static const long _vq_quantlist__44c9_s_p3_0[] = {
8,
};
-static const long _vq_lengthlist__44c9_s_p3_0[] = {
+static const char _vq_lengthlist__44c9_s_p3_0[] = {
3, 4, 4, 5, 5, 6, 6, 8, 8, 0, 4, 4, 5, 5, 6, 7,
8, 8, 0, 4, 4, 5, 5, 7, 7, 8, 8, 0, 5, 5, 6, 6,
7, 7, 9, 9, 0, 0, 0, 6, 6, 7, 7, 9, 9, 0, 0, 0,
@@ -9991,7 +9991,7 @@ static const long _vq_lengthlist__44c9_s_p3_0[] = {
static const static_codebook _44c9_s_p3_0 = {
2, 81,
- (long *)_vq_lengthlist__44c9_s_p3_0,
+ (char *)_vq_lengthlist__44c9_s_p3_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__44c9_s_p3_0,
0
@@ -10017,7 +10017,7 @@ static const long _vq_quantlist__44c9_s_p4_0[] = {
16,
};
-static const long _vq_lengthlist__44c9_s_p4_0[] = {
+static const char _vq_lengthlist__44c9_s_p4_0[] = {
3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9,10,10,10,
10, 0, 5, 4, 5, 5, 7, 7, 8, 8, 8, 8, 9, 9,10,10,
11,11, 0, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,10,
@@ -10041,7 +10041,7 @@ static const long _vq_lengthlist__44c9_s_p4_0[] = {
static const static_codebook _44c9_s_p4_0 = {
2, 289,
- (long *)_vq_lengthlist__44c9_s_p4_0,
+ (char *)_vq_lengthlist__44c9_s_p4_0,
1, -529530880, 1611661312, 5, 0,
(long *)_vq_quantlist__44c9_s_p4_0,
0
@@ -10053,7 +10053,7 @@ static const long _vq_quantlist__44c9_s_p5_0[] = {
2,
};
-static const long _vq_lengthlist__44c9_s_p5_0[] = {
+static const char _vq_lengthlist__44c9_s_p5_0[] = {
1, 4, 4, 5, 7, 7, 6, 7, 7, 4, 7, 6, 9,10,10,10,
10, 9, 4, 6, 7, 9,10,10,10, 9,10, 5, 9, 9, 9,11,
11,10,11,11, 7,10, 9,11,12,11,12,12,12, 7, 9,10,
@@ -10064,7 +10064,7 @@ static const long _vq_lengthlist__44c9_s_p5_0[] = {
static const static_codebook _44c9_s_p5_0 = {
4, 81,
- (long *)_vq_lengthlist__44c9_s_p5_0,
+ (char *)_vq_lengthlist__44c9_s_p5_0,
1, -529137664, 1618345984, 2, 0,
(long *)_vq_quantlist__44c9_s_p5_0,
0
@@ -10084,7 +10084,7 @@ static const long _vq_quantlist__44c9_s_p5_1[] = {
10,
};
-static const long _vq_lengthlist__44c9_s_p5_1[] = {
+static const char _vq_lengthlist__44c9_s_p5_1[] = {
4, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7,11, 5, 5, 6, 6,
7, 7, 7, 7, 8, 8,11, 5, 5, 6, 6, 7, 7, 7, 7, 8,
8,11, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8,11,11,11, 6,
@@ -10097,7 +10097,7 @@ static const long _vq_lengthlist__44c9_s_p5_1[] = {
static const static_codebook _44c9_s_p5_1 = {
2, 121,
- (long *)_vq_lengthlist__44c9_s_p5_1,
+ (char *)_vq_lengthlist__44c9_s_p5_1,
1, -531365888, 1611661312, 4, 0,
(long *)_vq_quantlist__44c9_s_p5_1,
0
@@ -10119,7 +10119,7 @@ static const long _vq_quantlist__44c9_s_p6_0[] = {
12,
};
-static const long _vq_lengthlist__44c9_s_p6_0[] = {
+static const char _vq_lengthlist__44c9_s_p6_0[] = {
2, 4, 4, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 5, 4, 4,
6, 6, 8, 8, 9, 9, 9, 9,10,10, 6, 4, 4, 6, 6, 8,
8, 9, 9, 9, 9,10,10, 0, 6, 6, 7, 7, 8, 8, 9, 9,
@@ -10135,7 +10135,7 @@ static const long _vq_lengthlist__44c9_s_p6_0[] = {
static const static_codebook _44c9_s_p6_0 = {
2, 169,
- (long *)_vq_lengthlist__44c9_s_p6_0,
+ (char *)_vq_lengthlist__44c9_s_p6_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__44c9_s_p6_0,
0
@@ -10149,14 +10149,14 @@ static const long _vq_quantlist__44c9_s_p6_1[] = {
4,
};
-static const long _vq_lengthlist__44c9_s_p6_1[] = {
+static const char _vq_lengthlist__44c9_s_p6_1[] = {
4, 4, 4, 5, 5, 5, 4, 4, 5, 5, 5, 4, 4, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5,
};
static const static_codebook _44c9_s_p6_1 = {
2, 25,
- (long *)_vq_lengthlist__44c9_s_p6_1,
+ (char *)_vq_lengthlist__44c9_s_p6_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44c9_s_p6_1,
0
@@ -10178,7 +10178,7 @@ static const long _vq_quantlist__44c9_s_p7_0[] = {
12,
};
-static const long _vq_lengthlist__44c9_s_p7_0[] = {
+static const char _vq_lengthlist__44c9_s_p7_0[] = {
2, 4, 4, 6, 6, 7, 7, 8, 8,10,10,11,11, 6, 4, 4,
6, 6, 8, 8, 9, 9,10,10,12,12, 6, 4, 5, 6, 6, 8,
8, 9, 9,10,10,12,12,20, 6, 6, 6, 6, 8, 8, 9,10,
@@ -10194,7 +10194,7 @@ static const long _vq_lengthlist__44c9_s_p7_0[] = {
static const static_codebook _44c9_s_p7_0 = {
2, 169,
- (long *)_vq_lengthlist__44c9_s_p7_0,
+ (char *)_vq_lengthlist__44c9_s_p7_0,
1, -523206656, 1618345984, 4, 0,
(long *)_vq_quantlist__44c9_s_p7_0,
0
@@ -10214,7 +10214,7 @@ static const long _vq_quantlist__44c9_s_p7_1[] = {
10,
};
-static const long _vq_lengthlist__44c9_s_p7_1[] = {
+static const char _vq_lengthlist__44c9_s_p7_1[] = {
5, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6,
7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 7, 7, 7, 7, 7,
7, 8, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 6,
@@ -10227,7 +10227,7 @@ static const long _vq_lengthlist__44c9_s_p7_1[] = {
static const static_codebook _44c9_s_p7_1 = {
2, 121,
- (long *)_vq_lengthlist__44c9_s_p7_1,
+ (char *)_vq_lengthlist__44c9_s_p7_1,
1, -531365888, 1611661312, 4, 0,
(long *)_vq_quantlist__44c9_s_p7_1,
0
@@ -10251,7 +10251,7 @@ static const long _vq_quantlist__44c9_s_p8_0[] = {
14,
};
-static const long _vq_lengthlist__44c9_s_p8_0[] = {
+static const char _vq_lengthlist__44c9_s_p8_0[] = {
1, 4, 4, 7, 6, 8, 8, 8, 8, 9, 9,10,10,11,10, 6,
5, 5, 7, 7, 9, 9, 8, 9,10,10,11,11,12,12, 6, 5,
5, 7, 7, 9, 9, 9, 9,10,10,11,11,12,12,21, 7, 8,
@@ -10271,7 +10271,7 @@ static const long _vq_lengthlist__44c9_s_p8_0[] = {
static const static_codebook _44c9_s_p8_0 = {
2, 225,
- (long *)_vq_lengthlist__44c9_s_p8_0,
+ (char *)_vq_lengthlist__44c9_s_p8_0,
1, -520986624, 1620377600, 4, 0,
(long *)_vq_quantlist__44c9_s_p8_0,
0
@@ -10301,7 +10301,7 @@ static const long _vq_quantlist__44c9_s_p8_1[] = {
20,
};
-static const long _vq_lengthlist__44c9_s_p8_1[] = {
+static const char _vq_lengthlist__44c9_s_p8_1[] = {
4, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8,10, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9,10, 6, 6, 7, 7, 8,
@@ -10334,7 +10334,7 @@ static const long _vq_lengthlist__44c9_s_p8_1[] = {
static const static_codebook _44c9_s_p8_1 = {
2, 441,
- (long *)_vq_lengthlist__44c9_s_p8_1,
+ (char *)_vq_lengthlist__44c9_s_p8_1,
1, -529268736, 1611661312, 5, 0,
(long *)_vq_quantlist__44c9_s_p8_1,
0
@@ -10362,7 +10362,7 @@ static const long _vq_quantlist__44c9_s_p9_0[] = {
18,
};
-static const long _vq_lengthlist__44c9_s_p9_0[] = {
+static const char _vq_lengthlist__44c9_s_p9_0[] = {
1, 4, 3,12,12,12,12,12,12,12,12,12,12,12,12,12,
12,12,12, 4, 5, 6,12,12,12,12,12,12,12,12,12,12,
12,12,12,12,12,12, 4, 6, 6,12,12,12,12,12,12,12,
@@ -10390,7 +10390,7 @@ static const long _vq_lengthlist__44c9_s_p9_0[] = {
static const static_codebook _44c9_s_p9_0 = {
2, 361,
- (long *)_vq_lengthlist__44c9_s_p9_0,
+ (char *)_vq_lengthlist__44c9_s_p9_0,
1, -508535424, 1631393792, 5, 0,
(long *)_vq_quantlist__44c9_s_p9_0,
0
@@ -10418,7 +10418,7 @@ static const long _vq_quantlist__44c9_s_p9_1[] = {
18,
};
-static const long _vq_lengthlist__44c9_s_p9_1[] = {
+static const char _vq_lengthlist__44c9_s_p9_1[] = {
1, 4, 4, 7, 7, 7, 7, 8, 7, 9, 8, 9, 9,10,10,11,
11,11,11, 6, 5, 5, 8, 8, 9, 9, 9, 8,10, 9,11,10,
12,12,13,12,13,13, 5, 5, 5, 8, 8, 9, 9, 9, 9,10,
@@ -10446,7 +10446,7 @@ static const long _vq_lengthlist__44c9_s_p9_1[] = {
static const static_codebook _44c9_s_p9_1 = {
2, 361,
- (long *)_vq_lengthlist__44c9_s_p9_1,
+ (char *)_vq_lengthlist__44c9_s_p9_1,
1, -518287360, 1622704128, 5, 0,
(long *)_vq_quantlist__44c9_s_p9_1,
0
@@ -10504,7 +10504,7 @@ static const long _vq_quantlist__44c9_s_p9_2[] = {
48,
};
-static const long _vq_lengthlist__44c9_s_p9_2[] = {
+static const char _vq_lengthlist__44c9_s_p9_2[] = {
2, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
@@ -10513,13 +10513,13 @@ static const long _vq_lengthlist__44c9_s_p9_2[] = {
static const static_codebook _44c9_s_p9_2 = {
1, 49,
- (long *)_vq_lengthlist__44c9_s_p9_2,
+ (char *)_vq_lengthlist__44c9_s_p9_2,
1, -526909440, 1611661312, 6, 0,
(long *)_vq_quantlist__44c9_s_p9_2,
0
};
-static const long _huff_lengthlist__44c9_s_short[] = {
+static const char _huff_lengthlist__44c9_s_short[] = {
5,13,18,16,17,17,19,18,19,19, 5, 7,10,11,12,12,
13,16,17,18, 6, 6, 7, 7, 9, 9,10,14,17,19, 8, 7,
6, 5, 6, 7, 9,12,19,17, 8, 7, 7, 6, 5, 6, 8,11,
@@ -10531,13 +10531,13 @@ static const long _huff_lengthlist__44c9_s_short[] = {
static const static_codebook _huff_book__44c9_s_short = {
2, 100,
- (long *)_huff_lengthlist__44c9_s_short,
+ (char *)_huff_lengthlist__44c9_s_short,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist__44c0_s_long[] = {
+static const char _huff_lengthlist__44c0_s_long[] = {
5, 4, 8, 9, 8, 9,10,12,15, 4, 1, 5, 5, 6, 8,11,
12,12, 8, 5, 8, 9, 9,11,13,12,12, 9, 5, 8, 5, 7,
9,12,13,13, 8, 6, 8, 7, 7, 9,11,11,11, 9, 7, 9,
@@ -10548,7 +10548,7 @@ static const long _huff_lengthlist__44c0_s_long[] = {
static const static_codebook _huff_book__44c0_s_long = {
2, 81,
- (long *)_huff_lengthlist__44c0_s_long,
+ (char *)_huff_lengthlist__44c0_s_long,
0, 0, 0, 0, 0,
NULL,
0
@@ -10560,7 +10560,7 @@ static const long _vq_quantlist__44c0_s_p1_0[] = {
2,
};
-static const long _vq_lengthlist__44c0_s_p1_0[] = {
+static const char _vq_lengthlist__44c0_s_p1_0[] = {
1, 5, 5, 0, 0, 0, 0, 0, 0, 5, 7, 7, 0, 0, 0, 0,
0, 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -10976,7 +10976,7 @@ static const long _vq_lengthlist__44c0_s_p1_0[] = {
static const static_codebook _44c0_s_p1_0 = {
8, 6561,
- (long *)_vq_lengthlist__44c0_s_p1_0,
+ (char *)_vq_lengthlist__44c0_s_p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44c0_s_p1_0,
0
@@ -10990,7 +10990,7 @@ static const long _vq_quantlist__44c0_s_p2_0[] = {
4,
};
-static const long _vq_lengthlist__44c0_s_p2_0[] = {
+static const char _vq_lengthlist__44c0_s_p2_0[] = {
1, 4, 4, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 5, 7, 6, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11035,7 +11035,7 @@ static const long _vq_lengthlist__44c0_s_p2_0[] = {
static const static_codebook _44c0_s_p2_0 = {
4, 625,
- (long *)_vq_lengthlist__44c0_s_p2_0,
+ (char *)_vq_lengthlist__44c0_s_p2_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44c0_s_p2_0,
0
@@ -11053,7 +11053,7 @@ static const long _vq_quantlist__44c0_s_p3_0[] = {
8,
};
-static const long _vq_lengthlist__44c0_s_p3_0[] = {
+static const char _vq_lengthlist__44c0_s_p3_0[] = {
1, 3, 2, 8, 7, 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0,
0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0, 7, 7,
0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0,
@@ -11064,7 +11064,7 @@ static const long _vq_lengthlist__44c0_s_p3_0[] = {
static const static_codebook _44c0_s_p3_0 = {
2, 81,
- (long *)_vq_lengthlist__44c0_s_p3_0,
+ (char *)_vq_lengthlist__44c0_s_p3_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__44c0_s_p3_0,
0
@@ -11082,7 +11082,7 @@ static const long _vq_quantlist__44c0_s_p4_0[] = {
8,
};
-static const long _vq_lengthlist__44c0_s_p4_0[] = {
+static const char _vq_lengthlist__44c0_s_p4_0[] = {
1, 3, 3, 6, 6, 6, 6, 8, 8, 0, 0, 0, 7, 7, 7, 7,
9, 9, 0, 0, 0, 7, 7, 7, 7, 9, 9, 0, 0, 0, 7, 7,
7, 8, 9, 9, 0, 0, 0, 7, 7, 7, 7, 9, 9, 0, 0, 0,
@@ -11093,7 +11093,7 @@ static const long _vq_lengthlist__44c0_s_p4_0[] = {
static const static_codebook _44c0_s_p4_0 = {
2, 81,
- (long *)_vq_lengthlist__44c0_s_p4_0,
+ (char *)_vq_lengthlist__44c0_s_p4_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__44c0_s_p4_0,
0
@@ -11119,7 +11119,7 @@ static const long _vq_quantlist__44c0_s_p5_0[] = {
16,
};
-static const long _vq_lengthlist__44c0_s_p5_0[] = {
+static const char _vq_lengthlist__44c0_s_p5_0[] = {
1, 4, 3, 6, 6, 8, 7, 8, 8, 8, 8, 9, 9,10,10,11,
11, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9, 9,10,10,10,
11,11, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,10,10,10,
@@ -11143,7 +11143,7 @@ static const long _vq_lengthlist__44c0_s_p5_0[] = {
static const static_codebook _44c0_s_p5_0 = {
2, 289,
- (long *)_vq_lengthlist__44c0_s_p5_0,
+ (char *)_vq_lengthlist__44c0_s_p5_0,
1, -529530880, 1611661312, 5, 0,
(long *)_vq_quantlist__44c0_s_p5_0,
0
@@ -11155,7 +11155,7 @@ static const long _vq_quantlist__44c0_s_p6_0[] = {
2,
};
-static const long _vq_lengthlist__44c0_s_p6_0[] = {
+static const char _vq_lengthlist__44c0_s_p6_0[] = {
1, 4, 4, 7, 6, 6, 7, 6, 6, 4, 7, 7,10, 9, 9,10,
9, 9, 4, 6, 7,10, 9, 9,11, 9, 9, 7,10,10,11,11,
11,12,10,11, 6, 9, 9,11,10,11,11,10,10, 6, 9, 9,
@@ -11166,7 +11166,7 @@ static const long _vq_lengthlist__44c0_s_p6_0[] = {
static const static_codebook _44c0_s_p6_0 = {
4, 81,
- (long *)_vq_lengthlist__44c0_s_p6_0,
+ (char *)_vq_lengthlist__44c0_s_p6_0,
1, -529137664, 1618345984, 2, 0,
(long *)_vq_quantlist__44c0_s_p6_0,
0
@@ -11186,7 +11186,7 @@ static const long _vq_quantlist__44c0_s_p6_1[] = {
10,
};
-static const long _vq_lengthlist__44c0_s_p6_1[] = {
+static const char _vq_lengthlist__44c0_s_p6_1[] = {
2, 3, 3, 6, 6, 7, 7, 7, 7, 7, 8,10,10,10, 6, 6,
7, 7, 8, 8, 8, 8,10,10,10, 6, 6, 7, 7, 8, 8, 8,
8,10,10,10, 7, 7, 7, 7, 8, 8, 8, 8,10,10,10, 7,
@@ -11199,7 +11199,7 @@ static const long _vq_lengthlist__44c0_s_p6_1[] = {
static const static_codebook _44c0_s_p6_1 = {
2, 121,
- (long *)_vq_lengthlist__44c0_s_p6_1,
+ (char *)_vq_lengthlist__44c0_s_p6_1,
1, -531365888, 1611661312, 4, 0,
(long *)_vq_quantlist__44c0_s_p6_1,
0
@@ -11221,7 +11221,7 @@ static const long _vq_quantlist__44c0_s_p7_0[] = {
12,
};
-static const long _vq_lengthlist__44c0_s_p7_0[] = {
+static const char _vq_lengthlist__44c0_s_p7_0[] = {
1, 4, 4, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 7, 5, 5,
7, 7, 8, 8, 8, 8, 9, 9,10,10, 7, 5, 6, 7, 7, 8,
8, 8, 8, 9, 9,10,10, 0, 8, 8, 8, 8, 9, 9, 9, 9,
@@ -11237,7 +11237,7 @@ static const long _vq_lengthlist__44c0_s_p7_0[] = {
static const static_codebook _44c0_s_p7_0 = {
2, 169,
- (long *)_vq_lengthlist__44c0_s_p7_0,
+ (char *)_vq_lengthlist__44c0_s_p7_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__44c0_s_p7_0,
0
@@ -11251,14 +11251,14 @@ static const long _vq_quantlist__44c0_s_p7_1[] = {
4,
};
-static const long _vq_lengthlist__44c0_s_p7_1[] = {
+static const char _vq_lengthlist__44c0_s_p7_1[] = {
2, 3, 3, 5, 5, 6, 6, 6, 5, 5, 6, 6, 6, 5, 5, 6,
6, 6, 5, 5, 6, 6, 6, 5, 5,
};
static const static_codebook _44c0_s_p7_1 = {
2, 25,
- (long *)_vq_lengthlist__44c0_s_p7_1,
+ (char *)_vq_lengthlist__44c0_s_p7_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44c0_s_p7_1,
0
@@ -11272,7 +11272,7 @@ static const long _vq_quantlist__44c0_s_p8_0[] = {
4,
};
-static const long _vq_lengthlist__44c0_s_p8_0[] = {
+static const char _vq_lengthlist__44c0_s_p8_0[] = {
1, 5, 5,10,10, 6, 9, 8,10,10, 6,10, 9,10,10,10,
10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
@@ -11317,7 +11317,7 @@ static const long _vq_lengthlist__44c0_s_p8_0[] = {
static const static_codebook _44c0_s_p8_0 = {
4, 625,
- (long *)_vq_lengthlist__44c0_s_p8_0,
+ (char *)_vq_lengthlist__44c0_s_p8_0,
1, -518283264, 1627103232, 3, 0,
(long *)_vq_quantlist__44c0_s_p8_0,
0
@@ -11339,7 +11339,7 @@ static const long _vq_quantlist__44c0_s_p8_1[] = {
12,
};
-static const long _vq_lengthlist__44c0_s_p8_1[] = {
+static const char _vq_lengthlist__44c0_s_p8_1[] = {
1, 4, 4, 6, 6, 7, 7, 9, 9,11,12,13,12, 6, 5, 5,
7, 7, 8, 8,10, 9,12,12,12,12, 6, 5, 5, 7, 7, 8,
8,10, 9,12,11,11,13,16, 7, 7, 8, 8, 9, 9,10,10,
@@ -11355,7 +11355,7 @@ static const long _vq_lengthlist__44c0_s_p8_1[] = {
static const static_codebook _44c0_s_p8_1 = {
2, 169,
- (long *)_vq_lengthlist__44c0_s_p8_1,
+ (char *)_vq_lengthlist__44c0_s_p8_1,
1, -522616832, 1620115456, 4, 0,
(long *)_vq_quantlist__44c0_s_p8_1,
0
@@ -11381,7 +11381,7 @@ static const long _vq_quantlist__44c0_s_p8_2[] = {
16,
};
-static const long _vq_lengthlist__44c0_s_p8_2[] = {
+static const char _vq_lengthlist__44c0_s_p8_2[] = {
2, 4, 4, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8,
8,10,10,10, 7, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 9,
9, 9,10,10,10, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9, 9,
@@ -11405,13 +11405,13 @@ static const long _vq_lengthlist__44c0_s_p8_2[] = {
static const static_codebook _44c0_s_p8_2 = {
2, 289,
- (long *)_vq_lengthlist__44c0_s_p8_2,
+ (char *)_vq_lengthlist__44c0_s_p8_2,
1, -529530880, 1611661312, 5, 0,
(long *)_vq_quantlist__44c0_s_p8_2,
0
};
-static const long _huff_lengthlist__44c0_s_short[] = {
+static const char _huff_lengthlist__44c0_s_short[] = {
9, 8,12,11,12,13,14,14,16, 6, 1, 5, 6, 6, 9,12,
14,17, 9, 4, 5, 9, 7, 9,13,15,16, 8, 5, 8, 6, 8,
10,13,17,17, 9, 6, 7, 7, 8, 9,13,15,17,11, 8, 9,
@@ -11422,13 +11422,13 @@ static const long _huff_lengthlist__44c0_s_short[] = {
static const static_codebook _huff_book__44c0_s_short = {
2, 81,
- (long *)_huff_lengthlist__44c0_s_short,
+ (char *)_huff_lengthlist__44c0_s_short,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist__44c0_sm_long[] = {
+static const char _huff_lengthlist__44c0_sm_long[] = {
5, 4, 9,10, 9,10,11,12,13, 4, 1, 5, 7, 7, 9,11,
12,14, 8, 5, 7, 9, 8,10,13,13,13,10, 7, 9, 4, 6,
7,10,12,14, 9, 6, 7, 6, 6, 7,10,12,12, 9, 8, 9,
@@ -11439,7 +11439,7 @@ static const long _huff_lengthlist__44c0_sm_long[] = {
static const static_codebook _huff_book__44c0_sm_long = {
2, 81,
- (long *)_huff_lengthlist__44c0_sm_long,
+ (char *)_huff_lengthlist__44c0_sm_long,
0, 0, 0, 0, 0,
NULL,
0
@@ -11451,7 +11451,7 @@ static const long _vq_quantlist__44c0_sm_p1_0[] = {
2,
};
-static const long _vq_lengthlist__44c0_sm_p1_0[] = {
+static const char _vq_lengthlist__44c0_sm_p1_0[] = {
1, 5, 5, 0, 0, 0, 0, 0, 0, 5, 7, 7, 0, 0, 0, 0,
0, 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11867,7 +11867,7 @@ static const long _vq_lengthlist__44c0_sm_p1_0[] = {
static const static_codebook _44c0_sm_p1_0 = {
8, 6561,
- (long *)_vq_lengthlist__44c0_sm_p1_0,
+ (char *)_vq_lengthlist__44c0_sm_p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44c0_sm_p1_0,
0
@@ -11881,7 +11881,7 @@ static const long _vq_quantlist__44c0_sm_p2_0[] = {
4,
};
-static const long _vq_lengthlist__44c0_sm_p2_0[] = {
+static const char _vq_lengthlist__44c0_sm_p2_0[] = {
1, 4, 4, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 5, 7, 7, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -11926,7 +11926,7 @@ static const long _vq_lengthlist__44c0_sm_p2_0[] = {
static const static_codebook _44c0_sm_p2_0 = {
4, 625,
- (long *)_vq_lengthlist__44c0_sm_p2_0,
+ (char *)_vq_lengthlist__44c0_sm_p2_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44c0_sm_p2_0,
0
@@ -11944,7 +11944,7 @@ static const long _vq_quantlist__44c0_sm_p3_0[] = {
8,
};
-static const long _vq_lengthlist__44c0_sm_p3_0[] = {
+static const char _vq_lengthlist__44c0_sm_p3_0[] = {
1, 3, 3, 7, 7, 0, 0, 0, 0, 0, 5, 4, 7, 7, 0, 0,
0, 0, 0, 5, 5, 7, 7, 0, 0, 0, 0, 0, 6, 7, 8, 8,
0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0,
@@ -11955,7 +11955,7 @@ static const long _vq_lengthlist__44c0_sm_p3_0[] = {
static const static_codebook _44c0_sm_p3_0 = {
2, 81,
- (long *)_vq_lengthlist__44c0_sm_p3_0,
+ (char *)_vq_lengthlist__44c0_sm_p3_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__44c0_sm_p3_0,
0
@@ -11973,7 +11973,7 @@ static const long _vq_quantlist__44c0_sm_p4_0[] = {
8,
};
-static const long _vq_lengthlist__44c0_sm_p4_0[] = {
+static const char _vq_lengthlist__44c0_sm_p4_0[] = {
1, 4, 3, 6, 6, 7, 7, 9, 9, 0, 5, 5, 7, 7, 8, 7,
9, 9, 0, 5, 5, 7, 7, 8, 8, 9, 9, 0, 7, 7, 8, 8,
8, 8,10,10, 0, 0, 0, 8, 8, 8, 8,10,10, 0, 0, 0,
@@ -11984,7 +11984,7 @@ static const long _vq_lengthlist__44c0_sm_p4_0[] = {
static const static_codebook _44c0_sm_p4_0 = {
2, 81,
- (long *)_vq_lengthlist__44c0_sm_p4_0,
+ (char *)_vq_lengthlist__44c0_sm_p4_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__44c0_sm_p4_0,
0
@@ -12010,7 +12010,7 @@ static const long _vq_quantlist__44c0_sm_p5_0[] = {
16,
};
-static const long _vq_lengthlist__44c0_sm_p5_0[] = {
+static const char _vq_lengthlist__44c0_sm_p5_0[] = {
1, 4, 4, 6, 6, 8, 8, 8, 8, 8, 8, 9, 9,10,10,11,
11, 0, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9,10,10,10,11,
11,11, 0, 5, 6, 7, 7, 8, 8, 9, 9, 9, 9,10,10,10,
@@ -12034,7 +12034,7 @@ static const long _vq_lengthlist__44c0_sm_p5_0[] = {
static const static_codebook _44c0_sm_p5_0 = {
2, 289,
- (long *)_vq_lengthlist__44c0_sm_p5_0,
+ (char *)_vq_lengthlist__44c0_sm_p5_0,
1, -529530880, 1611661312, 5, 0,
(long *)_vq_quantlist__44c0_sm_p5_0,
0
@@ -12046,7 +12046,7 @@ static const long _vq_quantlist__44c0_sm_p6_0[] = {
2,
};
-static const long _vq_lengthlist__44c0_sm_p6_0[] = {
+static const char _vq_lengthlist__44c0_sm_p6_0[] = {
1, 4, 4, 7, 6, 6, 7, 6, 6, 4, 7, 7,10, 9, 9,11,
9, 9, 4, 7, 7,10, 9, 9,11, 9, 9, 7,10,10,10,11,
11,11,10,10, 6, 9, 9,11,11,10,11,10,10, 6, 9, 9,
@@ -12057,7 +12057,7 @@ static const long _vq_lengthlist__44c0_sm_p6_0[] = {
static const static_codebook _44c0_sm_p6_0 = {
4, 81,
- (long *)_vq_lengthlist__44c0_sm_p6_0,
+ (char *)_vq_lengthlist__44c0_sm_p6_0,
1, -529137664, 1618345984, 2, 0,
(long *)_vq_quantlist__44c0_sm_p6_0,
0
@@ -12077,7 +12077,7 @@ static const long _vq_quantlist__44c0_sm_p6_1[] = {
10,
};
-static const long _vq_lengthlist__44c0_sm_p6_1[] = {
+static const char _vq_lengthlist__44c0_sm_p6_1[] = {
2, 4, 4, 6, 6, 7, 7, 7, 7, 7, 8, 9, 5, 5, 6, 6,
7, 7, 8, 8, 8, 8, 9, 5, 5, 6, 6, 7, 7, 8, 8, 8,
8,10, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8,10,10,10, 7,
@@ -12090,7 +12090,7 @@ static const long _vq_lengthlist__44c0_sm_p6_1[] = {
static const static_codebook _44c0_sm_p6_1 = {
2, 121,
- (long *)_vq_lengthlist__44c0_sm_p6_1,
+ (char *)_vq_lengthlist__44c0_sm_p6_1,
1, -531365888, 1611661312, 4, 0,
(long *)_vq_quantlist__44c0_sm_p6_1,
0
@@ -12112,7 +12112,7 @@ static const long _vq_quantlist__44c0_sm_p7_0[] = {
12,
};
-static const long _vq_lengthlist__44c0_sm_p7_0[] = {
+static const char _vq_lengthlist__44c0_sm_p7_0[] = {
1, 4, 4, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 7, 5, 5,
7, 7, 8, 8, 8, 8, 9, 9,10,10, 7, 6, 5, 7, 7, 8,
8, 8, 8, 9, 9,10,10, 0, 8, 8, 8, 8, 9, 9, 9, 9,
@@ -12128,7 +12128,7 @@ static const long _vq_lengthlist__44c0_sm_p7_0[] = {
static const static_codebook _44c0_sm_p7_0 = {
2, 169,
- (long *)_vq_lengthlist__44c0_sm_p7_0,
+ (char *)_vq_lengthlist__44c0_sm_p7_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__44c0_sm_p7_0,
0
@@ -12142,14 +12142,14 @@ static const long _vq_quantlist__44c0_sm_p7_1[] = {
4,
};
-static const long _vq_lengthlist__44c0_sm_p7_1[] = {
+static const char _vq_lengthlist__44c0_sm_p7_1[] = {
2, 4, 4, 4, 4, 6, 5, 5, 5, 5, 6, 5, 5, 5, 5, 6,
6, 6, 5, 5, 6, 6, 6, 5, 5,
};
static const static_codebook _44c0_sm_p7_1 = {
2, 25,
- (long *)_vq_lengthlist__44c0_sm_p7_1,
+ (char *)_vq_lengthlist__44c0_sm_p7_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44c0_sm_p7_1,
0
@@ -12167,7 +12167,7 @@ static const long _vq_quantlist__44c0_sm_p8_0[] = {
8,
};
-static const long _vq_lengthlist__44c0_sm_p8_0[] = {
+static const char _vq_lengthlist__44c0_sm_p8_0[] = {
1, 3, 3,11,11,11,11,11,11, 3, 7, 6,11,11,11,11,
11,11, 4, 8, 7,11,11,11,11,11,11,11,11,11,11,11,
11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
@@ -12178,7 +12178,7 @@ static const long _vq_lengthlist__44c0_sm_p8_0[] = {
static const static_codebook _44c0_sm_p8_0 = {
2, 81,
- (long *)_vq_lengthlist__44c0_sm_p8_0,
+ (char *)_vq_lengthlist__44c0_sm_p8_0,
1, -516186112, 1627103232, 4, 0,
(long *)_vq_quantlist__44c0_sm_p8_0,
0
@@ -12200,7 +12200,7 @@ static const long _vq_quantlist__44c0_sm_p8_1[] = {
12,
};
-static const long _vq_lengthlist__44c0_sm_p8_1[] = {
+static const char _vq_lengthlist__44c0_sm_p8_1[] = {
1, 4, 4, 6, 6, 7, 7, 9, 9,10,11,12,12, 6, 5, 5,
7, 7, 8, 8,10,10,12,11,12,12, 6, 5, 5, 7, 7, 8,
8,10,10,12,11,12,12,17, 7, 7, 8, 8, 9, 9,10,10,
@@ -12216,7 +12216,7 @@ static const long _vq_lengthlist__44c0_sm_p8_1[] = {
static const static_codebook _44c0_sm_p8_1 = {
2, 169,
- (long *)_vq_lengthlist__44c0_sm_p8_1,
+ (char *)_vq_lengthlist__44c0_sm_p8_1,
1, -522616832, 1620115456, 4, 0,
(long *)_vq_quantlist__44c0_sm_p8_1,
0
@@ -12242,7 +12242,7 @@ static const long _vq_quantlist__44c0_sm_p8_2[] = {
16,
};
-static const long _vq_lengthlist__44c0_sm_p8_2[] = {
+static const char _vq_lengthlist__44c0_sm_p8_2[] = {
2, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8,
8,10, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9, 9, 9,
9, 9,10, 6, 6, 7, 7, 8, 7, 8, 8, 9, 9, 9, 9, 9,
@@ -12266,13 +12266,13 @@ static const long _vq_lengthlist__44c0_sm_p8_2[] = {
static const static_codebook _44c0_sm_p8_2 = {
2, 289,
- (long *)_vq_lengthlist__44c0_sm_p8_2,
+ (char *)_vq_lengthlist__44c0_sm_p8_2,
1, -529530880, 1611661312, 5, 0,
(long *)_vq_quantlist__44c0_sm_p8_2,
0
};
-static const long _huff_lengthlist__44c0_sm_short[] = {
+static const char _huff_lengthlist__44c0_sm_short[] = {
6, 6,12,13,13,14,16,17,17, 4, 2, 5, 8, 7, 9,12,
15,15, 9, 4, 5, 9, 7, 9,12,16,18,11, 6, 7, 4, 6,
8,11,14,18,10, 5, 6, 5, 5, 7,10,14,17,10, 5, 7,
@@ -12283,13 +12283,13 @@ static const long _huff_lengthlist__44c0_sm_short[] = {
static const static_codebook _huff_book__44c0_sm_short = {
2, 81,
- (long *)_huff_lengthlist__44c0_sm_short,
+ (char *)_huff_lengthlist__44c0_sm_short,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist__44c1_s_long[] = {
+static const char _huff_lengthlist__44c1_s_long[] = {
5, 5, 9,10, 9, 9,10,11,12, 5, 1, 5, 6, 6, 7,10,
12,14, 9, 5, 6, 8, 8,10,12,14,14,10, 5, 8, 5, 6,
8,11,13,14, 9, 5, 7, 6, 6, 8,10,12,11, 9, 7, 9,
@@ -12300,7 +12300,7 @@ static const long _huff_lengthlist__44c1_s_long[] = {
static const static_codebook _huff_book__44c1_s_long = {
2, 81,
- (long *)_huff_lengthlist__44c1_s_long,
+ (char *)_huff_lengthlist__44c1_s_long,
0, 0, 0, 0, 0,
NULL,
0
@@ -12312,7 +12312,7 @@ static const long _vq_quantlist__44c1_s_p1_0[] = {
2,
};
-static const long _vq_lengthlist__44c1_s_p1_0[] = {
+static const char _vq_lengthlist__44c1_s_p1_0[] = {
2, 4, 4, 0, 0, 0, 0, 0, 0, 5, 7, 6, 0, 0, 0, 0,
0, 0, 5, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12728,7 +12728,7 @@ static const long _vq_lengthlist__44c1_s_p1_0[] = {
static const static_codebook _44c1_s_p1_0 = {
8, 6561,
- (long *)_vq_lengthlist__44c1_s_p1_0,
+ (char *)_vq_lengthlist__44c1_s_p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44c1_s_p1_0,
0
@@ -12742,7 +12742,7 @@ static const long _vq_quantlist__44c1_s_p2_0[] = {
4,
};
-static const long _vq_lengthlist__44c1_s_p2_0[] = {
+static const char _vq_lengthlist__44c1_s_p2_0[] = {
2, 3, 4, 6, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 6, 6, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -12787,7 +12787,7 @@ static const long _vq_lengthlist__44c1_s_p2_0[] = {
static const static_codebook _44c1_s_p2_0 = {
4, 625,
- (long *)_vq_lengthlist__44c1_s_p2_0,
+ (char *)_vq_lengthlist__44c1_s_p2_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44c1_s_p2_0,
0
@@ -12805,7 +12805,7 @@ static const long _vq_quantlist__44c1_s_p3_0[] = {
8,
};
-static const long _vq_lengthlist__44c1_s_p3_0[] = {
+static const char _vq_lengthlist__44c1_s_p3_0[] = {
1, 3, 2, 7, 7, 0, 0, 0, 0, 0,13,13, 6, 6, 0, 0,
0, 0, 0,12, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0, 7, 7,
0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0,
@@ -12816,7 +12816,7 @@ static const long _vq_lengthlist__44c1_s_p3_0[] = {
static const static_codebook _44c1_s_p3_0 = {
2, 81,
- (long *)_vq_lengthlist__44c1_s_p3_0,
+ (char *)_vq_lengthlist__44c1_s_p3_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__44c1_s_p3_0,
0
@@ -12834,7 +12834,7 @@ static const long _vq_quantlist__44c1_s_p4_0[] = {
8,
};
-static const long _vq_lengthlist__44c1_s_p4_0[] = {
+static const char _vq_lengthlist__44c1_s_p4_0[] = {
1, 3, 3, 6, 5, 6, 6, 8, 8, 0, 0, 0, 7, 7, 7, 7,
9, 9, 0, 0, 0, 7, 7, 7, 7, 9, 9, 0, 0, 0, 7, 7,
8, 8,10,10, 0, 0, 0, 7, 7, 8, 8,10,10, 0, 0, 0,
@@ -12845,7 +12845,7 @@ static const long _vq_lengthlist__44c1_s_p4_0[] = {
static const static_codebook _44c1_s_p4_0 = {
2, 81,
- (long *)_vq_lengthlist__44c1_s_p4_0,
+ (char *)_vq_lengthlist__44c1_s_p4_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__44c1_s_p4_0,
0
@@ -12871,7 +12871,7 @@ static const long _vq_quantlist__44c1_s_p5_0[] = {
16,
};
-static const long _vq_lengthlist__44c1_s_p5_0[] = {
+static const char _vq_lengthlist__44c1_s_p5_0[] = {
1, 4, 3, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,10,10,11,
11, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,10,10,10,10,
11,11, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,10,10,10,
@@ -12895,7 +12895,7 @@ static const long _vq_lengthlist__44c1_s_p5_0[] = {
static const static_codebook _44c1_s_p5_0 = {
2, 289,
- (long *)_vq_lengthlist__44c1_s_p5_0,
+ (char *)_vq_lengthlist__44c1_s_p5_0,
1, -529530880, 1611661312, 5, 0,
(long *)_vq_quantlist__44c1_s_p5_0,
0
@@ -12907,7 +12907,7 @@ static const long _vq_quantlist__44c1_s_p6_0[] = {
2,
};
-static const long _vq_lengthlist__44c1_s_p6_0[] = {
+static const char _vq_lengthlist__44c1_s_p6_0[] = {
1, 4, 4, 7, 6, 6, 7, 6, 6, 4, 7, 7,10, 9, 9,11,
9, 9, 4, 7, 7,10, 9, 9,11, 9, 9, 6,10,10,11,11,
11,11,10,10, 6, 9, 9,11,10,10,11,10,10, 6, 9, 9,
@@ -12918,7 +12918,7 @@ static const long _vq_lengthlist__44c1_s_p6_0[] = {
static const static_codebook _44c1_s_p6_0 = {
4, 81,
- (long *)_vq_lengthlist__44c1_s_p6_0,
+ (char *)_vq_lengthlist__44c1_s_p6_0,
1, -529137664, 1618345984, 2, 0,
(long *)_vq_quantlist__44c1_s_p6_0,
0
@@ -12938,7 +12938,7 @@ static const long _vq_quantlist__44c1_s_p6_1[] = {
10,
};
-static const long _vq_lengthlist__44c1_s_p6_1[] = {
+static const char _vq_lengthlist__44c1_s_p6_1[] = {
2, 3, 3, 6, 6, 7, 7, 7, 7, 8, 8,10,10,10, 6, 6,
7, 7, 8, 8, 8, 8,10,10,10, 6, 6, 7, 7, 8, 8, 8,
8,10,10,10, 7, 7, 7, 7, 8, 8, 8, 8,10,10,10, 7,
@@ -12951,7 +12951,7 @@ static const long _vq_lengthlist__44c1_s_p6_1[] = {
static const static_codebook _44c1_s_p6_1 = {
2, 121,
- (long *)_vq_lengthlist__44c1_s_p6_1,
+ (char *)_vq_lengthlist__44c1_s_p6_1,
1, -531365888, 1611661312, 4, 0,
(long *)_vq_quantlist__44c1_s_p6_1,
0
@@ -12973,7 +12973,7 @@ static const long _vq_quantlist__44c1_s_p7_0[] = {
12,
};
-static const long _vq_lengthlist__44c1_s_p7_0[] = {
+static const char _vq_lengthlist__44c1_s_p7_0[] = {
1, 4, 4, 6, 6, 7, 7, 7, 7, 8, 8,10, 9, 7, 5, 6,
7, 7, 8, 8, 8, 8, 9, 9,10,10, 7, 5, 5, 7, 7, 8,
8, 8, 8, 9, 9,10,10, 0, 8, 8, 8, 8, 9, 9, 9, 9,
@@ -12989,7 +12989,7 @@ static const long _vq_lengthlist__44c1_s_p7_0[] = {
static const static_codebook _44c1_s_p7_0 = {
2, 169,
- (long *)_vq_lengthlist__44c1_s_p7_0,
+ (char *)_vq_lengthlist__44c1_s_p7_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__44c1_s_p7_0,
0
@@ -13003,14 +13003,14 @@ static const long _vq_quantlist__44c1_s_p7_1[] = {
4,
};
-static const long _vq_lengthlist__44c1_s_p7_1[] = {
+static const char _vq_lengthlist__44c1_s_p7_1[] = {
2, 3, 3, 5, 5, 6, 6, 6, 5, 5, 6, 6, 6, 5, 5, 6,
6, 6, 5, 5, 6, 6, 6, 5, 5,
};
static const static_codebook _44c1_s_p7_1 = {
2, 25,
- (long *)_vq_lengthlist__44c1_s_p7_1,
+ (char *)_vq_lengthlist__44c1_s_p7_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44c1_s_p7_1,
0
@@ -13032,7 +13032,7 @@ static const long _vq_quantlist__44c1_s_p8_0[] = {
12,
};
-static const long _vq_lengthlist__44c1_s_p8_0[] = {
+static const char _vq_lengthlist__44c1_s_p8_0[] = {
1, 4, 3,10,10,10,10,10,10,10,10,10,10, 4, 8, 6,
10,10,10,10,10,10,10,10,10,10, 4, 8, 7,10,10,10,
10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
@@ -13048,7 +13048,7 @@ static const long _vq_lengthlist__44c1_s_p8_0[] = {
static const static_codebook _44c1_s_p8_0 = {
2, 169,
- (long *)_vq_lengthlist__44c1_s_p8_0,
+ (char *)_vq_lengthlist__44c1_s_p8_0,
1, -514541568, 1627103232, 4, 0,
(long *)_vq_quantlist__44c1_s_p8_0,
0
@@ -13070,7 +13070,7 @@ static const long _vq_quantlist__44c1_s_p8_1[] = {
12,
};
-static const long _vq_lengthlist__44c1_s_p8_1[] = {
+static const char _vq_lengthlist__44c1_s_p8_1[] = {
1, 4, 4, 6, 5, 7, 7, 9, 9,10,10,12,12, 6, 5, 5,
7, 7, 8, 8,10,10,12,11,12,12, 6, 5, 5, 7, 7, 8,
8,10,10,11,11,12,12,15, 7, 7, 8, 8, 9, 9,11,11,
@@ -13086,7 +13086,7 @@ static const long _vq_lengthlist__44c1_s_p8_1[] = {
static const static_codebook _44c1_s_p8_1 = {
2, 169,
- (long *)_vq_lengthlist__44c1_s_p8_1,
+ (char *)_vq_lengthlist__44c1_s_p8_1,
1, -522616832, 1620115456, 4, 0,
(long *)_vq_quantlist__44c1_s_p8_1,
0
@@ -13112,7 +13112,7 @@ static const long _vq_quantlist__44c1_s_p8_2[] = {
16,
};
-static const long _vq_lengthlist__44c1_s_p8_2[] = {
+static const char _vq_lengthlist__44c1_s_p8_2[] = {
2, 4, 4, 6, 6, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8, 8,
8,10,10,10, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9, 9, 9,
9, 9,10,10,10, 7, 7, 8, 7, 8, 8, 9, 9, 9, 9, 9,
@@ -13136,13 +13136,13 @@ static const long _vq_lengthlist__44c1_s_p8_2[] = {
static const static_codebook _44c1_s_p8_2 = {
2, 289,
- (long *)_vq_lengthlist__44c1_s_p8_2,
+ (char *)_vq_lengthlist__44c1_s_p8_2,
1, -529530880, 1611661312, 5, 0,
(long *)_vq_quantlist__44c1_s_p8_2,
0
};
-static const long _huff_lengthlist__44c1_s_short[] = {
+static const char _huff_lengthlist__44c1_s_short[] = {
6, 8,13,12,13,14,15,16,16, 4, 2, 4, 7, 6, 8,11,
13,15,10, 4, 4, 8, 6, 8,11,14,17,11, 5, 6, 5, 6,
8,12,14,17,11, 5, 5, 6, 5, 7,10,13,16,12, 6, 7,
@@ -13153,13 +13153,13 @@ static const long _huff_lengthlist__44c1_s_short[] = {
static const static_codebook _huff_book__44c1_s_short = {
2, 81,
- (long *)_huff_lengthlist__44c1_s_short,
+ (char *)_huff_lengthlist__44c1_s_short,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist__44c1_sm_long[] = {
+static const char _huff_lengthlist__44c1_sm_long[] = {
5, 4, 8,10, 9, 9,10,11,12, 4, 2, 5, 6, 6, 8,10,
11,13, 8, 4, 6, 8, 7, 9,12,12,14,10, 6, 8, 4, 5,
6, 9,11,12, 9, 5, 6, 5, 5, 6, 9,11,11, 9, 7, 9,
@@ -13170,7 +13170,7 @@ static const long _huff_lengthlist__44c1_sm_long[] = {
static const static_codebook _huff_book__44c1_sm_long = {
2, 81,
- (long *)_huff_lengthlist__44c1_sm_long,
+ (char *)_huff_lengthlist__44c1_sm_long,
0, 0, 0, 0, 0,
NULL,
0
@@ -13182,7 +13182,7 @@ static const long _vq_quantlist__44c1_sm_p1_0[] = {
2,
};
-static const long _vq_lengthlist__44c1_sm_p1_0[] = {
+static const char _vq_lengthlist__44c1_sm_p1_0[] = {
1, 5, 5, 0, 0, 0, 0, 0, 0, 5, 7, 7, 0, 0, 0, 0,
0, 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13598,7 +13598,7 @@ static const long _vq_lengthlist__44c1_sm_p1_0[] = {
static const static_codebook _44c1_sm_p1_0 = {
8, 6561,
- (long *)_vq_lengthlist__44c1_sm_p1_0,
+ (char *)_vq_lengthlist__44c1_sm_p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44c1_sm_p1_0,
0
@@ -13612,7 +13612,7 @@ static const long _vq_quantlist__44c1_sm_p2_0[] = {
4,
};
-static const long _vq_lengthlist__44c1_sm_p2_0[] = {
+static const char _vq_lengthlist__44c1_sm_p2_0[] = {
2, 3, 4, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 4, 4, 6, 6, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -13657,7 +13657,7 @@ static const long _vq_lengthlist__44c1_sm_p2_0[] = {
static const static_codebook _44c1_sm_p2_0 = {
4, 625,
- (long *)_vq_lengthlist__44c1_sm_p2_0,
+ (char *)_vq_lengthlist__44c1_sm_p2_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44c1_sm_p2_0,
0
@@ -13675,7 +13675,7 @@ static const long _vq_quantlist__44c1_sm_p3_0[] = {
8,
};
-static const long _vq_lengthlist__44c1_sm_p3_0[] = {
+static const char _vq_lengthlist__44c1_sm_p3_0[] = {
1, 3, 3, 7, 7, 0, 0, 0, 0, 0, 5, 5, 6, 6, 0, 0,
0, 0, 0, 5, 5, 7, 7, 0, 0, 0, 0, 0, 7, 7, 7, 7,
0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0,
@@ -13686,7 +13686,7 @@ static const long _vq_lengthlist__44c1_sm_p3_0[] = {
static const static_codebook _44c1_sm_p3_0 = {
2, 81,
- (long *)_vq_lengthlist__44c1_sm_p3_0,
+ (char *)_vq_lengthlist__44c1_sm_p3_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__44c1_sm_p3_0,
0
@@ -13704,7 +13704,7 @@ static const long _vq_quantlist__44c1_sm_p4_0[] = {
8,
};
-static const long _vq_lengthlist__44c1_sm_p4_0[] = {
+static const char _vq_lengthlist__44c1_sm_p4_0[] = {
1, 3, 3, 6, 6, 7, 7, 9, 9, 0, 6, 6, 7, 7, 8, 8,
9, 9, 0, 6, 6, 7, 7, 8, 8, 9, 9, 0, 7, 7, 8, 8,
8, 8,10,10, 0, 0, 0, 8, 8, 8, 8,10,10, 0, 0, 0,
@@ -13715,7 +13715,7 @@ static const long _vq_lengthlist__44c1_sm_p4_0[] = {
static const static_codebook _44c1_sm_p4_0 = {
2, 81,
- (long *)_vq_lengthlist__44c1_sm_p4_0,
+ (char *)_vq_lengthlist__44c1_sm_p4_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__44c1_sm_p4_0,
0
@@ -13741,7 +13741,7 @@ static const long _vq_quantlist__44c1_sm_p5_0[] = {
16,
};
-static const long _vq_lengthlist__44c1_sm_p5_0[] = {
+static const char _vq_lengthlist__44c1_sm_p5_0[] = {
2, 3, 3, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,10,10,11,
11, 0, 5, 5, 6, 6, 8, 8, 9, 9, 9, 9,10,10,10,10,
11,11, 0, 5, 5, 6, 6, 8, 8, 9, 9, 9, 9,10,10,10,
@@ -13765,7 +13765,7 @@ static const long _vq_lengthlist__44c1_sm_p5_0[] = {
static const static_codebook _44c1_sm_p5_0 = {
2, 289,
- (long *)_vq_lengthlist__44c1_sm_p5_0,
+ (char *)_vq_lengthlist__44c1_sm_p5_0,
1, -529530880, 1611661312, 5, 0,
(long *)_vq_quantlist__44c1_sm_p5_0,
0
@@ -13777,7 +13777,7 @@ static const long _vq_quantlist__44c1_sm_p6_0[] = {
2,
};
-static const long _vq_lengthlist__44c1_sm_p6_0[] = {
+static const char _vq_lengthlist__44c1_sm_p6_0[] = {
1, 4, 4, 7, 6, 6, 7, 6, 6, 4, 7, 7,10, 9, 9,11,
9, 9, 4, 7, 7,10, 9, 9,11, 9, 9, 7,10,10,10,11,
11,11,10,10, 6, 9, 9,11,11,10,11,10,10, 6, 9, 9,
@@ -13788,7 +13788,7 @@ static const long _vq_lengthlist__44c1_sm_p6_0[] = {
static const static_codebook _44c1_sm_p6_0 = {
4, 81,
- (long *)_vq_lengthlist__44c1_sm_p6_0,
+ (char *)_vq_lengthlist__44c1_sm_p6_0,
1, -529137664, 1618345984, 2, 0,
(long *)_vq_quantlist__44c1_sm_p6_0,
0
@@ -13808,7 +13808,7 @@ static const long _vq_quantlist__44c1_sm_p6_1[] = {
10,
};
-static const long _vq_lengthlist__44c1_sm_p6_1[] = {
+static const char _vq_lengthlist__44c1_sm_p6_1[] = {
2, 4, 4, 6, 6, 7, 7, 7, 7, 8, 8,10, 5, 5, 6, 6,
7, 7, 8, 8, 8, 8,10, 5, 5, 6, 6, 7, 7, 8, 8, 8,
8,10, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8,10,10,10, 7,
@@ -13821,7 +13821,7 @@ static const long _vq_lengthlist__44c1_sm_p6_1[] = {
static const static_codebook _44c1_sm_p6_1 = {
2, 121,
- (long *)_vq_lengthlist__44c1_sm_p6_1,
+ (char *)_vq_lengthlist__44c1_sm_p6_1,
1, -531365888, 1611661312, 4, 0,
(long *)_vq_quantlist__44c1_sm_p6_1,
0
@@ -13843,7 +13843,7 @@ static const long _vq_quantlist__44c1_sm_p7_0[] = {
12,
};
-static const long _vq_lengthlist__44c1_sm_p7_0[] = {
+static const char _vq_lengthlist__44c1_sm_p7_0[] = {
1, 4, 4, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 7, 5, 5,
7, 7, 8, 8, 8, 8, 9, 9,10,10, 7, 5, 6, 7, 7, 8,
8, 8, 8, 9, 9,11,10, 0, 8, 8, 8, 8, 9, 9, 9, 9,
@@ -13859,7 +13859,7 @@ static const long _vq_lengthlist__44c1_sm_p7_0[] = {
static const static_codebook _44c1_sm_p7_0 = {
2, 169,
- (long *)_vq_lengthlist__44c1_sm_p7_0,
+ (char *)_vq_lengthlist__44c1_sm_p7_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__44c1_sm_p7_0,
0
@@ -13873,14 +13873,14 @@ static const long _vq_quantlist__44c1_sm_p7_1[] = {
4,
};
-static const long _vq_lengthlist__44c1_sm_p7_1[] = {
+static const char _vq_lengthlist__44c1_sm_p7_1[] = {
2, 4, 4, 4, 5, 6, 5, 5, 5, 5, 6, 5, 5, 5, 5, 6,
5, 5, 5, 5, 6, 6, 6, 5, 5,
};
static const static_codebook _44c1_sm_p7_1 = {
2, 25,
- (long *)_vq_lengthlist__44c1_sm_p7_1,
+ (char *)_vq_lengthlist__44c1_sm_p7_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44c1_sm_p7_1,
0
@@ -13902,7 +13902,7 @@ static const long _vq_quantlist__44c1_sm_p8_0[] = {
12,
};
-static const long _vq_lengthlist__44c1_sm_p8_0[] = {
+static const char _vq_lengthlist__44c1_sm_p8_0[] = {
1, 3, 3,13,13,13,13,13,13,13,13,13,13, 3, 6, 6,
13,13,13,13,13,13,13,13,13,13, 4, 8, 7,13,13,13,
13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,
@@ -13918,7 +13918,7 @@ static const long _vq_lengthlist__44c1_sm_p8_0[] = {
static const static_codebook _44c1_sm_p8_0 = {
2, 169,
- (long *)_vq_lengthlist__44c1_sm_p8_0,
+ (char *)_vq_lengthlist__44c1_sm_p8_0,
1, -514541568, 1627103232, 4, 0,
(long *)_vq_quantlist__44c1_sm_p8_0,
0
@@ -13940,7 +13940,7 @@ static const long _vq_quantlist__44c1_sm_p8_1[] = {
12,
};
-static const long _vq_lengthlist__44c1_sm_p8_1[] = {
+static const char _vq_lengthlist__44c1_sm_p8_1[] = {
1, 4, 4, 6, 6, 7, 7, 9, 9,10,11,12,12, 6, 5, 5,
7, 7, 8, 7,10,10,11,11,12,12, 6, 5, 5, 7, 7, 8,
8,10,10,11,11,12,12,16, 7, 7, 8, 8, 9, 9,11,11,
@@ -13956,7 +13956,7 @@ static const long _vq_lengthlist__44c1_sm_p8_1[] = {
static const static_codebook _44c1_sm_p8_1 = {
2, 169,
- (long *)_vq_lengthlist__44c1_sm_p8_1,
+ (char *)_vq_lengthlist__44c1_sm_p8_1,
1, -522616832, 1620115456, 4, 0,
(long *)_vq_quantlist__44c1_sm_p8_1,
0
@@ -13982,7 +13982,7 @@ static const long _vq_quantlist__44c1_sm_p8_2[] = {
16,
};
-static const long _vq_lengthlist__44c1_sm_p8_2[] = {
+static const char _vq_lengthlist__44c1_sm_p8_2[] = {
2, 5, 5, 6, 6, 7, 6, 7, 7, 8, 8, 8, 8, 8, 8, 8,
8,10, 6, 6, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9, 9, 9,
9, 9,10, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9,
@@ -14006,13 +14006,13 @@ static const long _vq_lengthlist__44c1_sm_p8_2[] = {
static const static_codebook _44c1_sm_p8_2 = {
2, 289,
- (long *)_vq_lengthlist__44c1_sm_p8_2,
+ (char *)_vq_lengthlist__44c1_sm_p8_2,
1, -529530880, 1611661312, 5, 0,
(long *)_vq_quantlist__44c1_sm_p8_2,
0
};
-static const long _huff_lengthlist__44c1_sm_short[] = {
+static const char _huff_lengthlist__44c1_sm_short[] = {
4, 7,13,14,14,15,16,18,18, 4, 2, 5, 8, 7, 9,12,
15,15,10, 4, 5,10, 6, 8,11,15,17,12, 5, 7, 5, 6,
8,11,14,17,11, 5, 6, 6, 5, 6, 9,13,17,12, 6, 7,
@@ -14023,13 +14023,13 @@ static const long _huff_lengthlist__44c1_sm_short[] = {
static const static_codebook _huff_book__44c1_sm_short = {
2, 81,
- (long *)_huff_lengthlist__44c1_sm_short,
+ (char *)_huff_lengthlist__44c1_sm_short,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist__44cn1_s_long[] = {
+static const char _huff_lengthlist__44cn1_s_long[] = {
4, 4, 7, 8, 7, 8,10,12,17, 3, 1, 6, 6, 7, 8,10,
12,15, 7, 6, 9, 9, 9,11,12,14,17, 8, 6, 9, 6, 7,
9,11,13,17, 7, 6, 9, 7, 7, 8, 9,12,15, 8, 8,10,
@@ -14040,7 +14040,7 @@ static const long _huff_lengthlist__44cn1_s_long[] = {
static const static_codebook _huff_book__44cn1_s_long = {
2, 81,
- (long *)_huff_lengthlist__44cn1_s_long,
+ (char *)_huff_lengthlist__44cn1_s_long,
0, 0, 0, 0, 0,
NULL,
0
@@ -14052,7 +14052,7 @@ static const long _vq_quantlist__44cn1_s_p1_0[] = {
2,
};
-static const long _vq_lengthlist__44cn1_s_p1_0[] = {
+static const char _vq_lengthlist__44cn1_s_p1_0[] = {
1, 4, 4, 0, 0, 0, 0, 0, 0, 5, 7, 7, 0, 0, 0, 0,
0, 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14468,7 +14468,7 @@ static const long _vq_lengthlist__44cn1_s_p1_0[] = {
static const static_codebook _44cn1_s_p1_0 = {
8, 6561,
- (long *)_vq_lengthlist__44cn1_s_p1_0,
+ (char *)_vq_lengthlist__44cn1_s_p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44cn1_s_p1_0,
0
@@ -14482,7 +14482,7 @@ static const long _vq_quantlist__44cn1_s_p2_0[] = {
4,
};
-static const long _vq_lengthlist__44cn1_s_p2_0[] = {
+static const char _vq_lengthlist__44cn1_s_p2_0[] = {
1, 4, 4, 7, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 5, 7, 7, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -14527,7 +14527,7 @@ static const long _vq_lengthlist__44cn1_s_p2_0[] = {
static const static_codebook _44cn1_s_p2_0 = {
4, 625,
- (long *)_vq_lengthlist__44cn1_s_p2_0,
+ (char *)_vq_lengthlist__44cn1_s_p2_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44cn1_s_p2_0,
0
@@ -14545,7 +14545,7 @@ static const long _vq_quantlist__44cn1_s_p3_0[] = {
8,
};
-static const long _vq_lengthlist__44cn1_s_p3_0[] = {
+static const char _vq_lengthlist__44cn1_s_p3_0[] = {
1, 2, 3, 7, 7, 0, 0, 0, 0, 0, 0, 0, 6, 6, 0, 0,
0, 0, 0, 0, 0, 6, 6, 0, 0, 0, 0, 0, 0, 0, 7, 7,
0, 0, 0, 0, 0, 0, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0,
@@ -14556,7 +14556,7 @@ static const long _vq_lengthlist__44cn1_s_p3_0[] = {
static const static_codebook _44cn1_s_p3_0 = {
2, 81,
- (long *)_vq_lengthlist__44cn1_s_p3_0,
+ (char *)_vq_lengthlist__44cn1_s_p3_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__44cn1_s_p3_0,
0
@@ -14574,7 +14574,7 @@ static const long _vq_quantlist__44cn1_s_p4_0[] = {
8,
};
-static const long _vq_lengthlist__44cn1_s_p4_0[] = {
+static const char _vq_lengthlist__44cn1_s_p4_0[] = {
1, 3, 3, 6, 6, 6, 6, 8, 8, 0, 0, 0, 6, 6, 7, 7,
9, 9, 0, 0, 0, 6, 6, 7, 7, 9, 9, 0, 0, 0, 7, 7,
8, 8,10,10, 0, 0, 0, 7, 7, 8, 8,10,10, 0, 0, 0,
@@ -14585,7 +14585,7 @@ static const long _vq_lengthlist__44cn1_s_p4_0[] = {
static const static_codebook _44cn1_s_p4_0 = {
2, 81,
- (long *)_vq_lengthlist__44cn1_s_p4_0,
+ (char *)_vq_lengthlist__44cn1_s_p4_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__44cn1_s_p4_0,
0
@@ -14611,7 +14611,7 @@ static const long _vq_quantlist__44cn1_s_p5_0[] = {
16,
};
-static const long _vq_lengthlist__44cn1_s_p5_0[] = {
+static const char _vq_lengthlist__44cn1_s_p5_0[] = {
1, 4, 3, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,10,10,10,
10, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,10,10,10,10,
11,11, 0, 0, 0, 7, 7, 8, 8, 9, 9, 9, 9,10,10,10,
@@ -14635,7 +14635,7 @@ static const long _vq_lengthlist__44cn1_s_p5_0[] = {
static const static_codebook _44cn1_s_p5_0 = {
2, 289,
- (long *)_vq_lengthlist__44cn1_s_p5_0,
+ (char *)_vq_lengthlist__44cn1_s_p5_0,
1, -529530880, 1611661312, 5, 0,
(long *)_vq_quantlist__44cn1_s_p5_0,
0
@@ -14647,7 +14647,7 @@ static const long _vq_quantlist__44cn1_s_p6_0[] = {
2,
};
-static const long _vq_lengthlist__44cn1_s_p6_0[] = {
+static const char _vq_lengthlist__44cn1_s_p6_0[] = {
1, 4, 4, 7, 6, 6, 7, 6, 6, 4, 6, 6,10, 9, 9,11,
9, 9, 4, 6, 6,10, 9, 9,10, 9, 9, 7,10,10,11,11,
11,12,11,11, 7, 9, 9,11,11,10,11,10,10, 7, 9, 9,
@@ -14658,7 +14658,7 @@ static const long _vq_lengthlist__44cn1_s_p6_0[] = {
static const static_codebook _44cn1_s_p6_0 = {
4, 81,
- (long *)_vq_lengthlist__44cn1_s_p6_0,
+ (char *)_vq_lengthlist__44cn1_s_p6_0,
1, -529137664, 1618345984, 2, 0,
(long *)_vq_quantlist__44cn1_s_p6_0,
0
@@ -14678,7 +14678,7 @@ static const long _vq_quantlist__44cn1_s_p6_1[] = {
10,
};
-static const long _vq_lengthlist__44cn1_s_p6_1[] = {
+static const char _vq_lengthlist__44cn1_s_p6_1[] = {
1, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8,10,10,10, 7, 6,
8, 8, 8, 8, 8, 8,10,10,10, 7, 6, 7, 7, 8, 8, 8,
8,10,10,10, 7, 7, 8, 8, 8, 8, 8, 8,10,10,10, 7,
@@ -14691,7 +14691,7 @@ static const long _vq_lengthlist__44cn1_s_p6_1[] = {
static const static_codebook _44cn1_s_p6_1 = {
2, 121,
- (long *)_vq_lengthlist__44cn1_s_p6_1,
+ (char *)_vq_lengthlist__44cn1_s_p6_1,
1, -531365888, 1611661312, 4, 0,
(long *)_vq_quantlist__44cn1_s_p6_1,
0
@@ -14713,7 +14713,7 @@ static const long _vq_quantlist__44cn1_s_p7_0[] = {
12,
};
-static const long _vq_lengthlist__44cn1_s_p7_0[] = {
+static const char _vq_lengthlist__44cn1_s_p7_0[] = {
1, 4, 4, 6, 6, 7, 7, 8, 8, 9, 9,10,10, 6, 5, 5,
7, 7, 8, 8, 8, 8, 9, 9,11,11, 7, 5, 5, 7, 7, 8,
8, 8, 8, 9,10,11,11, 0, 8, 8, 8, 8, 9, 9, 9, 9,
@@ -14729,7 +14729,7 @@ static const long _vq_lengthlist__44cn1_s_p7_0[] = {
static const static_codebook _44cn1_s_p7_0 = {
2, 169,
- (long *)_vq_lengthlist__44cn1_s_p7_0,
+ (char *)_vq_lengthlist__44cn1_s_p7_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__44cn1_s_p7_0,
0
@@ -14743,14 +14743,14 @@ static const long _vq_quantlist__44cn1_s_p7_1[] = {
4,
};
-static const long _vq_lengthlist__44cn1_s_p7_1[] = {
+static const char _vq_lengthlist__44cn1_s_p7_1[] = {
2, 3, 3, 5, 5, 6, 6, 6, 5, 5, 6, 6, 6, 5, 5, 6,
6, 6, 5, 5, 6, 6, 6, 5, 5,
};
static const static_codebook _44cn1_s_p7_1 = {
2, 25,
- (long *)_vq_lengthlist__44cn1_s_p7_1,
+ (char *)_vq_lengthlist__44cn1_s_p7_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44cn1_s_p7_1,
0
@@ -14764,7 +14764,7 @@ static const long _vq_quantlist__44cn1_s_p8_0[] = {
4,
};
-static const long _vq_lengthlist__44cn1_s_p8_0[] = {
+static const char _vq_lengthlist__44cn1_s_p8_0[] = {
1, 7, 7,11,11, 8,11,11,11,11, 4,11, 3,11,11,11,
11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,
11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
@@ -14809,7 +14809,7 @@ static const long _vq_lengthlist__44cn1_s_p8_0[] = {
static const static_codebook _44cn1_s_p8_0 = {
4, 625,
- (long *)_vq_lengthlist__44cn1_s_p8_0,
+ (char *)_vq_lengthlist__44cn1_s_p8_0,
1, -518283264, 1627103232, 3, 0,
(long *)_vq_quantlist__44cn1_s_p8_0,
0
@@ -14831,7 +14831,7 @@ static const long _vq_quantlist__44cn1_s_p8_1[] = {
12,
};
-static const long _vq_lengthlist__44cn1_s_p8_1[] = {
+static const char _vq_lengthlist__44cn1_s_p8_1[] = {
1, 4, 4, 6, 6, 8, 8, 9,10,10,11,11,11, 6, 5, 5,
7, 7, 8, 8, 9,10, 9,11,11,12, 5, 5, 5, 7, 7, 8,
9,10,10,12,12,14,13,15, 7, 7, 8, 8, 9,10,11,11,
@@ -14847,7 +14847,7 @@ static const long _vq_lengthlist__44cn1_s_p8_1[] = {
static const static_codebook _44cn1_s_p8_1 = {
2, 169,
- (long *)_vq_lengthlist__44cn1_s_p8_1,
+ (char *)_vq_lengthlist__44cn1_s_p8_1,
1, -522616832, 1620115456, 4, 0,
(long *)_vq_quantlist__44cn1_s_p8_1,
0
@@ -14873,7 +14873,7 @@ static const long _vq_quantlist__44cn1_s_p8_2[] = {
16,
};
-static const long _vq_lengthlist__44cn1_s_p8_2[] = {
+static const char _vq_lengthlist__44cn1_s_p8_2[] = {
3, 4, 3, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9, 9, 9, 9,
9,10,11,11, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9, 9, 9,
9, 9,10,10,10, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9, 9,
@@ -14897,13 +14897,13 @@ static const long _vq_lengthlist__44cn1_s_p8_2[] = {
static const static_codebook _44cn1_s_p8_2 = {
2, 289,
- (long *)_vq_lengthlist__44cn1_s_p8_2,
+ (char *)_vq_lengthlist__44cn1_s_p8_2,
1, -529530880, 1611661312, 5, 0,
(long *)_vq_quantlist__44cn1_s_p8_2,
0
};
-static const long _huff_lengthlist__44cn1_s_short[] = {
+static const char _huff_lengthlist__44cn1_s_short[] = {
10, 9,12,15,12,13,16,14,16, 7, 1, 5,14, 7,10,13,
16,16, 9, 4, 6,16, 8,11,16,16,16,14, 4, 7,16, 9,
12,14,16,16,10, 5, 7,14, 9,12,14,15,15,13, 8, 9,
@@ -14914,13 +14914,13 @@ static const long _huff_lengthlist__44cn1_s_short[] = {
static const static_codebook _huff_book__44cn1_s_short = {
2, 81,
- (long *)_huff_lengthlist__44cn1_s_short,
+ (char *)_huff_lengthlist__44cn1_s_short,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist__44cn1_sm_long[] = {
+static const char _huff_lengthlist__44cn1_sm_long[] = {
3, 3, 8, 8, 8, 8,10,12,14, 3, 2, 6, 7, 7, 8,10,
12,16, 7, 6, 7, 9, 8,10,12,14,16, 8, 6, 8, 4, 5,
7, 9,11,13, 7, 6, 8, 5, 6, 7, 9,11,14, 8, 8,10,
@@ -14931,7 +14931,7 @@ static const long _huff_lengthlist__44cn1_sm_long[] = {
static const static_codebook _huff_book__44cn1_sm_long = {
2, 81,
- (long *)_huff_lengthlist__44cn1_sm_long,
+ (char *)_huff_lengthlist__44cn1_sm_long,
0, 0, 0, 0, 0,
NULL,
0
@@ -14943,7 +14943,7 @@ static const long _vq_quantlist__44cn1_sm_p1_0[] = {
2,
};
-static const long _vq_lengthlist__44cn1_sm_p1_0[] = {
+static const char _vq_lengthlist__44cn1_sm_p1_0[] = {
1, 4, 5, 0, 0, 0, 0, 0, 0, 5, 7, 7, 0, 0, 0, 0,
0, 0, 5, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15359,7 +15359,7 @@ static const long _vq_lengthlist__44cn1_sm_p1_0[] = {
static const static_codebook _44cn1_sm_p1_0 = {
8, 6561,
- (long *)_vq_lengthlist__44cn1_sm_p1_0,
+ (char *)_vq_lengthlist__44cn1_sm_p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44cn1_sm_p1_0,
0
@@ -15373,7 +15373,7 @@ static const long _vq_quantlist__44cn1_sm_p2_0[] = {
4,
};
-static const long _vq_lengthlist__44cn1_sm_p2_0[] = {
+static const char _vq_lengthlist__44cn1_sm_p2_0[] = {
1, 4, 4, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 5, 5, 7, 7, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -15418,7 +15418,7 @@ static const long _vq_lengthlist__44cn1_sm_p2_0[] = {
static const static_codebook _44cn1_sm_p2_0 = {
4, 625,
- (long *)_vq_lengthlist__44cn1_sm_p2_0,
+ (char *)_vq_lengthlist__44cn1_sm_p2_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44cn1_sm_p2_0,
0
@@ -15436,7 +15436,7 @@ static const long _vq_quantlist__44cn1_sm_p3_0[] = {
8,
};
-static const long _vq_lengthlist__44cn1_sm_p3_0[] = {
+static const char _vq_lengthlist__44cn1_sm_p3_0[] = {
1, 3, 4, 7, 7, 0, 0, 0, 0, 0, 4, 4, 7, 7, 0, 0,
0, 0, 0, 4, 5, 7, 7, 0, 0, 0, 0, 0, 6, 7, 8, 8,
0, 0, 0, 0, 0, 0, 0, 8, 8, 0, 0, 0, 0, 0, 0, 0,
@@ -15447,7 +15447,7 @@ static const long _vq_lengthlist__44cn1_sm_p3_0[] = {
static const static_codebook _44cn1_sm_p3_0 = {
2, 81,
- (long *)_vq_lengthlist__44cn1_sm_p3_0,
+ (char *)_vq_lengthlist__44cn1_sm_p3_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__44cn1_sm_p3_0,
0
@@ -15465,7 +15465,7 @@ static const long _vq_quantlist__44cn1_sm_p4_0[] = {
8,
};
-static const long _vq_lengthlist__44cn1_sm_p4_0[] = {
+static const char _vq_lengthlist__44cn1_sm_p4_0[] = {
1, 4, 3, 6, 6, 7, 7, 9, 9, 0, 5, 5, 7, 7, 8, 7,
9, 9, 0, 5, 5, 7, 7, 8, 8, 9, 9, 0, 7, 7, 8, 8,
8, 8,10,10, 0, 0, 0, 8, 8, 8, 8,10,10, 0, 0, 0,
@@ -15476,7 +15476,7 @@ static const long _vq_lengthlist__44cn1_sm_p4_0[] = {
static const static_codebook _44cn1_sm_p4_0 = {
2, 81,
- (long *)_vq_lengthlist__44cn1_sm_p4_0,
+ (char *)_vq_lengthlist__44cn1_sm_p4_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__44cn1_sm_p4_0,
0
@@ -15502,7 +15502,7 @@ static const long _vq_quantlist__44cn1_sm_p5_0[] = {
16,
};
-static const long _vq_lengthlist__44cn1_sm_p5_0[] = {
+static const char _vq_lengthlist__44cn1_sm_p5_0[] = {
1, 4, 4, 6, 6, 8, 8, 9, 9, 8, 8, 9, 9,10,10,11,
11, 0, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9,10,10,11,11,
12,12, 0, 6, 5, 7, 7, 8, 8, 9, 9, 9, 9,10,10,11,
@@ -15526,7 +15526,7 @@ static const long _vq_lengthlist__44cn1_sm_p5_0[] = {
static const static_codebook _44cn1_sm_p5_0 = {
2, 289,
- (long *)_vq_lengthlist__44cn1_sm_p5_0,
+ (char *)_vq_lengthlist__44cn1_sm_p5_0,
1, -529530880, 1611661312, 5, 0,
(long *)_vq_quantlist__44cn1_sm_p5_0,
0
@@ -15538,7 +15538,7 @@ static const long _vq_quantlist__44cn1_sm_p6_0[] = {
2,
};
-static const long _vq_lengthlist__44cn1_sm_p6_0[] = {
+static const char _vq_lengthlist__44cn1_sm_p6_0[] = {
1, 4, 4, 7, 6, 6, 7, 6, 6, 4, 7, 6,10, 9, 9,11,
9, 9, 4, 6, 7,10, 9, 9,11, 9, 9, 7,10,10,10,11,
11,11,11,10, 6, 9, 9,11,10,10,11,10,10, 6, 9, 9,
@@ -15549,7 +15549,7 @@ static const long _vq_lengthlist__44cn1_sm_p6_0[] = {
static const static_codebook _44cn1_sm_p6_0 = {
4, 81,
- (long *)_vq_lengthlist__44cn1_sm_p6_0,
+ (char *)_vq_lengthlist__44cn1_sm_p6_0,
1, -529137664, 1618345984, 2, 0,
(long *)_vq_quantlist__44cn1_sm_p6_0,
0
@@ -15569,7 +15569,7 @@ static const long _vq_quantlist__44cn1_sm_p6_1[] = {
10,
};
-static const long _vq_lengthlist__44cn1_sm_p6_1[] = {
+static const char _vq_lengthlist__44cn1_sm_p6_1[] = {
2, 4, 4, 5, 5, 7, 7, 7, 7, 8, 8,10, 5, 5, 6, 6,
7, 7, 8, 8, 8, 8,10, 5, 5, 6, 6, 7, 7, 8, 8, 8,
8,10, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8,10,10,10, 7,
@@ -15582,7 +15582,7 @@ static const long _vq_lengthlist__44cn1_sm_p6_1[] = {
static const static_codebook _44cn1_sm_p6_1 = {
2, 121,
- (long *)_vq_lengthlist__44cn1_sm_p6_1,
+ (char *)_vq_lengthlist__44cn1_sm_p6_1,
1, -531365888, 1611661312, 4, 0,
(long *)_vq_quantlist__44cn1_sm_p6_1,
0
@@ -15604,7 +15604,7 @@ static const long _vq_quantlist__44cn1_sm_p7_0[] = {
12,
};
-static const long _vq_lengthlist__44cn1_sm_p7_0[] = {
+static const char _vq_lengthlist__44cn1_sm_p7_0[] = {
1, 4, 4, 6, 6, 7, 7, 7, 7, 9, 9,10,10, 7, 5, 5,
7, 7, 8, 8, 8, 8,10, 9,11,10, 7, 5, 5, 7, 7, 8,
8, 8, 8, 9,10,11,11, 0, 8, 8, 8, 8, 9, 9, 9, 9,
@@ -15620,7 +15620,7 @@ static const long _vq_lengthlist__44cn1_sm_p7_0[] = {
static const static_codebook _44cn1_sm_p7_0 = {
2, 169,
- (long *)_vq_lengthlist__44cn1_sm_p7_0,
+ (char *)_vq_lengthlist__44cn1_sm_p7_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__44cn1_sm_p7_0,
0
@@ -15634,14 +15634,14 @@ static const long _vq_quantlist__44cn1_sm_p7_1[] = {
4,
};
-static const long _vq_lengthlist__44cn1_sm_p7_1[] = {
+static const char _vq_lengthlist__44cn1_sm_p7_1[] = {
2, 4, 4, 4, 5, 6, 5, 5, 5, 5, 6, 5, 5, 5, 5, 6,
5, 5, 5, 5, 6, 6, 6, 5, 5,
};
static const static_codebook _44cn1_sm_p7_1 = {
2, 25,
- (long *)_vq_lengthlist__44cn1_sm_p7_1,
+ (char *)_vq_lengthlist__44cn1_sm_p7_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44cn1_sm_p7_1,
0
@@ -15659,7 +15659,7 @@ static const long _vq_quantlist__44cn1_sm_p8_0[] = {
8,
};
-static const long _vq_lengthlist__44cn1_sm_p8_0[] = {
+static const char _vq_lengthlist__44cn1_sm_p8_0[] = {
1, 4, 4,12,11,13,13,14,14, 4, 7, 7,11,13,14,14,
14,14, 3, 8, 3,14,14,14,14,14,14,14,10,12,14,14,
14,14,14,14,14,14, 5,14, 8,14,14,14,14,14,12,14,
@@ -15670,7 +15670,7 @@ static const long _vq_lengthlist__44cn1_sm_p8_0[] = {
static const static_codebook _44cn1_sm_p8_0 = {
2, 81,
- (long *)_vq_lengthlist__44cn1_sm_p8_0,
+ (char *)_vq_lengthlist__44cn1_sm_p8_0,
1, -516186112, 1627103232, 4, 0,
(long *)_vq_quantlist__44cn1_sm_p8_0,
0
@@ -15692,7 +15692,7 @@ static const long _vq_quantlist__44cn1_sm_p8_1[] = {
12,
};
-static const long _vq_lengthlist__44cn1_sm_p8_1[] = {
+static const char _vq_lengthlist__44cn1_sm_p8_1[] = {
1, 4, 4, 6, 6, 8, 8, 9, 9,10,11,11,11, 6, 5, 5,
7, 7, 8, 8,10,10,10,11,11,11, 6, 5, 5, 7, 7, 8,
8,10,10,11,12,12,12,14, 7, 7, 7, 8, 9, 9,11,11,
@@ -15708,7 +15708,7 @@ static const long _vq_lengthlist__44cn1_sm_p8_1[] = {
static const static_codebook _44cn1_sm_p8_1 = {
2, 169,
- (long *)_vq_lengthlist__44cn1_sm_p8_1,
+ (char *)_vq_lengthlist__44cn1_sm_p8_1,
1, -522616832, 1620115456, 4, 0,
(long *)_vq_quantlist__44cn1_sm_p8_1,
0
@@ -15734,7 +15734,7 @@ static const long _vq_quantlist__44cn1_sm_p8_2[] = {
16,
};
-static const long _vq_lengthlist__44cn1_sm_p8_2[] = {
+static const char _vq_lengthlist__44cn1_sm_p8_2[] = {
3, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9,
9,10, 6, 6, 6, 6, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9,
9, 9,10, 6, 6, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9,
@@ -15758,13 +15758,13 @@ static const long _vq_lengthlist__44cn1_sm_p8_2[] = {
static const static_codebook _44cn1_sm_p8_2 = {
2, 289,
- (long *)_vq_lengthlist__44cn1_sm_p8_2,
+ (char *)_vq_lengthlist__44cn1_sm_p8_2,
1, -529530880, 1611661312, 5, 0,
(long *)_vq_quantlist__44cn1_sm_p8_2,
0
};
-static const long _huff_lengthlist__44cn1_sm_short[] = {
+static const char _huff_lengthlist__44cn1_sm_short[] = {
5, 6,12,14,12,14,16,17,18, 4, 2, 5,11, 7,10,12,
14,15, 9, 4, 5,11, 7,10,13,15,18,15, 6, 7, 5, 6,
8,11,13,16,11, 5, 6, 5, 5, 6, 9,13,15,12, 5, 7,
@@ -15775,7 +15775,7 @@ static const long _huff_lengthlist__44cn1_sm_short[] = {
static const static_codebook _huff_book__44cn1_sm_short = {
2, 81,
- (long *)_huff_lengthlist__44cn1_sm_short,
+ (char *)_huff_lengthlist__44cn1_sm_short,
0, 0, 0, 0, 0,
NULL,
0
diff --git a/drivers/vorbis/books/floor/Makefile.am b/drivers/vorbis/books/floor/Makefile.am
deleted file mode 100644
index 272ab1a28c..0000000000
--- a/drivers/vorbis/books/floor/Makefile.am
+++ /dev/null
@@ -1,3 +0,0 @@
-## Process this file with automake to produce Makefile.in
-
-EXTRA_DIST = floor_books.h
diff --git a/drivers/vorbis/books/floor/Makefile.in b/drivers/vorbis/books/floor/Makefile.in
deleted file mode 100644
index 6148dc21f1..0000000000
--- a/drivers/vorbis/books/floor/Makefile.in
+++ /dev/null
@@ -1,356 +0,0 @@
-# Makefile.in generated by automake 1.10.2 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = lib/books/floor
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
- $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/pkg.m4 \
- $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG = @DEBUG@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-HAVE_DOXYGEN = @HAVE_DOXYGEN@
-HTLATEX = @HTLATEX@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBTOOL_DEPS = @LIBTOOL_DEPS@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PDFLATEX = @PDFLATEX@
-PKG_CONFIG = @PKG_CONFIG@
-PROFILE = @PROFILE@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-VE_LIB_AGE = @VE_LIB_AGE@
-VE_LIB_CURRENT = @VE_LIB_CURRENT@
-VE_LIB_REVISION = @VE_LIB_REVISION@
-VF_LIB_AGE = @VF_LIB_AGE@
-VF_LIB_CURRENT = @VF_LIB_CURRENT@
-VF_LIB_REVISION = @VF_LIB_REVISION@
-VORBIS_LIBS = @VORBIS_LIBS@
-V_LIB_AGE = @V_LIB_AGE@
-V_LIB_CURRENT = @V_LIB_CURRENT@
-V_LIB_REVISION = @V_LIB_REVISION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-pthread_lib = @pthread_lib@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-EXTRA_DIST = floor_books.h
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/books/floor/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu lib/books/floor/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-info: install-info-am
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-ps: install-ps-am
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: install-am install-strip
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-man install-pdf \
- install-pdf-am install-ps install-ps-am install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/drivers/vorbis/books/floor/floor_books.h b/drivers/vorbis/books/floor/floor_books.h
index 14320cf692..e925313f7b 100644
--- a/drivers/vorbis/books/floor/floor_books.h
+++ b/drivers/vorbis/books/floor/floor_books.h
@@ -11,38 +11,38 @@
********************************************************************
function: static codebooks autogenerated by huff/huffbuld
- last modified: $Id: floor_books.h 16939 2010-03-01 08:38:14Z xiphmont $
+ last modified: $Id: floor_books.h 19057 2014-01-22 12:32:31Z xiphmont $
********************************************************************/
#include "codebook.h"
-static const long _huff_lengthlist_line_256x7_0sub1[] = {
+static const char _huff_lengthlist_line_256x7_0sub1[] = {
0, 2, 3, 3, 3, 3, 4, 3, 4,
};
static const static_codebook _huff_book_line_256x7_0sub1 = {
1, 9,
- (long *)_huff_lengthlist_line_256x7_0sub1,
+ (char *)_huff_lengthlist_line_256x7_0sub1,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_256x7_0sub2[] = {
+static const char _huff_lengthlist_line_256x7_0sub2[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 3, 4, 3, 5, 3,
6, 3, 6, 4, 6, 4, 7, 5, 7,
};
static const static_codebook _huff_book_line_256x7_0sub2 = {
1, 25,
- (long *)_huff_lengthlist_line_256x7_0sub2,
+ (char *)_huff_lengthlist_line_256x7_0sub2,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_256x7_0sub3[] = {
+static const char _huff_lengthlist_line_256x7_0sub3[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 2, 5, 3, 5, 3,
6, 3, 6, 4, 7, 6, 7, 8, 7, 9, 8, 9, 9, 9,10, 9,
@@ -51,38 +51,38 @@ static const long _huff_lengthlist_line_256x7_0sub3[] = {
static const static_codebook _huff_book_line_256x7_0sub3 = {
1, 64,
- (long *)_huff_lengthlist_line_256x7_0sub3,
+ (char *)_huff_lengthlist_line_256x7_0sub3,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_256x7_1sub1[] = {
+static const char _huff_lengthlist_line_256x7_1sub1[] = {
0, 3, 3, 3, 3, 2, 4, 3, 4,
};
static const static_codebook _huff_book_line_256x7_1sub1 = {
1, 9,
- (long *)_huff_lengthlist_line_256x7_1sub1,
+ (char *)_huff_lengthlist_line_256x7_1sub1,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_256x7_1sub2[] = {
+static const char _huff_lengthlist_line_256x7_1sub2[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3, 4, 3, 4, 4,
5, 4, 6, 5, 6, 7, 6, 8, 8,
};
static const static_codebook _huff_book_line_256x7_1sub2 = {
1, 25,
- (long *)_huff_lengthlist_line_256x7_1sub2,
+ (char *)_huff_lengthlist_line_256x7_1sub2,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_256x7_1sub3[] = {
+static const char _huff_lengthlist_line_256x7_1sub3[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 4, 3, 6, 3, 7,
3, 8, 5, 8, 6, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
@@ -91,13 +91,13 @@ static const long _huff_lengthlist_line_256x7_1sub3[] = {
static const static_codebook _huff_book_line_256x7_1sub3 = {
1, 64,
- (long *)_huff_lengthlist_line_256x7_1sub3,
+ (char *)_huff_lengthlist_line_256x7_1sub3,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_256x7_class0[] = {
+static const char _huff_lengthlist_line_256x7_class0[] = {
7, 5, 5, 9, 9, 6, 6, 9,12, 8, 7, 8,11, 8, 9,15,
6, 3, 3, 7, 7, 4, 3, 6, 9, 6, 5, 6, 8, 6, 8,15,
8, 5, 5, 9, 8, 5, 4, 6,10, 7, 5, 5,11, 8, 7,15,
@@ -106,13 +106,13 @@ static const long _huff_lengthlist_line_256x7_class0[] = {
static const static_codebook _huff_book_line_256x7_class0 = {
1, 64,
- (long *)_huff_lengthlist_line_256x7_class0,
+ (char *)_huff_lengthlist_line_256x7_class0,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_256x7_class1[] = {
+static const char _huff_lengthlist_line_256x7_class1[] = {
5, 6, 8,15, 6, 9,10,15,10,11,12,15,15,15,15,15,
4, 6, 7,15, 6, 7, 8,15, 9, 8, 9,15,15,15,15,15,
6, 8, 9,15, 7, 7, 8,15,10, 9,10,15,15,15,15,15,
@@ -133,13 +133,13 @@ static const long _huff_lengthlist_line_256x7_class1[] = {
static const static_codebook _huff_book_line_256x7_class1 = {
1, 256,
- (long *)_huff_lengthlist_line_256x7_class1,
+ (char *)_huff_lengthlist_line_256x7_class1,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_512x17_0sub0[] = {
+static const char _huff_lengthlist_line_512x17_0sub0[] = {
4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 6, 5, 6, 6, 6, 6, 5, 6, 6, 7, 6, 7, 6, 7, 6,
7, 6, 8, 7, 8, 7, 8, 7, 8, 7, 8, 7, 9, 7, 9, 7,
@@ -152,26 +152,26 @@ static const long _huff_lengthlist_line_512x17_0sub0[] = {
static const static_codebook _huff_book_line_512x17_0sub0 = {
1, 128,
- (long *)_huff_lengthlist_line_512x17_0sub0,
+ (char *)_huff_lengthlist_line_512x17_0sub0,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_512x17_1sub0[] = {
+static const char _huff_lengthlist_line_512x17_1sub0[] = {
2, 4, 5, 4, 5, 4, 5, 4, 5, 5, 5, 5, 5, 5, 6, 5,
6, 5, 6, 6, 7, 6, 7, 6, 8, 7, 8, 7, 8, 7, 8, 7,
};
static const static_codebook _huff_book_line_512x17_1sub0 = {
1, 32,
- (long *)_huff_lengthlist_line_512x17_1sub0,
+ (char *)_huff_lengthlist_line_512x17_1sub0,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_512x17_1sub1[] = {
+static const char _huff_lengthlist_line_512x17_1sub1[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4, 3, 5, 3, 5, 4, 5, 4, 5, 4, 5, 5, 5, 5, 6, 5,
@@ -184,26 +184,26 @@ static const long _huff_lengthlist_line_512x17_1sub1[] = {
static const static_codebook _huff_book_line_512x17_1sub1 = {
1, 128,
- (long *)_huff_lengthlist_line_512x17_1sub1,
+ (char *)_huff_lengthlist_line_512x17_1sub1,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_512x17_2sub1[] = {
+static const char _huff_lengthlist_line_512x17_2sub1[] = {
0, 4, 5, 4, 4, 4, 5, 4, 4, 4, 5, 4, 5, 4, 5, 3,
5, 3,
};
static const static_codebook _huff_book_line_512x17_2sub1 = {
1, 18,
- (long *)_huff_lengthlist_line_512x17_2sub1,
+ (char *)_huff_lengthlist_line_512x17_2sub1,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_512x17_2sub2[] = {
+static const char _huff_lengthlist_line_512x17_2sub2[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 4, 3, 4, 3, 4, 4, 5, 4, 5, 4, 6, 4, 6, 5,
6, 5, 7, 5, 7, 6, 8, 6, 8, 6, 8, 7, 8, 7, 9, 7,
@@ -212,13 +212,13 @@ static const long _huff_lengthlist_line_512x17_2sub2[] = {
static const static_codebook _huff_book_line_512x17_2sub2 = {
1, 50,
- (long *)_huff_lengthlist_line_512x17_2sub2,
+ (char *)_huff_lengthlist_line_512x17_2sub2,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_512x17_2sub3[] = {
+static const char _huff_lengthlist_line_512x17_2sub3[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -231,26 +231,26 @@ static const long _huff_lengthlist_line_512x17_2sub3[] = {
static const static_codebook _huff_book_line_512x17_2sub3 = {
1, 128,
- (long *)_huff_lengthlist_line_512x17_2sub3,
+ (char *)_huff_lengthlist_line_512x17_2sub3,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_512x17_3sub1[] = {
+static const char _huff_lengthlist_line_512x17_3sub1[] = {
0, 4, 4, 4, 4, 4, 4, 3, 4, 4, 4, 4, 4, 5, 4, 5,
5, 5,
};
static const static_codebook _huff_book_line_512x17_3sub1 = {
1, 18,
- (long *)_huff_lengthlist_line_512x17_3sub1,
+ (char *)_huff_lengthlist_line_512x17_3sub1,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_512x17_3sub2[] = {
+static const char _huff_lengthlist_line_512x17_3sub2[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 2, 3, 3, 4, 3, 5, 4, 6, 4, 6, 5, 7, 6, 7,
6, 8, 6, 8, 7, 9, 8,10, 8,12, 9,13,10,15,10,15,
@@ -259,13 +259,13 @@ static const long _huff_lengthlist_line_512x17_3sub2[] = {
static const static_codebook _huff_book_line_512x17_3sub2 = {
1, 50,
- (long *)_huff_lengthlist_line_512x17_3sub2,
+ (char *)_huff_lengthlist_line_512x17_3sub2,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_512x17_3sub3[] = {
+static const char _huff_lengthlist_line_512x17_3sub3[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -278,25 +278,25 @@ static const long _huff_lengthlist_line_512x17_3sub3[] = {
static const static_codebook _huff_book_line_512x17_3sub3 = {
1, 128,
- (long *)_huff_lengthlist_line_512x17_3sub3,
+ (char *)_huff_lengthlist_line_512x17_3sub3,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_512x17_class1[] = {
+static const char _huff_lengthlist_line_512x17_class1[] = {
1, 2, 3, 6, 5, 4, 7, 7,
};
static const static_codebook _huff_book_line_512x17_class1 = {
1, 8,
- (long *)_huff_lengthlist_line_512x17_class1,
+ (char *)_huff_lengthlist_line_512x17_class1,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_512x17_class2[] = {
+static const char _huff_lengthlist_line_512x17_class2[] = {
3, 3, 3,14, 5, 4, 4,11, 8, 6, 6,10,17,12,11,17,
6, 5, 5,15, 5, 3, 4,11, 8, 5, 5, 8,16, 9,10,14,
10, 8, 9,17, 8, 6, 6,13,10, 7, 7,10,16,11,13,14,
@@ -305,13 +305,13 @@ static const long _huff_lengthlist_line_512x17_class2[] = {
static const static_codebook _huff_book_line_512x17_class2 = {
1, 64,
- (long *)_huff_lengthlist_line_512x17_class2,
+ (char *)_huff_lengthlist_line_512x17_class2,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_512x17_class3[] = {
+static const char _huff_lengthlist_line_512x17_class3[] = {
2, 4, 6,17, 4, 5, 7,17, 8, 7,10,17,17,17,17,17,
3, 4, 6,15, 3, 3, 6,15, 7, 6, 9,17,17,17,17,17,
6, 8,10,17, 6, 6, 8,16, 9, 8,10,17,17,15,16,17,
@@ -320,13 +320,13 @@ static const long _huff_lengthlist_line_512x17_class3[] = {
static const static_codebook _huff_book_line_512x17_class3 = {
1, 64,
- (long *)_huff_lengthlist_line_512x17_class3,
+ (char *)_huff_lengthlist_line_512x17_class3,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_128x4_class0[] = {
+static const char _huff_lengthlist_line_128x4_class0[] = {
7, 7, 7,11, 6, 6, 7,11, 7, 6, 6,10,12,10,10,13,
7, 7, 8,11, 7, 7, 7,11, 7, 6, 7,10,11,10,10,13,
10,10, 9,12, 9, 9, 9,11, 8, 8, 8,11,13,11,10,14,
@@ -347,50 +347,50 @@ static const long _huff_lengthlist_line_128x4_class0[] = {
static const static_codebook _huff_book_line_128x4_class0 = {
1, 256,
- (long *)_huff_lengthlist_line_128x4_class0,
+ (char *)_huff_lengthlist_line_128x4_class0,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_128x4_0sub0[] = {
+static const char _huff_lengthlist_line_128x4_0sub0[] = {
2, 2, 2, 2,
};
static const static_codebook _huff_book_line_128x4_0sub0 = {
1, 4,
- (long *)_huff_lengthlist_line_128x4_0sub0,
+ (char *)_huff_lengthlist_line_128x4_0sub0,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_128x4_0sub1[] = {
+static const char _huff_lengthlist_line_128x4_0sub1[] = {
0, 0, 0, 0, 3, 2, 3, 2, 3, 3,
};
static const static_codebook _huff_book_line_128x4_0sub1 = {
1, 10,
- (long *)_huff_lengthlist_line_128x4_0sub1,
+ (char *)_huff_lengthlist_line_128x4_0sub1,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_128x4_0sub2[] = {
+static const char _huff_lengthlist_line_128x4_0sub2[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 4, 3, 4, 3,
4, 4, 5, 4, 5, 4, 6, 5, 6,
};
static const static_codebook _huff_book_line_128x4_0sub2 = {
1, 25,
- (long *)_huff_lengthlist_line_128x4_0sub2,
+ (char *)_huff_lengthlist_line_128x4_0sub2,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_128x4_0sub3[] = {
+static const char _huff_lengthlist_line_128x4_0sub3[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 3, 5, 3, 5, 3,
5, 4, 6, 5, 6, 5, 7, 6, 6, 7, 7, 9, 9,11,11,16,
@@ -399,13 +399,13 @@ static const long _huff_lengthlist_line_128x4_0sub3[] = {
static const static_codebook _huff_book_line_128x4_0sub3 = {
1, 64,
- (long *)_huff_lengthlist_line_128x4_0sub3,
+ (char *)_huff_lengthlist_line_128x4_0sub3,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_256x4_class0[] = {
+static const char _huff_lengthlist_line_256x4_class0[] = {
6, 7, 7,12, 6, 6, 7,12, 7, 6, 6,10,15,12,11,13,
7, 7, 8,13, 7, 7, 8,12, 7, 7, 7,11,12,12,11,13,
10, 9, 9,11, 9, 9, 9,10,10, 8, 8,12,14,12,12,14,
@@ -426,50 +426,50 @@ static const long _huff_lengthlist_line_256x4_class0[] = {
static const static_codebook _huff_book_line_256x4_class0 = {
1, 256,
- (long *)_huff_lengthlist_line_256x4_class0,
+ (char *)_huff_lengthlist_line_256x4_class0,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_256x4_0sub0[] = {
+static const char _huff_lengthlist_line_256x4_0sub0[] = {
2, 2, 2, 2,
};
static const static_codebook _huff_book_line_256x4_0sub0 = {
1, 4,
- (long *)_huff_lengthlist_line_256x4_0sub0,
+ (char *)_huff_lengthlist_line_256x4_0sub0,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_256x4_0sub1[] = {
+static const char _huff_lengthlist_line_256x4_0sub1[] = {
0, 0, 0, 0, 2, 2, 3, 3, 3, 3,
};
static const static_codebook _huff_book_line_256x4_0sub1 = {
1, 10,
- (long *)_huff_lengthlist_line_256x4_0sub1,
+ (char *)_huff_lengthlist_line_256x4_0sub1,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_256x4_0sub2[] = {
+static const char _huff_lengthlist_line_256x4_0sub2[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 3, 4, 3, 4, 3,
5, 3, 5, 4, 5, 4, 6, 4, 6,
};
static const static_codebook _huff_book_line_256x4_0sub2 = {
1, 25,
- (long *)_huff_lengthlist_line_256x4_0sub2,
+ (char *)_huff_lengthlist_line_256x4_0sub2,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_256x4_0sub3[] = {
+static const char _huff_lengthlist_line_256x4_0sub3[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 3, 5, 3, 5, 3,
6, 4, 7, 4, 7, 5, 7, 6, 7, 6, 7, 8,10,13,13,13,
@@ -478,13 +478,13 @@ static const long _huff_lengthlist_line_256x4_0sub3[] = {
static const static_codebook _huff_book_line_256x4_0sub3 = {
1, 64,
- (long *)_huff_lengthlist_line_256x4_0sub3,
+ (char *)_huff_lengthlist_line_256x4_0sub3,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_128x7_class0[] = {
+static const char _huff_lengthlist_line_128x7_class0[] = {
10, 7, 8,13, 9, 6, 7,11,10, 8, 8,12,17,17,17,17,
7, 5, 5, 9, 6, 4, 4, 8, 8, 5, 5, 8,16,14,13,16,
7, 5, 5, 7, 6, 3, 3, 5, 8, 5, 4, 7,14,12,12,15,
@@ -493,13 +493,13 @@ static const long _huff_lengthlist_line_128x7_class0[] = {
static const static_codebook _huff_book_line_128x7_class0 = {
1, 64,
- (long *)_huff_lengthlist_line_128x7_class0,
+ (char *)_huff_lengthlist_line_128x7_class0,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_128x7_class1[] = {
+static const char _huff_lengthlist_line_128x7_class1[] = {
8,13,17,17, 8,11,17,17,11,13,17,17,17,17,17,17,
6,10,16,17, 6,10,15,17, 8,10,16,17,17,17,17,17,
9,13,15,17, 8,11,17,17,10,12,17,17,17,17,17,17,
@@ -520,38 +520,38 @@ static const long _huff_lengthlist_line_128x7_class1[] = {
static const static_codebook _huff_book_line_128x7_class1 = {
1, 256,
- (long *)_huff_lengthlist_line_128x7_class1,
+ (char *)_huff_lengthlist_line_128x7_class1,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_128x7_0sub1[] = {
+static const char _huff_lengthlist_line_128x7_0sub1[] = {
0, 3, 3, 3, 3, 3, 3, 3, 3,
};
static const static_codebook _huff_book_line_128x7_0sub1 = {
1, 9,
- (long *)_huff_lengthlist_line_128x7_0sub1,
+ (char *)_huff_lengthlist_line_128x7_0sub1,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_128x7_0sub2[] = {
+static const char _huff_lengthlist_line_128x7_0sub2[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 4, 4, 4, 4,
5, 4, 5, 4, 5, 4, 6, 4, 6,
};
static const static_codebook _huff_book_line_128x7_0sub2 = {
1, 25,
- (long *)_huff_lengthlist_line_128x7_0sub2,
+ (char *)_huff_lengthlist_line_128x7_0sub2,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_128x7_0sub3[] = {
+static const char _huff_lengthlist_line_128x7_0sub3[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 5, 3, 5, 3, 5, 4,
5, 4, 5, 5, 5, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5,
@@ -560,38 +560,38 @@ static const long _huff_lengthlist_line_128x7_0sub3[] = {
static const static_codebook _huff_book_line_128x7_0sub3 = {
1, 64,
- (long *)_huff_lengthlist_line_128x7_0sub3,
+ (char *)_huff_lengthlist_line_128x7_0sub3,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_128x7_1sub1[] = {
+static const char _huff_lengthlist_line_128x7_1sub1[] = {
0, 3, 3, 2, 3, 3, 4, 3, 4,
};
static const static_codebook _huff_book_line_128x7_1sub1 = {
1, 9,
- (long *)_huff_lengthlist_line_128x7_1sub1,
+ (char *)_huff_lengthlist_line_128x7_1sub1,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_128x7_1sub2[] = {
+static const char _huff_lengthlist_line_128x7_1sub2[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 3, 6, 3, 6, 3,
6, 3, 7, 3, 8, 4, 9, 4, 9,
};
static const static_codebook _huff_book_line_128x7_1sub2 = {
1, 25,
- (long *)_huff_lengthlist_line_128x7_1sub2,
+ (char *)_huff_lengthlist_line_128x7_1sub2,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_128x7_1sub3[] = {
+static const char _huff_lengthlist_line_128x7_1sub3[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 7, 2, 7, 3, 8, 4,
9, 5, 9, 8,10,11,11,12,14,14,14,14,14,14,14,14,
@@ -600,25 +600,25 @@ static const long _huff_lengthlist_line_128x7_1sub3[] = {
static const static_codebook _huff_book_line_128x7_1sub3 = {
1, 64,
- (long *)_huff_lengthlist_line_128x7_1sub3,
+ (char *)_huff_lengthlist_line_128x7_1sub3,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_128x11_class1[] = {
+static const char _huff_lengthlist_line_128x11_class1[] = {
1, 6, 3, 7, 2, 4, 5, 7,
};
static const static_codebook _huff_book_line_128x11_class1 = {
1, 8,
- (long *)_huff_lengthlist_line_128x11_class1,
+ (char *)_huff_lengthlist_line_128x11_class1,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_128x11_class2[] = {
+static const char _huff_lengthlist_line_128x11_class2[] = {
1, 6,12,16, 4,12,15,16, 9,15,16,16,16,16,16,16,
2, 5,11,16, 5,11,13,16, 9,13,16,16,16,16,16,16,
4, 8,12,16, 5, 9,12,16, 9,13,15,16,16,16,16,16,
@@ -627,13 +627,13 @@ static const long _huff_lengthlist_line_128x11_class2[] = {
static const static_codebook _huff_book_line_128x11_class2 = {
1, 64,
- (long *)_huff_lengthlist_line_128x11_class2,
+ (char *)_huff_lengthlist_line_128x11_class2,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_128x11_class3[] = {
+static const char _huff_lengthlist_line_128x11_class3[] = {
7, 6, 9,17, 7, 6, 8,17,12, 9,11,16,16,16,16,16,
5, 4, 7,16, 5, 3, 6,14, 9, 6, 8,15,16,16,16,16,
5, 4, 6,13, 3, 2, 4,11, 7, 4, 6,13,16,11,10,14,
@@ -642,13 +642,13 @@ static const long _huff_lengthlist_line_128x11_class3[] = {
static const static_codebook _huff_book_line_128x11_class3 = {
1, 64,
- (long *)_huff_lengthlist_line_128x11_class3,
+ (char *)_huff_lengthlist_line_128x11_class3,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_128x11_0sub0[] = {
+static const char _huff_lengthlist_line_128x11_0sub0[] = {
5, 5, 5, 5, 5, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5,
6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 6, 6, 6, 7, 6,
7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 8, 6, 8, 6, 8, 7,
@@ -661,26 +661,26 @@ static const long _huff_lengthlist_line_128x11_0sub0[] = {
static const static_codebook _huff_book_line_128x11_0sub0 = {
1, 128,
- (long *)_huff_lengthlist_line_128x11_0sub0,
+ (char *)_huff_lengthlist_line_128x11_0sub0,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_128x11_1sub0[] = {
+static const char _huff_lengthlist_line_128x11_1sub0[] = {
2, 5, 5, 5, 5, 5, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5,
6, 5, 6, 5, 6, 5, 7, 6, 7, 6, 7, 6, 8, 6, 8, 6,
};
static const static_codebook _huff_book_line_128x11_1sub0 = {
1, 32,
- (long *)_huff_lengthlist_line_128x11_1sub0,
+ (char *)_huff_lengthlist_line_128x11_1sub0,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_128x11_1sub1[] = {
+static const char _huff_lengthlist_line_128x11_1sub1[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5, 3, 5, 3, 6, 4, 6, 4, 7, 4, 7, 4, 7, 4, 8, 4,
@@ -693,26 +693,26 @@ static const long _huff_lengthlist_line_128x11_1sub1[] = {
static const static_codebook _huff_book_line_128x11_1sub1 = {
1, 128,
- (long *)_huff_lengthlist_line_128x11_1sub1,
+ (char *)_huff_lengthlist_line_128x11_1sub1,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_128x11_2sub1[] = {
+static const char _huff_lengthlist_line_128x11_2sub1[] = {
0, 4, 5, 4, 5, 4, 5, 3, 5, 3, 5, 3, 5, 4, 4, 4,
5, 5,
};
static const static_codebook _huff_book_line_128x11_2sub1 = {
1, 18,
- (long *)_huff_lengthlist_line_128x11_2sub1,
+ (char *)_huff_lengthlist_line_128x11_2sub1,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_128x11_2sub2[] = {
+static const char _huff_lengthlist_line_128x11_2sub2[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3, 3, 3, 4, 4, 4, 4, 5, 4, 5, 4, 6, 5, 7,
5, 7, 6, 8, 6, 8, 6, 9, 7, 9, 7,10, 7, 9, 8,11,
@@ -721,13 +721,13 @@ static const long _huff_lengthlist_line_128x11_2sub2[] = {
static const static_codebook _huff_book_line_128x11_2sub2 = {
1, 50,
- (long *)_huff_lengthlist_line_128x11_2sub2,
+ (char *)_huff_lengthlist_line_128x11_2sub2,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_128x11_2sub3[] = {
+static const char _huff_lengthlist_line_128x11_2sub3[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -740,26 +740,26 @@ static const long _huff_lengthlist_line_128x11_2sub3[] = {
static const static_codebook _huff_book_line_128x11_2sub3 = {
1, 128,
- (long *)_huff_lengthlist_line_128x11_2sub3,
+ (char *)_huff_lengthlist_line_128x11_2sub3,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_128x11_3sub1[] = {
+static const char _huff_lengthlist_line_128x11_3sub1[] = {
0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 4,
5, 4,
};
static const static_codebook _huff_book_line_128x11_3sub1 = {
1, 18,
- (long *)_huff_lengthlist_line_128x11_3sub1,
+ (char *)_huff_lengthlist_line_128x11_3sub1,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_128x11_3sub2[] = {
+static const char _huff_lengthlist_line_128x11_3sub2[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 5, 3, 5, 4, 6, 4, 6, 4, 7, 4, 7, 4, 8, 4,
8, 4, 9, 4, 9, 4,10, 4,10, 5,10, 5,11, 5,12, 6,
@@ -768,13 +768,13 @@ static const long _huff_lengthlist_line_128x11_3sub2[] = {
static const static_codebook _huff_book_line_128x11_3sub2 = {
1, 50,
- (long *)_huff_lengthlist_line_128x11_3sub2,
+ (char *)_huff_lengthlist_line_128x11_3sub2,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_128x11_3sub3[] = {
+static const char _huff_lengthlist_line_128x11_3sub3[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -787,25 +787,25 @@ static const long _huff_lengthlist_line_128x11_3sub3[] = {
static const static_codebook _huff_book_line_128x11_3sub3 = {
1, 128,
- (long *)_huff_lengthlist_line_128x11_3sub3,
+ (char *)_huff_lengthlist_line_128x11_3sub3,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_128x17_class1[] = {
+static const char _huff_lengthlist_line_128x17_class1[] = {
1, 3, 4, 7, 2, 5, 6, 7,
};
static const static_codebook _huff_book_line_128x17_class1 = {
1, 8,
- (long *)_huff_lengthlist_line_128x17_class1,
+ (char *)_huff_lengthlist_line_128x17_class1,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_128x17_class2[] = {
+static const char _huff_lengthlist_line_128x17_class2[] = {
1, 4,10,19, 3, 8,13,19, 7,12,19,19,19,19,19,19,
2, 6,11,19, 8,13,19,19, 9,11,19,19,19,19,19,19,
6, 7,13,19, 9,13,19,19,10,13,18,18,18,18,18,18,
@@ -814,13 +814,13 @@ static const long _huff_lengthlist_line_128x17_class2[] = {
static const static_codebook _huff_book_line_128x17_class2 = {
1, 64,
- (long *)_huff_lengthlist_line_128x17_class2,
+ (char *)_huff_lengthlist_line_128x17_class2,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_128x17_class3[] = {
+static const char _huff_lengthlist_line_128x17_class3[] = {
3, 6,10,17, 4, 8,11,20, 8,10,11,20,20,20,20,20,
2, 4, 8,18, 4, 6, 8,17, 7, 8,10,20,20,17,20,20,
3, 5, 8,17, 3, 4, 6,17, 8, 8,10,17,17,12,16,20,
@@ -829,13 +829,13 @@ static const long _huff_lengthlist_line_128x17_class3[] = {
static const static_codebook _huff_book_line_128x17_class3 = {
1, 64,
- (long *)_huff_lengthlist_line_128x17_class3,
+ (char *)_huff_lengthlist_line_128x17_class3,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_128x17_0sub0[] = {
+static const char _huff_lengthlist_line_128x17_0sub0[] = {
5, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5,
7, 5, 7, 5, 7, 5, 7, 5, 7, 5, 7, 5, 8, 5, 8, 5,
8, 5, 8, 5, 8, 6, 8, 6, 8, 6, 9, 6, 9, 6, 9, 6,
@@ -848,26 +848,26 @@ static const long _huff_lengthlist_line_128x17_0sub0[] = {
static const static_codebook _huff_book_line_128x17_0sub0 = {
1, 128,
- (long *)_huff_lengthlist_line_128x17_0sub0,
+ (char *)_huff_lengthlist_line_128x17_0sub0,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_128x17_1sub0[] = {
+static const char _huff_lengthlist_line_128x17_1sub0[] = {
2, 5, 5, 4, 5, 4, 5, 4, 5, 5, 5, 5, 5, 5, 6, 5,
6, 5, 6, 5, 7, 6, 7, 6, 7, 6, 8, 6, 9, 7, 9, 7,
};
static const static_codebook _huff_book_line_128x17_1sub0 = {
1, 32,
- (long *)_huff_lengthlist_line_128x17_1sub0,
+ (char *)_huff_lengthlist_line_128x17_1sub0,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_128x17_1sub1[] = {
+static const char _huff_lengthlist_line_128x17_1sub1[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4, 3, 5, 3, 5, 3, 6, 3, 6, 4, 6, 4, 7, 4, 7, 5,
@@ -880,26 +880,26 @@ static const long _huff_lengthlist_line_128x17_1sub1[] = {
static const static_codebook _huff_book_line_128x17_1sub1 = {
1, 128,
- (long *)_huff_lengthlist_line_128x17_1sub1,
+ (char *)_huff_lengthlist_line_128x17_1sub1,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_128x17_2sub1[] = {
+static const char _huff_lengthlist_line_128x17_2sub1[] = {
0, 4, 5, 4, 6, 4, 8, 3, 9, 3, 9, 2, 9, 3, 8, 4,
9, 4,
};
static const static_codebook _huff_book_line_128x17_2sub1 = {
1, 18,
- (long *)_huff_lengthlist_line_128x17_2sub1,
+ (char *)_huff_lengthlist_line_128x17_2sub1,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_128x17_2sub2[] = {
+static const char _huff_lengthlist_line_128x17_2sub2[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 5, 1, 5, 3, 5, 3, 5, 4, 7, 5,10, 7,10, 7,
12,10,14,10,14, 9,14,11,14,14,14,13,13,13,13,13,
@@ -908,13 +908,13 @@ static const long _huff_lengthlist_line_128x17_2sub2[] = {
static const static_codebook _huff_book_line_128x17_2sub2 = {
1, 50,
- (long *)_huff_lengthlist_line_128x17_2sub2,
+ (char *)_huff_lengthlist_line_128x17_2sub2,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_128x17_2sub3[] = {
+static const char _huff_lengthlist_line_128x17_2sub3[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -927,26 +927,26 @@ static const long _huff_lengthlist_line_128x17_2sub3[] = {
static const static_codebook _huff_book_line_128x17_2sub3 = {
1, 128,
- (long *)_huff_lengthlist_line_128x17_2sub3,
+ (char *)_huff_lengthlist_line_128x17_2sub3,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_128x17_3sub1[] = {
+static const char _huff_lengthlist_line_128x17_3sub1[] = {
0, 4, 4, 4, 4, 4, 4, 4, 5, 3, 5, 3, 5, 4, 6, 4,
6, 4,
};
static const static_codebook _huff_book_line_128x17_3sub1 = {
1, 18,
- (long *)_huff_lengthlist_line_128x17_3sub1,
+ (char *)_huff_lengthlist_line_128x17_3sub1,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_128x17_3sub2[] = {
+static const char _huff_lengthlist_line_128x17_3sub2[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 5, 3, 6, 3, 6, 4, 7, 4, 7, 4, 7, 4, 8, 4,
8, 4, 8, 4, 8, 4, 9, 4, 9, 5,10, 5,10, 7,10, 8,
@@ -955,13 +955,13 @@ static const long _huff_lengthlist_line_128x17_3sub2[] = {
static const static_codebook _huff_book_line_128x17_3sub2 = {
1, 50,
- (long *)_huff_lengthlist_line_128x17_3sub2,
+ (char *)_huff_lengthlist_line_128x17_3sub2,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_128x17_3sub3[] = {
+static const char _huff_lengthlist_line_128x17_3sub3[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -974,37 +974,37 @@ static const long _huff_lengthlist_line_128x17_3sub3[] = {
static const static_codebook _huff_book_line_128x17_3sub3 = {
1, 128,
- (long *)_huff_lengthlist_line_128x17_3sub3,
+ (char *)_huff_lengthlist_line_128x17_3sub3,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_1024x27_class1[] = {
+static const char _huff_lengthlist_line_1024x27_class1[] = {
2,10, 8,14, 7,12,11,14, 1, 5, 3, 7, 4, 9, 7,13,
};
static const static_codebook _huff_book_line_1024x27_class1 = {
1, 16,
- (long *)_huff_lengthlist_line_1024x27_class1,
+ (char *)_huff_lengthlist_line_1024x27_class1,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_1024x27_class2[] = {
+static const char _huff_lengthlist_line_1024x27_class2[] = {
1, 4, 2, 6, 3, 7, 5, 7,
};
static const static_codebook _huff_book_line_1024x27_class2 = {
1, 8,
- (long *)_huff_lengthlist_line_1024x27_class2,
+ (char *)_huff_lengthlist_line_1024x27_class2,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_1024x27_class3[] = {
+static const char _huff_lengthlist_line_1024x27_class3[] = {
1, 5, 7,21, 5, 8, 9,21,10, 9,12,20,20,16,20,20,
4, 8, 9,20, 6, 8, 9,20,11,11,13,20,20,15,17,20,
9,11,14,20, 8,10,15,20,11,13,15,20,20,20,20,20,
@@ -1025,13 +1025,13 @@ static const long _huff_lengthlist_line_1024x27_class3[] = {
static const static_codebook _huff_book_line_1024x27_class3 = {
1, 256,
- (long *)_huff_lengthlist_line_1024x27_class3,
+ (char *)_huff_lengthlist_line_1024x27_class3,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_1024x27_class4[] = {
+static const char _huff_lengthlist_line_1024x27_class4[] = {
2, 3, 7,13, 4, 4, 7,15, 8, 6, 9,17,21,16,15,21,
2, 5, 7,11, 5, 5, 7,14, 9, 7,10,16,17,15,16,21,
4, 7,10,17, 7, 7, 9,15,11, 9,11,16,21,18,15,21,
@@ -1040,13 +1040,13 @@ static const long _huff_lengthlist_line_1024x27_class4[] = {
static const static_codebook _huff_book_line_1024x27_class4 = {
1, 64,
- (long *)_huff_lengthlist_line_1024x27_class4,
+ (char *)_huff_lengthlist_line_1024x27_class4,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_1024x27_0sub0[] = {
+static const char _huff_lengthlist_line_1024x27_0sub0[] = {
5, 5, 5, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5,
6, 5, 6, 5, 6, 5, 6, 5, 7, 5, 7, 5, 7, 5, 7, 5,
8, 6, 8, 6, 8, 6, 9, 6, 9, 6,10, 6,10, 6,11, 6,
@@ -1059,26 +1059,26 @@ static const long _huff_lengthlist_line_1024x27_0sub0[] = {
static const static_codebook _huff_book_line_1024x27_0sub0 = {
1, 128,
- (long *)_huff_lengthlist_line_1024x27_0sub0,
+ (char *)_huff_lengthlist_line_1024x27_0sub0,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_1024x27_1sub0[] = {
+static const char _huff_lengthlist_line_1024x27_1sub0[] = {
2, 5, 5, 4, 5, 4, 5, 4, 5, 4, 6, 5, 6, 5, 6, 5,
6, 5, 7, 5, 7, 6, 8, 6, 8, 6, 8, 6, 9, 6, 9, 6,
};
static const static_codebook _huff_book_line_1024x27_1sub0 = {
1, 32,
- (long *)_huff_lengthlist_line_1024x27_1sub0,
+ (char *)_huff_lengthlist_line_1024x27_1sub0,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_1024x27_1sub1[] = {
+static const char _huff_lengthlist_line_1024x27_1sub1[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
8, 5, 8, 4, 9, 4, 9, 4, 9, 4, 9, 4, 9, 4, 9, 4,
@@ -1091,26 +1091,26 @@ static const long _huff_lengthlist_line_1024x27_1sub1[] = {
static const static_codebook _huff_book_line_1024x27_1sub1 = {
1, 128,
- (long *)_huff_lengthlist_line_1024x27_1sub1,
+ (char *)_huff_lengthlist_line_1024x27_1sub1,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_1024x27_2sub0[] = {
+static const char _huff_lengthlist_line_1024x27_2sub0[] = {
1, 5, 5, 5, 5, 5, 5, 5, 6, 5, 6, 5, 6, 5, 6, 5,
6, 6, 7, 7, 7, 7, 8, 7, 8, 8, 9, 8,10, 9,10, 9,
};
static const static_codebook _huff_book_line_1024x27_2sub0 = {
1, 32,
- (long *)_huff_lengthlist_line_1024x27_2sub0,
+ (char *)_huff_lengthlist_line_1024x27_2sub0,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_1024x27_2sub1[] = {
+static const char _huff_lengthlist_line_1024x27_2sub1[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4, 3, 4, 3, 4, 4, 5, 4, 5, 4, 5, 5, 6, 5, 6, 5,
@@ -1123,26 +1123,26 @@ static const long _huff_lengthlist_line_1024x27_2sub1[] = {
static const static_codebook _huff_book_line_1024x27_2sub1 = {
1, 128,
- (long *)_huff_lengthlist_line_1024x27_2sub1,
+ (char *)_huff_lengthlist_line_1024x27_2sub1,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_1024x27_3sub1[] = {
+static const char _huff_lengthlist_line_1024x27_3sub1[] = {
0, 4, 5, 4, 5, 3, 5, 3, 5, 3, 5, 4, 4, 4, 4, 5,
5, 5,
};
static const static_codebook _huff_book_line_1024x27_3sub1 = {
1, 18,
- (long *)_huff_lengthlist_line_1024x27_3sub1,
+ (char *)_huff_lengthlist_line_1024x27_3sub1,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_1024x27_3sub2[] = {
+static const char _huff_lengthlist_line_1024x27_3sub2[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3, 3, 4, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 6,
5, 7, 5, 8, 6, 8, 6, 9, 7,10, 7,10, 8,10, 8,11,
@@ -1151,13 +1151,13 @@ static const long _huff_lengthlist_line_1024x27_3sub2[] = {
static const static_codebook _huff_book_line_1024x27_3sub2 = {
1, 50,
- (long *)_huff_lengthlist_line_1024x27_3sub2,
+ (char *)_huff_lengthlist_line_1024x27_3sub2,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_1024x27_3sub3[] = {
+static const char _huff_lengthlist_line_1024x27_3sub3[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1170,26 +1170,26 @@ static const long _huff_lengthlist_line_1024x27_3sub3[] = {
static const static_codebook _huff_book_line_1024x27_3sub3 = {
1, 128,
- (long *)_huff_lengthlist_line_1024x27_3sub3,
+ (char *)_huff_lengthlist_line_1024x27_3sub3,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_1024x27_4sub1[] = {
+static const char _huff_lengthlist_line_1024x27_4sub1[] = {
0, 4, 5, 4, 5, 4, 5, 4, 5, 3, 5, 3, 5, 3, 5, 4,
5, 4,
};
static const static_codebook _huff_book_line_1024x27_4sub1 = {
1, 18,
- (long *)_huff_lengthlist_line_1024x27_4sub1,
+ (char *)_huff_lengthlist_line_1024x27_4sub1,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_1024x27_4sub2[] = {
+static const char _huff_lengthlist_line_1024x27_4sub2[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 4, 2, 4, 2, 5, 3, 5, 4, 6, 6, 6, 7, 7, 8,
7, 8, 7, 8, 7, 9, 8, 9, 8, 9, 8,10, 8,11, 9,12,
@@ -1198,13 +1198,13 @@ static const long _huff_lengthlist_line_1024x27_4sub2[] = {
static const static_codebook _huff_book_line_1024x27_4sub2 = {
1, 50,
- (long *)_huff_lengthlist_line_1024x27_4sub2,
+ (char *)_huff_lengthlist_line_1024x27_4sub2,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_1024x27_4sub3[] = {
+static const char _huff_lengthlist_line_1024x27_4sub3[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1217,37 +1217,37 @@ static const long _huff_lengthlist_line_1024x27_4sub3[] = {
static const static_codebook _huff_book_line_1024x27_4sub3 = {
1, 128,
- (long *)_huff_lengthlist_line_1024x27_4sub3,
+ (char *)_huff_lengthlist_line_1024x27_4sub3,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_2048x27_class1[] = {
+static const char _huff_lengthlist_line_2048x27_class1[] = {
2, 6, 8, 9, 7,11,13,13, 1, 3, 5, 5, 6, 6,12,10,
};
static const static_codebook _huff_book_line_2048x27_class1 = {
1, 16,
- (long *)_huff_lengthlist_line_2048x27_class1,
+ (char *)_huff_lengthlist_line_2048x27_class1,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_2048x27_class2[] = {
+static const char _huff_lengthlist_line_2048x27_class2[] = {
1, 2, 3, 6, 4, 7, 5, 7,
};
static const static_codebook _huff_book_line_2048x27_class2 = {
1, 8,
- (long *)_huff_lengthlist_line_2048x27_class2,
+ (char *)_huff_lengthlist_line_2048x27_class2,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_2048x27_class3[] = {
+static const char _huff_lengthlist_line_2048x27_class3[] = {
3, 3, 6,16, 5, 5, 7,16, 9, 8,11,16,16,16,16,16,
5, 5, 8,16, 5, 5, 7,16, 8, 7, 9,16,16,16,16,16,
9, 9,12,16, 6, 8,11,16, 9,10,11,16,16,16,16,16,
@@ -1268,13 +1268,13 @@ static const long _huff_lengthlist_line_2048x27_class3[] = {
static const static_codebook _huff_book_line_2048x27_class3 = {
1, 256,
- (long *)_huff_lengthlist_line_2048x27_class3,
+ (char *)_huff_lengthlist_line_2048x27_class3,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_2048x27_class4[] = {
+static const char _huff_lengthlist_line_2048x27_class4[] = {
2, 4, 7,13, 4, 5, 7,15, 8, 7,10,16,16,14,16,16,
2, 4, 7,16, 3, 4, 7,14, 8, 8,10,16,16,16,15,16,
6, 8,11,16, 7, 7, 9,16,11, 9,13,16,16,16,15,16,
@@ -1283,13 +1283,13 @@ static const long _huff_lengthlist_line_2048x27_class4[] = {
static const static_codebook _huff_book_line_2048x27_class4 = {
1, 64,
- (long *)_huff_lengthlist_line_2048x27_class4,
+ (char *)_huff_lengthlist_line_2048x27_class4,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_2048x27_0sub0[] = {
+static const char _huff_lengthlist_line_2048x27_0sub0[] = {
5, 5, 5, 5, 5, 5, 6, 5, 6, 5, 6, 5, 6, 5, 6, 5,
6, 5, 7, 5, 7, 5, 7, 5, 8, 5, 8, 5, 8, 5, 9, 5,
9, 6,10, 6,10, 6,11, 6,11, 6,11, 6,11, 6,11, 6,
@@ -1302,26 +1302,26 @@ static const long _huff_lengthlist_line_2048x27_0sub0[] = {
static const static_codebook _huff_book_line_2048x27_0sub0 = {
1, 128,
- (long *)_huff_lengthlist_line_2048x27_0sub0,
+ (char *)_huff_lengthlist_line_2048x27_0sub0,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_2048x27_1sub0[] = {
+static const char _huff_lengthlist_line_2048x27_1sub0[] = {
4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 6, 6, 6, 6, 6, 6, 7, 6, 7, 6, 7, 6, 7, 6,
};
static const static_codebook _huff_book_line_2048x27_1sub0 = {
1, 32,
- (long *)_huff_lengthlist_line_2048x27_1sub0,
+ (char *)_huff_lengthlist_line_2048x27_1sub0,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_2048x27_1sub1[] = {
+static const char _huff_lengthlist_line_2048x27_1sub1[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6, 5, 7, 5, 7, 4, 7, 4, 8, 4, 8, 4, 8, 4, 8, 3,
@@ -1334,26 +1334,26 @@ static const long _huff_lengthlist_line_2048x27_1sub1[] = {
static const static_codebook _huff_book_line_2048x27_1sub1 = {
1, 128,
- (long *)_huff_lengthlist_line_2048x27_1sub1,
+ (char *)_huff_lengthlist_line_2048x27_1sub1,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_2048x27_2sub0[] = {
+static const char _huff_lengthlist_line_2048x27_2sub0[] = {
2, 4, 5, 4, 5, 4, 5, 4, 5, 5, 5, 5, 5, 5, 6, 5,
6, 5, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8,
};
static const static_codebook _huff_book_line_2048x27_2sub0 = {
1, 32,
- (long *)_huff_lengthlist_line_2048x27_2sub0,
+ (char *)_huff_lengthlist_line_2048x27_2sub0,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_2048x27_2sub1[] = {
+static const char _huff_lengthlist_line_2048x27_2sub1[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3, 4, 3, 4, 3, 4, 4, 5, 4, 5, 5, 5, 6, 6, 6, 7,
@@ -1366,26 +1366,26 @@ static const long _huff_lengthlist_line_2048x27_2sub1[] = {
static const static_codebook _huff_book_line_2048x27_2sub1 = {
1, 128,
- (long *)_huff_lengthlist_line_2048x27_2sub1,
+ (char *)_huff_lengthlist_line_2048x27_2sub1,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_2048x27_3sub1[] = {
+static const char _huff_lengthlist_line_2048x27_3sub1[] = {
0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
5, 5,
};
static const static_codebook _huff_book_line_2048x27_3sub1 = {
1, 18,
- (long *)_huff_lengthlist_line_2048x27_3sub1,
+ (char *)_huff_lengthlist_line_2048x27_3sub1,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_2048x27_3sub2[] = {
+static const char _huff_lengthlist_line_2048x27_3sub2[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 6,
6, 7, 6, 7, 6, 8, 6, 9, 7, 9, 7, 9, 9,11, 9,12,
@@ -1394,13 +1394,13 @@ static const long _huff_lengthlist_line_2048x27_3sub2[] = {
static const static_codebook _huff_book_line_2048x27_3sub2 = {
1, 50,
- (long *)_huff_lengthlist_line_2048x27_3sub2,
+ (char *)_huff_lengthlist_line_2048x27_3sub2,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_2048x27_3sub3[] = {
+static const char _huff_lengthlist_line_2048x27_3sub3[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1413,26 +1413,26 @@ static const long _huff_lengthlist_line_2048x27_3sub3[] = {
static const static_codebook _huff_book_line_2048x27_3sub3 = {
1, 128,
- (long *)_huff_lengthlist_line_2048x27_3sub3,
+ (char *)_huff_lengthlist_line_2048x27_3sub3,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_2048x27_4sub1[] = {
+static const char _huff_lengthlist_line_2048x27_4sub1[] = {
0, 3, 4, 4, 4, 4, 4, 4, 4, 4, 5, 4, 5, 4, 5, 4,
4, 5,
};
static const static_codebook _huff_book_line_2048x27_4sub1 = {
1, 18,
- (long *)_huff_lengthlist_line_2048x27_4sub1,
+ (char *)_huff_lengthlist_line_2048x27_4sub1,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_2048x27_4sub2[] = {
+static const char _huff_lengthlist_line_2048x27_4sub2[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3, 2, 4, 3, 4, 4, 4, 5, 5, 6, 5, 6, 5, 7,
6, 6, 6, 7, 7, 7, 8, 9, 9, 9,12,10,11,10,10,12,
@@ -1441,13 +1441,13 @@ static const long _huff_lengthlist_line_2048x27_4sub2[] = {
static const static_codebook _huff_book_line_2048x27_4sub2 = {
1, 50,
- (long *)_huff_lengthlist_line_2048x27_4sub2,
+ (char *)_huff_lengthlist_line_2048x27_4sub2,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_2048x27_4sub3[] = {
+static const char _huff_lengthlist_line_2048x27_4sub3[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -1460,13 +1460,13 @@ static const long _huff_lengthlist_line_2048x27_4sub3[] = {
static const static_codebook _huff_book_line_2048x27_4sub3 = {
1, 128,
- (long *)_huff_lengthlist_line_2048x27_4sub3,
+ (char *)_huff_lengthlist_line_2048x27_4sub3,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_256x4low_class0[] = {
+static const char _huff_lengthlist_line_256x4low_class0[] = {
4, 5, 6,11, 5, 5, 6,10, 7, 7, 6, 6,14,13, 9, 9,
6, 6, 6,10, 6, 6, 6, 9, 8, 7, 7, 9,14,12, 8,11,
8, 7, 7,11, 8, 8, 7,11, 9, 9, 7, 9,13,11, 9,13,
@@ -1487,50 +1487,50 @@ static const long _huff_lengthlist_line_256x4low_class0[] = {
static const static_codebook _huff_book_line_256x4low_class0 = {
1, 256,
- (long *)_huff_lengthlist_line_256x4low_class0,
+ (char *)_huff_lengthlist_line_256x4low_class0,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_256x4low_0sub0[] = {
+static const char _huff_lengthlist_line_256x4low_0sub0[] = {
1, 3, 2, 3,
};
static const static_codebook _huff_book_line_256x4low_0sub0 = {
1, 4,
- (long *)_huff_lengthlist_line_256x4low_0sub0,
+ (char *)_huff_lengthlist_line_256x4low_0sub0,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_256x4low_0sub1[] = {
+static const char _huff_lengthlist_line_256x4low_0sub1[] = {
0, 0, 0, 0, 2, 3, 2, 3, 3, 3,
};
static const static_codebook _huff_book_line_256x4low_0sub1 = {
1, 10,
- (long *)_huff_lengthlist_line_256x4low_0sub1,
+ (char *)_huff_lengthlist_line_256x4low_0sub1,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_256x4low_0sub2[] = {
+static const char _huff_lengthlist_line_256x4low_0sub2[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 4, 3, 4,
4, 4, 4, 4, 5, 5, 5, 6, 6,
};
static const static_codebook _huff_book_line_256x4low_0sub2 = {
1, 25,
- (long *)_huff_lengthlist_line_256x4low_0sub2,
+ (char *)_huff_lengthlist_line_256x4low_0sub2,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist_line_256x4low_0sub3[] = {
+static const char _huff_lengthlist_line_256x4low_0sub3[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 2, 4, 3, 5, 4,
5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 7, 7, 8, 6, 9,
@@ -1539,7 +1539,7 @@ static const long _huff_lengthlist_line_256x4low_0sub3[] = {
static const static_codebook _huff_book_line_256x4low_0sub3 = {
1, 64,
- (long *)_huff_lengthlist_line_256x4low_0sub3,
+ (char *)_huff_lengthlist_line_256x4low_0sub3,
0, 0, 0, 0, 0,
NULL,
0
diff --git a/drivers/vorbis/books/uncoupled/Makefile.am b/drivers/vorbis/books/uncoupled/Makefile.am
deleted file mode 100644
index 93ff417c8f..0000000000
--- a/drivers/vorbis/books/uncoupled/Makefile.am
+++ /dev/null
@@ -1,3 +0,0 @@
-## Process this file with automake to produce Makefile.in
-
-EXTRA_DIST = res_books_uncoupled.h
diff --git a/drivers/vorbis/books/uncoupled/Makefile.in b/drivers/vorbis/books/uncoupled/Makefile.in
deleted file mode 100644
index 34362f1454..0000000000
--- a/drivers/vorbis/books/uncoupled/Makefile.in
+++ /dev/null
@@ -1,356 +0,0 @@
-# Makefile.in generated by automake 1.10.2 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-target_triplet = @target@
-subdir = lib/books/uncoupled
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \
- $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/pkg.m4 \
- $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES =
-SOURCES =
-DIST_SOURCES =
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
-ALLOCA = @ALLOCA@
-AMTAR = @AMTAR@
-AR = @AR@
-AS = @AS@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEBUG = @DEBUG@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DLLTOOL = @DLLTOOL@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-HAVE_DOXYGEN = @HAVE_DOXYGEN@
-HTLATEX = @HTLATEX@
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIBTOOL_DEPS = @LIBTOOL_DEPS@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-MAINT = @MAINT@
-MAKEINFO = @MAKEINFO@
-MKDIR_P = @MKDIR_P@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OGG_CFLAGS = @OGG_CFLAGS@
-OGG_LIBS = @OGG_LIBS@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PDFLATEX = @PDFLATEX@
-PKG_CONFIG = @PKG_CONFIG@
-PROFILE = @PROFILE@
-RANLIB = @RANLIB@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-VERSION = @VERSION@
-VE_LIB_AGE = @VE_LIB_AGE@
-VE_LIB_CURRENT = @VE_LIB_CURRENT@
-VE_LIB_REVISION = @VE_LIB_REVISION@
-VF_LIB_AGE = @VF_LIB_AGE@
-VF_LIB_CURRENT = @VF_LIB_CURRENT@
-VF_LIB_REVISION = @VF_LIB_REVISION@
-VORBIS_LIBS = @VORBIS_LIBS@
-V_LIB_AGE = @V_LIB_AGE@
-V_LIB_CURRENT = @V_LIB_CURRENT@
-V_LIB_REVISION = @V_LIB_REVISION@
-abs_builddir = @abs_builddir@
-abs_srcdir = @abs_srcdir@
-abs_top_builddir = @abs_top_builddir@
-abs_top_srcdir = @abs_top_srcdir@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-builddir = @builddir@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-pthread_lib = @pthread_lib@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-srcdir = @srcdir@
-sysconfdir = @sysconfdir@
-target = @target@
-target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
-top_builddir = @top_builddir@
-top_srcdir = @top_srcdir@
-EXTRA_DIST = res_books_uncoupled.h
-all: all-am
-
-.SUFFIXES:
-$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
- && { if test -f $@; then exit 0; else break; fi; }; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu lib/books/uncoupled/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu lib/books/uncoupled/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-tags: TAGS
-TAGS:
-
-ctags: CTAGS
-CTAGS:
-
-
-distdir: $(DISTFILES)
- @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
- list='$(DISTFILES)'; \
- dist_files=`for file in $$list; do echo $$file; done | \
- sed -e "s|^$$srcdirstrip/||;t" \
- -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
- case $$dist_files in \
- */*) $(MKDIR_P) `echo "$$dist_files" | \
- sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
- sort -u` ;; \
- esac; \
- for file in $$dist_files; do \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- if test -d $$d/$$file; then \
- dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
-check: check-am
-all-am: Makefile
-installdirs:
-install: install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
-clean: clean-am
-
-clean-am: clean-generic clean-libtool mostlyclean-am
-
-distclean: distclean-am
- -rm -f Makefile
-distclean-am: clean-am distclean-generic
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am:
-
-install-dvi: install-dvi-am
-
-install-exec-am:
-
-install-html: install-html-am
-
-install-info: install-info-am
-
-install-man:
-
-install-pdf: install-pdf-am
-
-install-ps: install-ps-am
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-generic mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am:
-
-.MAKE: install-am install-strip
-
-.PHONY: all all-am check check-am clean clean-generic clean-libtool \
- distclean distclean-generic distclean-libtool distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-dvi install-dvi-am \
- install-exec install-exec-am install-html install-html-am \
- install-info install-info-am install-man install-pdf \
- install-pdf-am install-ps install-ps-am install-strip \
- installcheck installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-generic \
- mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am
-
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/drivers/vorbis/books/uncoupled/res_books_uncoupled.h b/drivers/vorbis/books/uncoupled/res_books_uncoupled.h
index d2473635b5..736353b675 100644
--- a/drivers/vorbis/books/uncoupled/res_books_uncoupled.h
+++ b/drivers/vorbis/books/uncoupled/res_books_uncoupled.h
@@ -11,7 +11,7 @@
********************************************************************
function: static codebooks autogenerated by huff/huffbuld
- last modified: $Id: res_books_uncoupled.h 17022 2010-03-25 03:45:42Z xiphmont $
+ last modified: $Id: res_books_uncoupled.h 19057 2014-01-22 12:32:31Z xiphmont $
********************************************************************/
@@ -23,7 +23,7 @@ static const long _vq_quantlist__16u0__p1_0[] = {
2,
};
-static const long _vq_lengthlist__16u0__p1_0[] = {
+static const char _vq_lengthlist__16u0__p1_0[] = {
1, 4, 4, 5, 7, 7, 5, 7, 8, 5, 8, 8, 8,10,10, 8,
10,11, 5, 8, 8, 8,10,10, 8,10,10, 4, 9, 9, 9,12,
11, 8,11,11, 8,12,11,10,12,14,10,13,13, 7,11,11,
@@ -34,7 +34,7 @@ static const long _vq_lengthlist__16u0__p1_0[] = {
static const static_codebook _16u0__p1_0 = {
4, 81,
- (long *)_vq_lengthlist__16u0__p1_0,
+ (char *)_vq_lengthlist__16u0__p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__16u0__p1_0,
0
@@ -46,7 +46,7 @@ static const long _vq_quantlist__16u0__p2_0[] = {
2,
};
-static const long _vq_lengthlist__16u0__p2_0[] = {
+static const char _vq_lengthlist__16u0__p2_0[] = {
2, 4, 4, 5, 6, 6, 5, 6, 6, 5, 7, 7, 7, 8, 9, 7,
8, 9, 5, 7, 7, 7, 9, 8, 7, 9, 7, 4, 7, 7, 7, 9,
9, 7, 8, 8, 6, 9, 8, 7, 8,11, 9,11,10, 6, 8, 9,
@@ -57,7 +57,7 @@ static const long _vq_lengthlist__16u0__p2_0[] = {
static const static_codebook _16u0__p2_0 = {
4, 81,
- (long *)_vq_lengthlist__16u0__p2_0,
+ (char *)_vq_lengthlist__16u0__p2_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__16u0__p2_0,
0
@@ -71,7 +71,7 @@ static const long _vq_quantlist__16u0__p3_0[] = {
4,
};
-static const long _vq_lengthlist__16u0__p3_0[] = {
+static const char _vq_lengthlist__16u0__p3_0[] = {
1, 5, 5, 7, 7, 6, 7, 7, 8, 8, 6, 7, 8, 8, 8, 8,
9, 9,11,11, 8, 9, 9,11,11, 6, 9, 8,10,10, 8,10,
10,11,11, 8,10,10,11,11,10,11,10,13,12, 9,11,10,
@@ -116,7 +116,7 @@ static const long _vq_lengthlist__16u0__p3_0[] = {
static const static_codebook _16u0__p3_0 = {
4, 625,
- (long *)_vq_lengthlist__16u0__p3_0,
+ (char *)_vq_lengthlist__16u0__p3_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__16u0__p3_0,
0
@@ -130,7 +130,7 @@ static const long _vq_quantlist__16u0__p4_0[] = {
4,
};
-static const long _vq_lengthlist__16u0__p4_0[] = {
+static const char _vq_lengthlist__16u0__p4_0[] = {
3, 5, 5, 8, 8, 6, 6, 6, 9, 9, 6, 6, 6, 9, 9, 9,
10, 9,11,11, 9, 9, 9,11,11, 6, 7, 7,10,10, 7, 7,
8,10,10, 7, 7, 8,10,10,10,10,10,11,12, 9,10,10,
@@ -175,7 +175,7 @@ static const long _vq_lengthlist__16u0__p4_0[] = {
static const static_codebook _16u0__p4_0 = {
4, 625,
- (long *)_vq_lengthlist__16u0__p4_0,
+ (char *)_vq_lengthlist__16u0__p4_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__16u0__p4_0,
0
@@ -193,7 +193,7 @@ static const long _vq_quantlist__16u0__p5_0[] = {
8,
};
-static const long _vq_lengthlist__16u0__p5_0[] = {
+static const char _vq_lengthlist__16u0__p5_0[] = {
1, 4, 4, 7, 7, 7, 7, 9, 9, 4, 6, 6, 8, 8, 8, 8,
9, 9, 4, 6, 6, 8, 8, 8, 8, 9, 9, 7, 8, 8, 9, 9,
9, 9,11,10, 7, 8, 8, 9, 9, 9, 9,10,11, 7, 8, 8,
@@ -204,7 +204,7 @@ static const long _vq_lengthlist__16u0__p5_0[] = {
static const static_codebook _16u0__p5_0 = {
2, 81,
- (long *)_vq_lengthlist__16u0__p5_0,
+ (char *)_vq_lengthlist__16u0__p5_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__16u0__p5_0,
0
@@ -226,7 +226,7 @@ static const long _vq_quantlist__16u0__p6_0[] = {
12,
};
-static const long _vq_lengthlist__16u0__p6_0[] = {
+static const char _vq_lengthlist__16u0__p6_0[] = {
1, 4, 4, 7, 7,10,10,12,12,13,13,18,17, 3, 6, 6,
9, 9,11,11,13,13,14,14,18,17, 3, 6, 6, 9, 9,11,
11,13,13,14,14,17,18, 7, 9, 9,11,11,13,13,14,14,
@@ -242,7 +242,7 @@ static const long _vq_lengthlist__16u0__p6_0[] = {
static const static_codebook _16u0__p6_0 = {
2, 169,
- (long *)_vq_lengthlist__16u0__p6_0,
+ (char *)_vq_lengthlist__16u0__p6_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__16u0__p6_0,
0
@@ -256,14 +256,14 @@ static const long _vq_quantlist__16u0__p6_1[] = {
4,
};
-static const long _vq_lengthlist__16u0__p6_1[] = {
+static const char _vq_lengthlist__16u0__p6_1[] = {
1, 4, 5, 6, 6, 4, 6, 6, 6, 6, 4, 6, 6, 6, 6, 6,
6, 6, 7, 7, 6, 6, 6, 7, 7,
};
static const static_codebook _16u0__p6_1 = {
2, 25,
- (long *)_vq_lengthlist__16u0__p6_1,
+ (char *)_vq_lengthlist__16u0__p6_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__16u0__p6_1,
0
@@ -275,7 +275,7 @@ static const long _vq_quantlist__16u0__p7_0[] = {
2,
};
-static const long _vq_lengthlist__16u0__p7_0[] = {
+static const char _vq_lengthlist__16u0__p7_0[] = {
1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
@@ -286,7 +286,7 @@ static const long _vq_lengthlist__16u0__p7_0[] = {
static const static_codebook _16u0__p7_0 = {
4, 81,
- (long *)_vq_lengthlist__16u0__p7_0,
+ (char *)_vq_lengthlist__16u0__p7_0,
1, -518803456, 1628680192, 2, 0,
(long *)_vq_quantlist__16u0__p7_0,
0
@@ -310,7 +310,7 @@ static const long _vq_quantlist__16u0__p7_1[] = {
14,
};
-static const long _vq_lengthlist__16u0__p7_1[] = {
+static const char _vq_lengthlist__16u0__p7_1[] = {
1, 5, 5, 6, 5, 9,10,11,11,10,10,10,10,10,10, 5,
8, 8, 8,10,10,10,10,10,10,10,10,10,10,10, 5, 8,
9, 9, 9,10,10,10,10,10,10,10,10,10,10, 5,10, 8,
@@ -330,7 +330,7 @@ static const long _vq_lengthlist__16u0__p7_1[] = {
static const static_codebook _16u0__p7_1 = {
2, 225,
- (long *)_vq_lengthlist__16u0__p7_1,
+ (char *)_vq_lengthlist__16u0__p7_1,
1, -520986624, 1620377600, 4, 0,
(long *)_vq_quantlist__16u0__p7_1,
0
@@ -360,7 +360,7 @@ static const long _vq_quantlist__16u0__p7_2[] = {
20,
};
-static const long _vq_lengthlist__16u0__p7_2[] = {
+static const char _vq_lengthlist__16u0__p7_2[] = {
1, 6, 6, 7, 8, 7, 7,10, 9,10, 9,11,10, 9,11,10,
9, 9, 9, 9,10, 6, 8, 7, 9, 9, 8, 8,10,10, 9,11,
11,12,12,10, 9,11, 9,12,10, 9, 6, 9, 8, 9,12, 8,
@@ -393,13 +393,13 @@ static const long _vq_lengthlist__16u0__p7_2[] = {
static const static_codebook _16u0__p7_2 = {
2, 441,
- (long *)_vq_lengthlist__16u0__p7_2,
+ (char *)_vq_lengthlist__16u0__p7_2,
1, -529268736, 1611661312, 5, 0,
(long *)_vq_quantlist__16u0__p7_2,
0
};
-static const long _huff_lengthlist__16u0__single[] = {
+static const char _huff_lengthlist__16u0__single[] = {
3, 5, 8, 7,14, 8, 9,19, 5, 2, 5, 5, 9, 6, 9,19,
8, 4, 5, 7, 8, 9,13,19, 7, 4, 6, 5, 9, 6, 9,19,
12, 8, 7, 9,10,11,13,19, 8, 5, 8, 6, 9, 6, 7,19,
@@ -408,13 +408,13 @@ static const long _huff_lengthlist__16u0__single[] = {
static const static_codebook _huff_book__16u0__single = {
2, 64,
- (long *)_huff_lengthlist__16u0__single,
+ (char *)_huff_lengthlist__16u0__single,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist__16u1__long[] = {
+static const char _huff_lengthlist__16u1__long[] = {
3, 6,10, 8,12, 8,14, 8,14,19, 5, 3, 5, 5, 7, 6,
11, 7,16,19, 7, 5, 6, 7, 7, 9,11,12,19,19, 6, 4,
7, 5, 7, 6,10, 7,18,18, 8, 6, 7, 7, 7, 7, 8, 9,
@@ -426,7 +426,7 @@ static const long _huff_lengthlist__16u1__long[] = {
static const static_codebook _huff_book__16u1__long = {
2, 100,
- (long *)_huff_lengthlist__16u1__long,
+ (char *)_huff_lengthlist__16u1__long,
0, 0, 0, 0, 0,
NULL,
0
@@ -438,7 +438,7 @@ static const long _vq_quantlist__16u1__p1_0[] = {
2,
};
-static const long _vq_lengthlist__16u1__p1_0[] = {
+static const char _vq_lengthlist__16u1__p1_0[] = {
1, 4, 4, 5, 7, 7, 5, 7, 7, 5, 8, 7, 7,10,10, 7,
9,10, 5, 7, 8, 7,10, 9, 7,10,10, 5, 8, 8, 8,10,
10, 8,10,10, 7,10,10,10,11,12,10,12,13, 7,10,10,
@@ -449,7 +449,7 @@ static const long _vq_lengthlist__16u1__p1_0[] = {
static const static_codebook _16u1__p1_0 = {
4, 81,
- (long *)_vq_lengthlist__16u1__p1_0,
+ (char *)_vq_lengthlist__16u1__p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__16u1__p1_0,
0
@@ -461,7 +461,7 @@ static const long _vq_quantlist__16u1__p2_0[] = {
2,
};
-static const long _vq_lengthlist__16u1__p2_0[] = {
+static const char _vq_lengthlist__16u1__p2_0[] = {
3, 4, 4, 5, 6, 6, 5, 6, 6, 5, 6, 6, 6, 7, 8, 6,
7, 8, 5, 6, 6, 6, 8, 7, 6, 8, 7, 5, 6, 6, 6, 8,
8, 6, 8, 8, 6, 8, 8, 7, 7,10, 8, 9, 9, 6, 8, 8,
@@ -472,7 +472,7 @@ static const long _vq_lengthlist__16u1__p2_0[] = {
static const static_codebook _16u1__p2_0 = {
4, 81,
- (long *)_vq_lengthlist__16u1__p2_0,
+ (char *)_vq_lengthlist__16u1__p2_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__16u1__p2_0,
0
@@ -486,7 +486,7 @@ static const long _vq_quantlist__16u1__p3_0[] = {
4,
};
-static const long _vq_lengthlist__16u1__p3_0[] = {
+static const char _vq_lengthlist__16u1__p3_0[] = {
1, 5, 5, 8, 8, 6, 7, 7, 9, 9, 5, 7, 7, 9, 9, 9,
10, 9,11,11, 9, 9,10,11,11, 6, 8, 8,10,10, 8, 9,
10,11,11, 8, 9,10,11,11,10,11,11,12,13,10,11,11,
@@ -531,7 +531,7 @@ static const long _vq_lengthlist__16u1__p3_0[] = {
static const static_codebook _16u1__p3_0 = {
4, 625,
- (long *)_vq_lengthlist__16u1__p3_0,
+ (char *)_vq_lengthlist__16u1__p3_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__16u1__p3_0,
0
@@ -545,7 +545,7 @@ static const long _vq_quantlist__16u1__p4_0[] = {
4,
};
-static const long _vq_lengthlist__16u1__p4_0[] = {
+static const char _vq_lengthlist__16u1__p4_0[] = {
4, 5, 5, 8, 8, 6, 6, 7, 9, 9, 6, 6, 6, 9, 9, 9,
10, 9,11,11, 9, 9,10,11,11, 6, 7, 7,10, 9, 7, 7,
8, 9,10, 7, 7, 8,10,10,10,10,10,10,12, 9, 9,10,
@@ -590,7 +590,7 @@ static const long _vq_lengthlist__16u1__p4_0[] = {
static const static_codebook _16u1__p4_0 = {
4, 625,
- (long *)_vq_lengthlist__16u1__p4_0,
+ (char *)_vq_lengthlist__16u1__p4_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__16u1__p4_0,
0
@@ -608,7 +608,7 @@ static const long _vq_quantlist__16u1__p5_0[] = {
8,
};
-static const long _vq_lengthlist__16u1__p5_0[] = {
+static const char _vq_lengthlist__16u1__p5_0[] = {
1, 4, 4, 7, 7, 7, 7, 9, 9, 4, 6, 6, 8, 8, 8, 8,
10,10, 4, 5, 6, 8, 8, 8, 8,10,10, 7, 8, 8, 9, 9,
9, 9,11,11, 7, 8, 8, 9, 9, 9, 9,11,11, 7, 8, 8,
@@ -619,7 +619,7 @@ static const long _vq_lengthlist__16u1__p5_0[] = {
static const static_codebook _16u1__p5_0 = {
2, 81,
- (long *)_vq_lengthlist__16u1__p5_0,
+ (char *)_vq_lengthlist__16u1__p5_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__16u1__p5_0,
0
@@ -637,7 +637,7 @@ static const long _vq_quantlist__16u1__p6_0[] = {
8,
};
-static const long _vq_lengthlist__16u1__p6_0[] = {
+static const char _vq_lengthlist__16u1__p6_0[] = {
3, 4, 4, 6, 6, 7, 7, 9, 9, 4, 4, 4, 6, 6, 8, 8,
9, 9, 4, 4, 4, 6, 6, 7, 7, 9, 9, 6, 6, 6, 7, 7,
8, 8,10, 9, 6, 6, 6, 7, 7, 8, 8, 9,10, 7, 8, 7,
@@ -648,7 +648,7 @@ static const long _vq_lengthlist__16u1__p6_0[] = {
static const static_codebook _16u1__p6_0 = {
2, 81,
- (long *)_vq_lengthlist__16u1__p6_0,
+ (char *)_vq_lengthlist__16u1__p6_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__16u1__p6_0,
0
@@ -660,7 +660,7 @@ static const long _vq_quantlist__16u1__p7_0[] = {
2,
};
-static const long _vq_lengthlist__16u1__p7_0[] = {
+static const char _vq_lengthlist__16u1__p7_0[] = {
1, 4, 4, 4, 8, 8, 4, 8, 8, 5,11, 9, 8,12,11, 8,
12,11, 5,10,11, 8,11,12, 8,11,12, 4,11,11,11,14,
13,10,13,13, 8,14,13,12,14,16,12,16,15, 8,14,14,
@@ -671,7 +671,7 @@ static const long _vq_lengthlist__16u1__p7_0[] = {
static const static_codebook _16u1__p7_0 = {
4, 81,
- (long *)_vq_lengthlist__16u1__p7_0,
+ (char *)_vq_lengthlist__16u1__p7_0,
1, -529137664, 1618345984, 2, 0,
(long *)_vq_quantlist__16u1__p7_0,
0
@@ -691,7 +691,7 @@ static const long _vq_quantlist__16u1__p7_1[] = {
10,
};
-static const long _vq_lengthlist__16u1__p7_1[] = {
+static const char _vq_lengthlist__16u1__p7_1[] = {
2, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8, 4, 6, 5, 7, 7,
8, 8, 8, 8, 8, 8, 4, 5, 6, 7, 7, 8, 8, 8, 8, 8,
8, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 6, 7, 7, 8,
@@ -704,7 +704,7 @@ static const long _vq_lengthlist__16u1__p7_1[] = {
static const static_codebook _16u1__p7_1 = {
2, 121,
- (long *)_vq_lengthlist__16u1__p7_1,
+ (char *)_vq_lengthlist__16u1__p7_1,
1, -531365888, 1611661312, 4, 0,
(long *)_vq_quantlist__16u1__p7_1,
0
@@ -724,7 +724,7 @@ static const long _vq_quantlist__16u1__p8_0[] = {
10,
};
-static const long _vq_lengthlist__16u1__p8_0[] = {
+static const char _vq_lengthlist__16u1__p8_0[] = {
1, 4, 4, 5, 5, 8, 8,10,10,12,12, 4, 7, 7, 8, 8,
9, 9,12,11,14,13, 4, 7, 7, 7, 8, 9,10,11,11,13,
12, 5, 8, 8, 9, 9,11,11,12,13,15,14, 5, 7, 8, 9,
@@ -737,7 +737,7 @@ static const long _vq_lengthlist__16u1__p8_0[] = {
static const static_codebook _16u1__p8_0 = {
2, 121,
- (long *)_vq_lengthlist__16u1__p8_0,
+ (char *)_vq_lengthlist__16u1__p8_0,
1, -524582912, 1618345984, 4, 0,
(long *)_vq_quantlist__16u1__p8_0,
0
@@ -757,7 +757,7 @@ static const long _vq_quantlist__16u1__p8_1[] = {
10,
};
-static const long _vq_lengthlist__16u1__p8_1[] = {
+static const char _vq_lengthlist__16u1__p8_1[] = {
2, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8, 4, 6, 6, 7, 7,
8, 7, 8, 8, 8, 8, 4, 6, 6, 7, 7, 7, 7, 8, 8, 8,
8, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 9, 6, 7, 7, 7,
@@ -770,7 +770,7 @@ static const long _vq_lengthlist__16u1__p8_1[] = {
static const static_codebook _16u1__p8_1 = {
2, 121,
- (long *)_vq_lengthlist__16u1__p8_1,
+ (char *)_vq_lengthlist__16u1__p8_1,
1, -531365888, 1611661312, 4, 0,
(long *)_vq_quantlist__16u1__p8_1,
0
@@ -794,7 +794,7 @@ static const long _vq_quantlist__16u1__p9_0[] = {
14,
};
-static const long _vq_lengthlist__16u1__p9_0[] = {
+static const char _vq_lengthlist__16u1__p9_0[] = {
1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
@@ -814,7 +814,7 @@ static const long _vq_lengthlist__16u1__p9_0[] = {
static const static_codebook _16u1__p9_0 = {
2, 225,
- (long *)_vq_lengthlist__16u1__p9_0,
+ (char *)_vq_lengthlist__16u1__p9_0,
1, -514071552, 1627381760, 4, 0,
(long *)_vq_quantlist__16u1__p9_0,
0
@@ -838,7 +838,7 @@ static const long _vq_quantlist__16u1__p9_1[] = {
14,
};
-static const long _vq_lengthlist__16u1__p9_1[] = {
+static const char _vq_lengthlist__16u1__p9_1[] = {
1, 6, 5, 9, 9,10,10, 6, 7, 9, 9,10,10,10,10, 5,
10, 8,10, 8,10,10, 8, 8,10, 9,10,10,10,10, 5, 8,
9,10,10,10,10, 8,10,10,10,10,10,10,10, 9,10,10,
@@ -858,7 +858,7 @@ static const long _vq_lengthlist__16u1__p9_1[] = {
static const static_codebook _16u1__p9_1 = {
2, 225,
- (long *)_vq_lengthlist__16u1__p9_1,
+ (char *)_vq_lengthlist__16u1__p9_1,
1, -522338304, 1620115456, 4, 0,
(long *)_vq_quantlist__16u1__p9_1,
0
@@ -884,7 +884,7 @@ static const long _vq_quantlist__16u1__p9_2[] = {
16,
};
-static const long _vq_lengthlist__16u1__p9_2[] = {
+static const char _vq_lengthlist__16u1__p9_2[] = {
1, 6, 6, 7, 8, 8,11,10, 9, 9,11, 9,10, 9,11,11,
9, 6, 7, 6,11, 8,11, 9,10,10,11, 9,11,10,10,10,
11, 9, 5, 7, 7, 8, 8,10,11, 8, 8,11, 9, 9,10,11,
@@ -908,13 +908,13 @@ static const long _vq_lengthlist__16u1__p9_2[] = {
static const static_codebook _16u1__p9_2 = {
2, 289,
- (long *)_vq_lengthlist__16u1__p9_2,
+ (char *)_vq_lengthlist__16u1__p9_2,
1, -529530880, 1611661312, 5, 0,
(long *)_vq_quantlist__16u1__p9_2,
0
};
-static const long _huff_lengthlist__16u1__short[] = {
+static const char _huff_lengthlist__16u1__short[] = {
5, 7,10, 9,11,10,15,11,13,16, 6, 4, 6, 6, 7, 7,
10, 9,12,16,10, 6, 5, 6, 6, 7,10,11,16,16, 9, 6,
7, 6, 7, 7,10, 8,14,16,11, 6, 5, 4, 5, 6, 8, 9,
@@ -926,13 +926,13 @@ static const long _huff_lengthlist__16u1__short[] = {
static const static_codebook _huff_book__16u1__short = {
2, 100,
- (long *)_huff_lengthlist__16u1__short,
+ (char *)_huff_lengthlist__16u1__short,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist__16u2__long[] = {
+static const char _huff_lengthlist__16u2__long[] = {
5, 8,10,10,10,11,11,12,14,18, 7, 5, 5, 6, 8, 9,
10,12,14,17, 9, 5, 4, 5, 6, 8,10,11,13,19, 9, 5,
4, 4, 5, 6, 9,10,12,17, 8, 6, 5, 4, 4, 5, 7,10,
@@ -944,7 +944,7 @@ static const long _huff_lengthlist__16u2__long[] = {
static const static_codebook _huff_book__16u2__long = {
2, 100,
- (long *)_huff_lengthlist__16u2__long,
+ (char *)_huff_lengthlist__16u2__long,
0, 0, 0, 0, 0,
NULL,
0
@@ -956,7 +956,7 @@ static const long _vq_quantlist__16u2_p1_0[] = {
2,
};
-static const long _vq_lengthlist__16u2_p1_0[] = {
+static const char _vq_lengthlist__16u2_p1_0[] = {
1, 5, 5, 5, 7, 7, 5, 7, 7, 5, 7, 7, 7, 9, 9, 7,
9, 9, 5, 7, 7, 7, 9, 9, 8, 9, 9, 5, 7, 7, 8, 9,
9, 7, 9, 9, 7, 9, 9, 9,10,11, 9,10,10, 7, 9, 9,
@@ -967,7 +967,7 @@ static const long _vq_lengthlist__16u2_p1_0[] = {
static const static_codebook _16u2_p1_0 = {
4, 81,
- (long *)_vq_lengthlist__16u2_p1_0,
+ (char *)_vq_lengthlist__16u2_p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__16u2_p1_0,
0
@@ -981,7 +981,7 @@ static const long _vq_quantlist__16u2_p2_0[] = {
4,
};
-static const long _vq_lengthlist__16u2_p2_0[] = {
+static const char _vq_lengthlist__16u2_p2_0[] = {
3, 5, 5, 8, 8, 5, 7, 7, 9, 9, 5, 7, 7, 9, 9, 9,
10, 9,11,11, 9, 9, 9,11,11, 5, 7, 7, 9, 9, 7, 8,
8,10,10, 7, 8, 8,10,10,10,10,10,12,12, 9,10,10,
@@ -1026,7 +1026,7 @@ static const long _vq_lengthlist__16u2_p2_0[] = {
static const static_codebook _16u2_p2_0 = {
4, 625,
- (long *)_vq_lengthlist__16u2_p2_0,
+ (char *)_vq_lengthlist__16u2_p2_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__16u2_p2_0,
0
@@ -1044,7 +1044,7 @@ static const long _vq_quantlist__16u2_p3_0[] = {
8,
};
-static const long _vq_lengthlist__16u2_p3_0[] = {
+static const char _vq_lengthlist__16u2_p3_0[] = {
2, 4, 4, 6, 6, 7, 7, 9, 9, 4, 5, 5, 6, 6, 8, 7,
9, 9, 4, 5, 5, 6, 6, 7, 8, 9, 9, 6, 6, 6, 7, 7,
8, 8,10,10, 6, 6, 6, 7, 7, 8, 8,10,10, 7, 8, 7,
@@ -1055,7 +1055,7 @@ static const long _vq_lengthlist__16u2_p3_0[] = {
static const static_codebook _16u2_p3_0 = {
2, 81,
- (long *)_vq_lengthlist__16u2_p3_0,
+ (char *)_vq_lengthlist__16u2_p3_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__16u2_p3_0,
0
@@ -1081,7 +1081,7 @@ static const long _vq_quantlist__16u2_p4_0[] = {
16,
};
-static const long _vq_lengthlist__16u2_p4_0[] = {
+static const char _vq_lengthlist__16u2_p4_0[] = {
2, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9,10,10,11,11,11,
11, 5, 5, 5, 7, 6, 8, 7, 9, 9, 9, 9,10,10,11,11,
12,12, 5, 5, 5, 6, 6, 7, 8, 8, 9, 9, 9,10,10,11,
@@ -1105,7 +1105,7 @@ static const long _vq_lengthlist__16u2_p4_0[] = {
static const static_codebook _16u2_p4_0 = {
2, 289,
- (long *)_vq_lengthlist__16u2_p4_0,
+ (char *)_vq_lengthlist__16u2_p4_0,
1, -529530880, 1611661312, 5, 0,
(long *)_vq_quantlist__16u2_p4_0,
0
@@ -1117,7 +1117,7 @@ static const long _vq_quantlist__16u2_p5_0[] = {
2,
};
-static const long _vq_lengthlist__16u2_p5_0[] = {
+static const char _vq_lengthlist__16u2_p5_0[] = {
1, 4, 4, 5, 7, 7, 5, 7, 7, 5, 8, 8, 7, 9, 9, 7,
9,10, 5, 8, 8, 7,10, 9, 7,10, 9, 5, 8, 8, 8,11,
10, 8,10,10, 7,10,10, 9, 9,12,10,12,12, 7,10,10,
@@ -1128,7 +1128,7 @@ static const long _vq_lengthlist__16u2_p5_0[] = {
static const static_codebook _16u2_p5_0 = {
4, 81,
- (long *)_vq_lengthlist__16u2_p5_0,
+ (char *)_vq_lengthlist__16u2_p5_0,
1, -529137664, 1618345984, 2, 0,
(long *)_vq_quantlist__16u2_p5_0,
0
@@ -1148,7 +1148,7 @@ static const long _vq_quantlist__16u2_p5_1[] = {
10,
};
-static const long _vq_lengthlist__16u2_p5_1[] = {
+static const char _vq_lengthlist__16u2_p5_1[] = {
2, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8, 5, 6, 6, 7, 7,
7, 7, 8, 8, 8, 8, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8,
8, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 6, 7, 7, 7,
@@ -1161,7 +1161,7 @@ static const long _vq_lengthlist__16u2_p5_1[] = {
static const static_codebook _16u2_p5_1 = {
2, 121,
- (long *)_vq_lengthlist__16u2_p5_1,
+ (char *)_vq_lengthlist__16u2_p5_1,
1, -531365888, 1611661312, 4, 0,
(long *)_vq_quantlist__16u2_p5_1,
0
@@ -1183,7 +1183,7 @@ static const long _vq_quantlist__16u2_p6_0[] = {
12,
};
-static const long _vq_lengthlist__16u2_p6_0[] = {
+static const char _vq_lengthlist__16u2_p6_0[] = {
1, 5, 4, 7, 7, 8, 8, 8, 8,10,10,11,11, 4, 6, 6,
7, 7, 9, 9, 9, 9,10,10,11,11, 4, 6, 6, 7, 7, 9,
9, 9, 9,10,10,11,11, 7, 8, 8, 9, 9, 9, 9,10,10,
@@ -1199,7 +1199,7 @@ static const long _vq_lengthlist__16u2_p6_0[] = {
static const static_codebook _16u2_p6_0 = {
2, 169,
- (long *)_vq_lengthlist__16u2_p6_0,
+ (char *)_vq_lengthlist__16u2_p6_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__16u2_p6_0,
0
@@ -1213,14 +1213,14 @@ static const long _vq_quantlist__16u2_p6_1[] = {
4,
};
-static const long _vq_lengthlist__16u2_p6_1[] = {
+static const char _vq_lengthlist__16u2_p6_1[] = {
2, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5,
};
static const static_codebook _16u2_p6_1 = {
2, 25,
- (long *)_vq_lengthlist__16u2_p6_1,
+ (char *)_vq_lengthlist__16u2_p6_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__16u2_p6_1,
0
@@ -1242,7 +1242,7 @@ static const long _vq_quantlist__16u2_p7_0[] = {
12,
};
-static const long _vq_lengthlist__16u2_p7_0[] = {
+static const char _vq_lengthlist__16u2_p7_0[] = {
1, 4, 4, 7, 7, 8, 8, 8, 8, 9, 9,10,10, 4, 6, 6,
8, 8, 9, 9, 9, 9,10,10,11,10, 4, 6, 6, 8, 8, 9,
9, 9, 9,10,10,11,11, 7, 8, 8,10, 9,10,10,10,10,
@@ -1258,7 +1258,7 @@ static const long _vq_lengthlist__16u2_p7_0[] = {
static const static_codebook _16u2_p7_0 = {
2, 169,
- (long *)_vq_lengthlist__16u2_p7_0,
+ (char *)_vq_lengthlist__16u2_p7_0,
1, -523206656, 1618345984, 4, 0,
(long *)_vq_quantlist__16u2_p7_0,
0
@@ -1278,7 +1278,7 @@ static const long _vq_quantlist__16u2_p7_1[] = {
10,
};
-static const long _vq_lengthlist__16u2_p7_1[] = {
+static const char _vq_lengthlist__16u2_p7_1[] = {
2, 5, 5, 7, 7, 7, 7, 7, 7, 8, 8, 5, 6, 6, 7, 7,
7, 7, 8, 8, 8, 8, 5, 6, 6, 7, 7, 7, 7, 8, 8, 8,
8, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7,
@@ -1291,7 +1291,7 @@ static const long _vq_lengthlist__16u2_p7_1[] = {
static const static_codebook _16u2_p7_1 = {
2, 121,
- (long *)_vq_lengthlist__16u2_p7_1,
+ (char *)_vq_lengthlist__16u2_p7_1,
1, -531365888, 1611661312, 4, 0,
(long *)_vq_quantlist__16u2_p7_1,
0
@@ -1315,7 +1315,7 @@ static const long _vq_quantlist__16u2_p8_0[] = {
14,
};
-static const long _vq_lengthlist__16u2_p8_0[] = {
+static const char _vq_lengthlist__16u2_p8_0[] = {
1, 4, 4, 7, 7, 8, 8, 7, 7, 9, 8,10, 9,11,11, 4,
7, 6, 9, 8, 9, 9, 9, 9,10, 9,11, 9,12, 9, 4, 6,
7, 8, 8, 9, 9, 9, 9,10,10,10,11,11,12, 7, 9, 8,
@@ -1335,7 +1335,7 @@ static const long _vq_lengthlist__16u2_p8_0[] = {
static const static_codebook _16u2_p8_0 = {
2, 225,
- (long *)_vq_lengthlist__16u2_p8_0,
+ (char *)_vq_lengthlist__16u2_p8_0,
1, -520986624, 1620377600, 4, 0,
(long *)_vq_quantlist__16u2_p8_0,
0
@@ -1365,7 +1365,7 @@ static const long _vq_quantlist__16u2_p8_1[] = {
20,
};
-static const long _vq_lengthlist__16u2_p8_1[] = {
+static const char _vq_lengthlist__16u2_p8_1[] = {
3, 5, 5, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 5, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9,10,10,10,10, 5, 6, 6, 7, 7, 8,
@@ -1398,7 +1398,7 @@ static const long _vq_lengthlist__16u2_p8_1[] = {
static const static_codebook _16u2_p8_1 = {
2, 441,
- (long *)_vq_lengthlist__16u2_p8_1,
+ (char *)_vq_lengthlist__16u2_p8_1,
1, -529268736, 1611661312, 5, 0,
(long *)_vq_quantlist__16u2_p8_1,
0
@@ -1422,7 +1422,7 @@ static const long _vq_quantlist__16u2_p9_0[] = {
14,
};
-static const long _vq_lengthlist__16u2_p9_0[] = {
+static const char _vq_lengthlist__16u2_p9_0[] = {
1, 5, 3, 9, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 5,
7, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 5, 7,
8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
@@ -1442,7 +1442,7 @@ static const long _vq_lengthlist__16u2_p9_0[] = {
static const static_codebook _16u2_p9_0 = {
2, 225,
- (long *)_vq_lengthlist__16u2_p9_0,
+ (char *)_vq_lengthlist__16u2_p9_0,
1, -510036736, 1631393792, 4, 0,
(long *)_vq_quantlist__16u2_p9_0,
0
@@ -1470,7 +1470,7 @@ static const long _vq_quantlist__16u2_p9_1[] = {
18,
};
-static const long _vq_lengthlist__16u2_p9_1[] = {
+static const char _vq_lengthlist__16u2_p9_1[] = {
1, 4, 4, 7, 7, 7, 7, 7, 6, 9, 7,10, 8,12,12,13,
13,14,14, 4, 7, 7, 9, 9, 9, 8, 9, 8,10, 9,11, 9,
14, 9,14,10,13,11, 4, 7, 7, 9, 9, 9, 9, 8, 9,10,
@@ -1498,7 +1498,7 @@ static const long _vq_lengthlist__16u2_p9_1[] = {
static const static_codebook _16u2_p9_1 = {
2, 361,
- (long *)_vq_lengthlist__16u2_p9_1,
+ (char *)_vq_lengthlist__16u2_p9_1,
1, -518287360, 1622704128, 5, 0,
(long *)_vq_quantlist__16u2_p9_1,
0
@@ -1556,7 +1556,7 @@ static const long _vq_quantlist__16u2_p9_2[] = {
48,
};
-static const long _vq_lengthlist__16u2_p9_2[] = {
+static const char _vq_lengthlist__16u2_p9_2[] = {
2, 3, 4, 4, 4, 5, 5, 6, 5, 6, 6, 6, 6, 6, 6, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 7, 8, 8, 8, 8, 8,
@@ -1565,13 +1565,13 @@ static const long _vq_lengthlist__16u2_p9_2[] = {
static const static_codebook _16u2_p9_2 = {
1, 49,
- (long *)_vq_lengthlist__16u2_p9_2,
+ (char *)_vq_lengthlist__16u2_p9_2,
1, -526909440, 1611661312, 6, 0,
(long *)_vq_quantlist__16u2_p9_2,
0
};
-static const long _huff_lengthlist__16u2__short[] = {
+static const char _huff_lengthlist__16u2__short[] = {
8,11,13,13,15,16,19,19,19,19,11, 8, 8, 9, 9,11,
13,15,19,20,14, 8, 7, 7, 8, 9,12,13,15,20,15, 9,
6, 5, 5, 7,10,12,14,18,14, 9, 7, 5, 3, 4, 7,10,
@@ -1583,7 +1583,7 @@ static const long _huff_lengthlist__16u2__short[] = {
static const static_codebook _huff_book__16u2__short = {
2, 100,
- (long *)_huff_lengthlist__16u2__short,
+ (char *)_huff_lengthlist__16u2__short,
0, 0, 0, 0, 0,
NULL,
0
@@ -1595,7 +1595,7 @@ static const long _vq_quantlist__8u0__p1_0[] = {
2,
};
-static const long _vq_lengthlist__8u0__p1_0[] = {
+static const char _vq_lengthlist__8u0__p1_0[] = {
1, 4, 4, 5, 7, 7, 5, 7, 7, 5, 8, 8, 8,10,10, 7,
10,10, 5, 8, 8, 7,10,10, 8,10,10, 4, 9, 8, 8,11,
11, 8,11,11, 7,11,11,10,11,13,10,13,13, 7,11,11,
@@ -1606,7 +1606,7 @@ static const long _vq_lengthlist__8u0__p1_0[] = {
static const static_codebook _8u0__p1_0 = {
4, 81,
- (long *)_vq_lengthlist__8u0__p1_0,
+ (char *)_vq_lengthlist__8u0__p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__8u0__p1_0,
0
@@ -1618,7 +1618,7 @@ static const long _vq_quantlist__8u0__p2_0[] = {
2,
};
-static const long _vq_lengthlist__8u0__p2_0[] = {
+static const char _vq_lengthlist__8u0__p2_0[] = {
2, 4, 4, 5, 6, 6, 5, 6, 6, 5, 7, 7, 6, 7, 8, 6,
7, 8, 5, 7, 7, 6, 8, 8, 7, 9, 7, 5, 7, 7, 7, 9,
9, 7, 8, 8, 6, 9, 8, 7, 7,10, 8,10,10, 6, 8, 8,
@@ -1629,7 +1629,7 @@ static const long _vq_lengthlist__8u0__p2_0[] = {
static const static_codebook _8u0__p2_0 = {
4, 81,
- (long *)_vq_lengthlist__8u0__p2_0,
+ (char *)_vq_lengthlist__8u0__p2_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__8u0__p2_0,
0
@@ -1643,7 +1643,7 @@ static const long _vq_quantlist__8u0__p3_0[] = {
4,
};
-static const long _vq_lengthlist__8u0__p3_0[] = {
+static const char _vq_lengthlist__8u0__p3_0[] = {
1, 5, 5, 7, 7, 6, 7, 7, 9, 9, 6, 7, 7, 9, 9, 8,
10, 9,11,11, 8, 9, 9,11,11, 6, 8, 8,10,10, 8,10,
10,11,11, 8,10,10,11,11,10,11,11,12,12,10,11,11,
@@ -1688,7 +1688,7 @@ static const long _vq_lengthlist__8u0__p3_0[] = {
static const static_codebook _8u0__p3_0 = {
4, 625,
- (long *)_vq_lengthlist__8u0__p3_0,
+ (char *)_vq_lengthlist__8u0__p3_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__8u0__p3_0,
0
@@ -1702,7 +1702,7 @@ static const long _vq_quantlist__8u0__p4_0[] = {
4,
};
-static const long _vq_lengthlist__8u0__p4_0[] = {
+static const char _vq_lengthlist__8u0__p4_0[] = {
3, 5, 5, 8, 8, 5, 6, 7, 9, 9, 6, 7, 6, 9, 9, 9,
9, 9,10,11, 9, 9, 9,11,10, 6, 7, 7,10,10, 7, 7,
8,10,10, 7, 8, 8,10,10,10,10,10,10,11, 9,10,10,
@@ -1747,7 +1747,7 @@ static const long _vq_lengthlist__8u0__p4_0[] = {
static const static_codebook _8u0__p4_0 = {
4, 625,
- (long *)_vq_lengthlist__8u0__p4_0,
+ (char *)_vq_lengthlist__8u0__p4_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__8u0__p4_0,
0
@@ -1765,7 +1765,7 @@ static const long _vq_quantlist__8u0__p5_0[] = {
8,
};
-static const long _vq_lengthlist__8u0__p5_0[] = {
+static const char _vq_lengthlist__8u0__p5_0[] = {
1, 4, 4, 7, 7, 7, 7, 9, 9, 4, 6, 6, 8, 7, 8, 8,
10,10, 4, 6, 6, 8, 8, 8, 8,10,10, 6, 8, 8, 9, 9,
9, 9,11,11, 7, 8, 8, 9, 9, 9, 9,11,11, 7, 8, 8,
@@ -1776,7 +1776,7 @@ static const long _vq_lengthlist__8u0__p5_0[] = {
static const static_codebook _8u0__p5_0 = {
2, 81,
- (long *)_vq_lengthlist__8u0__p5_0,
+ (char *)_vq_lengthlist__8u0__p5_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__8u0__p5_0,
0
@@ -1798,7 +1798,7 @@ static const long _vq_quantlist__8u0__p6_0[] = {
12,
};
-static const long _vq_lengthlist__8u0__p6_0[] = {
+static const char _vq_lengthlist__8u0__p6_0[] = {
1, 4, 4, 7, 7, 9, 9,11,11,12,12,16,16, 3, 6, 6,
9, 9,11,11,12,12,13,14,18,16, 3, 6, 7, 9, 9,11,
11,13,12,14,14,17,16, 7, 9, 9,11,11,12,12,14,14,
@@ -1814,7 +1814,7 @@ static const long _vq_lengthlist__8u0__p6_0[] = {
static const static_codebook _8u0__p6_0 = {
2, 169,
- (long *)_vq_lengthlist__8u0__p6_0,
+ (char *)_vq_lengthlist__8u0__p6_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__8u0__p6_0,
0
@@ -1828,14 +1828,14 @@ static const long _vq_quantlist__8u0__p6_1[] = {
4,
};
-static const long _vq_lengthlist__8u0__p6_1[] = {
+static const char _vq_lengthlist__8u0__p6_1[] = {
1, 4, 4, 6, 6, 4, 6, 5, 7, 7, 4, 5, 6, 7, 7, 6,
7, 7, 7, 7, 6, 7, 7, 7, 7,
};
static const static_codebook _8u0__p6_1 = {
2, 25,
- (long *)_vq_lengthlist__8u0__p6_1,
+ (char *)_vq_lengthlist__8u0__p6_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__8u0__p6_1,
0
@@ -1847,7 +1847,7 @@ static const long _vq_quantlist__8u0__p7_0[] = {
2,
};
-static const long _vq_lengthlist__8u0__p7_0[] = {
+static const char _vq_lengthlist__8u0__p7_0[] = {
1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
8, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
@@ -1858,7 +1858,7 @@ static const long _vq_lengthlist__8u0__p7_0[] = {
static const static_codebook _8u0__p7_0 = {
4, 81,
- (long *)_vq_lengthlist__8u0__p7_0,
+ (char *)_vq_lengthlist__8u0__p7_0,
1, -518803456, 1628680192, 2, 0,
(long *)_vq_quantlist__8u0__p7_0,
0
@@ -1882,7 +1882,7 @@ static const long _vq_quantlist__8u0__p7_1[] = {
14,
};
-static const long _vq_lengthlist__8u0__p7_1[] = {
+static const char _vq_lengthlist__8u0__p7_1[] = {
1, 5, 5, 5, 5,10,10,11,11,11,11,11,11,11,11, 5,
7, 6, 8, 8, 9,10,11,11,11,11,11,11,11,11, 6, 6,
7, 9, 7,11,10,11,11,11,11,11,11,11,11, 5, 6, 6,
@@ -1902,7 +1902,7 @@ static const long _vq_lengthlist__8u0__p7_1[] = {
static const static_codebook _8u0__p7_1 = {
2, 225,
- (long *)_vq_lengthlist__8u0__p7_1,
+ (char *)_vq_lengthlist__8u0__p7_1,
1, -520986624, 1620377600, 4, 0,
(long *)_vq_quantlist__8u0__p7_1,
0
@@ -1932,7 +1932,7 @@ static const long _vq_quantlist__8u0__p7_2[] = {
20,
};
-static const long _vq_lengthlist__8u0__p7_2[] = {
+static const char _vq_lengthlist__8u0__p7_2[] = {
1, 6, 5, 7, 7, 9, 9, 9, 9,10,12,12,10,11,11,10,
11,11,11,10,11, 6, 8, 8, 9, 9,10,10, 9,10,11,11,
10,11,11,11,11,10,11,11,11,11, 6, 7, 8, 9, 9, 9,
@@ -1965,13 +1965,13 @@ static const long _vq_lengthlist__8u0__p7_2[] = {
static const static_codebook _8u0__p7_2 = {
2, 441,
- (long *)_vq_lengthlist__8u0__p7_2,
+ (char *)_vq_lengthlist__8u0__p7_2,
1, -529268736, 1611661312, 5, 0,
(long *)_vq_quantlist__8u0__p7_2,
0
};
-static const long _huff_lengthlist__8u0__single[] = {
+static const char _huff_lengthlist__8u0__single[] = {
4, 7,11, 9,12, 8, 7,10, 6, 4, 5, 5, 7, 5, 6,16,
9, 5, 5, 6, 7, 7, 9,16, 7, 4, 6, 5, 7, 5, 7,17,
10, 7, 7, 8, 7, 7, 8,18, 7, 5, 6, 4, 5, 4, 5,15,
@@ -1980,7 +1980,7 @@ static const long _huff_lengthlist__8u0__single[] = {
static const static_codebook _huff_book__8u0__single = {
2, 64,
- (long *)_huff_lengthlist__8u0__single,
+ (char *)_huff_lengthlist__8u0__single,
0, 0, 0, 0, 0,
NULL,
0
@@ -1992,7 +1992,7 @@ static const long _vq_quantlist__8u1__p1_0[] = {
2,
};
-static const long _vq_lengthlist__8u1__p1_0[] = {
+static const char _vq_lengthlist__8u1__p1_0[] = {
1, 4, 4, 5, 7, 7, 5, 7, 7, 5, 8, 8, 7, 9,10, 7,
9, 9, 5, 8, 8, 7,10, 9, 7, 9, 9, 5, 8, 8, 8,10,
10, 8,10,10, 7,10,10, 9,10,12,10,12,12, 7,10,10,
@@ -2003,7 +2003,7 @@ static const long _vq_lengthlist__8u1__p1_0[] = {
static const static_codebook _8u1__p1_0 = {
4, 81,
- (long *)_vq_lengthlist__8u1__p1_0,
+ (char *)_vq_lengthlist__8u1__p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__8u1__p1_0,
0
@@ -2015,7 +2015,7 @@ static const long _vq_quantlist__8u1__p2_0[] = {
2,
};
-static const long _vq_lengthlist__8u1__p2_0[] = {
+static const char _vq_lengthlist__8u1__p2_0[] = {
3, 4, 5, 5, 6, 6, 5, 6, 6, 5, 7, 6, 6, 7, 8, 6,
7, 8, 5, 6, 6, 6, 8, 7, 6, 8, 7, 5, 6, 6, 7, 8,
8, 6, 7, 7, 6, 8, 7, 7, 7, 9, 8, 9, 9, 6, 7, 8,
@@ -2026,7 +2026,7 @@ static const long _vq_lengthlist__8u1__p2_0[] = {
static const static_codebook _8u1__p2_0 = {
4, 81,
- (long *)_vq_lengthlist__8u1__p2_0,
+ (char *)_vq_lengthlist__8u1__p2_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__8u1__p2_0,
0
@@ -2040,7 +2040,7 @@ static const long _vq_quantlist__8u1__p3_0[] = {
4,
};
-static const long _vq_lengthlist__8u1__p3_0[] = {
+static const char _vq_lengthlist__8u1__p3_0[] = {
1, 5, 5, 7, 7, 6, 7, 7, 9, 9, 6, 7, 7, 9, 9, 8,
10, 9,11,11, 9, 9, 9,11,11, 6, 8, 8,10,10, 8,10,
10,11,11, 8, 9,10,11,11,10,11,11,12,12,10,11,11,
@@ -2085,7 +2085,7 @@ static const long _vq_lengthlist__8u1__p3_0[] = {
static const static_codebook _8u1__p3_0 = {
4, 625,
- (long *)_vq_lengthlist__8u1__p3_0,
+ (char *)_vq_lengthlist__8u1__p3_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__8u1__p3_0,
0
@@ -2099,7 +2099,7 @@ static const long _vq_quantlist__8u1__p4_0[] = {
4,
};
-static const long _vq_lengthlist__8u1__p4_0[] = {
+static const char _vq_lengthlist__8u1__p4_0[] = {
4, 5, 5, 9, 9, 6, 7, 7, 9, 9, 6, 7, 7, 9, 9, 9,
9, 9,11,11, 9, 9, 9,11,11, 6, 7, 7, 9, 9, 7, 7,
8, 9,10, 7, 7, 8, 9,10, 9, 9,10,10,11, 9, 9,10,
@@ -2144,7 +2144,7 @@ static const long _vq_lengthlist__8u1__p4_0[] = {
static const static_codebook _8u1__p4_0 = {
4, 625,
- (long *)_vq_lengthlist__8u1__p4_0,
+ (char *)_vq_lengthlist__8u1__p4_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__8u1__p4_0,
0
@@ -2162,7 +2162,7 @@ static const long _vq_quantlist__8u1__p5_0[] = {
8,
};
-static const long _vq_lengthlist__8u1__p5_0[] = {
+static const char _vq_lengthlist__8u1__p5_0[] = {
1, 4, 4, 7, 7, 7, 7, 9, 9, 4, 6, 5, 8, 7, 8, 8,
10,10, 4, 6, 6, 8, 8, 8, 8,10,10, 7, 8, 8, 9, 9,
9, 9,11,11, 7, 8, 8, 9, 9, 9, 9,11,11, 8, 8, 8,
@@ -2173,7 +2173,7 @@ static const long _vq_lengthlist__8u1__p5_0[] = {
static const static_codebook _8u1__p5_0 = {
2, 81,
- (long *)_vq_lengthlist__8u1__p5_0,
+ (char *)_vq_lengthlist__8u1__p5_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__8u1__p5_0,
0
@@ -2191,7 +2191,7 @@ static const long _vq_quantlist__8u1__p6_0[] = {
8,
};
-static const long _vq_lengthlist__8u1__p6_0[] = {
+static const char _vq_lengthlist__8u1__p6_0[] = {
3, 4, 4, 6, 6, 7, 7, 9, 9, 4, 4, 5, 6, 6, 7, 7,
9, 9, 4, 4, 4, 6, 6, 7, 7, 9, 9, 6, 6, 6, 7, 7,
8, 8, 9, 9, 6, 6, 6, 7, 7, 8, 8, 9, 9, 7, 7, 7,
@@ -2202,7 +2202,7 @@ static const long _vq_lengthlist__8u1__p6_0[] = {
static const static_codebook _8u1__p6_0 = {
2, 81,
- (long *)_vq_lengthlist__8u1__p6_0,
+ (char *)_vq_lengthlist__8u1__p6_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__8u1__p6_0,
0
@@ -2214,7 +2214,7 @@ static const long _vq_quantlist__8u1__p7_0[] = {
2,
};
-static const long _vq_lengthlist__8u1__p7_0[] = {
+static const char _vq_lengthlist__8u1__p7_0[] = {
1, 4, 4, 5, 7, 7, 5, 7, 7, 5, 9, 9, 8,10,10, 8,
10,10, 5, 9, 9, 7,10,10, 8,10,10, 4,10,10, 9,12,
12, 9,11,11, 7,12,11,10,11,13,10,13,13, 7,12,12,
@@ -2225,7 +2225,7 @@ static const long _vq_lengthlist__8u1__p7_0[] = {
static const static_codebook _8u1__p7_0 = {
4, 81,
- (long *)_vq_lengthlist__8u1__p7_0,
+ (char *)_vq_lengthlist__8u1__p7_0,
1, -529137664, 1618345984, 2, 0,
(long *)_vq_quantlist__8u1__p7_0,
0
@@ -2245,7 +2245,7 @@ static const long _vq_quantlist__8u1__p7_1[] = {
10,
};
-static const long _vq_lengthlist__8u1__p7_1[] = {
+static const char _vq_lengthlist__8u1__p7_1[] = {
2, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8, 4, 5, 5, 7, 7,
8, 8, 9, 9, 9, 9, 4, 5, 5, 7, 7, 8, 8, 9, 9, 9,
9, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 6, 7, 7, 8,
@@ -2258,7 +2258,7 @@ static const long _vq_lengthlist__8u1__p7_1[] = {
static const static_codebook _8u1__p7_1 = {
2, 121,
- (long *)_vq_lengthlist__8u1__p7_1,
+ (char *)_vq_lengthlist__8u1__p7_1,
1, -531365888, 1611661312, 4, 0,
(long *)_vq_quantlist__8u1__p7_1,
0
@@ -2278,7 +2278,7 @@ static const long _vq_quantlist__8u1__p8_0[] = {
10,
};
-static const long _vq_lengthlist__8u1__p8_0[] = {
+static const char _vq_lengthlist__8u1__p8_0[] = {
1, 4, 4, 6, 6, 8, 8,10,10,11,11, 4, 6, 6, 7, 7,
9, 9,11,11,13,12, 4, 6, 6, 7, 7, 9, 9,11,11,12,
12, 6, 7, 7, 9, 9,11,11,12,12,13,13, 6, 7, 7, 9,
@@ -2291,7 +2291,7 @@ static const long _vq_lengthlist__8u1__p8_0[] = {
static const static_codebook _8u1__p8_0 = {
2, 121,
- (long *)_vq_lengthlist__8u1__p8_0,
+ (char *)_vq_lengthlist__8u1__p8_0,
1, -524582912, 1618345984, 4, 0,
(long *)_vq_quantlist__8u1__p8_0,
0
@@ -2311,7 +2311,7 @@ static const long _vq_quantlist__8u1__p8_1[] = {
10,
};
-static const long _vq_lengthlist__8u1__p8_1[] = {
+static const char _vq_lengthlist__8u1__p8_1[] = {
2, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 5, 6, 6, 7, 7,
7, 7, 8, 8, 8, 8, 5, 6, 6, 7, 7, 7, 7, 8, 8, 8,
8, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 6, 7, 7, 7,
@@ -2324,7 +2324,7 @@ static const long _vq_lengthlist__8u1__p8_1[] = {
static const static_codebook _8u1__p8_1 = {
2, 121,
- (long *)_vq_lengthlist__8u1__p8_1,
+ (char *)_vq_lengthlist__8u1__p8_1,
1, -531365888, 1611661312, 4, 0,
(long *)_vq_quantlist__8u1__p8_1,
0
@@ -2348,7 +2348,7 @@ static const long _vq_quantlist__8u1__p9_0[] = {
14,
};
-static const long _vq_lengthlist__8u1__p9_0[] = {
+static const char _vq_lengthlist__8u1__p9_0[] = {
1, 4, 4,11,11,11,11,11,11,11,11,11,11,11,11, 3,
11, 8,11,11,11,11,11,11,11,11,11,11,11,11, 3, 9,
9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
@@ -2368,7 +2368,7 @@ static const long _vq_lengthlist__8u1__p9_0[] = {
static const static_codebook _8u1__p9_0 = {
2, 225,
- (long *)_vq_lengthlist__8u1__p9_0,
+ (char *)_vq_lengthlist__8u1__p9_0,
1, -514071552, 1627381760, 4, 0,
(long *)_vq_quantlist__8u1__p9_0,
0
@@ -2392,7 +2392,7 @@ static const long _vq_quantlist__8u1__p9_1[] = {
14,
};
-static const long _vq_lengthlist__8u1__p9_1[] = {
+static const char _vq_lengthlist__8u1__p9_1[] = {
1, 4, 4, 7, 7, 9, 9, 7, 7, 8, 8,10,10,11,11, 4,
7, 7, 9, 9,10,10, 8, 8,10,10,10,11,10,11, 4, 7,
7, 9, 9,10,10, 8, 8,10, 9,11,11,11,11, 7, 9, 9,
@@ -2412,7 +2412,7 @@ static const long _vq_lengthlist__8u1__p9_1[] = {
static const static_codebook _8u1__p9_1 = {
2, 225,
- (long *)_vq_lengthlist__8u1__p9_1,
+ (char *)_vq_lengthlist__8u1__p9_1,
1, -522338304, 1620115456, 4, 0,
(long *)_vq_quantlist__8u1__p9_1,
0
@@ -2438,7 +2438,7 @@ static const long _vq_quantlist__8u1__p9_2[] = {
16,
};
-static const long _vq_lengthlist__8u1__p9_2[] = {
+static const char _vq_lengthlist__8u1__p9_2[] = {
2, 5, 4, 6, 6, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9,
9, 5, 6, 6, 7, 7, 8, 8, 9, 8, 9, 9, 9, 9, 9, 9,
9, 9, 5, 6, 6, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 9,
@@ -2462,13 +2462,13 @@ static const long _vq_lengthlist__8u1__p9_2[] = {
static const static_codebook _8u1__p9_2 = {
2, 289,
- (long *)_vq_lengthlist__8u1__p9_2,
+ (char *)_vq_lengthlist__8u1__p9_2,
1, -529530880, 1611661312, 5, 0,
(long *)_vq_quantlist__8u1__p9_2,
0
};
-static const long _huff_lengthlist__8u1__single[] = {
+static const char _huff_lengthlist__8u1__single[] = {
4, 7,13, 9,15, 9,16, 8,10,13, 7, 5, 8, 6, 9, 7,
10, 7,10,11,11, 6, 7, 8, 8, 9, 9, 9,12,16, 8, 5,
8, 6, 8, 6, 9, 7,10,12,11, 7, 7, 7, 6, 7, 7, 7,
@@ -2480,13 +2480,13 @@ static const long _huff_lengthlist__8u1__single[] = {
static const static_codebook _huff_book__8u1__single = {
2, 100,
- (long *)_huff_lengthlist__8u1__single,
+ (char *)_huff_lengthlist__8u1__single,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist__44u0__long[] = {
+static const char _huff_lengthlist__44u0__long[] = {
5, 8,13,10,17,11,11,15, 7, 2, 4, 5, 8, 7, 9,16,
13, 4, 3, 5, 6, 8,11,20,10, 4, 5, 5, 7, 6, 8,18,
15, 7, 6, 7, 8,10,14,20,10, 6, 7, 6, 9, 7, 8,17,
@@ -2495,7 +2495,7 @@ static const long _huff_lengthlist__44u0__long[] = {
static const static_codebook _huff_book__44u0__long = {
2, 64,
- (long *)_huff_lengthlist__44u0__long,
+ (char *)_huff_lengthlist__44u0__long,
0, 0, 0, 0, 0,
NULL,
0
@@ -2507,7 +2507,7 @@ static const long _vq_quantlist__44u0__p1_0[] = {
2,
};
-static const long _vq_lengthlist__44u0__p1_0[] = {
+static const char _vq_lengthlist__44u0__p1_0[] = {
1, 4, 4, 5, 8, 7, 5, 7, 8, 5, 8, 8, 8,11,11, 8,
10,10, 5, 8, 8, 8,11,10, 8,11,11, 4, 8, 8, 8,11,
11, 8,11,11, 8,12,11,11,13,13,11,13,14, 7,11,11,
@@ -2518,7 +2518,7 @@ static const long _vq_lengthlist__44u0__p1_0[] = {
static const static_codebook _44u0__p1_0 = {
4, 81,
- (long *)_vq_lengthlist__44u0__p1_0,
+ (char *)_vq_lengthlist__44u0__p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44u0__p1_0,
0
@@ -2530,7 +2530,7 @@ static const long _vq_quantlist__44u0__p2_0[] = {
2,
};
-static const long _vq_lengthlist__44u0__p2_0[] = {
+static const char _vq_lengthlist__44u0__p2_0[] = {
2, 4, 4, 5, 6, 6, 5, 6, 6, 5, 7, 7, 7, 8, 8, 6,
8, 8, 5, 7, 7, 6, 8, 8, 7, 8, 8, 4, 7, 7, 7, 8,
8, 7, 8, 8, 7, 8, 8, 8, 9,10, 8,10,10, 6, 8, 8,
@@ -2541,7 +2541,7 @@ static const long _vq_lengthlist__44u0__p2_0[] = {
static const static_codebook _44u0__p2_0 = {
4, 81,
- (long *)_vq_lengthlist__44u0__p2_0,
+ (char *)_vq_lengthlist__44u0__p2_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44u0__p2_0,
0
@@ -2555,7 +2555,7 @@ static const long _vq_quantlist__44u0__p3_0[] = {
4,
};
-static const long _vq_lengthlist__44u0__p3_0[] = {
+static const char _vq_lengthlist__44u0__p3_0[] = {
1, 5, 5, 8, 8, 5, 8, 7, 9, 9, 5, 7, 8, 9, 9, 9,
10, 9,12,12, 9, 9,10,12,12, 6, 8, 8,11,10, 8,10,
10,11,11, 8, 9,10,11,11,10,11,11,14,13,10,11,11,
@@ -2600,7 +2600,7 @@ static const long _vq_lengthlist__44u0__p3_0[] = {
static const static_codebook _44u0__p3_0 = {
4, 625,
- (long *)_vq_lengthlist__44u0__p3_0,
+ (char *)_vq_lengthlist__44u0__p3_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44u0__p3_0,
0
@@ -2614,7 +2614,7 @@ static const long _vq_quantlist__44u0__p4_0[] = {
4,
};
-static const long _vq_lengthlist__44u0__p4_0[] = {
+static const char _vq_lengthlist__44u0__p4_0[] = {
4, 5, 5, 9, 9, 5, 6, 6, 9, 9, 5, 6, 6, 9, 9, 9,
10, 9,12,12, 9, 9,10,12,12, 5, 7, 7,10,10, 7, 7,
8,10,10, 6, 7, 8,10,10,10,10,10,11,13,10, 9,10,
@@ -2659,7 +2659,7 @@ static const long _vq_lengthlist__44u0__p4_0[] = {
static const static_codebook _44u0__p4_0 = {
4, 625,
- (long *)_vq_lengthlist__44u0__p4_0,
+ (char *)_vq_lengthlist__44u0__p4_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44u0__p4_0,
0
@@ -2677,7 +2677,7 @@ static const long _vq_quantlist__44u0__p5_0[] = {
8,
};
-static const long _vq_lengthlist__44u0__p5_0[] = {
+static const char _vq_lengthlist__44u0__p5_0[] = {
1, 4, 4, 7, 7, 7, 7, 9, 9, 4, 6, 6, 8, 8, 8, 8,
9, 9, 4, 6, 6, 8, 8, 8, 8, 9, 9, 7, 8, 8, 9, 9,
9, 9,11,10, 7, 8, 8, 9, 9, 9, 9,10,10, 7, 8, 8,
@@ -2688,7 +2688,7 @@ static const long _vq_lengthlist__44u0__p5_0[] = {
static const static_codebook _44u0__p5_0 = {
2, 81,
- (long *)_vq_lengthlist__44u0__p5_0,
+ (char *)_vq_lengthlist__44u0__p5_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__44u0__p5_0,
0
@@ -2710,7 +2710,7 @@ static const long _vq_quantlist__44u0__p6_0[] = {
12,
};
-static const long _vq_lengthlist__44u0__p6_0[] = {
+static const char _vq_lengthlist__44u0__p6_0[] = {
1, 4, 4, 6, 6, 8, 8,10, 9,11,10,14,13, 4, 6, 5,
8, 8, 9, 9,11,10,11,11,14,14, 4, 5, 6, 8, 8, 9,
9,10,10,11,11,14,14, 6, 8, 8, 9, 9,10,10,11,11,
@@ -2726,7 +2726,7 @@ static const long _vq_lengthlist__44u0__p6_0[] = {
static const static_codebook _44u0__p6_0 = {
2, 169,
- (long *)_vq_lengthlist__44u0__p6_0,
+ (char *)_vq_lengthlist__44u0__p6_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__44u0__p6_0,
0
@@ -2740,14 +2740,14 @@ static const long _vq_quantlist__44u0__p6_1[] = {
4,
};
-static const long _vq_lengthlist__44u0__p6_1[] = {
+static const char _vq_lengthlist__44u0__p6_1[] = {
2, 4, 4, 5, 5, 4, 5, 5, 5, 5, 4, 5, 5, 5, 5, 5,
6, 6, 6, 6, 5, 6, 6, 6, 6,
};
static const static_codebook _44u0__p6_1 = {
2, 25,
- (long *)_vq_lengthlist__44u0__p6_1,
+ (char *)_vq_lengthlist__44u0__p6_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44u0__p6_1,
0
@@ -2761,7 +2761,7 @@ static const long _vq_quantlist__44u0__p7_0[] = {
4,
};
-static const long _vq_lengthlist__44u0__p7_0[] = {
+static const char _vq_lengthlist__44u0__p7_0[] = {
1, 4, 4,11,11, 9,11,11,11,11,11,11,11,11,11,11,
11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
@@ -2806,7 +2806,7 @@ static const long _vq_lengthlist__44u0__p7_0[] = {
static const static_codebook _44u0__p7_0 = {
4, 625,
- (long *)_vq_lengthlist__44u0__p7_0,
+ (char *)_vq_lengthlist__44u0__p7_0,
1, -518709248, 1626677248, 3, 0,
(long *)_vq_quantlist__44u0__p7_0,
0
@@ -2828,7 +2828,7 @@ static const long _vq_quantlist__44u0__p7_1[] = {
12,
};
-static const long _vq_lengthlist__44u0__p7_1[] = {
+static const char _vq_lengthlist__44u0__p7_1[] = {
1, 4, 4, 6, 6, 6, 6, 7, 7, 8, 8, 9, 9, 5, 7, 7,
8, 7, 7, 7, 9, 8,10, 9,10,11, 5, 7, 7, 8, 8, 7,
7, 8, 9,10,10,11,11, 6, 8, 8, 9, 9, 9, 9,11,10,
@@ -2844,7 +2844,7 @@ static const long _vq_lengthlist__44u0__p7_1[] = {
static const static_codebook _44u0__p7_1 = {
2, 169,
- (long *)_vq_lengthlist__44u0__p7_1,
+ (char *)_vq_lengthlist__44u0__p7_1,
1, -523010048, 1618608128, 4, 0,
(long *)_vq_quantlist__44u0__p7_1,
0
@@ -2866,7 +2866,7 @@ static const long _vq_quantlist__44u0__p7_2[] = {
12,
};
-static const long _vq_lengthlist__44u0__p7_2[] = {
+static const char _vq_lengthlist__44u0__p7_2[] = {
2, 5, 4, 6, 6, 7, 7, 8, 8, 8, 8, 9, 8, 5, 5, 6,
7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 5, 6, 5, 7, 7, 8,
8, 8, 8, 9, 9, 9, 9, 6, 7, 7, 8, 8, 8, 8, 9, 8,
@@ -2882,13 +2882,13 @@ static const long _vq_lengthlist__44u0__p7_2[] = {
static const static_codebook _44u0__p7_2 = {
2, 169,
- (long *)_vq_lengthlist__44u0__p7_2,
+ (char *)_vq_lengthlist__44u0__p7_2,
1, -531103744, 1611661312, 4, 0,
(long *)_vq_quantlist__44u0__p7_2,
0
};
-static const long _huff_lengthlist__44u0__short[] = {
+static const char _huff_lengthlist__44u0__short[] = {
12,13,14,13,17,12,15,17, 5, 5, 6,10,10,11,15,16,
4, 3, 3, 7, 5, 7,10,16, 7, 7, 7,10, 9,11,12,16,
6, 5, 5, 9, 5, 6,10,16, 8, 7, 7, 9, 6, 7, 9,16,
@@ -2897,13 +2897,13 @@ static const long _huff_lengthlist__44u0__short[] = {
static const static_codebook _huff_book__44u0__short = {
2, 64,
- (long *)_huff_lengthlist__44u0__short,
+ (char *)_huff_lengthlist__44u0__short,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist__44u1__long[] = {
+static const char _huff_lengthlist__44u1__long[] = {
5, 8,13,10,17,11,11,15, 7, 2, 4, 5, 8, 7, 9,16,
13, 4, 3, 5, 6, 8,11,20,10, 4, 5, 5, 7, 6, 8,18,
15, 7, 6, 7, 8,10,14,20,10, 6, 7, 6, 9, 7, 8,17,
@@ -2912,7 +2912,7 @@ static const long _huff_lengthlist__44u1__long[] = {
static const static_codebook _huff_book__44u1__long = {
2, 64,
- (long *)_huff_lengthlist__44u1__long,
+ (char *)_huff_lengthlist__44u1__long,
0, 0, 0, 0, 0,
NULL,
0
@@ -2924,7 +2924,7 @@ static const long _vq_quantlist__44u1__p1_0[] = {
2,
};
-static const long _vq_lengthlist__44u1__p1_0[] = {
+static const char _vq_lengthlist__44u1__p1_0[] = {
1, 4, 4, 5, 8, 7, 5, 7, 8, 5, 8, 8, 8,11,11, 8,
10,10, 5, 8, 8, 8,11,10, 8,11,11, 4, 8, 8, 8,11,
11, 8,11,11, 8,12,11,11,13,13,11,13,14, 7,11,11,
@@ -2935,7 +2935,7 @@ static const long _vq_lengthlist__44u1__p1_0[] = {
static const static_codebook _44u1__p1_0 = {
4, 81,
- (long *)_vq_lengthlist__44u1__p1_0,
+ (char *)_vq_lengthlist__44u1__p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44u1__p1_0,
0
@@ -2947,7 +2947,7 @@ static const long _vq_quantlist__44u1__p2_0[] = {
2,
};
-static const long _vq_lengthlist__44u1__p2_0[] = {
+static const char _vq_lengthlist__44u1__p2_0[] = {
2, 4, 4, 5, 6, 6, 5, 6, 6, 5, 7, 7, 7, 8, 8, 6,
8, 8, 5, 7, 7, 6, 8, 8, 7, 8, 8, 4, 7, 7, 7, 8,
8, 7, 8, 8, 7, 8, 8, 8, 9,10, 8,10,10, 6, 8, 8,
@@ -2958,7 +2958,7 @@ static const long _vq_lengthlist__44u1__p2_0[] = {
static const static_codebook _44u1__p2_0 = {
4, 81,
- (long *)_vq_lengthlist__44u1__p2_0,
+ (char *)_vq_lengthlist__44u1__p2_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44u1__p2_0,
0
@@ -2972,7 +2972,7 @@ static const long _vq_quantlist__44u1__p3_0[] = {
4,
};
-static const long _vq_lengthlist__44u1__p3_0[] = {
+static const char _vq_lengthlist__44u1__p3_0[] = {
1, 5, 5, 8, 8, 5, 8, 7, 9, 9, 5, 7, 8, 9, 9, 9,
10, 9,12,12, 9, 9,10,12,12, 6, 8, 8,11,10, 8,10,
10,11,11, 8, 9,10,11,11,10,11,11,14,13,10,11,11,
@@ -3017,7 +3017,7 @@ static const long _vq_lengthlist__44u1__p3_0[] = {
static const static_codebook _44u1__p3_0 = {
4, 625,
- (long *)_vq_lengthlist__44u1__p3_0,
+ (char *)_vq_lengthlist__44u1__p3_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44u1__p3_0,
0
@@ -3031,7 +3031,7 @@ static const long _vq_quantlist__44u1__p4_0[] = {
4,
};
-static const long _vq_lengthlist__44u1__p4_0[] = {
+static const char _vq_lengthlist__44u1__p4_0[] = {
4, 5, 5, 9, 9, 5, 6, 6, 9, 9, 5, 6, 6, 9, 9, 9,
10, 9,12,12, 9, 9,10,12,12, 5, 7, 7,10,10, 7, 7,
8,10,10, 6, 7, 8,10,10,10,10,10,11,13,10, 9,10,
@@ -3076,7 +3076,7 @@ static const long _vq_lengthlist__44u1__p4_0[] = {
static const static_codebook _44u1__p4_0 = {
4, 625,
- (long *)_vq_lengthlist__44u1__p4_0,
+ (char *)_vq_lengthlist__44u1__p4_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44u1__p4_0,
0
@@ -3094,7 +3094,7 @@ static const long _vq_quantlist__44u1__p5_0[] = {
8,
};
-static const long _vq_lengthlist__44u1__p5_0[] = {
+static const char _vq_lengthlist__44u1__p5_0[] = {
1, 4, 4, 7, 7, 7, 7, 9, 9, 4, 6, 6, 8, 8, 8, 8,
9, 9, 4, 6, 6, 8, 8, 8, 8, 9, 9, 7, 8, 8, 9, 9,
9, 9,11,10, 7, 8, 8, 9, 9, 9, 9,10,10, 7, 8, 8,
@@ -3105,7 +3105,7 @@ static const long _vq_lengthlist__44u1__p5_0[] = {
static const static_codebook _44u1__p5_0 = {
2, 81,
- (long *)_vq_lengthlist__44u1__p5_0,
+ (char *)_vq_lengthlist__44u1__p5_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__44u1__p5_0,
0
@@ -3127,7 +3127,7 @@ static const long _vq_quantlist__44u1__p6_0[] = {
12,
};
-static const long _vq_lengthlist__44u1__p6_0[] = {
+static const char _vq_lengthlist__44u1__p6_0[] = {
1, 4, 4, 6, 6, 8, 8,10, 9,11,10,14,13, 4, 6, 5,
8, 8, 9, 9,11,10,11,11,14,14, 4, 5, 6, 8, 8, 9,
9,10,10,11,11,14,14, 6, 8, 8, 9, 9,10,10,11,11,
@@ -3143,7 +3143,7 @@ static const long _vq_lengthlist__44u1__p6_0[] = {
static const static_codebook _44u1__p6_0 = {
2, 169,
- (long *)_vq_lengthlist__44u1__p6_0,
+ (char *)_vq_lengthlist__44u1__p6_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__44u1__p6_0,
0
@@ -3157,14 +3157,14 @@ static const long _vq_quantlist__44u1__p6_1[] = {
4,
};
-static const long _vq_lengthlist__44u1__p6_1[] = {
+static const char _vq_lengthlist__44u1__p6_1[] = {
2, 4, 4, 5, 5, 4, 5, 5, 5, 5, 4, 5, 5, 5, 5, 5,
6, 6, 6, 6, 5, 6, 6, 6, 6,
};
static const static_codebook _44u1__p6_1 = {
2, 25,
- (long *)_vq_lengthlist__44u1__p6_1,
+ (char *)_vq_lengthlist__44u1__p6_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44u1__p6_1,
0
@@ -3180,7 +3180,7 @@ static const long _vq_quantlist__44u1__p7_0[] = {
6,
};
-static const long _vq_lengthlist__44u1__p7_0[] = {
+static const char _vq_lengthlist__44u1__p7_0[] = {
1, 3, 2, 9, 9, 7, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
9, 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
@@ -3189,7 +3189,7 @@ static const long _vq_lengthlist__44u1__p7_0[] = {
static const static_codebook _44u1__p7_0 = {
2, 49,
- (long *)_vq_lengthlist__44u1__p7_0,
+ (char *)_vq_lengthlist__44u1__p7_0,
1, -518017024, 1626677248, 3, 0,
(long *)_vq_quantlist__44u1__p7_0,
0
@@ -3211,7 +3211,7 @@ static const long _vq_quantlist__44u1__p7_1[] = {
12,
};
-static const long _vq_lengthlist__44u1__p7_1[] = {
+static const char _vq_lengthlist__44u1__p7_1[] = {
1, 4, 4, 6, 6, 6, 6, 7, 7, 8, 8, 9, 9, 5, 7, 7,
8, 7, 7, 7, 9, 8,10, 9,10,11, 5, 7, 7, 8, 8, 7,
7, 8, 9,10,10,11,11, 6, 8, 8, 9, 9, 9, 9,11,10,
@@ -3227,7 +3227,7 @@ static const long _vq_lengthlist__44u1__p7_1[] = {
static const static_codebook _44u1__p7_1 = {
2, 169,
- (long *)_vq_lengthlist__44u1__p7_1,
+ (char *)_vq_lengthlist__44u1__p7_1,
1, -523010048, 1618608128, 4, 0,
(long *)_vq_quantlist__44u1__p7_1,
0
@@ -3249,7 +3249,7 @@ static const long _vq_quantlist__44u1__p7_2[] = {
12,
};
-static const long _vq_lengthlist__44u1__p7_2[] = {
+static const char _vq_lengthlist__44u1__p7_2[] = {
2, 5, 4, 6, 6, 7, 7, 8, 8, 8, 8, 9, 8, 5, 5, 6,
7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 5, 6, 5, 7, 7, 8,
8, 8, 8, 9, 9, 9, 9, 6, 7, 7, 8, 8, 8, 8, 9, 8,
@@ -3265,13 +3265,13 @@ static const long _vq_lengthlist__44u1__p7_2[] = {
static const static_codebook _44u1__p7_2 = {
2, 169,
- (long *)_vq_lengthlist__44u1__p7_2,
+ (char *)_vq_lengthlist__44u1__p7_2,
1, -531103744, 1611661312, 4, 0,
(long *)_vq_quantlist__44u1__p7_2,
0
};
-static const long _huff_lengthlist__44u1__short[] = {
+static const char _huff_lengthlist__44u1__short[] = {
12,13,14,13,17,12,15,17, 5, 5, 6,10,10,11,15,16,
4, 3, 3, 7, 5, 7,10,16, 7, 7, 7,10, 9,11,12,16,
6, 5, 5, 9, 5, 6,10,16, 8, 7, 7, 9, 6, 7, 9,16,
@@ -3280,13 +3280,13 @@ static const long _huff_lengthlist__44u1__short[] = {
static const static_codebook _huff_book__44u1__short = {
2, 64,
- (long *)_huff_lengthlist__44u1__short,
+ (char *)_huff_lengthlist__44u1__short,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist__44u2__long[] = {
+static const char _huff_lengthlist__44u2__long[] = {
5, 9,14,12,15,13,10,13, 7, 4, 5, 6, 8, 7, 8,12,
13, 4, 3, 5, 5, 6, 9,15,12, 6, 5, 6, 6, 6, 7,14,
14, 7, 4, 6, 4, 6, 8,15,12, 6, 6, 5, 5, 5, 6,14,
@@ -3295,7 +3295,7 @@ static const long _huff_lengthlist__44u2__long[] = {
static const static_codebook _huff_book__44u2__long = {
2, 64,
- (long *)_huff_lengthlist__44u2__long,
+ (char *)_huff_lengthlist__44u2__long,
0, 0, 0, 0, 0,
NULL,
0
@@ -3307,7 +3307,7 @@ static const long _vq_quantlist__44u2__p1_0[] = {
2,
};
-static const long _vq_lengthlist__44u2__p1_0[] = {
+static const char _vq_lengthlist__44u2__p1_0[] = {
1, 4, 4, 5, 8, 7, 5, 7, 8, 5, 8, 8, 8,11,11, 8,
10,11, 5, 8, 8, 8,11,10, 8,11,11, 4, 8, 8, 8,11,
11, 8,11,11, 8,11,11,11,13,14,11,13,13, 7,11,11,
@@ -3318,7 +3318,7 @@ static const long _vq_lengthlist__44u2__p1_0[] = {
static const static_codebook _44u2__p1_0 = {
4, 81,
- (long *)_vq_lengthlist__44u2__p1_0,
+ (char *)_vq_lengthlist__44u2__p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44u2__p1_0,
0
@@ -3330,7 +3330,7 @@ static const long _vq_quantlist__44u2__p2_0[] = {
2,
};
-static const long _vq_lengthlist__44u2__p2_0[] = {
+static const char _vq_lengthlist__44u2__p2_0[] = {
2, 5, 5, 5, 6, 6, 5, 6, 6, 5, 6, 6, 7, 8, 8, 6,
8, 8, 5, 6, 6, 6, 8, 7, 7, 8, 8, 5, 6, 6, 7, 8,
8, 6, 8, 8, 6, 8, 8, 8, 9,10, 8,10,10, 6, 8, 8,
@@ -3341,7 +3341,7 @@ static const long _vq_lengthlist__44u2__p2_0[] = {
static const static_codebook _44u2__p2_0 = {
4, 81,
- (long *)_vq_lengthlist__44u2__p2_0,
+ (char *)_vq_lengthlist__44u2__p2_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44u2__p2_0,
0
@@ -3355,7 +3355,7 @@ static const long _vq_quantlist__44u2__p3_0[] = {
4,
};
-static const long _vq_lengthlist__44u2__p3_0[] = {
+static const char _vq_lengthlist__44u2__p3_0[] = {
2, 4, 4, 7, 8, 5, 7, 7, 9, 9, 5, 7, 7, 9, 9, 8,
9, 9,12,11, 8, 9, 9,11,12, 5, 7, 7,10,10, 7, 9,
9,11,11, 7, 9, 9,10,11,10,11,11,13,13, 9,10,11,
@@ -3400,7 +3400,7 @@ static const long _vq_lengthlist__44u2__p3_0[] = {
static const static_codebook _44u2__p3_0 = {
4, 625,
- (long *)_vq_lengthlist__44u2__p3_0,
+ (char *)_vq_lengthlist__44u2__p3_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44u2__p3_0,
0
@@ -3414,7 +3414,7 @@ static const long _vq_quantlist__44u2__p4_0[] = {
4,
};
-static const long _vq_lengthlist__44u2__p4_0[] = {
+static const char _vq_lengthlist__44u2__p4_0[] = {
4, 5, 5, 8, 8, 5, 7, 6, 9, 9, 5, 6, 7, 9, 9, 9,
9, 9,11,11, 9, 9, 9,11,11, 5, 7, 7, 9, 9, 7, 8,
8,10,10, 7, 7, 8,10,10,10,10,10,11,12, 9,10,10,
@@ -3459,7 +3459,7 @@ static const long _vq_lengthlist__44u2__p4_0[] = {
static const static_codebook _44u2__p4_0 = {
4, 625,
- (long *)_vq_lengthlist__44u2__p4_0,
+ (char *)_vq_lengthlist__44u2__p4_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44u2__p4_0,
0
@@ -3477,7 +3477,7 @@ static const long _vq_quantlist__44u2__p5_0[] = {
8,
};
-static const long _vq_lengthlist__44u2__p5_0[] = {
+static const char _vq_lengthlist__44u2__p5_0[] = {
1, 4, 4, 7, 7, 8, 8, 9, 9, 4, 6, 5, 8, 8, 8, 8,
10,10, 4, 5, 6, 8, 8, 8, 8,10,10, 7, 8, 8, 9, 9,
9, 9,11,11, 7, 8, 8, 9, 9, 9, 9,11,11, 8, 8, 8,
@@ -3488,7 +3488,7 @@ static const long _vq_lengthlist__44u2__p5_0[] = {
static const static_codebook _44u2__p5_0 = {
2, 81,
- (long *)_vq_lengthlist__44u2__p5_0,
+ (char *)_vq_lengthlist__44u2__p5_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__44u2__p5_0,
0
@@ -3510,7 +3510,7 @@ static const long _vq_quantlist__44u2__p6_0[] = {
12,
};
-static const long _vq_lengthlist__44u2__p6_0[] = {
+static const char _vq_lengthlist__44u2__p6_0[] = {
1, 4, 4, 6, 6, 8, 8,10,10,11,11,14,13, 4, 6, 5,
8, 8, 9, 9,11,10,12,11,15,14, 4, 5, 6, 8, 8, 9,
9,11,11,11,11,14,14, 6, 8, 8,10, 9,11,11,11,11,
@@ -3526,7 +3526,7 @@ static const long _vq_lengthlist__44u2__p6_0[] = {
static const static_codebook _44u2__p6_0 = {
2, 169,
- (long *)_vq_lengthlist__44u2__p6_0,
+ (char *)_vq_lengthlist__44u2__p6_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__44u2__p6_0,
0
@@ -3540,14 +3540,14 @@ static const long _vq_quantlist__44u2__p6_1[] = {
4,
};
-static const long _vq_lengthlist__44u2__p6_1[] = {
+static const char _vq_lengthlist__44u2__p6_1[] = {
2, 4, 4, 5, 5, 4, 5, 5, 6, 5, 4, 5, 5, 5, 6, 5,
6, 5, 6, 6, 5, 5, 6, 6, 6,
};
static const static_codebook _44u2__p6_1 = {
2, 25,
- (long *)_vq_lengthlist__44u2__p6_1,
+ (char *)_vq_lengthlist__44u2__p6_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44u2__p6_1,
0
@@ -3565,7 +3565,7 @@ static const long _vq_quantlist__44u2__p7_0[] = {
8,
};
-static const long _vq_lengthlist__44u2__p7_0[] = {
+static const char _vq_lengthlist__44u2__p7_0[] = {
1, 3, 2,12,12,12,12,12,12, 4,12,12,12,12,12,12,
12,12, 5,12,12,12,12,12,12,12,12,12,12,11,11,11,
11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
@@ -3576,7 +3576,7 @@ static const long _vq_lengthlist__44u2__p7_0[] = {
static const static_codebook _44u2__p7_0 = {
2, 81,
- (long *)_vq_lengthlist__44u2__p7_0,
+ (char *)_vq_lengthlist__44u2__p7_0,
1, -516612096, 1626677248, 4, 0,
(long *)_vq_quantlist__44u2__p7_0,
0
@@ -3598,7 +3598,7 @@ static const long _vq_quantlist__44u2__p7_1[] = {
12,
};
-static const long _vq_lengthlist__44u2__p7_1[] = {
+static const char _vq_lengthlist__44u2__p7_1[] = {
1, 4, 4, 7, 6, 7, 6, 8, 7, 9, 7, 9, 8, 4, 7, 6,
8, 8, 9, 8,10, 9,10,10,11,11, 4, 7, 7, 8, 8, 8,
8, 9,10,11,11,11,11, 6, 8, 8,10,10,10,10,11,11,
@@ -3614,7 +3614,7 @@ static const long _vq_lengthlist__44u2__p7_1[] = {
static const static_codebook _44u2__p7_1 = {
2, 169,
- (long *)_vq_lengthlist__44u2__p7_1,
+ (char *)_vq_lengthlist__44u2__p7_1,
1, -523010048, 1618608128, 4, 0,
(long *)_vq_quantlist__44u2__p7_1,
0
@@ -3636,7 +3636,7 @@ static const long _vq_quantlist__44u2__p7_2[] = {
12,
};
-static const long _vq_lengthlist__44u2__p7_2[] = {
+static const char _vq_lengthlist__44u2__p7_2[] = {
2, 5, 5, 6, 6, 7, 7, 8, 7, 8, 8, 8, 8, 5, 6, 6,
7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 5, 6, 6, 7, 7, 8,
7, 8, 8, 8, 8, 8, 8, 6, 7, 7, 7, 8, 8, 8, 8, 8,
@@ -3652,13 +3652,13 @@ static const long _vq_lengthlist__44u2__p7_2[] = {
static const static_codebook _44u2__p7_2 = {
2, 169,
- (long *)_vq_lengthlist__44u2__p7_2,
+ (char *)_vq_lengthlist__44u2__p7_2,
1, -531103744, 1611661312, 4, 0,
(long *)_vq_quantlist__44u2__p7_2,
0
};
-static const long _huff_lengthlist__44u2__short[] = {
+static const char _huff_lengthlist__44u2__short[] = {
13,15,17,17,15,15,12,17,11, 9, 7,10,10, 9,12,17,
10, 6, 3, 6, 5, 7,10,17,15,10, 6, 9, 8, 9,11,17,
15, 8, 4, 7, 3, 5, 9,16,16,10, 5, 8, 4, 5, 8,16,
@@ -3667,13 +3667,13 @@ static const long _huff_lengthlist__44u2__short[] = {
static const static_codebook _huff_book__44u2__short = {
2, 64,
- (long *)_huff_lengthlist__44u2__short,
+ (char *)_huff_lengthlist__44u2__short,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist__44u3__long[] = {
+static const char _huff_lengthlist__44u3__long[] = {
6, 9,13,12,14,11,10,13, 8, 4, 5, 7, 8, 7, 8,12,
11, 4, 3, 5, 5, 7, 9,14,11, 6, 5, 6, 6, 6, 7,13,
13, 7, 5, 6, 4, 5, 7,14,11, 7, 6, 6, 5, 5, 6,13,
@@ -3682,7 +3682,7 @@ static const long _huff_lengthlist__44u3__long[] = {
static const static_codebook _huff_book__44u3__long = {
2, 64,
- (long *)_huff_lengthlist__44u3__long,
+ (char *)_huff_lengthlist__44u3__long,
0, 0, 0, 0, 0,
NULL,
0
@@ -3694,7 +3694,7 @@ static const long _vq_quantlist__44u3__p1_0[] = {
2,
};
-static const long _vq_lengthlist__44u3__p1_0[] = {
+static const char _vq_lengthlist__44u3__p1_0[] = {
1, 4, 4, 5, 8, 7, 5, 7, 8, 5, 8, 8, 8,10,11, 8,
10,11, 5, 8, 8, 8,11,10, 8,11,11, 4, 8, 8, 8,11,
11, 8,11,11, 8,11,11,11,13,14,11,14,14, 8,11,11,
@@ -3705,7 +3705,7 @@ static const long _vq_lengthlist__44u3__p1_0[] = {
static const static_codebook _44u3__p1_0 = {
4, 81,
- (long *)_vq_lengthlist__44u3__p1_0,
+ (char *)_vq_lengthlist__44u3__p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44u3__p1_0,
0
@@ -3717,7 +3717,7 @@ static const long _vq_quantlist__44u3__p2_0[] = {
2,
};
-static const long _vq_lengthlist__44u3__p2_0[] = {
+static const char _vq_lengthlist__44u3__p2_0[] = {
2, 5, 4, 5, 6, 6, 5, 6, 6, 5, 6, 6, 7, 8, 8, 6,
8, 8, 5, 6, 6, 6, 8, 8, 7, 8, 8, 5, 7, 6, 7, 8,
8, 6, 8, 8, 7, 8, 8, 8, 9,10, 8,10,10, 6, 8, 8,
@@ -3728,7 +3728,7 @@ static const long _vq_lengthlist__44u3__p2_0[] = {
static const static_codebook _44u3__p2_0 = {
4, 81,
- (long *)_vq_lengthlist__44u3__p2_0,
+ (char *)_vq_lengthlist__44u3__p2_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44u3__p2_0,
0
@@ -3742,7 +3742,7 @@ static const long _vq_quantlist__44u3__p3_0[] = {
4,
};
-static const long _vq_lengthlist__44u3__p3_0[] = {
+static const char _vq_lengthlist__44u3__p3_0[] = {
2, 4, 4, 7, 7, 5, 7, 7, 9, 9, 5, 7, 7, 9, 9, 8,
9, 9,12,12, 8, 9, 9,11,12, 5, 7, 7,10,10, 7, 9,
9,11,11, 7, 9, 9,10,11,10,11,11,13,13, 9,10,11,
@@ -3787,7 +3787,7 @@ static const long _vq_lengthlist__44u3__p3_0[] = {
static const static_codebook _44u3__p3_0 = {
4, 625,
- (long *)_vq_lengthlist__44u3__p3_0,
+ (char *)_vq_lengthlist__44u3__p3_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44u3__p3_0,
0
@@ -3801,7 +3801,7 @@ static const long _vq_quantlist__44u3__p4_0[] = {
4,
};
-static const long _vq_lengthlist__44u3__p4_0[] = {
+static const char _vq_lengthlist__44u3__p4_0[] = {
4, 5, 5, 8, 8, 5, 7, 6, 9, 9, 5, 6, 7, 9, 9, 9,
9, 9,11,11, 9, 9, 9,11,11, 5, 7, 7, 9, 9, 7, 8,
8,10,10, 7, 7, 8,10,10, 9,10,10,11,12, 9,10,10,
@@ -3846,7 +3846,7 @@ static const long _vq_lengthlist__44u3__p4_0[] = {
static const static_codebook _44u3__p4_0 = {
4, 625,
- (long *)_vq_lengthlist__44u3__p4_0,
+ (char *)_vq_lengthlist__44u3__p4_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44u3__p4_0,
0
@@ -3864,7 +3864,7 @@ static const long _vq_quantlist__44u3__p5_0[] = {
8,
};
-static const long _vq_lengthlist__44u3__p5_0[] = {
+static const char _vq_lengthlist__44u3__p5_0[] = {
2, 3, 3, 6, 6, 7, 7, 9, 9, 4, 5, 5, 7, 7, 8, 8,
10,10, 4, 5, 5, 7, 7, 8, 8,10,10, 6, 7, 7, 8, 8,
9, 9,11,10, 6, 7, 7, 8, 8, 9, 9,10,10, 7, 8, 8,
@@ -3875,7 +3875,7 @@ static const long _vq_lengthlist__44u3__p5_0[] = {
static const static_codebook _44u3__p5_0 = {
2, 81,
- (long *)_vq_lengthlist__44u3__p5_0,
+ (char *)_vq_lengthlist__44u3__p5_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__44u3__p5_0,
0
@@ -3897,7 +3897,7 @@ static const long _vq_quantlist__44u3__p6_0[] = {
12,
};
-static const long _vq_lengthlist__44u3__p6_0[] = {
+static const char _vq_lengthlist__44u3__p6_0[] = {
1, 4, 4, 6, 6, 8, 8, 9, 9,10,11,13,14, 4, 6, 5,
8, 8, 9, 9,10,10,11,11,14,14, 4, 6, 6, 8, 8, 9,
9,10,10,11,11,14,14, 6, 8, 8, 9, 9,10,10,11,11,
@@ -3913,7 +3913,7 @@ static const long _vq_lengthlist__44u3__p6_0[] = {
static const static_codebook _44u3__p6_0 = {
2, 169,
- (long *)_vq_lengthlist__44u3__p6_0,
+ (char *)_vq_lengthlist__44u3__p6_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__44u3__p6_0,
0
@@ -3927,14 +3927,14 @@ static const long _vq_quantlist__44u3__p6_1[] = {
4,
};
-static const long _vq_lengthlist__44u3__p6_1[] = {
+static const char _vq_lengthlist__44u3__p6_1[] = {
2, 4, 4, 5, 5, 4, 5, 5, 6, 5, 4, 5, 5, 5, 6, 5,
6, 5, 6, 6, 5, 5, 6, 6, 6,
};
static const static_codebook _44u3__p6_1 = {
2, 25,
- (long *)_vq_lengthlist__44u3__p6_1,
+ (char *)_vq_lengthlist__44u3__p6_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44u3__p6_1,
0
@@ -3952,7 +3952,7 @@ static const long _vq_quantlist__44u3__p7_0[] = {
8,
};
-static const long _vq_lengthlist__44u3__p7_0[] = {
+static const char _vq_lengthlist__44u3__p7_0[] = {
1, 3, 3,10,10,10,10,10,10, 4,10,10,10,10,10,10,
10,10, 4,10,10,10,10,10,10,10,10,10,10, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
@@ -3963,7 +3963,7 @@ static const long _vq_lengthlist__44u3__p7_0[] = {
static const static_codebook _44u3__p7_0 = {
2, 81,
- (long *)_vq_lengthlist__44u3__p7_0,
+ (char *)_vq_lengthlist__44u3__p7_0,
1, -515907584, 1627381760, 4, 0,
(long *)_vq_quantlist__44u3__p7_0,
0
@@ -3987,7 +3987,7 @@ static const long _vq_quantlist__44u3__p7_1[] = {
14,
};
-static const long _vq_lengthlist__44u3__p7_1[] = {
+static const char _vq_lengthlist__44u3__p7_1[] = {
1, 4, 4, 6, 6, 7, 6, 8, 7, 9, 8,10, 9,11,11, 4,
7, 7, 8, 7, 9, 9,10,10,11,11,11,11,12,12, 4, 7,
7, 7, 7, 9, 9,10,10,11,11,12,12,12,11, 6, 8, 8,
@@ -4007,7 +4007,7 @@ static const long _vq_lengthlist__44u3__p7_1[] = {
static const static_codebook _44u3__p7_1 = {
2, 225,
- (long *)_vq_lengthlist__44u3__p7_1,
+ (char *)_vq_lengthlist__44u3__p7_1,
1, -522338304, 1620115456, 4, 0,
(long *)_vq_quantlist__44u3__p7_1,
0
@@ -4033,7 +4033,7 @@ static const long _vq_quantlist__44u3__p7_2[] = {
16,
};
-static const long _vq_lengthlist__44u3__p7_2[] = {
+static const char _vq_lengthlist__44u3__p7_2[] = {
2, 5, 5, 7, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9,
9, 5, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9,
10,10, 5, 6, 6, 7, 7, 8, 8, 8, 8, 9, 8, 9, 9, 9,
@@ -4057,13 +4057,13 @@ static const long _vq_lengthlist__44u3__p7_2[] = {
static const static_codebook _44u3__p7_2 = {
2, 289,
- (long *)_vq_lengthlist__44u3__p7_2,
+ (char *)_vq_lengthlist__44u3__p7_2,
1, -529530880, 1611661312, 5, 0,
(long *)_vq_quantlist__44u3__p7_2,
0
};
-static const long _huff_lengthlist__44u3__short[] = {
+static const char _huff_lengthlist__44u3__short[] = {
14,14,14,15,13,15,12,16,10, 8, 7, 9, 9, 8,12,16,
10, 5, 4, 6, 5, 6, 9,16,14, 8, 6, 8, 7, 8,10,16,
14, 7, 4, 6, 3, 5, 8,16,15, 9, 5, 7, 4, 4, 7,16,
@@ -4072,13 +4072,13 @@ static const long _huff_lengthlist__44u3__short[] = {
static const static_codebook _huff_book__44u3__short = {
2, 64,
- (long *)_huff_lengthlist__44u3__short,
+ (char *)_huff_lengthlist__44u3__short,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist__44u4__long[] = {
+static const char _huff_lengthlist__44u4__long[] = {
3, 8,12,12,13,12,11,13, 5, 4, 6, 7, 8, 8, 9,13,
9, 5, 4, 5, 5, 7, 9,13, 9, 6, 5, 6, 6, 7, 8,12,
12, 7, 5, 6, 4, 5, 8,13,11, 7, 6, 6, 5, 5, 6,12,
@@ -4087,7 +4087,7 @@ static const long _huff_lengthlist__44u4__long[] = {
static const static_codebook _huff_book__44u4__long = {
2, 64,
- (long *)_huff_lengthlist__44u4__long,
+ (char *)_huff_lengthlist__44u4__long,
0, 0, 0, 0, 0,
NULL,
0
@@ -4099,7 +4099,7 @@ static const long _vq_quantlist__44u4__p1_0[] = {
2,
};
-static const long _vq_lengthlist__44u4__p1_0[] = {
+static const char _vq_lengthlist__44u4__p1_0[] = {
1, 4, 4, 5, 8, 7, 5, 7, 8, 5, 8, 8, 8,10,11, 8,
10,11, 5, 8, 8, 8,11,10, 8,11,11, 4, 8, 8, 8,11,
11, 8,11,11, 8,11,11,11,13,14,11,15,14, 8,11,11,
@@ -4110,7 +4110,7 @@ static const long _vq_lengthlist__44u4__p1_0[] = {
static const static_codebook _44u4__p1_0 = {
4, 81,
- (long *)_vq_lengthlist__44u4__p1_0,
+ (char *)_vq_lengthlist__44u4__p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44u4__p1_0,
0
@@ -4122,7 +4122,7 @@ static const long _vq_quantlist__44u4__p2_0[] = {
2,
};
-static const long _vq_lengthlist__44u4__p2_0[] = {
+static const char _vq_lengthlist__44u4__p2_0[] = {
2, 5, 5, 5, 6, 6, 5, 6, 6, 5, 6, 6, 7, 8, 8, 6,
8, 8, 5, 6, 6, 6, 8, 8, 7, 8, 8, 5, 7, 6, 6, 8,
8, 6, 8, 8, 6, 8, 8, 8, 9,10, 8,10,10, 6, 8, 8,
@@ -4133,7 +4133,7 @@ static const long _vq_lengthlist__44u4__p2_0[] = {
static const static_codebook _44u4__p2_0 = {
4, 81,
- (long *)_vq_lengthlist__44u4__p2_0,
+ (char *)_vq_lengthlist__44u4__p2_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44u4__p2_0,
0
@@ -4147,7 +4147,7 @@ static const long _vq_quantlist__44u4__p3_0[] = {
4,
};
-static const long _vq_lengthlist__44u4__p3_0[] = {
+static const char _vq_lengthlist__44u4__p3_0[] = {
2, 4, 4, 8, 8, 5, 7, 7, 9, 9, 5, 7, 7, 9, 9, 8,
10, 9,12,12, 8, 9,10,12,12, 5, 7, 7,10,10, 7, 9,
9,11,11, 7, 9, 9,11,11,10,12,11,14,14, 9,10,11,
@@ -4192,7 +4192,7 @@ static const long _vq_lengthlist__44u4__p3_0[] = {
static const static_codebook _44u4__p3_0 = {
4, 625,
- (long *)_vq_lengthlist__44u4__p3_0,
+ (char *)_vq_lengthlist__44u4__p3_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44u4__p3_0,
0
@@ -4206,7 +4206,7 @@ static const long _vq_quantlist__44u4__p4_0[] = {
4,
};
-static const long _vq_lengthlist__44u4__p4_0[] = {
+static const char _vq_lengthlist__44u4__p4_0[] = {
4, 5, 5, 8, 8, 5, 7, 6, 9, 9, 5, 6, 7, 9, 9, 9,
9, 9,11,11, 8, 9, 9,11,11, 5, 7, 7, 9, 9, 7, 8,
8,10,10, 7, 7, 8,10,10, 9,10,10,11,12, 9,10,10,
@@ -4251,7 +4251,7 @@ static const long _vq_lengthlist__44u4__p4_0[] = {
static const static_codebook _44u4__p4_0 = {
4, 625,
- (long *)_vq_lengthlist__44u4__p4_0,
+ (char *)_vq_lengthlist__44u4__p4_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44u4__p4_0,
0
@@ -4269,7 +4269,7 @@ static const long _vq_quantlist__44u4__p5_0[] = {
8,
};
-static const long _vq_lengthlist__44u4__p5_0[] = {
+static const char _vq_lengthlist__44u4__p5_0[] = {
2, 3, 3, 6, 6, 7, 7, 9, 9, 4, 5, 5, 7, 7, 8, 8,
10, 9, 4, 5, 5, 7, 7, 8, 8,10,10, 6, 7, 7, 8, 8,
9, 9,11,10, 6, 7, 7, 8, 8, 9, 9,10,11, 7, 8, 8,
@@ -4280,7 +4280,7 @@ static const long _vq_lengthlist__44u4__p5_0[] = {
static const static_codebook _44u4__p5_0 = {
2, 81,
- (long *)_vq_lengthlist__44u4__p5_0,
+ (char *)_vq_lengthlist__44u4__p5_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__44u4__p5_0,
0
@@ -4302,7 +4302,7 @@ static const long _vq_quantlist__44u4__p6_0[] = {
12,
};
-static const long _vq_lengthlist__44u4__p6_0[] = {
+static const char _vq_lengthlist__44u4__p6_0[] = {
1, 4, 4, 6, 6, 8, 8, 9, 9,11,10,13,13, 4, 6, 5,
8, 8, 9, 9,10,10,11,11,14,14, 4, 6, 6, 8, 8, 9,
9,10,10,11,11,14,14, 6, 8, 8, 9, 9,10,10,11,11,
@@ -4318,7 +4318,7 @@ static const long _vq_lengthlist__44u4__p6_0[] = {
static const static_codebook _44u4__p6_0 = {
2, 169,
- (long *)_vq_lengthlist__44u4__p6_0,
+ (char *)_vq_lengthlist__44u4__p6_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__44u4__p6_0,
0
@@ -4332,14 +4332,14 @@ static const long _vq_quantlist__44u4__p6_1[] = {
4,
};
-static const long _vq_lengthlist__44u4__p6_1[] = {
+static const char _vq_lengthlist__44u4__p6_1[] = {
2, 4, 4, 5, 5, 4, 5, 5, 6, 5, 4, 5, 5, 5, 6, 5,
6, 5, 6, 6, 5, 5, 6, 6, 6,
};
static const static_codebook _44u4__p6_1 = {
2, 25,
- (long *)_vq_lengthlist__44u4__p6_1,
+ (char *)_vq_lengthlist__44u4__p6_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44u4__p6_1,
0
@@ -4361,7 +4361,7 @@ static const long _vq_quantlist__44u4__p7_0[] = {
12,
};
-static const long _vq_lengthlist__44u4__p7_0[] = {
+static const char _vq_lengthlist__44u4__p7_0[] = {
1, 3, 3,12,12,12,12,12,12,12,12,12,12, 3,12,11,
12,12,12,12,12,12,12,12,12,12, 4,11,10,12,12,12,
12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,
@@ -4377,7 +4377,7 @@ static const long _vq_lengthlist__44u4__p7_0[] = {
static const static_codebook _44u4__p7_0 = {
2, 169,
- (long *)_vq_lengthlist__44u4__p7_0,
+ (char *)_vq_lengthlist__44u4__p7_0,
1, -514332672, 1627381760, 4, 0,
(long *)_vq_quantlist__44u4__p7_0,
0
@@ -4401,7 +4401,7 @@ static const long _vq_quantlist__44u4__p7_1[] = {
14,
};
-static const long _vq_lengthlist__44u4__p7_1[] = {
+static const char _vq_lengthlist__44u4__p7_1[] = {
1, 4, 4, 6, 6, 7, 7, 9, 8,10, 8,10, 9,11,11, 4,
7, 6, 8, 7, 9, 9,10,10,11,10,11,10,12,10, 4, 6,
7, 8, 8, 9, 9,10,10,11,11,11,11,12,12, 6, 8, 8,
@@ -4421,7 +4421,7 @@ static const long _vq_lengthlist__44u4__p7_1[] = {
static const static_codebook _44u4__p7_1 = {
2, 225,
- (long *)_vq_lengthlist__44u4__p7_1,
+ (char *)_vq_lengthlist__44u4__p7_1,
1, -522338304, 1620115456, 4, 0,
(long *)_vq_quantlist__44u4__p7_1,
0
@@ -4447,7 +4447,7 @@ static const long _vq_quantlist__44u4__p7_2[] = {
16,
};
-static const long _vq_lengthlist__44u4__p7_2[] = {
+static const char _vq_lengthlist__44u4__p7_2[] = {
2, 5, 5, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9,
9, 5, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9,
9, 9, 5, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9,
@@ -4471,13 +4471,13 @@ static const long _vq_lengthlist__44u4__p7_2[] = {
static const static_codebook _44u4__p7_2 = {
2, 289,
- (long *)_vq_lengthlist__44u4__p7_2,
+ (char *)_vq_lengthlist__44u4__p7_2,
1, -529530880, 1611661312, 5, 0,
(long *)_vq_quantlist__44u4__p7_2,
0
};
-static const long _huff_lengthlist__44u4__short[] = {
+static const char _huff_lengthlist__44u4__short[] = {
14,17,15,17,16,14,13,16,10, 7, 7,10,13,10,15,16,
9, 4, 4, 6, 5, 7, 9,16,12, 8, 7, 8, 8, 8,11,16,
14, 7, 4, 6, 3, 5, 8,15,13, 8, 5, 7, 4, 5, 7,16,
@@ -4486,13 +4486,13 @@ static const long _huff_lengthlist__44u4__short[] = {
static const static_codebook _huff_book__44u4__short = {
2, 64,
- (long *)_huff_lengthlist__44u4__short,
+ (char *)_huff_lengthlist__44u4__short,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist__44u5__long[] = {
+static const char _huff_lengthlist__44u5__long[] = {
3, 8,13,12,14,12,16,11,13,14, 5, 4, 5, 6, 7, 8,
10, 9,12,15,10, 5, 5, 5, 6, 8, 9, 9,13,15,10, 5,
5, 6, 6, 7, 8, 8,11,13,12, 7, 5, 6, 4, 6, 7, 7,
@@ -4504,7 +4504,7 @@ static const long _huff_lengthlist__44u5__long[] = {
static const static_codebook _huff_book__44u5__long = {
2, 100,
- (long *)_huff_lengthlist__44u5__long,
+ (char *)_huff_lengthlist__44u5__long,
0, 0, 0, 0, 0,
NULL,
0
@@ -4516,7 +4516,7 @@ static const long _vq_quantlist__44u5__p1_0[] = {
2,
};
-static const long _vq_lengthlist__44u5__p1_0[] = {
+static const char _vq_lengthlist__44u5__p1_0[] = {
1, 4, 4, 5, 8, 7, 5, 7, 7, 5, 8, 8, 8,10,10, 7,
9,10, 5, 8, 8, 7,10, 9, 8,10,10, 5, 8, 8, 8,10,
10, 8,10,10, 8,10,10,10,12,13,10,13,13, 7,10,10,
@@ -4527,7 +4527,7 @@ static const long _vq_lengthlist__44u5__p1_0[] = {
static const static_codebook _44u5__p1_0 = {
4, 81,
- (long *)_vq_lengthlist__44u5__p1_0,
+ (char *)_vq_lengthlist__44u5__p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44u5__p1_0,
0
@@ -4539,7 +4539,7 @@ static const long _vq_quantlist__44u5__p2_0[] = {
2,
};
-static const long _vq_lengthlist__44u5__p2_0[] = {
+static const char _vq_lengthlist__44u5__p2_0[] = {
3, 4, 4, 5, 6, 6, 5, 6, 6, 5, 6, 6, 6, 8, 8, 6,
7, 8, 5, 6, 6, 6, 8, 7, 6, 8, 8, 5, 6, 6, 6, 8,
8, 6, 8, 8, 6, 8, 8, 8, 9, 9, 8, 9, 9, 6, 8, 7,
@@ -4550,7 +4550,7 @@ static const long _vq_lengthlist__44u5__p2_0[] = {
static const static_codebook _44u5__p2_0 = {
4, 81,
- (long *)_vq_lengthlist__44u5__p2_0,
+ (char *)_vq_lengthlist__44u5__p2_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44u5__p2_0,
0
@@ -4564,7 +4564,7 @@ static const long _vq_quantlist__44u5__p3_0[] = {
4,
};
-static const long _vq_lengthlist__44u5__p3_0[] = {
+static const char _vq_lengthlist__44u5__p3_0[] = {
2, 4, 5, 8, 8, 5, 7, 6, 9, 9, 5, 6, 7, 9, 9, 8,
10, 9,13,12, 8, 9,10,12,12, 5, 7, 7,10,10, 7, 9,
9,11,11, 6, 8, 9,11,11,10,11,11,14,14, 9,10,11,
@@ -4609,7 +4609,7 @@ static const long _vq_lengthlist__44u5__p3_0[] = {
static const static_codebook _44u5__p3_0 = {
4, 625,
- (long *)_vq_lengthlist__44u5__p3_0,
+ (char *)_vq_lengthlist__44u5__p3_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44u5__p3_0,
0
@@ -4623,7 +4623,7 @@ static const long _vq_quantlist__44u5__p4_0[] = {
4,
};
-static const long _vq_lengthlist__44u5__p4_0[] = {
+static const char _vq_lengthlist__44u5__p4_0[] = {
4, 5, 5, 8, 8, 6, 7, 6, 9, 9, 6, 6, 7, 9, 9, 8,
9, 9,11,11, 8, 9, 9,11,11, 6, 7, 7, 9, 9, 7, 8,
8,10,10, 6, 7, 8, 9,10, 9,10,10,11,12, 9, 9,10,
@@ -4668,7 +4668,7 @@ static const long _vq_lengthlist__44u5__p4_0[] = {
static const static_codebook _44u5__p4_0 = {
4, 625,
- (long *)_vq_lengthlist__44u5__p4_0,
+ (char *)_vq_lengthlist__44u5__p4_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44u5__p4_0,
0
@@ -4686,7 +4686,7 @@ static const long _vq_quantlist__44u5__p5_0[] = {
8,
};
-static const long _vq_lengthlist__44u5__p5_0[] = {
+static const char _vq_lengthlist__44u5__p5_0[] = {
2, 3, 3, 6, 6, 8, 8,10,10, 4, 5, 5, 8, 7, 8, 8,
11,10, 3, 5, 5, 7, 8, 8, 8,10,11, 6, 8, 7,10, 9,
10,10,11,11, 6, 7, 8, 9, 9, 9,10,11,12, 8, 8, 8,
@@ -4697,7 +4697,7 @@ static const long _vq_lengthlist__44u5__p5_0[] = {
static const static_codebook _44u5__p5_0 = {
2, 81,
- (long *)_vq_lengthlist__44u5__p5_0,
+ (char *)_vq_lengthlist__44u5__p5_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__44u5__p5_0,
0
@@ -4715,7 +4715,7 @@ static const long _vq_quantlist__44u5__p6_0[] = {
8,
};
-static const long _vq_lengthlist__44u5__p6_0[] = {
+static const char _vq_lengthlist__44u5__p6_0[] = {
3, 4, 4, 5, 5, 7, 7, 9, 9, 4, 5, 4, 6, 6, 7, 7,
9, 9, 4, 4, 5, 6, 6, 7, 7, 9, 9, 5, 6, 6, 7, 7,
8, 8,10,10, 6, 6, 6, 7, 7, 8, 8,10,10, 7, 7, 7,
@@ -4726,7 +4726,7 @@ static const long _vq_lengthlist__44u5__p6_0[] = {
static const static_codebook _44u5__p6_0 = {
2, 81,
- (long *)_vq_lengthlist__44u5__p6_0,
+ (char *)_vq_lengthlist__44u5__p6_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__44u5__p6_0,
0
@@ -4738,7 +4738,7 @@ static const long _vq_quantlist__44u5__p7_0[] = {
2,
};
-static const long _vq_lengthlist__44u5__p7_0[] = {
+static const char _vq_lengthlist__44u5__p7_0[] = {
1, 4, 4, 5, 7, 7, 5, 7, 7, 5, 9, 9, 8,11,10, 7,
11,10, 5, 9, 9, 7,10,10, 8,10,11, 4, 9, 9, 9,12,
12, 9,12,12, 8,12,12,11,12,12,10,12,13, 7,12,12,
@@ -4749,7 +4749,7 @@ static const long _vq_lengthlist__44u5__p7_0[] = {
static const static_codebook _44u5__p7_0 = {
4, 81,
- (long *)_vq_lengthlist__44u5__p7_0,
+ (char *)_vq_lengthlist__44u5__p7_0,
1, -529137664, 1618345984, 2, 0,
(long *)_vq_quantlist__44u5__p7_0,
0
@@ -4769,7 +4769,7 @@ static const long _vq_quantlist__44u5__p7_1[] = {
10,
};
-static const long _vq_lengthlist__44u5__p7_1[] = {
+static const char _vq_lengthlist__44u5__p7_1[] = {
2, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8, 4, 5, 5, 7, 7,
8, 8, 9, 8, 8, 9, 4, 5, 5, 7, 7, 8, 8, 9, 9, 8,
9, 6, 7, 7, 8, 8, 9, 8, 9, 9, 9, 9, 6, 7, 7, 8,
@@ -4782,7 +4782,7 @@ static const long _vq_lengthlist__44u5__p7_1[] = {
static const static_codebook _44u5__p7_1 = {
2, 121,
- (long *)_vq_lengthlist__44u5__p7_1,
+ (char *)_vq_lengthlist__44u5__p7_1,
1, -531365888, 1611661312, 4, 0,
(long *)_vq_quantlist__44u5__p7_1,
0
@@ -4802,7 +4802,7 @@ static const long _vq_quantlist__44u5__p8_0[] = {
10,
};
-static const long _vq_lengthlist__44u5__p8_0[] = {
+static const char _vq_lengthlist__44u5__p8_0[] = {
1, 4, 4, 6, 6, 8, 8, 9, 9,10,10, 4, 6, 6, 7, 7,
9, 9,10,10,11,11, 4, 6, 6, 7, 7, 9, 9,10,10,11,
11, 6, 8, 7, 9, 9,10,10,11,11,13,12, 6, 8, 8, 9,
@@ -4815,7 +4815,7 @@ static const long _vq_lengthlist__44u5__p8_0[] = {
static const static_codebook _44u5__p8_0 = {
2, 121,
- (long *)_vq_lengthlist__44u5__p8_0,
+ (char *)_vq_lengthlist__44u5__p8_0,
1, -524582912, 1618345984, 4, 0,
(long *)_vq_quantlist__44u5__p8_0,
0
@@ -4835,7 +4835,7 @@ static const long _vq_quantlist__44u5__p8_1[] = {
10,
};
-static const long _vq_lengthlist__44u5__p8_1[] = {
+static const char _vq_lengthlist__44u5__p8_1[] = {
3, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7, 5, 6, 5, 7, 6,
7, 7, 8, 8, 8, 8, 5, 5, 5, 6, 6, 7, 7, 8, 8, 8,
8, 6, 7, 6, 7, 7, 8, 8, 8, 8, 8, 8, 6, 6, 7, 7,
@@ -4848,7 +4848,7 @@ static const long _vq_lengthlist__44u5__p8_1[] = {
static const static_codebook _44u5__p8_1 = {
2, 121,
- (long *)_vq_lengthlist__44u5__p8_1,
+ (char *)_vq_lengthlist__44u5__p8_1,
1, -531365888, 1611661312, 4, 0,
(long *)_vq_quantlist__44u5__p8_1,
0
@@ -4870,7 +4870,7 @@ static const long _vq_quantlist__44u5__p9_0[] = {
12,
};
-static const long _vq_lengthlist__44u5__p9_0[] = {
+static const char _vq_lengthlist__44u5__p9_0[] = {
1, 3, 2,12,10,13,13,13,13,13,13,13,13, 4, 9, 9,
13,13,13,13,13,13,13,13,13,13, 5,10, 9,13,13,13,
13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,
@@ -4886,7 +4886,7 @@ static const long _vq_lengthlist__44u5__p9_0[] = {
static const static_codebook _44u5__p9_0 = {
2, 169,
- (long *)_vq_lengthlist__44u5__p9_0,
+ (char *)_vq_lengthlist__44u5__p9_0,
1, -514332672, 1627381760, 4, 0,
(long *)_vq_quantlist__44u5__p9_0,
0
@@ -4910,7 +4910,7 @@ static const long _vq_quantlist__44u5__p9_1[] = {
14,
};
-static const long _vq_lengthlist__44u5__p9_1[] = {
+static const char _vq_lengthlist__44u5__p9_1[] = {
1, 4, 4, 7, 7, 8, 8, 8, 7, 8, 7, 9, 8, 9, 9, 4,
7, 6, 9, 8,10,10, 9, 8, 9, 9, 9, 9, 9, 8, 5, 6,
6, 8, 9,10,10, 9, 9, 9,10,10,10,10,11, 7, 8, 8,
@@ -4930,7 +4930,7 @@ static const long _vq_lengthlist__44u5__p9_1[] = {
static const static_codebook _44u5__p9_1 = {
2, 225,
- (long *)_vq_lengthlist__44u5__p9_1,
+ (char *)_vq_lengthlist__44u5__p9_1,
1, -522338304, 1620115456, 4, 0,
(long *)_vq_quantlist__44u5__p9_1,
0
@@ -4956,7 +4956,7 @@ static const long _vq_quantlist__44u5__p9_2[] = {
16,
};
-static const long _vq_lengthlist__44u5__p9_2[] = {
+static const char _vq_lengthlist__44u5__p9_2[] = {
2, 5, 5, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9,
9, 5, 6, 6, 7, 7, 8, 8, 9, 8, 9, 9, 9, 9, 9, 9,
9, 9, 5, 6, 6, 7, 7, 8, 8, 9, 8, 9, 9, 9, 9, 9,
@@ -4980,13 +4980,13 @@ static const long _vq_lengthlist__44u5__p9_2[] = {
static const static_codebook _44u5__p9_2 = {
2, 289,
- (long *)_vq_lengthlist__44u5__p9_2,
+ (char *)_vq_lengthlist__44u5__p9_2,
1, -529530880, 1611661312, 5, 0,
(long *)_vq_quantlist__44u5__p9_2,
0
};
-static const long _huff_lengthlist__44u5__short[] = {
+static const char _huff_lengthlist__44u5__short[] = {
4,10,17,13,17,13,17,17,17,17, 3, 6, 8, 9,11, 9,
15,12,16,17, 6, 5, 5, 7, 7, 8,10,11,17,17, 7, 8,
7, 9, 9,10,13,13,17,17, 8, 6, 5, 7, 4, 7, 5, 8,
@@ -4998,13 +4998,13 @@ static const long _huff_lengthlist__44u5__short[] = {
static const static_codebook _huff_book__44u5__short = {
2, 100,
- (long *)_huff_lengthlist__44u5__short,
+ (char *)_huff_lengthlist__44u5__short,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist__44u6__long[] = {
+static const char _huff_lengthlist__44u6__long[] = {
3, 9,14,13,14,13,16,12,13,14, 5, 4, 6, 6, 8, 9,
11,10,12,15,10, 5, 5, 6, 6, 8,10,10,13,16,10, 6,
6, 6, 6, 8, 9, 9,12,14,13, 7, 6, 6, 4, 6, 6, 7,
@@ -5016,7 +5016,7 @@ static const long _huff_lengthlist__44u6__long[] = {
static const static_codebook _huff_book__44u6__long = {
2, 100,
- (long *)_huff_lengthlist__44u6__long,
+ (char *)_huff_lengthlist__44u6__long,
0, 0, 0, 0, 0,
NULL,
0
@@ -5028,7 +5028,7 @@ static const long _vq_quantlist__44u6__p1_0[] = {
2,
};
-static const long _vq_lengthlist__44u6__p1_0[] = {
+static const char _vq_lengthlist__44u6__p1_0[] = {
1, 4, 4, 4, 8, 7, 5, 7, 7, 5, 8, 8, 8,10,10, 7,
9,10, 5, 8, 8, 7,10, 9, 8,10,10, 5, 8, 8, 8,10,
10, 8,10,10, 8,10,10,10,12,13,10,13,13, 7,10,10,
@@ -5039,7 +5039,7 @@ static const long _vq_lengthlist__44u6__p1_0[] = {
static const static_codebook _44u6__p1_0 = {
4, 81,
- (long *)_vq_lengthlist__44u6__p1_0,
+ (char *)_vq_lengthlist__44u6__p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44u6__p1_0,
0
@@ -5051,7 +5051,7 @@ static const long _vq_quantlist__44u6__p2_0[] = {
2,
};
-static const long _vq_lengthlist__44u6__p2_0[] = {
+static const char _vq_lengthlist__44u6__p2_0[] = {
3, 4, 4, 5, 6, 6, 5, 6, 6, 5, 6, 6, 6, 8, 8, 6,
7, 8, 5, 6, 6, 6, 8, 7, 6, 8, 8, 5, 6, 6, 6, 8,
8, 6, 8, 8, 6, 8, 8, 8, 9, 9, 8, 9, 9, 6, 7, 7,
@@ -5062,7 +5062,7 @@ static const long _vq_lengthlist__44u6__p2_0[] = {
static const static_codebook _44u6__p2_0 = {
4, 81,
- (long *)_vq_lengthlist__44u6__p2_0,
+ (char *)_vq_lengthlist__44u6__p2_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44u6__p2_0,
0
@@ -5076,7 +5076,7 @@ static const long _vq_quantlist__44u6__p3_0[] = {
4,
};
-static const long _vq_lengthlist__44u6__p3_0[] = {
+static const char _vq_lengthlist__44u6__p3_0[] = {
2, 5, 4, 8, 8, 5, 7, 6, 9, 9, 5, 6, 7, 9, 9, 8,
9, 9,13,12, 8, 9,10,12,13, 5, 7, 7,10, 9, 7, 9,
9,11,11, 7, 8, 9,11,11,10,11,11,14,14, 9,10,11,
@@ -5121,7 +5121,7 @@ static const long _vq_lengthlist__44u6__p3_0[] = {
static const static_codebook _44u6__p3_0 = {
4, 625,
- (long *)_vq_lengthlist__44u6__p3_0,
+ (char *)_vq_lengthlist__44u6__p3_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44u6__p3_0,
0
@@ -5135,7 +5135,7 @@ static const long _vq_quantlist__44u6__p4_0[] = {
4,
};
-static const long _vq_lengthlist__44u6__p4_0[] = {
+static const char _vq_lengthlist__44u6__p4_0[] = {
4, 5, 5, 8, 8, 6, 7, 6, 9, 9, 6, 6, 7, 9, 9, 8,
9, 9,11,11, 8, 9, 9,11,11, 6, 7, 7, 9, 9, 7, 8,
8,10,10, 7, 7, 8, 9,10, 9,10,10,11,11, 9, 9,10,
@@ -5180,7 +5180,7 @@ static const long _vq_lengthlist__44u6__p4_0[] = {
static const static_codebook _44u6__p4_0 = {
4, 625,
- (long *)_vq_lengthlist__44u6__p4_0,
+ (char *)_vq_lengthlist__44u6__p4_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44u6__p4_0,
0
@@ -5198,7 +5198,7 @@ static const long _vq_quantlist__44u6__p5_0[] = {
8,
};
-static const long _vq_lengthlist__44u6__p5_0[] = {
+static const char _vq_lengthlist__44u6__p5_0[] = {
2, 3, 3, 6, 6, 8, 8,10,10, 4, 5, 5, 8, 7, 8, 8,
11,11, 3, 5, 5, 7, 8, 8, 8,11,11, 6, 8, 7, 9, 9,
10, 9,12,11, 6, 7, 8, 9, 9, 9,10,11,12, 8, 8, 8,
@@ -5209,7 +5209,7 @@ static const long _vq_lengthlist__44u6__p5_0[] = {
static const static_codebook _44u6__p5_0 = {
2, 81,
- (long *)_vq_lengthlist__44u6__p5_0,
+ (char *)_vq_lengthlist__44u6__p5_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__44u6__p5_0,
0
@@ -5227,7 +5227,7 @@ static const long _vq_quantlist__44u6__p6_0[] = {
8,
};
-static const long _vq_lengthlist__44u6__p6_0[] = {
+static const char _vq_lengthlist__44u6__p6_0[] = {
3, 4, 4, 5, 5, 7, 7, 9, 9, 4, 5, 4, 6, 6, 7, 7,
9, 9, 4, 4, 5, 6, 6, 7, 8, 9, 9, 5, 6, 6, 7, 7,
8, 8,10,10, 5, 6, 6, 7, 7, 8, 8,10,10, 7, 8, 7,
@@ -5238,7 +5238,7 @@ static const long _vq_lengthlist__44u6__p6_0[] = {
static const static_codebook _44u6__p6_0 = {
2, 81,
- (long *)_vq_lengthlist__44u6__p6_0,
+ (char *)_vq_lengthlist__44u6__p6_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__44u6__p6_0,
0
@@ -5250,7 +5250,7 @@ static const long _vq_quantlist__44u6__p7_0[] = {
2,
};
-static const long _vq_lengthlist__44u6__p7_0[] = {
+static const char _vq_lengthlist__44u6__p7_0[] = {
1, 4, 4, 5, 7, 7, 5, 7, 7, 5, 9, 8, 7,10,10, 8,
10,10, 5, 8, 9, 7,10,10, 7,10, 9, 4, 8, 8, 9,11,
11, 8,11,11, 7,11,11,10,10,13,10,13,13, 7,11,11,
@@ -5261,7 +5261,7 @@ static const long _vq_lengthlist__44u6__p7_0[] = {
static const static_codebook _44u6__p7_0 = {
4, 81,
- (long *)_vq_lengthlist__44u6__p7_0,
+ (char *)_vq_lengthlist__44u6__p7_0,
1, -529137664, 1618345984, 2, 0,
(long *)_vq_quantlist__44u6__p7_0,
0
@@ -5281,7 +5281,7 @@ static const long _vq_quantlist__44u6__p7_1[] = {
10,
};
-static const long _vq_lengthlist__44u6__p7_1[] = {
+static const char _vq_lengthlist__44u6__p7_1[] = {
3, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8, 4, 5, 5, 7, 6,
8, 8, 8, 8, 8, 8, 4, 5, 5, 6, 7, 8, 8, 8, 8, 8,
8, 6, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 6, 7, 7, 7,
@@ -5294,7 +5294,7 @@ static const long _vq_lengthlist__44u6__p7_1[] = {
static const static_codebook _44u6__p7_1 = {
2, 121,
- (long *)_vq_lengthlist__44u6__p7_1,
+ (char *)_vq_lengthlist__44u6__p7_1,
1, -531365888, 1611661312, 4, 0,
(long *)_vq_quantlist__44u6__p7_1,
0
@@ -5314,7 +5314,7 @@ static const long _vq_quantlist__44u6__p8_0[] = {
10,
};
-static const long _vq_lengthlist__44u6__p8_0[] = {
+static const char _vq_lengthlist__44u6__p8_0[] = {
1, 4, 4, 6, 6, 8, 8, 9, 9,10,10, 4, 6, 6, 7, 7,
9, 9,10,10,11,11, 4, 6, 6, 7, 7, 9, 9,10,10,11,
11, 6, 8, 8, 9, 9,10,10,11,11,12,12, 6, 8, 8, 9,
@@ -5327,7 +5327,7 @@ static const long _vq_lengthlist__44u6__p8_0[] = {
static const static_codebook _44u6__p8_0 = {
2, 121,
- (long *)_vq_lengthlist__44u6__p8_0,
+ (char *)_vq_lengthlist__44u6__p8_0,
1, -524582912, 1618345984, 4, 0,
(long *)_vq_quantlist__44u6__p8_0,
0
@@ -5347,7 +5347,7 @@ static const long _vq_quantlist__44u6__p8_1[] = {
10,
};
-static const long _vq_lengthlist__44u6__p8_1[] = {
+static const char _vq_lengthlist__44u6__p8_1[] = {
3, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7, 5, 6, 5, 7, 7,
7, 7, 8, 7, 8, 8, 5, 5, 6, 6, 7, 7, 7, 7, 7, 8,
8, 6, 7, 7, 7, 7, 8, 7, 8, 8, 8, 8, 6, 6, 7, 7,
@@ -5360,7 +5360,7 @@ static const long _vq_lengthlist__44u6__p8_1[] = {
static const static_codebook _44u6__p8_1 = {
2, 121,
- (long *)_vq_lengthlist__44u6__p8_1,
+ (char *)_vq_lengthlist__44u6__p8_1,
1, -531365888, 1611661312, 4, 0,
(long *)_vq_quantlist__44u6__p8_1,
0
@@ -5384,7 +5384,7 @@ static const long _vq_quantlist__44u6__p9_0[] = {
14,
};
-static const long _vq_lengthlist__44u6__p9_0[] = {
+static const char _vq_lengthlist__44u6__p9_0[] = {
1, 3, 2, 9, 8,15,15,15,15,15,15,15,15,15,15, 4,
8, 9,13,14,14,14,14,14,14,14,14,14,14,14, 5, 8,
9,14,14,14,14,14,14,14,14,14,14,14,14,11,14,14,
@@ -5404,7 +5404,7 @@ static const long _vq_lengthlist__44u6__p9_0[] = {
static const static_codebook _44u6__p9_0 = {
2, 225,
- (long *)_vq_lengthlist__44u6__p9_0,
+ (char *)_vq_lengthlist__44u6__p9_0,
1, -514071552, 1627381760, 4, 0,
(long *)_vq_quantlist__44u6__p9_0,
0
@@ -5428,7 +5428,7 @@ static const long _vq_quantlist__44u6__p9_1[] = {
14,
};
-static const long _vq_lengthlist__44u6__p9_1[] = {
+static const char _vq_lengthlist__44u6__p9_1[] = {
1, 4, 4, 7, 7, 8, 9, 8, 8, 9, 8, 9, 8, 9, 9, 4,
7, 6, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 4, 7,
6, 9, 9,10,10, 9, 9,10,10,10,10,11,11, 7, 9, 8,
@@ -5448,7 +5448,7 @@ static const long _vq_lengthlist__44u6__p9_1[] = {
static const static_codebook _44u6__p9_1 = {
2, 225,
- (long *)_vq_lengthlist__44u6__p9_1,
+ (char *)_vq_lengthlist__44u6__p9_1,
1, -522338304, 1620115456, 4, 0,
(long *)_vq_quantlist__44u6__p9_1,
0
@@ -5474,7 +5474,7 @@ static const long _vq_quantlist__44u6__p9_2[] = {
16,
};
-static const long _vq_lengthlist__44u6__p9_2[] = {
+static const char _vq_lengthlist__44u6__p9_2[] = {
3, 5, 5, 7, 7, 8, 8, 8, 8, 8, 8, 9, 8, 8, 9, 9,
9, 5, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9,
9, 9, 5, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9,
@@ -5498,13 +5498,13 @@ static const long _vq_lengthlist__44u6__p9_2[] = {
static const static_codebook _44u6__p9_2 = {
2, 289,
- (long *)_vq_lengthlist__44u6__p9_2,
+ (char *)_vq_lengthlist__44u6__p9_2,
1, -529530880, 1611661312, 5, 0,
(long *)_vq_quantlist__44u6__p9_2,
0
};
-static const long _huff_lengthlist__44u6__short[] = {
+static const char _huff_lengthlist__44u6__short[] = {
4,11,16,13,17,13,17,16,17,17, 4, 7, 9, 9,13,10,
16,12,16,17, 7, 6, 5, 7, 8, 9,12,12,16,17, 6, 9,
7, 9,10,10,15,15,17,17, 6, 7, 5, 7, 5, 7, 7,10,
@@ -5516,13 +5516,13 @@ static const long _huff_lengthlist__44u6__short[] = {
static const static_codebook _huff_book__44u6__short = {
2, 100,
- (long *)_huff_lengthlist__44u6__short,
+ (char *)_huff_lengthlist__44u6__short,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist__44u7__long[] = {
+static const char _huff_lengthlist__44u7__long[] = {
3, 9,14,13,15,14,16,13,13,14, 5, 5, 7, 7, 8, 9,
11,10,12,15,10, 6, 5, 6, 6, 9,10,10,13,16,10, 6,
6, 6, 6, 8, 9, 9,12,15,14, 7, 6, 6, 5, 6, 6, 8,
@@ -5534,7 +5534,7 @@ static const long _huff_lengthlist__44u7__long[] = {
static const static_codebook _huff_book__44u7__long = {
2, 100,
- (long *)_huff_lengthlist__44u7__long,
+ (char *)_huff_lengthlist__44u7__long,
0, 0, 0, 0, 0,
NULL,
0
@@ -5546,7 +5546,7 @@ static const long _vq_quantlist__44u7__p1_0[] = {
2,
};
-static const long _vq_lengthlist__44u7__p1_0[] = {
+static const char _vq_lengthlist__44u7__p1_0[] = {
1, 4, 4, 4, 7, 7, 5, 7, 7, 5, 8, 8, 8,10,10, 7,
10,10, 5, 8, 8, 7,10,10, 8,10,10, 5, 8, 8, 8,11,
10, 8,10,10, 8,10,10,10,12,13,10,13,13, 7,10,10,
@@ -5557,7 +5557,7 @@ static const long _vq_lengthlist__44u7__p1_0[] = {
static const static_codebook _44u7__p1_0 = {
4, 81,
- (long *)_vq_lengthlist__44u7__p1_0,
+ (char *)_vq_lengthlist__44u7__p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44u7__p1_0,
0
@@ -5569,7 +5569,7 @@ static const long _vq_quantlist__44u7__p2_0[] = {
2,
};
-static const long _vq_lengthlist__44u7__p2_0[] = {
+static const char _vq_lengthlist__44u7__p2_0[] = {
3, 4, 4, 5, 6, 6, 5, 6, 6, 5, 6, 6, 6, 8, 8, 6,
7, 8, 5, 6, 6, 6, 8, 7, 6, 8, 8, 5, 6, 6, 6, 8,
7, 6, 8, 8, 6, 8, 8, 8, 9, 9, 8, 9, 9, 6, 8, 7,
@@ -5580,7 +5580,7 @@ static const long _vq_lengthlist__44u7__p2_0[] = {
static const static_codebook _44u7__p2_0 = {
4, 81,
- (long *)_vq_lengthlist__44u7__p2_0,
+ (char *)_vq_lengthlist__44u7__p2_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44u7__p2_0,
0
@@ -5594,7 +5594,7 @@ static const long _vq_quantlist__44u7__p3_0[] = {
4,
};
-static const long _vq_lengthlist__44u7__p3_0[] = {
+static const char _vq_lengthlist__44u7__p3_0[] = {
2, 5, 4, 8, 8, 5, 7, 6, 9, 9, 5, 6, 7, 9, 9, 8,
9, 9,13,12, 8, 9,10,12,13, 5, 7, 7,10, 9, 7, 9,
9,11,11, 6, 8, 9,11,11,10,11,11,14,14, 9,10,11,
@@ -5639,7 +5639,7 @@ static const long _vq_lengthlist__44u7__p3_0[] = {
static const static_codebook _44u7__p3_0 = {
4, 625,
- (long *)_vq_lengthlist__44u7__p3_0,
+ (char *)_vq_lengthlist__44u7__p3_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44u7__p3_0,
0
@@ -5653,7 +5653,7 @@ static const long _vq_quantlist__44u7__p4_0[] = {
4,
};
-static const long _vq_lengthlist__44u7__p4_0[] = {
+static const char _vq_lengthlist__44u7__p4_0[] = {
4, 5, 5, 8, 8, 6, 7, 6, 9, 9, 6, 6, 7, 9, 9, 8,
9, 9,11,11, 8, 9, 9,10,11, 6, 7, 7, 9, 9, 7, 8,
8,10,10, 6, 7, 8, 9,10, 9,10,10,12,12, 9, 9,10,
@@ -5698,7 +5698,7 @@ static const long _vq_lengthlist__44u7__p4_0[] = {
static const static_codebook _44u7__p4_0 = {
4, 625,
- (long *)_vq_lengthlist__44u7__p4_0,
+ (char *)_vq_lengthlist__44u7__p4_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44u7__p4_0,
0
@@ -5716,7 +5716,7 @@ static const long _vq_quantlist__44u7__p5_0[] = {
8,
};
-static const long _vq_lengthlist__44u7__p5_0[] = {
+static const char _vq_lengthlist__44u7__p5_0[] = {
2, 3, 3, 6, 6, 7, 8,10,10, 4, 5, 5, 8, 7, 8, 8,
11,11, 3, 5, 5, 7, 7, 8, 9,11,11, 6, 8, 7, 9, 9,
10,10,12,12, 6, 7, 8, 9,10,10,10,12,12, 8, 8, 8,
@@ -5727,7 +5727,7 @@ static const long _vq_lengthlist__44u7__p5_0[] = {
static const static_codebook _44u7__p5_0 = {
2, 81,
- (long *)_vq_lengthlist__44u7__p5_0,
+ (char *)_vq_lengthlist__44u7__p5_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__44u7__p5_0,
0
@@ -5745,7 +5745,7 @@ static const long _vq_quantlist__44u7__p6_0[] = {
8,
};
-static const long _vq_lengthlist__44u7__p6_0[] = {
+static const char _vq_lengthlist__44u7__p6_0[] = {
3, 4, 4, 5, 5, 7, 7, 9, 9, 4, 5, 4, 6, 6, 8, 7,
9, 9, 4, 4, 5, 6, 6, 7, 7, 9, 9, 5, 6, 6, 7, 7,
8, 8,10,10, 5, 6, 6, 7, 7, 8, 8,10,10, 7, 8, 7,
@@ -5756,7 +5756,7 @@ static const long _vq_lengthlist__44u7__p6_0[] = {
static const static_codebook _44u7__p6_0 = {
2, 81,
- (long *)_vq_lengthlist__44u7__p6_0,
+ (char *)_vq_lengthlist__44u7__p6_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__44u7__p6_0,
0
@@ -5768,7 +5768,7 @@ static const long _vq_quantlist__44u7__p7_0[] = {
2,
};
-static const long _vq_lengthlist__44u7__p7_0[] = {
+static const char _vq_lengthlist__44u7__p7_0[] = {
1, 4, 4, 5, 7, 7, 5, 7, 7, 5, 9, 8, 8, 9, 9, 7,
10,10, 5, 8, 9, 7, 9,10, 8, 9, 9, 4, 9, 9, 9,11,
10, 8,10,10, 7,11,10,10,10,12,10,12,12, 7,10,10,
@@ -5779,7 +5779,7 @@ static const long _vq_lengthlist__44u7__p7_0[] = {
static const static_codebook _44u7__p7_0 = {
4, 81,
- (long *)_vq_lengthlist__44u7__p7_0,
+ (char *)_vq_lengthlist__44u7__p7_0,
1, -529137664, 1618345984, 2, 0,
(long *)_vq_quantlist__44u7__p7_0,
0
@@ -5799,7 +5799,7 @@ static const long _vq_quantlist__44u7__p7_1[] = {
10,
};
-static const long _vq_lengthlist__44u7__p7_1[] = {
+static const char _vq_lengthlist__44u7__p7_1[] = {
3, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8, 4, 5, 5, 6, 6,
8, 7, 8, 8, 8, 8, 4, 5, 5, 6, 6, 7, 8, 8, 8, 8,
8, 6, 7, 6, 7, 7, 8, 8, 9, 9, 9, 9, 6, 6, 7, 7,
@@ -5812,7 +5812,7 @@ static const long _vq_lengthlist__44u7__p7_1[] = {
static const static_codebook _44u7__p7_1 = {
2, 121,
- (long *)_vq_lengthlist__44u7__p7_1,
+ (char *)_vq_lengthlist__44u7__p7_1,
1, -531365888, 1611661312, 4, 0,
(long *)_vq_quantlist__44u7__p7_1,
0
@@ -5832,7 +5832,7 @@ static const long _vq_quantlist__44u7__p8_0[] = {
10,
};
-static const long _vq_lengthlist__44u7__p8_0[] = {
+static const char _vq_lengthlist__44u7__p8_0[] = {
1, 4, 4, 6, 6, 8, 8,10,10,11,11, 4, 6, 6, 7, 7,
9, 9,11,10,12,12, 5, 6, 5, 7, 7, 9, 9,10,11,12,
12, 6, 7, 7, 8, 8,10,10,11,11,13,13, 6, 7, 7, 8,
@@ -5845,7 +5845,7 @@ static const long _vq_lengthlist__44u7__p8_0[] = {
static const static_codebook _44u7__p8_0 = {
2, 121,
- (long *)_vq_lengthlist__44u7__p8_0,
+ (char *)_vq_lengthlist__44u7__p8_0,
1, -524582912, 1618345984, 4, 0,
(long *)_vq_quantlist__44u7__p8_0,
0
@@ -5865,7 +5865,7 @@ static const long _vq_quantlist__44u7__p8_1[] = {
10,
};
-static const long _vq_lengthlist__44u7__p8_1[] = {
+static const char _vq_lengthlist__44u7__p8_1[] = {
4, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7, 5, 6, 6, 7, 7,
7, 7, 7, 7, 7, 7, 5, 6, 6, 6, 7, 7, 7, 7, 7, 7,
7, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 6, 7, 7, 7,
@@ -5878,7 +5878,7 @@ static const long _vq_lengthlist__44u7__p8_1[] = {
static const static_codebook _44u7__p8_1 = {
2, 121,
- (long *)_vq_lengthlist__44u7__p8_1,
+ (char *)_vq_lengthlist__44u7__p8_1,
1, -531365888, 1611661312, 4, 0,
(long *)_vq_quantlist__44u7__p8_1,
0
@@ -5898,7 +5898,7 @@ static const long _vq_quantlist__44u7__p9_0[] = {
10,
};
-static const long _vq_lengthlist__44u7__p9_0[] = {
+static const char _vq_lengthlist__44u7__p9_0[] = {
1, 3, 3,10,10,10,10,10,10,10,10, 4,10,10,10,10,
10,10,10,10,10,10, 4,10,10,10,10,10,10,10,10,10,
10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
@@ -5911,7 +5911,7 @@ static const long _vq_lengthlist__44u7__p9_0[] = {
static const static_codebook _44u7__p9_0 = {
2, 121,
- (long *)_vq_lengthlist__44u7__p9_0,
+ (char *)_vq_lengthlist__44u7__p9_0,
1, -512171520, 1630791680, 4, 0,
(long *)_vq_quantlist__44u7__p9_0,
0
@@ -5933,7 +5933,7 @@ static const long _vq_quantlist__44u7__p9_1[] = {
12,
};
-static const long _vq_lengthlist__44u7__p9_1[] = {
+static const char _vq_lengthlist__44u7__p9_1[] = {
1, 4, 4, 6, 5, 8, 6, 9, 8,10, 9,11,10, 4, 6, 6,
8, 8, 9, 9,11,10,11,11,11,11, 4, 6, 6, 8, 8,10,
9,11,11,11,11,11,12, 6, 8, 8,10,10,11,11,12,12,
@@ -5949,7 +5949,7 @@ static const long _vq_lengthlist__44u7__p9_1[] = {
static const static_codebook _44u7__p9_1 = {
2, 169,
- (long *)_vq_lengthlist__44u7__p9_1,
+ (char *)_vq_lengthlist__44u7__p9_1,
1, -518889472, 1622704128, 4, 0,
(long *)_vq_quantlist__44u7__p9_1,
0
@@ -6007,7 +6007,7 @@ static const long _vq_quantlist__44u7__p9_2[] = {
48,
};
-static const long _vq_lengthlist__44u7__p9_2[] = {
+static const char _vq_lengthlist__44u7__p9_2[] = {
2, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8,
@@ -6016,13 +6016,13 @@ static const long _vq_lengthlist__44u7__p9_2[] = {
static const static_codebook _44u7__p9_2 = {
1, 49,
- (long *)_vq_lengthlist__44u7__p9_2,
+ (char *)_vq_lengthlist__44u7__p9_2,
1, -526909440, 1611661312, 6, 0,
(long *)_vq_quantlist__44u7__p9_2,
0
};
-static const long _huff_lengthlist__44u7__short[] = {
+static const char _huff_lengthlist__44u7__short[] = {
5,12,17,16,16,17,17,17,17,17, 4, 7,11,11,12, 9,
17,10,17,17, 7, 7, 8, 9, 7, 9,11,10,15,17, 7, 9,
10,11,10,12,14,12,16,17, 7, 8, 5, 7, 4, 7, 7, 8,
@@ -6034,13 +6034,13 @@ static const long _huff_lengthlist__44u7__short[] = {
static const static_codebook _huff_book__44u7__short = {
2, 100,
- (long *)_huff_lengthlist__44u7__short,
+ (char *)_huff_lengthlist__44u7__short,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist__44u8__long[] = {
+static const char _huff_lengthlist__44u8__long[] = {
3, 9,13,14,14,15,14,14,15,15, 5, 4, 6, 8,10,12,
12,14,15,15, 9, 5, 4, 5, 8,10,11,13,16,16,10, 7,
4, 3, 5, 7, 9,11,13,13,10, 9, 7, 4, 4, 6, 8,10,
@@ -6052,13 +6052,13 @@ static const long _huff_lengthlist__44u8__long[] = {
static const static_codebook _huff_book__44u8__long = {
2, 100,
- (long *)_huff_lengthlist__44u8__long,
+ (char *)_huff_lengthlist__44u8__long,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist__44u8__short[] = {
+static const char _huff_lengthlist__44u8__short[] = {
6,14,18,18,17,17,17,17,17,17, 4, 7, 9, 9,10,13,
15,17,17,17, 6, 7, 5, 6, 8,11,16,17,16,17, 5, 7,
5, 4, 6,10,14,17,17,17, 6, 6, 6, 5, 7,10,13,16,
@@ -6070,7 +6070,7 @@ static const long _huff_lengthlist__44u8__short[] = {
static const static_codebook _huff_book__44u8__short = {
2, 100,
- (long *)_huff_lengthlist__44u8__short,
+ (char *)_huff_lengthlist__44u8__short,
0, 0, 0, 0, 0,
NULL,
0
@@ -6082,7 +6082,7 @@ static const long _vq_quantlist__44u8_p1_0[] = {
2,
};
-static const long _vq_lengthlist__44u8_p1_0[] = {
+static const char _vq_lengthlist__44u8_p1_0[] = {
1, 5, 5, 5, 7, 7, 5, 7, 7, 5, 7, 7, 8, 9, 9, 7,
9, 9, 5, 7, 7, 7, 9, 9, 8, 9, 9, 5, 7, 7, 7, 9,
9, 7, 9, 9, 7, 9, 9, 9,10,11, 9,11,10, 7, 9, 9,
@@ -6093,7 +6093,7 @@ static const long _vq_lengthlist__44u8_p1_0[] = {
static const static_codebook _44u8_p1_0 = {
4, 81,
- (long *)_vq_lengthlist__44u8_p1_0,
+ (char *)_vq_lengthlist__44u8_p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44u8_p1_0,
0
@@ -6107,7 +6107,7 @@ static const long _vq_quantlist__44u8_p2_0[] = {
4,
};
-static const long _vq_lengthlist__44u8_p2_0[] = {
+static const char _vq_lengthlist__44u8_p2_0[] = {
4, 5, 5, 8, 8, 5, 7, 6, 9, 9, 5, 6, 7, 9, 9, 8,
9, 9,11,11, 8, 9, 9,11,11, 5, 7, 7, 9, 9, 7, 8,
8,10,10, 7, 8, 8,10,10, 9,10,10,12,12, 9,10,10,
@@ -6152,7 +6152,7 @@ static const long _vq_lengthlist__44u8_p2_0[] = {
static const static_codebook _44u8_p2_0 = {
4, 625,
- (long *)_vq_lengthlist__44u8_p2_0,
+ (char *)_vq_lengthlist__44u8_p2_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44u8_p2_0,
0
@@ -6170,7 +6170,7 @@ static const long _vq_quantlist__44u8_p3_0[] = {
8,
};
-static const long _vq_lengthlist__44u8_p3_0[] = {
+static const char _vq_lengthlist__44u8_p3_0[] = {
3, 4, 4, 5, 5, 7, 7, 9, 9, 4, 5, 4, 6, 6, 7, 7,
9, 9, 4, 4, 5, 6, 6, 7, 7, 9, 9, 5, 6, 6, 7, 7,
8, 8,10,10, 6, 6, 6, 7, 7, 8, 8,10,10, 7, 7, 7,
@@ -6181,7 +6181,7 @@ static const long _vq_lengthlist__44u8_p3_0[] = {
static const static_codebook _44u8_p3_0 = {
2, 81,
- (long *)_vq_lengthlist__44u8_p3_0,
+ (char *)_vq_lengthlist__44u8_p3_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__44u8_p3_0,
0
@@ -6207,7 +6207,7 @@ static const long _vq_quantlist__44u8_p4_0[] = {
16,
};
-static const long _vq_lengthlist__44u8_p4_0[] = {
+static const char _vq_lengthlist__44u8_p4_0[] = {
4, 4, 4, 6, 6, 7, 7, 8, 8, 8, 8,10,10,11,11,11,
11, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9,10,10,11,11,
12,12, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9,10,10,11,
@@ -6231,7 +6231,7 @@ static const long _vq_lengthlist__44u8_p4_0[] = {
static const static_codebook _44u8_p4_0 = {
2, 289,
- (long *)_vq_lengthlist__44u8_p4_0,
+ (char *)_vq_lengthlist__44u8_p4_0,
1, -529530880, 1611661312, 5, 0,
(long *)_vq_quantlist__44u8_p4_0,
0
@@ -6243,7 +6243,7 @@ static const long _vq_quantlist__44u8_p5_0[] = {
2,
};
-static const long _vq_lengthlist__44u8_p5_0[] = {
+static const char _vq_lengthlist__44u8_p5_0[] = {
1, 4, 4, 5, 7, 7, 5, 7, 7, 5, 8, 8, 8, 9, 9, 7,
9, 9, 5, 8, 8, 7, 9, 9, 8, 9, 9, 5, 8, 8, 8,10,
10, 8,10,10, 7,10,10, 9,10,12, 9,12,11, 7,10,10,
@@ -6254,7 +6254,7 @@ static const long _vq_lengthlist__44u8_p5_0[] = {
static const static_codebook _44u8_p5_0 = {
4, 81,
- (long *)_vq_lengthlist__44u8_p5_0,
+ (char *)_vq_lengthlist__44u8_p5_0,
1, -529137664, 1618345984, 2, 0,
(long *)_vq_quantlist__44u8_p5_0,
0
@@ -6274,7 +6274,7 @@ static const long _vq_quantlist__44u8_p5_1[] = {
10,
};
-static const long _vq_lengthlist__44u8_p5_1[] = {
+static const char _vq_lengthlist__44u8_p5_1[] = {
4, 5, 5, 6, 6, 7, 7, 7, 7, 8, 8, 5, 5, 5, 6, 6,
7, 7, 8, 8, 8, 8, 5, 5, 5, 6, 6, 7, 7, 7, 8, 8,
8, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 6, 6, 6, 7,
@@ -6287,7 +6287,7 @@ static const long _vq_lengthlist__44u8_p5_1[] = {
static const static_codebook _44u8_p5_1 = {
2, 121,
- (long *)_vq_lengthlist__44u8_p5_1,
+ (char *)_vq_lengthlist__44u8_p5_1,
1, -531365888, 1611661312, 4, 0,
(long *)_vq_quantlist__44u8_p5_1,
0
@@ -6309,7 +6309,7 @@ static const long _vq_quantlist__44u8_p6_0[] = {
12,
};
-static const long _vq_lengthlist__44u8_p6_0[] = {
+static const char _vq_lengthlist__44u8_p6_0[] = {
2, 4, 4, 6, 6, 7, 7, 8, 8, 9, 9,10,10, 4, 6, 5,
7, 7, 8, 8, 8, 8, 9, 9,10,10, 4, 6, 6, 7, 7, 8,
8, 8, 8, 9, 9,10,10, 6, 7, 7, 7, 8, 8, 8, 8, 9,
@@ -6325,7 +6325,7 @@ static const long _vq_lengthlist__44u8_p6_0[] = {
static const static_codebook _44u8_p6_0 = {
2, 169,
- (long *)_vq_lengthlist__44u8_p6_0,
+ (char *)_vq_lengthlist__44u8_p6_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__44u8_p6_0,
0
@@ -6339,14 +6339,14 @@ static const long _vq_quantlist__44u8_p6_1[] = {
4,
};
-static const long _vq_lengthlist__44u8_p6_1[] = {
+static const char _vq_lengthlist__44u8_p6_1[] = {
3, 4, 4, 5, 5, 4, 5, 5, 5, 5, 4, 5, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5,
};
static const static_codebook _44u8_p6_1 = {
2, 25,
- (long *)_vq_lengthlist__44u8_p6_1,
+ (char *)_vq_lengthlist__44u8_p6_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44u8_p6_1,
0
@@ -6368,7 +6368,7 @@ static const long _vq_quantlist__44u8_p7_0[] = {
12,
};
-static const long _vq_lengthlist__44u8_p7_0[] = {
+static const char _vq_lengthlist__44u8_p7_0[] = {
1, 4, 5, 6, 6, 7, 7, 8, 8,10,10,11,11, 5, 6, 6,
7, 7, 8, 8, 9, 9,11,10,12,11, 5, 6, 6, 7, 7, 8,
8, 9, 9,10,11,11,12, 6, 7, 7, 8, 8, 9, 9,10,10,
@@ -6384,7 +6384,7 @@ static const long _vq_lengthlist__44u8_p7_0[] = {
static const static_codebook _44u8_p7_0 = {
2, 169,
- (long *)_vq_lengthlist__44u8_p7_0,
+ (char *)_vq_lengthlist__44u8_p7_0,
1, -523206656, 1618345984, 4, 0,
(long *)_vq_quantlist__44u8_p7_0,
0
@@ -6404,7 +6404,7 @@ static const long _vq_quantlist__44u8_p7_1[] = {
10,
};
-static const long _vq_lengthlist__44u8_p7_1[] = {
+static const char _vq_lengthlist__44u8_p7_1[] = {
4, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7, 5, 6, 6, 7, 7,
7, 7, 7, 7, 7, 7, 5, 6, 6, 7, 7, 7, 7, 7, 7, 7,
7, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 8, 6, 7, 7, 7,
@@ -6417,7 +6417,7 @@ static const long _vq_lengthlist__44u8_p7_1[] = {
static const static_codebook _44u8_p7_1 = {
2, 121,
- (long *)_vq_lengthlist__44u8_p7_1,
+ (char *)_vq_lengthlist__44u8_p7_1,
1, -531365888, 1611661312, 4, 0,
(long *)_vq_quantlist__44u8_p7_1,
0
@@ -6441,7 +6441,7 @@ static const long _vq_quantlist__44u8_p8_0[] = {
14,
};
-static const long _vq_lengthlist__44u8_p8_0[] = {
+static const char _vq_lengthlist__44u8_p8_0[] = {
1, 4, 4, 7, 7, 8, 8, 8, 7, 9, 8,10, 9,11,10, 4,
6, 6, 8, 8,10, 9, 9, 9,10,10,11,10,12,10, 4, 6,
6, 8, 8,10,10, 9, 9,10,10,11,11,11,12, 7, 8, 8,
@@ -6461,7 +6461,7 @@ static const long _vq_lengthlist__44u8_p8_0[] = {
static const static_codebook _44u8_p8_0 = {
2, 225,
- (long *)_vq_lengthlist__44u8_p8_0,
+ (char *)_vq_lengthlist__44u8_p8_0,
1, -520986624, 1620377600, 4, 0,
(long *)_vq_quantlist__44u8_p8_0,
0
@@ -6491,7 +6491,7 @@ static const long _vq_quantlist__44u8_p8_1[] = {
20,
};
-static const long _vq_lengthlist__44u8_p8_1[] = {
+static const char _vq_lengthlist__44u8_p8_1[] = {
4, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 6, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 5, 6, 6, 7, 7, 8,
@@ -6524,7 +6524,7 @@ static const long _vq_lengthlist__44u8_p8_1[] = {
static const static_codebook _44u8_p8_1 = {
2, 441,
- (long *)_vq_lengthlist__44u8_p8_1,
+ (char *)_vq_lengthlist__44u8_p8_1,
1, -529268736, 1611661312, 5, 0,
(long *)_vq_quantlist__44u8_p8_1,
0
@@ -6542,7 +6542,7 @@ static const long _vq_quantlist__44u8_p9_0[] = {
8,
};
-static const long _vq_lengthlist__44u8_p9_0[] = {
+static const char _vq_lengthlist__44u8_p9_0[] = {
1, 3, 3, 9, 9, 9, 9, 9, 9, 4, 9, 9, 9, 9, 9, 9,
9, 9, 5, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
@@ -6553,7 +6553,7 @@ static const long _vq_lengthlist__44u8_p9_0[] = {
static const static_codebook _44u8_p9_0 = {
2, 81,
- (long *)_vq_lengthlist__44u8_p9_0,
+ (char *)_vq_lengthlist__44u8_p9_0,
1, -511895552, 1631393792, 4, 0,
(long *)_vq_quantlist__44u8_p9_0,
0
@@ -6581,7 +6581,7 @@ static const long _vq_quantlist__44u8_p9_1[] = {
18,
};
-static const long _vq_lengthlist__44u8_p9_1[] = {
+static const char _vq_lengthlist__44u8_p9_1[] = {
1, 4, 4, 7, 7, 8, 7, 8, 6, 9, 7,10, 8,11,10,11,
11,11,11, 4, 7, 6, 9, 9,10, 9, 9, 9,10,10,11,10,
11,10,11,11,13,11, 4, 7, 7, 9, 9, 9, 9, 9, 9,10,
@@ -6609,7 +6609,7 @@ static const long _vq_lengthlist__44u8_p9_1[] = {
static const static_codebook _44u8_p9_1 = {
2, 361,
- (long *)_vq_lengthlist__44u8_p9_1,
+ (char *)_vq_lengthlist__44u8_p9_1,
1, -518287360, 1622704128, 5, 0,
(long *)_vq_quantlist__44u8_p9_1,
0
@@ -6667,7 +6667,7 @@ static const long _vq_quantlist__44u8_p9_2[] = {
48,
};
-static const long _vq_lengthlist__44u8_p9_2[] = {
+static const char _vq_lengthlist__44u8_p9_2[] = {
2, 3, 4, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
@@ -6676,13 +6676,13 @@ static const long _vq_lengthlist__44u8_p9_2[] = {
static const static_codebook _44u8_p9_2 = {
1, 49,
- (long *)_vq_lengthlist__44u8_p9_2,
+ (char *)_vq_lengthlist__44u8_p9_2,
1, -526909440, 1611661312, 6, 0,
(long *)_vq_quantlist__44u8_p9_2,
0
};
-static const long _huff_lengthlist__44u9__long[] = {
+static const char _huff_lengthlist__44u9__long[] = {
3, 9,13,13,14,15,14,14,15,15, 5, 5, 9,10,12,12,
13,14,16,15,10, 6, 6, 6, 8,11,12,13,16,15,11, 7,
5, 3, 5, 8,10,12,15,15,10,10, 7, 4, 3, 5, 8,10,
@@ -6694,13 +6694,13 @@ static const long _huff_lengthlist__44u9__long[] = {
static const static_codebook _huff_book__44u9__long = {
2, 100,
- (long *)_huff_lengthlist__44u9__long,
+ (char *)_huff_lengthlist__44u9__long,
0, 0, 0, 0, 0,
NULL,
0
};
-static const long _huff_lengthlist__44u9__short[] = {
+static const char _huff_lengthlist__44u9__short[] = {
9,16,18,18,17,17,17,17,17,17, 5, 8,11,12,11,12,
17,17,16,16, 6, 6, 8, 8, 9,10,14,15,16,16, 6, 7,
7, 4, 6, 9,13,16,16,16, 6, 6, 7, 4, 5, 8,11,15,
@@ -6712,7 +6712,7 @@ static const long _huff_lengthlist__44u9__short[] = {
static const static_codebook _huff_book__44u9__short = {
2, 100,
- (long *)_huff_lengthlist__44u9__short,
+ (char *)_huff_lengthlist__44u9__short,
0, 0, 0, 0, 0,
NULL,
0
@@ -6724,7 +6724,7 @@ static const long _vq_quantlist__44u9_p1_0[] = {
2,
};
-static const long _vq_lengthlist__44u9_p1_0[] = {
+static const char _vq_lengthlist__44u9_p1_0[] = {
1, 5, 5, 5, 7, 7, 5, 7, 7, 5, 7, 7, 7, 9, 9, 7,
9, 9, 5, 7, 7, 7, 9, 9, 7, 9, 9, 5, 7, 7, 7, 9,
9, 7, 9, 9, 8, 9, 9, 9,10,11, 9,11,11, 7, 9, 9,
@@ -6735,7 +6735,7 @@ static const long _vq_lengthlist__44u9_p1_0[] = {
static const static_codebook _44u9_p1_0 = {
4, 81,
- (long *)_vq_lengthlist__44u9_p1_0,
+ (char *)_vq_lengthlist__44u9_p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44u9_p1_0,
0
@@ -6749,7 +6749,7 @@ static const long _vq_quantlist__44u9_p2_0[] = {
4,
};
-static const long _vq_lengthlist__44u9_p2_0[] = {
+static const char _vq_lengthlist__44u9_p2_0[] = {
3, 5, 5, 8, 8, 5, 7, 7, 9, 9, 6, 7, 7, 9, 9, 8,
9, 9,11,10, 8, 9, 9,11,11, 6, 7, 7, 9, 9, 7, 8,
8,10,10, 7, 8, 8, 9,10, 9,10,10,11,11, 9, 9,10,
@@ -6794,7 +6794,7 @@ static const long _vq_lengthlist__44u9_p2_0[] = {
static const static_codebook _44u9_p2_0 = {
4, 625,
- (long *)_vq_lengthlist__44u9_p2_0,
+ (char *)_vq_lengthlist__44u9_p2_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44u9_p2_0,
0
@@ -6812,7 +6812,7 @@ static const long _vq_quantlist__44u9_p3_0[] = {
8,
};
-static const long _vq_lengthlist__44u9_p3_0[] = {
+static const char _vq_lengthlist__44u9_p3_0[] = {
3, 4, 4, 5, 5, 7, 7, 8, 8, 4, 5, 5, 6, 6, 7, 7,
9, 9, 4, 4, 5, 6, 6, 7, 7, 9, 9, 5, 6, 6, 7, 7,
8, 8, 9, 9, 5, 6, 6, 7, 7, 8, 8, 9, 9, 7, 7, 7,
@@ -6823,7 +6823,7 @@ static const long _vq_lengthlist__44u9_p3_0[] = {
static const static_codebook _44u9_p3_0 = {
2, 81,
- (long *)_vq_lengthlist__44u9_p3_0,
+ (char *)_vq_lengthlist__44u9_p3_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__44u9_p3_0,
0
@@ -6849,7 +6849,7 @@ static const long _vq_quantlist__44u9_p4_0[] = {
16,
};
-static const long _vq_lengthlist__44u9_p4_0[] = {
+static const char _vq_lengthlist__44u9_p4_0[] = {
4, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,10,10,11,
11, 5, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,10,10,
11,11, 5, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,10,
@@ -6873,7 +6873,7 @@ static const long _vq_lengthlist__44u9_p4_0[] = {
static const static_codebook _44u9_p4_0 = {
2, 289,
- (long *)_vq_lengthlist__44u9_p4_0,
+ (char *)_vq_lengthlist__44u9_p4_0,
1, -529530880, 1611661312, 5, 0,
(long *)_vq_quantlist__44u9_p4_0,
0
@@ -6885,7 +6885,7 @@ static const long _vq_quantlist__44u9_p5_0[] = {
2,
};
-static const long _vq_lengthlist__44u9_p5_0[] = {
+static const char _vq_lengthlist__44u9_p5_0[] = {
1, 4, 4, 5, 7, 7, 5, 7, 7, 5, 8, 8, 8, 9, 9, 7,
9, 9, 5, 8, 8, 7, 9, 9, 8, 9, 9, 5, 8, 8, 8,10,
10, 8,10,10, 7,10,10, 9,10,12, 9,11,11, 7,10,10,
@@ -6896,7 +6896,7 @@ static const long _vq_lengthlist__44u9_p5_0[] = {
static const static_codebook _44u9_p5_0 = {
4, 81,
- (long *)_vq_lengthlist__44u9_p5_0,
+ (char *)_vq_lengthlist__44u9_p5_0,
1, -529137664, 1618345984, 2, 0,
(long *)_vq_quantlist__44u9_p5_0,
0
@@ -6916,7 +6916,7 @@ static const long _vq_quantlist__44u9_p5_1[] = {
10,
};
-static const long _vq_lengthlist__44u9_p5_1[] = {
+static const char _vq_lengthlist__44u9_p5_1[] = {
5, 5, 5, 6, 6, 7, 7, 7, 7, 7, 7, 5, 6, 6, 6, 6,
7, 7, 7, 7, 8, 7, 5, 6, 6, 6, 6, 7, 7, 7, 7, 7,
7, 6, 6, 6, 7, 7, 7, 7, 7, 7, 8, 8, 6, 6, 6, 7,
@@ -6929,7 +6929,7 @@ static const long _vq_lengthlist__44u9_p5_1[] = {
static const static_codebook _44u9_p5_1 = {
2, 121,
- (long *)_vq_lengthlist__44u9_p5_1,
+ (char *)_vq_lengthlist__44u9_p5_1,
1, -531365888, 1611661312, 4, 0,
(long *)_vq_quantlist__44u9_p5_1,
0
@@ -6951,7 +6951,7 @@ static const long _vq_quantlist__44u9_p6_0[] = {
12,
};
-static const long _vq_lengthlist__44u9_p6_0[] = {
+static const char _vq_lengthlist__44u9_p6_0[] = {
2, 4, 4, 6, 6, 7, 7, 8, 8, 9, 9,10,10, 4, 6, 5,
7, 7, 8, 8, 8, 8, 9, 9,10,10, 4, 5, 6, 7, 7, 8,
8, 8, 8, 9, 9,10,10, 6, 7, 7, 8, 8, 8, 8, 9, 9,
@@ -6967,7 +6967,7 @@ static const long _vq_lengthlist__44u9_p6_0[] = {
static const static_codebook _44u9_p6_0 = {
2, 169,
- (long *)_vq_lengthlist__44u9_p6_0,
+ (char *)_vq_lengthlist__44u9_p6_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__44u9_p6_0,
0
@@ -6981,14 +6981,14 @@ static const long _vq_quantlist__44u9_p6_1[] = {
4,
};
-static const long _vq_lengthlist__44u9_p6_1[] = {
+static const char _vq_lengthlist__44u9_p6_1[] = {
4, 4, 4, 5, 5, 4, 5, 4, 5, 5, 4, 4, 5, 5, 5, 5,
5, 5, 5, 5, 5, 5, 5, 5, 5,
};
static const static_codebook _44u9_p6_1 = {
2, 25,
- (long *)_vq_lengthlist__44u9_p6_1,
+ (char *)_vq_lengthlist__44u9_p6_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44u9_p6_1,
0
@@ -7010,7 +7010,7 @@ static const long _vq_quantlist__44u9_p7_0[] = {
12,
};
-static const long _vq_lengthlist__44u9_p7_0[] = {
+static const char _vq_lengthlist__44u9_p7_0[] = {
1, 4, 5, 6, 6, 7, 7, 8, 9,10,10,11,11, 5, 6, 6,
7, 7, 8, 8, 9, 9,10,10,11,11, 5, 6, 6, 7, 7, 8,
8, 9, 9,10,10,11,11, 6, 7, 7, 8, 8, 9, 9,10,10,
@@ -7026,7 +7026,7 @@ static const long _vq_lengthlist__44u9_p7_0[] = {
static const static_codebook _44u9_p7_0 = {
2, 169,
- (long *)_vq_lengthlist__44u9_p7_0,
+ (char *)_vq_lengthlist__44u9_p7_0,
1, -523206656, 1618345984, 4, 0,
(long *)_vq_quantlist__44u9_p7_0,
0
@@ -7046,7 +7046,7 @@ static const long _vq_quantlist__44u9_p7_1[] = {
10,
};
-static const long _vq_lengthlist__44u9_p7_1[] = {
+static const char _vq_lengthlist__44u9_p7_1[] = {
5, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 7, 7,
7, 7, 7, 7, 7, 7, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 6, 7, 7, 7,
@@ -7059,7 +7059,7 @@ static const long _vq_lengthlist__44u9_p7_1[] = {
static const static_codebook _44u9_p7_1 = {
2, 121,
- (long *)_vq_lengthlist__44u9_p7_1,
+ (char *)_vq_lengthlist__44u9_p7_1,
1, -531365888, 1611661312, 4, 0,
(long *)_vq_quantlist__44u9_p7_1,
0
@@ -7083,7 +7083,7 @@ static const long _vq_quantlist__44u9_p8_0[] = {
14,
};
-static const long _vq_lengthlist__44u9_p8_0[] = {
+static const char _vq_lengthlist__44u9_p8_0[] = {
1, 4, 4, 7, 7, 8, 8, 8, 8, 9, 9,10, 9,11,10, 4,
6, 6, 8, 8, 9, 9, 9, 9,10,10,11,10,12,10, 4, 6,
6, 8, 8, 9,10, 9, 9,10,10,11,11,12,12, 7, 8, 8,
@@ -7103,7 +7103,7 @@ static const long _vq_lengthlist__44u9_p8_0[] = {
static const static_codebook _44u9_p8_0 = {
2, 225,
- (long *)_vq_lengthlist__44u9_p8_0,
+ (char *)_vq_lengthlist__44u9_p8_0,
1, -520986624, 1620377600, 4, 0,
(long *)_vq_quantlist__44u9_p8_0,
0
@@ -7133,7 +7133,7 @@ static const long _vq_quantlist__44u9_p8_1[] = {
20,
};
-static const long _vq_lengthlist__44u9_p8_1[] = {
+static const char _vq_lengthlist__44u9_p8_1[] = {
4, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9,
9, 9, 9, 9, 9, 6, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9,
9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 6, 6, 6, 7, 7, 8,
@@ -7166,7 +7166,7 @@ static const long _vq_lengthlist__44u9_p8_1[] = {
static const static_codebook _44u9_p8_1 = {
2, 441,
- (long *)_vq_lengthlist__44u9_p8_1,
+ (char *)_vq_lengthlist__44u9_p8_1,
1, -529268736, 1611661312, 5, 0,
(long *)_vq_quantlist__44u9_p8_1,
0
@@ -7190,7 +7190,7 @@ static const long _vq_quantlist__44u9_p9_0[] = {
14,
};
-static const long _vq_lengthlist__44u9_p9_0[] = {
+static const char _vq_lengthlist__44u9_p9_0[] = {
1, 3, 3,11,11,11,11,11,11,11,11,11,11,11,11, 4,
10,11,11,11,11,11,11,11,11,11,11,11,11,11, 4,10,
10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
@@ -7210,7 +7210,7 @@ static const long _vq_lengthlist__44u9_p9_0[] = {
static const static_codebook _44u9_p9_0 = {
2, 225,
- (long *)_vq_lengthlist__44u9_p9_0,
+ (char *)_vq_lengthlist__44u9_p9_0,
1, -510036736, 1631393792, 4, 0,
(long *)_vq_quantlist__44u9_p9_0,
0
@@ -7238,7 +7238,7 @@ static const long _vq_quantlist__44u9_p9_1[] = {
18,
};
-static const long _vq_lengthlist__44u9_p9_1[] = {
+static const char _vq_lengthlist__44u9_p9_1[] = {
1, 4, 4, 7, 7, 8, 7, 8, 7, 9, 8,10, 9,10,10,11,
11,12,12, 4, 7, 6, 9, 9,10, 9, 9, 8,10,10,11,10,
12,10,13,12,13,12, 4, 6, 6, 9, 9, 9, 9, 9, 9,10,
@@ -7266,7 +7266,7 @@ static const long _vq_lengthlist__44u9_p9_1[] = {
static const static_codebook _44u9_p9_1 = {
2, 361,
- (long *)_vq_lengthlist__44u9_p9_1,
+ (char *)_vq_lengthlist__44u9_p9_1,
1, -518287360, 1622704128, 5, 0,
(long *)_vq_quantlist__44u9_p9_1,
0
@@ -7324,7 +7324,7 @@ static const long _vq_quantlist__44u9_p9_2[] = {
48,
};
-static const long _vq_lengthlist__44u9_p9_2[] = {
+static const char _vq_lengthlist__44u9_p9_2[] = {
2, 4, 4, 5, 4, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6,
6, 6, 6, 7, 6, 7, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7,
7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
@@ -7333,13 +7333,13 @@ static const long _vq_lengthlist__44u9_p9_2[] = {
static const static_codebook _44u9_p9_2 = {
1, 49,
- (long *)_vq_lengthlist__44u9_p9_2,
+ (char *)_vq_lengthlist__44u9_p9_2,
1, -526909440, 1611661312, 6, 0,
(long *)_vq_quantlist__44u9_p9_2,
0
};
-static const long _huff_lengthlist__44un1__long[] = {
+static const char _huff_lengthlist__44un1__long[] = {
5, 6,12, 9,14, 9, 9,19, 6, 1, 5, 5, 8, 7, 9,19,
12, 4, 4, 7, 7, 9,11,18, 9, 5, 6, 6, 8, 7, 8,17,
14, 8, 7, 8, 8,10,12,18, 9, 6, 8, 6, 8, 6, 8,18,
@@ -7348,7 +7348,7 @@ static const long _huff_lengthlist__44un1__long[] = {
static const static_codebook _huff_book__44un1__long = {
2, 64,
- (long *)_huff_lengthlist__44un1__long,
+ (char *)_huff_lengthlist__44un1__long,
0, 0, 0, 0, 0,
NULL,
0
@@ -7360,7 +7360,7 @@ static const long _vq_quantlist__44un1__p1_0[] = {
2,
};
-static const long _vq_lengthlist__44un1__p1_0[] = {
+static const char _vq_lengthlist__44un1__p1_0[] = {
1, 4, 4, 5, 8, 7, 5, 7, 8, 5, 8, 8, 8,10,11, 8,
10,11, 5, 8, 8, 8,11,10, 8,11,10, 4, 9, 9, 8,11,
11, 8,11,11, 8,12,11,10,12,14,11,13,13, 7,11,11,
@@ -7371,7 +7371,7 @@ static const long _vq_lengthlist__44un1__p1_0[] = {
static const static_codebook _44un1__p1_0 = {
4, 81,
- (long *)_vq_lengthlist__44un1__p1_0,
+ (char *)_vq_lengthlist__44un1__p1_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44un1__p1_0,
0
@@ -7383,7 +7383,7 @@ static const long _vq_quantlist__44un1__p2_0[] = {
2,
};
-static const long _vq_lengthlist__44un1__p2_0[] = {
+static const char _vq_lengthlist__44un1__p2_0[] = {
2, 4, 4, 5, 6, 6, 5, 6, 6, 5, 7, 7, 7, 8, 8, 6,
7, 9, 5, 7, 7, 6, 8, 7, 7, 9, 8, 4, 7, 7, 7, 9,
8, 7, 8, 8, 7, 9, 8, 8, 8,10, 9,10,10, 6, 8, 8,
@@ -7394,7 +7394,7 @@ static const long _vq_lengthlist__44un1__p2_0[] = {
static const static_codebook _44un1__p2_0 = {
4, 81,
- (long *)_vq_lengthlist__44un1__p2_0,
+ (char *)_vq_lengthlist__44un1__p2_0,
1, -535822336, 1611661312, 2, 0,
(long *)_vq_quantlist__44un1__p2_0,
0
@@ -7408,7 +7408,7 @@ static const long _vq_quantlist__44un1__p3_0[] = {
4,
};
-static const long _vq_lengthlist__44un1__p3_0[] = {
+static const char _vq_lengthlist__44un1__p3_0[] = {
1, 5, 5, 8, 8, 5, 8, 7, 9, 9, 5, 7, 8, 9, 9, 9,
10, 9,12,12, 9, 9,10,11,12, 6, 8, 8,10,10, 8,10,
10,11,11, 8, 9,10,11,11,10,11,11,13,13,10,11,11,
@@ -7453,7 +7453,7 @@ static const long _vq_lengthlist__44un1__p3_0[] = {
static const static_codebook _44un1__p3_0 = {
4, 625,
- (long *)_vq_lengthlist__44un1__p3_0,
+ (char *)_vq_lengthlist__44un1__p3_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44un1__p3_0,
0
@@ -7467,7 +7467,7 @@ static const long _vq_quantlist__44un1__p4_0[] = {
4,
};
-static const long _vq_lengthlist__44un1__p4_0[] = {
+static const char _vq_lengthlist__44un1__p4_0[] = {
3, 5, 5, 9, 9, 5, 6, 6,10, 9, 5, 6, 6, 9,10,10,
10,10,12,11, 9,10,10,12,12, 5, 7, 7,10,10, 7, 7,
8,10,11, 7, 7, 8,10,11,10,10,11,11,13,10,10,11,
@@ -7512,7 +7512,7 @@ static const long _vq_lengthlist__44un1__p4_0[] = {
static const static_codebook _44un1__p4_0 = {
4, 625,
- (long *)_vq_lengthlist__44un1__p4_0,
+ (char *)_vq_lengthlist__44un1__p4_0,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44un1__p4_0,
0
@@ -7530,7 +7530,7 @@ static const long _vq_quantlist__44un1__p5_0[] = {
8,
};
-static const long _vq_lengthlist__44un1__p5_0[] = {
+static const char _vq_lengthlist__44un1__p5_0[] = {
1, 4, 4, 7, 7, 8, 8, 9, 9, 4, 6, 5, 8, 7, 8, 8,
10, 9, 4, 6, 6, 8, 8, 8, 8,10,10, 7, 8, 7, 9, 9,
9, 9,11,10, 7, 8, 8, 9, 9, 9, 9,10,11, 8, 8, 8,
@@ -7541,7 +7541,7 @@ static const long _vq_lengthlist__44un1__p5_0[] = {
static const static_codebook _44un1__p5_0 = {
2, 81,
- (long *)_vq_lengthlist__44un1__p5_0,
+ (char *)_vq_lengthlist__44un1__p5_0,
1, -531628032, 1611661312, 4, 0,
(long *)_vq_quantlist__44un1__p5_0,
0
@@ -7563,7 +7563,7 @@ static const long _vq_quantlist__44un1__p6_0[] = {
12,
};
-static const long _vq_lengthlist__44un1__p6_0[] = {
+static const char _vq_lengthlist__44un1__p6_0[] = {
1, 4, 4, 6, 6, 8, 8,10,10,11,11,15,15, 4, 5, 5,
8, 8, 9, 9,11,11,12,12,16,16, 4, 5, 6, 8, 8, 9,
9,11,11,12,12,14,14, 7, 8, 8, 9, 9,10,10,11,12,
@@ -7579,7 +7579,7 @@ static const long _vq_lengthlist__44un1__p6_0[] = {
static const static_codebook _44un1__p6_0 = {
2, 169,
- (long *)_vq_lengthlist__44un1__p6_0,
+ (char *)_vq_lengthlist__44un1__p6_0,
1, -526516224, 1616117760, 4, 0,
(long *)_vq_quantlist__44un1__p6_0,
0
@@ -7593,14 +7593,14 @@ static const long _vq_quantlist__44un1__p6_1[] = {
4,
};
-static const long _vq_lengthlist__44un1__p6_1[] = {
+static const char _vq_lengthlist__44un1__p6_1[] = {
2, 4, 4, 5, 5, 4, 5, 5, 5, 5, 4, 5, 5, 6, 5, 5,
6, 5, 6, 6, 5, 6, 6, 6, 6,
};
static const static_codebook _44un1__p6_1 = {
2, 25,
- (long *)_vq_lengthlist__44un1__p6_1,
+ (char *)_vq_lengthlist__44un1__p6_1,
1, -533725184, 1611661312, 3, 0,
(long *)_vq_quantlist__44un1__p6_1,
0
@@ -7614,7 +7614,7 @@ static const long _vq_quantlist__44un1__p7_0[] = {
4,
};
-static const long _vq_lengthlist__44un1__p7_0[] = {
+static const char _vq_lengthlist__44un1__p7_0[] = {
1, 5, 3,11,11,11,11,11,11,11, 8,11,11,11,11,11,
11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,
11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,
@@ -7659,7 +7659,7 @@ static const long _vq_lengthlist__44un1__p7_0[] = {
static const static_codebook _44un1__p7_0 = {
4, 625,
- (long *)_vq_lengthlist__44un1__p7_0,
+ (char *)_vq_lengthlist__44un1__p7_0,
1, -518709248, 1626677248, 3, 0,
(long *)_vq_quantlist__44un1__p7_0,
0
@@ -7681,7 +7681,7 @@ static const long _vq_quantlist__44un1__p7_1[] = {
12,
};
-static const long _vq_lengthlist__44un1__p7_1[] = {
+static const char _vq_lengthlist__44un1__p7_1[] = {
1, 4, 4, 6, 6, 6, 6, 9, 8, 9, 8, 8, 8, 5, 7, 7,
7, 7, 8, 8, 8,10, 8,10, 8, 9, 5, 7, 7, 8, 7, 7,
8,10,10,11,10,12,11, 7, 8, 8, 9, 9, 9,10,11,11,
@@ -7697,7 +7697,7 @@ static const long _vq_lengthlist__44un1__p7_1[] = {
static const static_codebook _44un1__p7_1 = {
2, 169,
- (long *)_vq_lengthlist__44un1__p7_1,
+ (char *)_vq_lengthlist__44un1__p7_1,
1, -523010048, 1618608128, 4, 0,
(long *)_vq_quantlist__44un1__p7_1,
0
@@ -7719,7 +7719,7 @@ static const long _vq_quantlist__44un1__p7_2[] = {
12,
};
-static const long _vq_lengthlist__44un1__p7_2[] = {
+static const char _vq_lengthlist__44un1__p7_2[] = {
3, 4, 4, 6, 6, 7, 7, 8, 8, 9, 9, 9, 8, 4, 5, 5,
6, 6, 8, 8, 9, 8, 9, 9, 9, 9, 4, 5, 5, 7, 6, 8,
8, 8, 8, 9, 8, 9, 8, 6, 7, 7, 7, 8, 8, 8, 9, 9,
@@ -7735,13 +7735,13 @@ static const long _vq_lengthlist__44un1__p7_2[] = {
static const static_codebook _44un1__p7_2 = {
2, 169,
- (long *)_vq_lengthlist__44un1__p7_2,
+ (char *)_vq_lengthlist__44un1__p7_2,
1, -531103744, 1611661312, 4, 0,
(long *)_vq_quantlist__44un1__p7_2,
0
};
-static const long _huff_lengthlist__44un1__short[] = {
+static const char _huff_lengthlist__44un1__short[] = {
12,12,14,12,14,14,14,14,12, 6, 6, 8, 9, 9,11,14,
12, 4, 2, 6, 6, 7,11,14,13, 6, 5, 7, 8, 9,11,14,
13, 8, 5, 8, 6, 8,12,14,12, 7, 7, 8, 8, 8,10,14,
@@ -7750,7 +7750,7 @@ static const long _huff_lengthlist__44un1__short[] = {
static const static_codebook _huff_book__44un1__short = {
2, 64,
- (long *)_huff_lengthlist__44un1__short,
+ (char *)_huff_lengthlist__44un1__short,
0, 0, 0, 0, 0,
NULL,
0
diff --git a/drivers/vorbis/codebook.c b/drivers/vorbis/codebook.c
index 8a928cebb9..72f8a17a35 100644
--- a/drivers/vorbis/codebook.c
+++ b/drivers/vorbis/codebook.c
@@ -5,13 +5,13 @@
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
* by the Xiph.Org Foundation http://www.xiph.org/ *
* *
********************************************************************
function: basic codebook pack/unpack/code/decode operations
- last mod: $Id: codebook.c 17553 2010-10-21 17:54:26Z tterribe $
+ last mod: $Id: codebook.c 19457 2015-03-03 00:15:29Z giles $
********************************************************************/
@@ -53,16 +53,16 @@ int vorbis_staticbook_pack(const static_codebook *c,oggpack_buffer *opb){
oggpack_write(opb,c->lengthlist[0]-1,5); /* 1 to 32 */
for(i=1;i<c->entries;i++){
- long this=c->lengthlist[i];
- long last=c->lengthlist[i-1];
+ char this=c->lengthlist[i];
+ char last=c->lengthlist[i-1];
if(this>last){
for(j=last;j<this;j++){
- oggpack_write(opb,i-count,_ilog(c->entries-count));
+ oggpack_write(opb,i-count,ov_ilog(c->entries-count));
count=i;
}
}
}
- oggpack_write(opb,i-count,_ilog(c->entries-count));
+ oggpack_write(opb,i-count,ov_ilog(c->entries-count));
}else{
/* length random. Again, we don't code the codeword itself, just
@@ -159,7 +159,7 @@ static_codebook *vorbis_staticbook_unpack(oggpack_buffer *opb){
s->entries=oggpack_read(opb,24);
if(s->entries==-1)goto _eofout;
- if(_ilog(s->dim)+_ilog(s->entries)>24)goto _eofout;
+ if(ov_ilog(s->dim)+ov_ilog(s->entries)>24)goto _eofout;
/* codeword ordering.... length ordered or unordered? */
switch((int)oggpack_read(opb,1)){
@@ -203,7 +203,7 @@ static_codebook *vorbis_staticbook_unpack(oggpack_buffer *opb){
s->lengthlist=_ogg_malloc(sizeof(*s->lengthlist)*s->entries);
for(i=0;i<s->entries;){
- long num=oggpack_read(opb,_ilog(s->entries-i));
+ long num=oggpack_read(opb,ov_ilog(s->entries-i));
if(num==-1)goto _eofout;
if(length>32 || num>s->entries-i ||
(num>0 && (num-1)>>(length-1)>1)){
@@ -312,6 +312,12 @@ STIN long decode_packed_entry_number(codebook *book, oggpack_buffer *b){
hi=book->used_entries;
}
+ /* Single entry codebooks use a firsttablen of 1 and a
+ dec_maxlength of 1. If a single-entry codebook gets here (due to
+ failure to read one bit above), the next look attempt will also
+ fail and we'll correctly kick out instead of trying to walk the
+ underformed tree */
+
lok = oggpack_look(b, read);
while(lok<0 && read>1)
@@ -367,6 +373,7 @@ long vorbis_book_decode(codebook *book, oggpack_buffer *b){
}
/* returns 0 on OK or -1 on eof *************************************/
+/* decode vector / dim granularity gaurding is done in the upper layer */
long vorbis_book_decodevs_add(codebook *book,float *a,oggpack_buffer *b,int n){
if(book->used_entries>0){
int step=n/book->dim;
@@ -386,6 +393,7 @@ long vorbis_book_decodevs_add(codebook *book,float *a,oggpack_buffer *b,int n){
return(0);
}
+/* decode vector / dim granularity gaurding is done in the upper layer */
long vorbis_book_decodev_add(codebook *book,float *a,oggpack_buffer *b,int n){
if(book->used_entries>0){
int i,j,entry;
@@ -431,6 +439,9 @@ long vorbis_book_decodev_add(codebook *book,float *a,oggpack_buffer *b,int n){
return(0);
}
+/* unlike the others, we guard against n not being an integer number
+ of <dim> internally rather than in the upper layer (called only by
+ floor0) */
long vorbis_book_decodev_set(codebook *book,float *a,oggpack_buffer *b,int n){
if(book->used_entries>0){
int i,j,entry;
@@ -440,15 +451,15 @@ long vorbis_book_decodev_set(codebook *book,float *a,oggpack_buffer *b,int n){
entry = decode_packed_entry_number(book,b);
if(entry==-1)return(-1);
t = book->valuelist+entry*book->dim;
- for (j=0;j<book->dim;)
+ for (j=0;i<n && j<book->dim;){
a[i++]=t[j++];
+ }
}
}else{
- int i,j;
+ int i;
for(i=0;i<n;){
- for (j=0;j<book->dim;)
- a[i++]=0.f;
+ a[i++]=0.f;
}
}
return(0);
diff --git a/drivers/vorbis/codebook.h b/drivers/vorbis/codebook.h
index 94c30054cf..537d6c12d3 100644
--- a/drivers/vorbis/codebook.h
+++ b/drivers/vorbis/codebook.h
@@ -5,13 +5,13 @@
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
* by the Xiph.Org Foundation http://www.xiph.org/ *
* *
********************************************************************
function: basic shared codebook operations
- last mod: $Id: codebook.h 17030 2010-03-25 06:52:55Z xiphmont $
+ last mod: $Id: codebook.h 19457 2015-03-03 00:15:29Z giles $
********************************************************************/
@@ -34,14 +34,14 @@
*/
typedef struct static_codebook{
- long dim; /* codebook dimensions (elements per vector) */
- long entries; /* codebook entries */
- long *lengthlist; /* codeword lengths in bits */
+ long dim; /* codebook dimensions (elements per vector) */
+ long entries; /* codebook entries */
+ char *lengthlist; /* codeword lengths in bits */
/* mapping ***************************************************************/
- int maptype; /* 0=none
- 1=implicitly populated values from map column
- 2=listed arbitrary values */
+ int maptype; /* 0=none
+ 1=implicitly populated values from map column
+ 2=listed arbitrary values */
/* The below does a linear, single monotonic sequence mapping. */
long q_min; /* packed 32 bit float; quant value 0 maps to minval */
@@ -89,7 +89,6 @@ extern float *_book_logdist(const static_codebook *b,float *vals);
extern float _float32_unpack(long val);
extern long _float32_pack(float val);
extern int _best(codebook *book, float *a, int step);
-extern int _ilog(unsigned int v);
extern long _book_maptype1_quantvals(const static_codebook *b);
extern int vorbis_book_besterror(codebook *book,float *a,int step,int addmul);
diff --git a/drivers/vorbis/floor0.c b/drivers/vorbis/floor0.c
index 4c32e91991..213cce4ec8 100644
--- a/drivers/vorbis/floor0.c
+++ b/drivers/vorbis/floor0.c
@@ -5,13 +5,13 @@
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
* by the Xiph.Org Foundation http://www.xiph.org/ *
* *
********************************************************************
function: floor backend 0 implementation
- last mod: $Id: floor0.c 17558 2010-10-22 00:24:41Z tterribe $
+ last mod: $Id: floor0.c 19457 2015-03-03 00:15:29Z giles $
********************************************************************/
@@ -147,6 +147,9 @@ static vorbis_look_floor *floor0_look(vorbis_dsp_state *vd,
vorbis_info_floor *i){
vorbis_info_floor0 *info=(vorbis_info_floor0 *)i;
vorbis_look_floor0 *look=_ogg_calloc(1,sizeof(*look));
+
+ (void)vd;
+
look->m=info->order;
look->ln=info->barkmap;
look->vi=info;
@@ -165,7 +168,7 @@ static void *floor0_inverse1(vorbis_block *vb,vorbis_look_floor *i){
if(ampraw>0){ /* also handles the -1 out of data case */
long maxval=(1<<info->ampbits)-1;
float amp=(float)ampraw/maxval*info->ampdB;
- int booknum=oggpack_read(&vb->opb,_ilog(info->numbooks));
+ int booknum=oggpack_read(&vb->opb,ov_ilog(info->numbooks));
if(booknum!=-1 && booknum<info->numbooks){ /* be paranoid */
codec_setup_info *ci=vb->vd->vi->codec_setup;
@@ -177,10 +180,9 @@ static void *floor0_inverse1(vorbis_block *vb,vorbis_look_floor *i){
vector */
float *lsp=_vorbis_block_alloc(vb,sizeof(*lsp)*(look->m+b->dim+1));
- for(j=0;j<look->m;j+=b->dim)
- if(vorbis_book_decodev_set(b,lsp+j,&vb->opb,b->dim)==-1)goto eop;
+ if(vorbis_book_decodev_set(b,lsp,&vb->opb,look->m)==-1)goto eop;
for(j=0;j<look->m;){
- for(k=0;k<b->dim;k++,j++)lsp[j]+=last;
+ for(k=0;j<look->m && k<b->dim;k++,j++)lsp[j]+=last;
last=lsp[j-1];
}
diff --git a/drivers/vorbis/floor1.c b/drivers/vorbis/floor1.c
index ae3dcedb1f..d8bd4645c1 100644
--- a/drivers/vorbis/floor1.c
+++ b/drivers/vorbis/floor1.c
@@ -5,13 +5,13 @@
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
* by the Xiph.Org Foundation http://www.xiph.org/ *
* *
********************************************************************
function: floor backend 1 implementation
- last mod: $Id: floor1.c 17555 2010-10-21 18:14:51Z tterribe $
+ last mod: $Id: floor1.c 19457 2015-03-03 00:15:29Z giles $
********************************************************************/
@@ -72,25 +72,6 @@ static void floor1_free_look(vorbis_look_floor *i){
}
}
-static int ilog(unsigned int v){
- int ret=0;
- while(v){
- ret++;
- v>>=1;
- }
- return(ret);
-}
-
-static int ilog2(unsigned int v){
- int ret=0;
- if(v)--v;
- while(v){
- ret++;
- v>>=1;
- }
- return(ret);
-}
-
static void floor1_pack (vorbis_info_floor *i,oggpack_buffer *opb){
vorbis_info_floor1 *info=(vorbis_info_floor1 *)i;
int j,k;
@@ -117,8 +98,10 @@ static void floor1_pack (vorbis_info_floor *i,oggpack_buffer *opb){
/* save out the post list */
oggpack_write(opb,info->mult-1,2); /* only 1,2,3,4 legal now */
- oggpack_write(opb,ilog2(maxposit),4);
- rangebits=ilog2(maxposit);
+ /* maxposit cannot legally be less than 1; this is encode-side, we
+ can assume our setup is OK */
+ oggpack_write(opb,ov_ilog(maxposit-1),4);
+ rangebits=ov_ilog(maxposit-1);
for(j=0,k=0;j<info->partitions;j++){
count+=info->class_dim[info->partitionclass[j]];
@@ -167,6 +150,7 @@ static vorbis_info_floor *floor1_unpack (vorbis_info *vi,oggpack_buffer *opb){
for(j=0,k=0;j<info->partitions;j++){
count+=info->class_dim[info->partitionclass[j]];
+ if(count>VIF_POSIT) goto err_out;
for(;k<count;k++){
int t=info->postlist[k+2]=oggpack_read(opb,rangebits);
if(t<0 || t>=(1<<rangebits))
@@ -202,6 +186,8 @@ static vorbis_look_floor *floor1_look(vorbis_dsp_state *vd,
vorbis_look_floor1 *look=_ogg_calloc(1,sizeof(*look));
int i,j,n=0;
+ (void)vd;
+
look->vi=info;
look->n=info->postlist[1];
@@ -851,9 +837,9 @@ int floor1_encode(oggpack_buffer *opb,vorbis_block *vb,
/* beginning/end post */
look->frames++;
- look->postbits+=ilog(look->quant_q-1)*2;
- oggpack_write(opb,out[0],ilog(look->quant_q-1));
- oggpack_write(opb,out[1],ilog(look->quant_q-1));
+ look->postbits+=ov_ilog(look->quant_q-1)*2;
+ oggpack_write(opb,out[0],ov_ilog(look->quant_q-1));
+ oggpack_write(opb,out[1],ov_ilog(look->quant_q-1));
/* partition by partition */
@@ -869,7 +855,9 @@ int floor1_encode(oggpack_buffer *opb,vorbis_block *vb,
/* generate the partition's first stage cascade value */
if(csubbits){
- int maxval[8];
+ int maxval[8]={0,0,0,0,0,0,0,0}; /* gcc's static analysis
+ issues a warning without
+ initialization */
for(k=0;k<csub;k++){
int booknum=info->class_subbook[class][k];
if(booknum<0){
@@ -977,8 +965,8 @@ static void *floor1_inverse1(vorbis_block *vb,vorbis_look_floor *in){
if(oggpack_read(&vb->opb,1)==1){
int *fit_value=_vorbis_block_alloc(vb,(look->posts)*sizeof(*fit_value));
- fit_value[0]=oggpack_read(&vb->opb,ilog(look->quant_q-1));
- fit_value[1]=oggpack_read(&vb->opb,ilog(look->quant_q-1));
+ fit_value[0]=oggpack_read(&vb->opb,ov_ilog(look->quant_q-1));
+ fit_value[1]=oggpack_read(&vb->opb,ov_ilog(look->quant_q-1));
/* partition by partition */
for(i=0,j=2;i<info->partitions;i++){
diff --git a/drivers/vorbis/info.c b/drivers/vorbis/info.c
index 3932480a44..8a2a001f99 100644
--- a/drivers/vorbis/info.c
+++ b/drivers/vorbis/info.c
@@ -5,13 +5,13 @@
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2010 *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
* by the Xiph.Org Foundation http://www.xiph.org/ *
* *
********************************************************************
function: maintain the info structure, info <-> header packets
- last mod: $Id: info.c 17584 2010-11-01 19:26:16Z xiphmont $
+ last mod: $Id: info.c 19441 2015-01-21 01:17:41Z xiphmont $
********************************************************************/
@@ -31,20 +31,10 @@
#include "misc.h"
#include "os.h"
-#define GENERAL_VENDOR_STRING "Xiph.Org libVorbis 1.3.2"
-#define ENCODE_VENDOR_STRING "Xiph.Org libVorbis I 20101101 (Schaufenugget)"
+#define GENERAL_VENDOR_STRING "Xiph.Org libVorbis 1.3.5"
+#define ENCODE_VENDOR_STRING "Xiph.Org libVorbis I 20150105 (⛄⛄⛄⛄)"
/* helpers */
-static int ilog2(unsigned int v){
- int ret=0;
- if(v)--v;
- while(v){
- ret++;
- v>>=1;
- }
- return(ret);
-}
-
static void _v_writestring(oggpack_buffer *o,const char *s, int bytes){
while(bytes--){
@@ -272,7 +262,6 @@ static int _vorbis_unpack_comment(vorbis_comment *vc,oggpack_buffer *opb){
static int _vorbis_unpack_books(vorbis_info *vi,oggpack_buffer *opb){
codec_setup_info *ci=vi->codec_setup;
int i;
- if(!ci)return(OV_EFAULT);
/* codebooks */
ci->books=oggpack_read(opb,8)+1;
@@ -411,6 +400,10 @@ int vorbis_synthesis_headerin(vorbis_info *vi,vorbis_comment *vc,ogg_packet *op)
/* um... we didn't get the initial header */
return(OV_EBADHEADER);
}
+ if(vc->vendor!=NULL){
+ /* previously initialized comment header */
+ return(OV_EBADHEADER);
+ }
return(_vorbis_unpack_comment(vc,&opb));
@@ -419,6 +412,14 @@ int vorbis_synthesis_headerin(vorbis_info *vi,vorbis_comment *vc,ogg_packet *op)
/* um... we didn;t get the initial header or comments yet */
return(OV_EBADHEADER);
}
+ if(vi->codec_setup==NULL){
+ /* improperly initialized vorbis_info */
+ return(OV_EFAULT);
+ }
+ if(((codec_setup_info *)vi->codec_setup)->books>0){
+ /* previously initialized setup header */
+ return(OV_EBADHEADER);
+ }
return(_vorbis_unpack_books(vi,&opb));
@@ -436,7 +437,11 @@ int vorbis_synthesis_headerin(vorbis_info *vi,vorbis_comment *vc,ogg_packet *op)
static int _vorbis_pack_info(oggpack_buffer *opb,vorbis_info *vi){
codec_setup_info *ci=vi->codec_setup;
- if(!ci)return(OV_EFAULT);
+ if(!ci||
+ ci->blocksizes[0]<64||
+ ci->blocksizes[1]<ci->blocksizes[0]){
+ return(OV_EFAULT);
+ }
/* preamble */
oggpack_write(opb,0x01,8);
@@ -451,8 +456,8 @@ static int _vorbis_pack_info(oggpack_buffer *opb,vorbis_info *vi){
oggpack_write(opb,vi->bitrate_nominal,32);
oggpack_write(opb,vi->bitrate_lower,32);
- oggpack_write(opb,ilog2(ci->blocksizes[0]),4);
- oggpack_write(opb,ilog2(ci->blocksizes[1]),4);
+ oggpack_write(opb,ov_ilog(ci->blocksizes[0]-1),4);
+ oggpack_write(opb,ov_ilog(ci->blocksizes[1]-1),4);
oggpack_write(opb,1,1);
return(0);
@@ -550,7 +555,10 @@ int vorbis_commentheader_out(vorbis_comment *vc,
oggpack_buffer opb;
oggpack_writeinit(&opb);
- if(_vorbis_pack_comment(&opb,vc)) return OV_EIMPL;
+ if(_vorbis_pack_comment(&opb,vc)){
+ oggpack_writeclear(&opb);
+ return OV_EIMPL;
+ }
op->packet = _ogg_malloc(oggpack_bytes(&opb));
memcpy(op->packet, opb.buffer, oggpack_bytes(&opb));
@@ -561,6 +569,7 @@ int vorbis_commentheader_out(vorbis_comment *vc,
op->granulepos=0;
op->packetno=1;
+ oggpack_writeclear(&opb);
return 0;
}
@@ -574,7 +583,7 @@ int vorbis_analysis_headerout(vorbis_dsp_state *v,
oggpack_buffer opb;
private_state *b=v->backend_state;
- if(!b){
+ if(!b||vi->channels<=0){
ret=OV_EFAULT;
goto err_out;
}
diff --git a/drivers/vorbis/lsp.c b/drivers/vorbis/lsp.c
index 50031a7a1c..6a619f7b0c 100644
--- a/drivers/vorbis/lsp.c
+++ b/drivers/vorbis/lsp.c
@@ -11,7 +11,7 @@
********************************************************************
function: LSP (also called LSF) conversion routines
- last mod: $Id: lsp.c 17538 2010-10-15 02:52:29Z tterribe $
+ last mod: $Id: lsp.c 19453 2015-03-02 22:35:34Z xiphmont $
The LSP generation code is taken (with minimal modification and a
few bugfixes) from "On the Computation of the LSP Frequencies" by
@@ -309,7 +309,6 @@ static int comp(const void *a,const void *b){
#define EPSILON 10e-7
static int Laguerre_With_Deflation(float *a,int ord,float *r){
int i,m;
- double lastdelta=0.f;
double *defl=alloca(sizeof(*defl)*(ord+1));
for(i=0;i<=ord;i++)defl[i]=a[i];
@@ -346,7 +345,6 @@ static int Laguerre_With_Deflation(float *a,int ord,float *r){
if(delta<0.f)delta*=-1;
if(fabs(delta/new)<10e-12)break;
- lastdelta=delta;
}
r[m-1]=new;
diff --git a/drivers/vorbis/mapping0.c b/drivers/vorbis/mapping0.c
index 7d279a8575..85c7d22d83 100644
--- a/drivers/vorbis/mapping0.c
+++ b/drivers/vorbis/mapping0.c
@@ -11,7 +11,7 @@
********************************************************************
function: channel mapping 0 implementation
- last mod: $Id: mapping0.c 17022 2010-03-25 03:45:42Z xiphmont $
+ last mod: $Id: mapping0.c 19441 2015-01-21 01:17:41Z xiphmont $
********************************************************************/
@@ -45,16 +45,6 @@ static void mapping0_free_info(vorbis_info_mapping *i){
}
}
-static int ilog(unsigned int v){
- int ret=0;
- if(v)--v;
- while(v){
- ret++;
- v>>=1;
- }
- return(ret);
-}
-
static void mapping0_pack(vorbis_info *vi,vorbis_info_mapping *vm,
oggpack_buffer *opb){
int i;
@@ -78,8 +68,8 @@ static void mapping0_pack(vorbis_info *vi,vorbis_info_mapping *vm,
oggpack_write(opb,info->coupling_steps-1,8);
for(i=0;i<info->coupling_steps;i++){
- oggpack_write(opb,info->coupling_mag[i],ilog(vi->channels));
- oggpack_write(opb,info->coupling_ang[i],ilog(vi->channels));
+ oggpack_write(opb,info->coupling_mag[i],ov_ilog(vi->channels-1));
+ oggpack_write(opb,info->coupling_ang[i],ov_ilog(vi->channels-1));
}
}else
oggpack_write(opb,0,1);
@@ -104,6 +94,7 @@ static vorbis_info_mapping *mapping0_unpack(vorbis_info *vi,oggpack_buffer *opb)
vorbis_info_mapping0 *info=_ogg_calloc(1,sizeof(*info));
codec_setup_info *ci=vi->codec_setup;
memset(info,0,sizeof(*info));
+ if(vi->channels<=0)goto err_out;
b=oggpack_read(opb,1);
if(b<0)goto err_out;
@@ -119,8 +110,11 @@ static vorbis_info_mapping *mapping0_unpack(vorbis_info *vi,oggpack_buffer *opb)
info->coupling_steps=oggpack_read(opb,8)+1;
if(info->coupling_steps<=0)goto err_out;
for(i=0;i<info->coupling_steps;i++){
- int testM=info->coupling_mag[i]=oggpack_read(opb,ilog(vi->channels));
- int testA=info->coupling_ang[i]=oggpack_read(opb,ilog(vi->channels));
+ /* vi->channels > 0 is enforced in the caller */
+ int testM=info->coupling_mag[i]=
+ oggpack_read(opb,ov_ilog(vi->channels-1));
+ int testA=info->coupling_ang[i]=
+ oggpack_read(opb,ov_ilog(vi->channels-1));
if(testM<0 ||
testA<0 ||
diff --git a/drivers/vorbis/misc.h b/drivers/vorbis/misc.h
index 85fe3074ac..73b4519898 100644
--- a/drivers/vorbis/misc.h
+++ b/drivers/vorbis/misc.h
@@ -5,13 +5,13 @@
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
* by the Xiph.Org Foundation http://www.xiph.org/ *
* *
********************************************************************
function: miscellaneous prototypes
- last mod: $Id: misc.h 16227 2009-07-08 06:58:46Z xiphmont $
+ last mod: $Id: misc.h 19457 2015-03-03 00:15:29Z giles $
********************************************************************/
@@ -21,6 +21,7 @@
extern void *_vorbis_block_alloc(vorbis_block *vb,long bytes);
extern void _vorbis_block_ripcord(vorbis_block *vb);
+extern int ov_ilog(ogg_uint32_t v);
#ifdef ANALYSIS
extern int analysis_noisy;
diff --git a/drivers/vorbis/modes/residue_44p51.h b/drivers/vorbis/modes/residue_44p51.h
index 103e960d72..a52cc5245e 100644
--- a/drivers/vorbis/modes/residue_44p51.h
+++ b/drivers/vorbis/modes/residue_44p51.h
@@ -11,7 +11,7 @@
********************************************************************
function: toplevel residue templates for 32/44.1/48kHz uncoupled
- last mod: $Id$
+ last mod: $Id: residue_44p51.h 19013 2013-11-12 04:04:50Z giles $
********************************************************************/
diff --git a/drivers/vorbis/modes/setup_44p51.h b/drivers/vorbis/modes/setup_44p51.h
index e46468a15b..67d9979608 100644
--- a/drivers/vorbis/modes/setup_44p51.h
+++ b/drivers/vorbis/modes/setup_44p51.h
@@ -11,7 +11,7 @@
********************************************************************
function: toplevel settings for 44.1/48kHz 5.1 surround modes
- last mod: $Id$
+ last mod: $Id: setup_44p51.h 19013 2013-11-12 04:04:50Z giles $
********************************************************************/
diff --git a/drivers/vorbis/os.h b/drivers/vorbis/os.h
index 3df1d194e9..8bc3e5fe9c 100644
--- a/drivers/vorbis/os.h
+++ b/drivers/vorbis/os.h
@@ -7,13 +7,13 @@
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
* by the Xiph.Org Foundation http://www.xiph.org/ *
* *
********************************************************************
function: #ifdef jail to whip a few platforms into the UNIX ideal.
- last mod: $Id: os.h 16227 2009-07-08 06:58:46Z xiphmont $
+ last mod: $Id: os.h 19457 2015-03-03 00:15:29Z giles $
********************************************************************/
@@ -119,8 +119,9 @@ static inline int vorbis_ftoi(double f){ /* yes, double! Otherwise,
/* MSVC inline assembly. 32 bit only; inline ASM isn't implemented in the
- * 64 bit compiler */
-#if defined(_MSC_VER) && !defined(_WIN64) && !defined(_WIN32_WCE) && !defined(WINDOWSPHONE_ENABLED)
+ * 64 bit compiler and doesn't work on arm. */
+#if defined(_MSC_VER) && !defined(_WIN64) && \
+ !defined(_WIN32_WCE) && !defined(_M_ARM)
# define VORBIS_FPU_CONTROL
typedef ogg_int16_t vorbis_fpu_control;
@@ -135,9 +136,11 @@ static __inline int vorbis_ftoi(double f){
}
static __inline void vorbis_fpu_setround(vorbis_fpu_control *fpu){
+ (void)fpu;
}
static __inline void vorbis_fpu_restore(vorbis_fpu_control fpu){
+ (void)fpu;
}
#endif /* Special MSVC 32 bit implementation */
@@ -156,9 +159,11 @@ static __inline int vorbis_ftoi(double f){
}
static __inline void vorbis_fpu_setround(vorbis_fpu_control *fpu){
+ (void)fpu;
}
static __inline void vorbis_fpu_restore(vorbis_fpu_control fpu){
+ (void)fpu;
}
#endif /* Special MSVC x64 implementation */
diff --git a/drivers/vorbis/psy.c b/drivers/vorbis/psy.c
index 29d2824372..f7a44c6d00 100644
--- a/drivers/vorbis/psy.c
+++ b/drivers/vorbis/psy.c
@@ -11,7 +11,7 @@
********************************************************************
function: psychoacoustics not including preecho
- last mod: $Id: psy.c 17569 2010-10-26 17:09:47Z xiphmont $
+ last mod: $Id: psy.c 18077 2011-09-02 02:49:00Z giles $
********************************************************************/
@@ -1020,7 +1020,9 @@ void _vp_couple_quantize_normalize(int blobno,
int limit = g->coupling_pointlimit[p->vi->blockflag][blobno];
float prepoint=stereo_threshholds[g->coupling_prepointamp[blobno]];
float postpoint=stereo_threshholds[g->coupling_postpointamp[blobno]];
+#if 0
float de=0.1*p->m_val; /* a blend of the AoTuV M2 and M3 code here and below */
+#endif
/* mdct is our raw mdct output, floor not removed. */
/* inout passes in the ifloor, passes back quantized result */
@@ -1154,27 +1156,28 @@ void _vp_couple_quantize_normalize(int blobno,
reM[j] += reA[j];
qeM[j] = fabs(reM[j]);
}else{
+#if 0
/* AoTuV */
/** @ M2 **
The boost problem by the combination of noise normalization and point stereo is eased.
However, this is a temporary patch.
by Aoyumi @ 2004/04/18
*/
- /*float derate = (1.0 - de*((float)(j-limit+i) / (float)(n-limit))); */
- /* elliptical
+ float derate = (1.0 - de*((float)(j-limit+i) / (float)(n-limit)));
+ /* elliptical */
if(reM[j]+reA[j]<0){
reM[j] = - (qeM[j] = (fabs(reM[j])+fabs(reA[j]))*derate*derate);
}else{
reM[j] = (qeM[j] = (fabs(reM[j])+fabs(reA[j]))*derate*derate);
- }*/
-
+ }
+#else
/* elliptical */
if(reM[j]+reA[j]<0){
reM[j] = - (qeM[j] = fabs(reM[j])+fabs(reA[j]));
}else{
reM[j] = (qeM[j] = fabs(reM[j])+fabs(reA[j]));
}
-
+#endif
}
reA[j]=qeA[j]=0.f;
diff --git a/drivers/vorbis/res0.c b/drivers/vorbis/res0.c
index fa0ad97561..ec11488c2f 100644
--- a/drivers/vorbis/res0.c
+++ b/drivers/vorbis/res0.c
@@ -11,7 +11,7 @@
********************************************************************
function: residue backend 0, 1 and 2 implementation
- last mod: $Id: res0.c 17556 2010-10-21 18:25:19Z tterribe $
+ last mod: $Id: res0.c 19441 2015-01-21 01:17:41Z xiphmont $
********************************************************************/
@@ -152,15 +152,6 @@ void res0_free_look(vorbis_look_residue *i){
}
}
-static int ilog(unsigned int v){
- int ret=0;
- while(v){
- ret++;
- v>>=1;
- }
- return(ret);
-}
-
static int icount(unsigned int v){
int ret=0;
while(v){
@@ -186,7 +177,7 @@ void res0_pack(vorbis_info_residue *vr,oggpack_buffer *opb){
bitmask of one indicates this partition class has bits to write
this pass */
for(j=0;j<info->partitions;j++){
- if(ilog(info->secondstages[j])>3){
+ if(ov_ilog(info->secondstages[j])>3){
/* yes, this is a minor hack due to not thinking ahead */
oggpack_write(opb,info->secondstages[j],3);
oggpack_write(opb,1,1);
@@ -284,7 +275,7 @@ vorbis_look_residue *res0_look(vorbis_dsp_state *vd,
look->partbooks=_ogg_calloc(look->parts,sizeof(*look->partbooks));
for(j=0;j<look->parts;j++){
- int stages=ilog(info->secondstages[j]);
+ int stages=ov_ilog(info->secondstages[j]);
if(stages){
if(stages>maxstage)maxstage=stages;
look->partbooks[j]=_ogg_calloc(stages,sizeof(*look->partbooks[j]));
@@ -390,8 +381,13 @@ static int local_book_besterror(codebook *book,int *a){
return(index);
}
+#ifdef TRAIN_RES
static int _encodepart(oggpack_buffer *opb,int *vec, int n,
codebook *book,long *acc){
+#else
+static int _encodepart(oggpack_buffer *opb,int *vec, int n,
+ codebook *book){
+#endif
int i,bits=0;
int dim=book->dim;
int step=n/dim;
@@ -534,12 +530,18 @@ static long **_2class(vorbis_block *vb,vorbis_look_residue *vl,int **in,
}
static int _01forward(oggpack_buffer *opb,
- vorbis_block *vb,vorbis_look_residue *vl,
+ vorbis_look_residue *vl,
int **in,int ch,
long **partword,
+#ifdef TRAIN_RES
int (*encode)(oggpack_buffer *,int *,int,
codebook *,long *),
- int submap){
+ int submap
+#else
+ int (*encode)(oggpack_buffer *,int *,int,
+ codebook *)
+#endif
+){
long i,j,k,s;
vorbis_look_residue0 *look=(vorbis_look_residue0 *)vl;
vorbis_info_residue0 *info=look->info;
@@ -609,9 +611,8 @@ static int _01forward(oggpack_buffer *opb,
codebook *statebook=look->partbooks[partword[j][i]][s];
if(statebook){
int ret;
- long *accumulator=NULL;
-
#ifdef TRAIN_RES
+ long *accumulator=NULL;
accumulator=look->training_data[s][partword[j][i]];
{
int l;
@@ -623,10 +624,12 @@ static int _01forward(oggpack_buffer *opb,
look->training_max[s][partword[j][i]]=samples[l];
}
}
-#endif
-
ret=encode(opb,in[j]+offset,samples_per_partition,
statebook,accumulator);
+#else
+ ret=encode(opb,in[j]+offset,samples_per_partition,
+ statebook);
+#endif
look->postbits+=ret;
resbits[partword[j][i]]+=ret;
@@ -637,19 +640,6 @@ static int _01forward(oggpack_buffer *opb,
}
}
- /*{
- long total=0;
- long totalbits=0;
- fprintf(stderr,"%d :: ",vb->mode);
- for(k=0;k<possible_partitions;k++){
- fprintf(stderr,"%ld/%1.2g, ",resvals[k],(float)resbits[k]/resvals[k]);
- total+=resvals[k];
- totalbits+=resbits[k];
- }
-
- fprintf(stderr,":: %ld:%1.2g\n",total,(double)totalbits/total);
- }*/
-
return(0);
}
@@ -729,12 +719,18 @@ int res0_inverse(vorbis_block *vb,vorbis_look_residue *vl,
int res1_forward(oggpack_buffer *opb,vorbis_block *vb,vorbis_look_residue *vl,
int **in,int *nonzero,int ch, long **partword, int submap){
int i,used=0;
+ (void)vb;
for(i=0;i<ch;i++)
if(nonzero[i])
in[used++]=in[i];
if(used){
- return _01forward(opb,vb,vl,in,used,partword,_encodepart,submap);
+#ifdef TRAIN_RES
+ return _01forward(opb,vl,in,used,partword,_encodepart,submap);
+#else
+ (void)submap;
+ return _01forward(opb,vl,in,used,partword,_encodepart);
+#endif
}else{
return(0);
}
@@ -795,7 +791,12 @@ int res2_forward(oggpack_buffer *opb,
}
if(used){
- return _01forward(opb,vb,vl,&work,1,partword,_encodepart,submap);
+#ifdef TRAIN_RES
+ return _01forward(opb,vl,&work,1,partword,_encodepart,submap);
+#else
+ (void)submap;
+ return _01forward(opb,vl,&work,1,partword,_encodepart);
+#endif
}else{
return(0);
}
diff --git a/drivers/vorbis/sharedbook.c b/drivers/vorbis/sharedbook.c
index 545e302f82..6bfdf7311e 100644
--- a/drivers/vorbis/sharedbook.c
+++ b/drivers/vorbis/sharedbook.c
@@ -5,13 +5,13 @@
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
* by the Xiph.Org Foundation http://www.xiph.org/ *
* *
********************************************************************
function: basic shared codebook operations
- last mod: $Id: sharedbook.c 17030 2010-03-25 06:52:55Z xiphmont $
+ last mod: $Id: sharedbook.c 19457 2015-03-03 00:15:29Z giles $
********************************************************************/
@@ -26,13 +26,11 @@
#include "scales.h"
/**** pack/unpack helpers ******************************************/
-int _ilog(unsigned int v){
- int ret=0;
- while(v){
- ret++;
- v>>=1;
- }
- return(ret);
+
+int ov_ilog(ogg_uint32_t v){
+ int ret;
+ for(ret=0;v;ret++)v>>=1;
+ return ret;
}
/* 32 bit float (not IEEE; nonnormalized mantissa +
@@ -70,7 +68,7 @@ float _float32_unpack(long val){
/* given a list of word lengths, generate a list of codewords. Works
for length ordered or unordered, always assigns the lowest valued
codewords first. Extended to handle unused entries (length 0) */
-ogg_uint32_t *_make_words(long *l,long n,long sparsecount){
+ogg_uint32_t *_make_words(char *l,long n,long sparsecount){
long i,j,count=0;
ogg_uint32_t marker[33];
ogg_uint32_t *r=_ogg_malloc((sparsecount?sparsecount:n)*sizeof(*r));
@@ -125,16 +123,15 @@ ogg_uint32_t *_make_words(long *l,long n,long sparsecount){
if(sparsecount==0)count++;
}
- /* sanity check the huffman tree; an underpopulated tree must be
- rejected. The only exception is the one-node pseudo-nil tree,
- which appears to be underpopulated because the tree doesn't
- really exist; there's only one possible 'codeword' or zero bits,
- but the above tree-gen code doesn't mark that. */
- if(sparsecount != 1){
+ /* any underpopulated tree must be rejected. */
+ /* Single-entry codebooks are a retconned extension to the spec.
+ They have a single codeword '0' of length 1 that results in an
+ underpopulated tree. Shield that case from the underformed tree check. */
+ if(!(count==1 && marker[2]==2)){
for(i=1;i<33;i++)
if(marker[i] & (0xffffffffUL>>(32-i))){
- _ogg_free(r);
- return(NULL);
+ _ogg_free(r);
+ return(NULL);
}
}
@@ -313,9 +310,10 @@ static int sort32a(const void *a,const void *b){
int vorbis_book_init_decode(codebook *c,const static_codebook *s){
int i,j,n=0,tabn;
int *sortindex;
+
memset(c,0,sizeof(*c));
- /* count actually used entries */
+ /* count actually used entries and find max length */
for(i=0;i<s->entries;i++)
if(s->lengthlist[i]>0)
n++;
@@ -325,7 +323,6 @@ int vorbis_book_init_decode(codebook *c,const static_codebook *s){
c->dim=s->dim;
if(n>0){
-
/* two different remappings go on here.
First, we collapse the likely sparse codebook down only to
@@ -361,7 +358,6 @@ int vorbis_book_init_decode(codebook *c,const static_codebook *s){
c->codelist[sortindex[i]]=codes[i];
_ogg_free(codes);
-
c->valuelist=_book_unquantize(s,n,sortindex);
c->dec_index=_ogg_malloc(n*sizeof(*c->dec_index));
@@ -370,51 +366,62 @@ int vorbis_book_init_decode(codebook *c,const static_codebook *s){
c->dec_index[sortindex[n++]]=i;
c->dec_codelengths=_ogg_malloc(n*sizeof(*c->dec_codelengths));
+ c->dec_maxlength=0;
for(n=0,i=0;i<s->entries;i++)
- if(s->lengthlist[i]>0)
+ if(s->lengthlist[i]>0){
c->dec_codelengths[sortindex[n++]]=s->lengthlist[i];
+ if(s->lengthlist[i]>c->dec_maxlength)
+ c->dec_maxlength=s->lengthlist[i];
+ }
- c->dec_firsttablen=_ilog(c->used_entries)-4; /* this is magic */
- if(c->dec_firsttablen<5)c->dec_firsttablen=5;
- if(c->dec_firsttablen>8)c->dec_firsttablen=8;
-
- tabn=1<<c->dec_firsttablen;
- c->dec_firsttable=_ogg_calloc(tabn,sizeof(*c->dec_firsttable));
- c->dec_maxlength=0;
+ if(n==1 && c->dec_maxlength==1){
+ /* special case the 'single entry codebook' with a single bit
+ fastpath table (that always returns entry 0 )in order to use
+ unmodified decode paths. */
+ c->dec_firsttablen=1;
+ c->dec_firsttable=_ogg_calloc(2,sizeof(*c->dec_firsttable));
+ c->dec_firsttable[0]=c->dec_firsttable[1]=1;
- for(i=0;i<n;i++){
- if(c->dec_maxlength<c->dec_codelengths[i])
- c->dec_maxlength=c->dec_codelengths[i];
- if(c->dec_codelengths[i]<=c->dec_firsttablen){
- ogg_uint32_t orig=bitreverse(c->codelist[i]);
- for(j=0;j<(1<<(c->dec_firsttablen-c->dec_codelengths[i]));j++)
- c->dec_firsttable[orig|(j<<c->dec_codelengths[i])]=i+1;
+ }else{
+ c->dec_firsttablen=ov_ilog(c->used_entries)-4; /* this is magic */
+ if(c->dec_firsttablen<5)c->dec_firsttablen=5;
+ if(c->dec_firsttablen>8)c->dec_firsttablen=8;
+
+ tabn=1<<c->dec_firsttablen;
+ c->dec_firsttable=_ogg_calloc(tabn,sizeof(*c->dec_firsttable));
+
+ for(i=0;i<n;i++){
+ if(c->dec_codelengths[i]<=c->dec_firsttablen){
+ ogg_uint32_t orig=bitreverse(c->codelist[i]);
+ for(j=0;j<(1<<(c->dec_firsttablen-c->dec_codelengths[i]));j++)
+ c->dec_firsttable[orig|(j<<c->dec_codelengths[i])]=i+1;
+ }
}
- }
- /* now fill in 'unused' entries in the firsttable with hi/lo search
- hints for the non-direct-hits */
- {
- ogg_uint32_t mask=0xfffffffeUL<<(31-c->dec_firsttablen);
- long lo=0,hi=0;
-
- for(i=0;i<tabn;i++){
- ogg_uint32_t word=i<<(32-c->dec_firsttablen);
- if(c->dec_firsttable[bitreverse(word)]==0){
- while((lo+1)<n && c->codelist[lo+1]<=word)lo++;
- while( hi<n && word>=(c->codelist[hi]&mask))hi++;
-
- /* we only actually have 15 bits per hint to play with here.
- In order to overflow gracefully (nothing breaks, efficiency
- just drops), encode as the difference from the extremes. */
- {
- unsigned long loval=lo;
- unsigned long hival=n-hi;
-
- if(loval>0x7fff)loval=0x7fff;
- if(hival>0x7fff)hival=0x7fff;
- c->dec_firsttable[bitreverse(word)]=
- 0x80000000UL | (loval<<15) | hival;
+ /* now fill in 'unused' entries in the firsttable with hi/lo search
+ hints for the non-direct-hits */
+ {
+ ogg_uint32_t mask=0xfffffffeUL<<(31-c->dec_firsttablen);
+ long lo=0,hi=0;
+
+ for(i=0;i<tabn;i++){
+ ogg_uint32_t word=i<<(32-c->dec_firsttablen);
+ if(c->dec_firsttable[bitreverse(word)]==0){
+ while((lo+1)<n && c->codelist[lo+1]<=word)lo++;
+ while( hi<n && word>=(c->codelist[hi]&mask))hi++;
+
+ /* we only actually have 15 bits per hint to play with here.
+ In order to overflow gracefully (nothing breaks, efficiency
+ just drops), encode as the difference from the extremes. */
+ {
+ unsigned long loval=lo;
+ unsigned long hival=n-hi;
+
+ if(loval>0x7fff)loval=0x7fff;
+ if(hival>0x7fff)hival=0x7fff;
+ c->dec_firsttable[bitreverse(word)]=
+ 0x80000000UL | (loval<<15) | hival;
+ }
}
}
}
diff --git a/drivers/vorbis/synthesis.c b/drivers/vorbis/synthesis.c
index 1af211d001..932d271a63 100644
--- a/drivers/vorbis/synthesis.c
+++ b/drivers/vorbis/synthesis.c
@@ -5,13 +5,13 @@
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
* by the Xiph.Org Foundation http://www.xiph.org/ *
* *
********************************************************************
function: single-block PCM synthesis
- last mod: $Id: synthesis.c 17474 2010-09-30 03:41:41Z gmaxwell $
+ last mod: $Id: synthesis.c 19441 2015-01-21 01:17:41Z xiphmont $
********************************************************************/
@@ -145,6 +145,11 @@ long vorbis_packet_blocksize(vorbis_info *vi,ogg_packet *op){
oggpack_buffer opb;
int mode;
+ if(ci==NULL || ci->modes<=0){
+ /* codec setup not properly intialized */
+ return(OV_EFAULT);
+ }
+
oggpack_readinit(&opb,op->packet,op->bytes);
/* Check the packet type */
@@ -153,18 +158,9 @@ long vorbis_packet_blocksize(vorbis_info *vi,ogg_packet *op){
return(OV_ENOTAUDIO);
}
- {
- int modebits=0;
- int v=ci->modes;
- while(v>1){
- modebits++;
- v>>=1;
- }
-
- /* read our mode and pre/post windowsize */
- mode=oggpack_read(&opb,modebits);
- }
- if(mode==-1)return(OV_EBADPACKET);
+ /* read our mode and pre/post windowsize */
+ mode=oggpack_read(&opb,ov_ilog(ci->modes-1));
+ if(mode==-1 || !ci->mode_param[mode])return(OV_EBADPACKET);
return(ci->blocksizes[ci->mode_param[mode]->blockflag]);
}
diff --git a/drivers/vorbis/tone.c b/drivers/vorbis/tone.c
index 5f1f43cf7b..73afc67d4c 100644
--- a/drivers/vorbis/tone.c
+++ b/drivers/vorbis/tone.c
@@ -3,10 +3,6 @@
#include <math.h>
#include <string.h>
-#ifndef M_PI
-#define M_PI 3.14159265358979323846
-#endif
-
void usage(){
fprintf(stderr,"tone <frequency_Hz>,[<amplitude>] [<frequency_Hz>,[<amplitude>]...]\n");
exit(1);
diff --git a/drivers/vorbis/vorbisenc.c b/drivers/vorbis/vorbisenc.c
index f0f7c08558..b5d621e900 100644
--- a/drivers/vorbis/vorbisenc.c
+++ b/drivers/vorbis/vorbisenc.c
@@ -5,13 +5,13 @@
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
* by the Xiph.Org Foundation http://www.xiph.org/ *
* *
********************************************************************
function: simple programmatic interface for encoder mode setup
- last mod: $Id: vorbisenc.c 17028 2010-03-25 05:22:15Z xiphmont $
+ last mod: $Id: vorbisenc.c 19457 2015-03-03 00:15:29Z giles $
********************************************************************/
@@ -903,8 +903,12 @@ int vorbis_encode_setup_vbr(vorbis_info *vi,
long channels,
long rate,
float quality){
- codec_setup_info *ci=vi->codec_setup;
- highlevel_encode_setup *hi=&ci->hi;
+ codec_setup_info *ci;
+ highlevel_encode_setup *hi;
+ if(rate<=0) return OV_EINVAL;
+
+ ci=vi->codec_setup;
+ hi=&ci->hi;
quality+=.0000001;
if(quality>=1.)quality=.9999;
@@ -948,9 +952,14 @@ int vorbis_encode_setup_managed(vorbis_info *vi,
long nominal_bitrate,
long min_bitrate){
- codec_setup_info *ci=vi->codec_setup;
- highlevel_encode_setup *hi=&ci->hi;
- double tnominal=nominal_bitrate;
+ codec_setup_info *ci;
+ highlevel_encode_setup *hi;
+ double tnominal;
+ if(rate<=0) return OV_EINVAL;
+
+ ci=vi->codec_setup;
+ hi=&ci->hi;
+ tnominal=nominal_bitrate;
if(nominal_bitrate<=0.){
if(max_bitrate>0.){
diff --git a/drivers/vorbis/vorbisfile.c b/drivers/vorbis/vorbisfile.c
index 3afbd9d002..fc0c86ff11 100644
--- a/drivers/vorbis/vorbisfile.c
+++ b/drivers/vorbis/vorbisfile.c
@@ -5,13 +5,13 @@
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2009 *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2015 *
* by the Xiph.Org Foundation http://www.xiph.org/ *
* *
********************************************************************
function: stdio-based convenience library for opening/seeking/decoding
- last mod: $Id: vorbisfile.c 17573 2010-10-27 14:53:59Z xiphmont $
+ last mod: $Id: vorbisfile.c 19457 2015-03-03 00:15:29Z giles $
********************************************************************/
@@ -80,11 +80,14 @@ static long _get_data(OggVorbis_File *vf){
/* save a tiny smidge of verbosity to make the code more readable */
static int _seek_helper(OggVorbis_File *vf,ogg_int64_t offset){
if(vf->datasource){
- if(!(vf->callbacks.seek_func)||
- (vf->callbacks.seek_func)(vf->datasource, offset, SEEK_SET) == -1)
- return OV_EREAD;
- vf->offset=offset;
- ogg_sync_reset(&vf->oy);
+ /* only seek if the file position isn't already there */
+ if(vf->offset != offset){
+ if(!(vf->callbacks.seek_func)||
+ (vf->callbacks.seek_func)(vf->datasource, offset, SEEK_SET) == -1)
+ return OV_EREAD;
+ vf->offset=offset;
+ ogg_sync_reset(&vf->oy);
+ }
}else{
/* shouldn't happen unless someone writes a broken callback */
return OV_EFAULT;
@@ -138,14 +141,12 @@ static ogg_int64_t _get_next_page(OggVorbis_File *vf,ogg_page *og,
}
}
-/* find the latest page beginning before the current stream cursor
- position. Much dirtier than the above as Ogg doesn't have any
- backward search linkage. no 'readp' as it will certainly have to
- read. */
+/* find the latest page beginning before the passed in position. Much
+ dirtier than the above as Ogg doesn't have any backward search
+ linkage. no 'readp' as it will certainly have to read. */
/* returns offset or OV_EREAD, OV_FAULT */
-static ogg_int64_t _get_prev_page(OggVorbis_File *vf,ogg_page *og){
- ogg_int64_t begin=vf->offset;
- ogg_int64_t end=begin;
+static ogg_int64_t _get_prev_page(OggVorbis_File *vf,ogg_int64_t begin,ogg_page *og){
+ ogg_int64_t end = begin;
ogg_int64_t ret;
ogg_int64_t offset=-1;
@@ -220,11 +221,10 @@ static int _lookup_page_serialno(ogg_page *og, long *serialno_list, int n){
info of last page of the matching serial number instead of the very
last page. If no page of the specified serialno is seen, it will
return the info of last page and alter *serialno. */
-static ogg_int64_t _get_prev_page_serial(OggVorbis_File *vf,
+static ogg_int64_t _get_prev_page_serial(OggVorbis_File *vf, ogg_int64_t begin,
long *serial_list, int serial_n,
int *serialno, ogg_int64_t *granpos){
ogg_page og;
- ogg_int64_t begin=vf->offset;
ogg_int64_t end=begin;
ogg_int64_t ret;
@@ -438,9 +438,11 @@ static ogg_int64_t _initial_pcmoffset(OggVorbis_File *vf, vorbis_info *vi){
while((result=ogg_stream_packetout(&vf->os,&op))){
if(result>0){ /* ignore holes */
long thisblock=vorbis_packet_blocksize(vi,&op);
- if(lastblock!=-1)
- accumulated+=(lastblock+thisblock)>>2;
- lastblock=thisblock;
+ if(thisblock>=0){
+ if(lastblock!=-1)
+ accumulated+=(lastblock+thisblock)>>2;
+ lastblock=thisblock;
+ }
}
}
@@ -494,10 +496,10 @@ static int _bisect_forward_serialno(OggVorbis_File *vf,
down to (or just started with) a single link. Now we need to
find the last vorbis page belonging to the first vorbis stream
for this link. */
-
+ searched = end;
while(endserial != serialno){
endserial = serialno;
- vf->offset=_get_prev_page_serial(vf,currentno_list,currentnos,&endserial,&endgran);
+ searched=_get_prev_page_serial(vf,searched,currentno_list,currentnos,&endserial,&endgran);
}
vf->links=m+1;
@@ -518,10 +520,15 @@ static int _bisect_forward_serialno(OggVorbis_File *vf,
}else{
+ /* last page is not in the starting stream's serial number list,
+ so we have multiple links. Find where the stream that begins
+ our bisection ends. */
+
long *next_serialno_list=NULL;
int next_serialnos=0;
vorbis_info vi;
vorbis_comment vc;
+ int testserial = serialno+1;
/* the below guards against garbage seperating the last and
first pages of two links. */
@@ -534,10 +541,8 @@ static int _bisect_forward_serialno(OggVorbis_File *vf,
bisect=(searched+endsearched)/2;
}
- if(bisect != vf->offset){
- ret=_seek_helper(vf,bisect);
- if(ret)return(ret);
- }
+ ret=_seek_helper(vf,bisect);
+ if(ret)return(ret);
last=_get_next_page(vf,&og,-1);
if(last==OV_EREAD)return(OV_EREAD);
@@ -550,28 +555,22 @@ static int _bisect_forward_serialno(OggVorbis_File *vf,
}
/* Bisection point found */
-
/* for the time being, fetch end PCM offset the simple way */
- {
- int testserial = serialno+1;
- vf->offset = next;
- while(testserial != serialno){
- testserial = serialno;
- vf->offset=_get_prev_page_serial(vf,currentno_list,currentnos,&testserial,&searchgran);
- }
+ searched = next;
+ while(testserial != serialno){
+ testserial = serialno;
+ searched = _get_prev_page_serial(vf,searched,currentno_list,currentnos,&testserial,&searchgran);
}
- if(vf->offset!=next){
- ret=_seek_helper(vf,next);
- if(ret)return(ret);
- }
+ ret=_seek_helper(vf,next);
+ if(ret)return(ret);
ret=_fetch_headers(vf,&vi,&vc,&next_serialno_list,&next_serialnos,NULL);
if(ret)return(ret);
serialno = vf->os.serialno;
dataoffset = vf->offset;
- /* this will consume a page, however the next bistection always
+ /* this will consume a page, however the next bisection always
starts with a raw seek */
pcmoffset = _initial_pcmoffset(vf,&vi);
@@ -638,11 +637,11 @@ static int _open_seekable2(OggVorbis_File *vf){
/* Get the offset of the last page of the physical bitstream, or, if
we're lucky the last vorbis page of this link as most OggVorbis
files will contain a single logical bitstream */
- end=_get_prev_page_serial(vf,vf->serialnos+2,vf->serialnos[1],&endserial,&endgran);
+ end=_get_prev_page_serial(vf,vf->end,vf->serialnos+2,vf->serialnos[1],&endserial,&endgran);
if(end<0)return(end);
/* now determine bitstream structure recursively */
- if(_bisect_forward_serialno(vf,0,dataoffset,vf->offset,endgran,endserial,
+ if(_bisect_forward_serialno(vf,0,dataoffset,end,endgran,endserial,
vf->serialnos+2,vf->serialnos[1],0)<0)return(OV_EREAD);
vf->offsets[0]=0;
@@ -1055,7 +1054,11 @@ int ov_halfrate_p(OggVorbis_File *vf){
/* Only partially open the vorbis file; test for Vorbisness, and load
the headers for the first chain. Do not seek (although test for
seekability). Use ov_test_open to finish opening the file, else
- ov_clear to close/free it. Same return codes as open. */
+ ov_clear to close/free it. Same return codes as open.
+
+ Note that vorbisfile does _not_ take ownership of the file if the
+ call fails; the calling applicaiton is responsible for closing the file
+ if this call returns an error. */
int ov_test_callbacks(void *f,OggVorbis_File *vf,
const char *initial,long ibytes,ov_callbacks callbacks)
@@ -1417,22 +1420,41 @@ int ov_pcm_seek_page(OggVorbis_File *vf,ogg_int64_t pos){
if(pos>=total)break;
}
- /* search within the logical bitstream for the page with the highest
- pcm_pos preceding (or equal to) pos. There is a danger here;
- missing pages or incorrect frame number information in the
- bitstream could make our task impossible. Account for that (it
- would be an error condition) */
+ /* Search within the logical bitstream for the page with the highest
+ pcm_pos preceding pos. If we're looking for a position on the
+ first page, bisection will halt without finding our position as
+ it's before the first explicit granulepos fencepost. That case is
+ handled separately below.
+
+ There is a danger here; missing pages or incorrect frame number
+ information in the bitstream could make our task impossible.
+ Account for that (it would be an error condition) */
+
+ /* new search algorithm originally by HB (Nicholas Vinen) */
- /* new search algorithm by HB (Nicholas Vinen) */
{
ogg_int64_t end=vf->offsets[link+1];
- ogg_int64_t begin=vf->offsets[link];
+ ogg_int64_t begin=vf->dataoffsets[link];
ogg_int64_t begintime = vf->pcmlengths[link*2];
ogg_int64_t endtime = vf->pcmlengths[link*2+1]+begintime;
ogg_int64_t target=pos-total+begintime;
- ogg_int64_t best=begin;
+ ogg_int64_t best=-1;
+ int got_page=0;
ogg_page og;
+
+ /* if we have only one page, there will be no bisection. Grab the page here */
+ if(begin==end){
+ result=_seek_helper(vf,begin);
+ if(result) goto seek_error;
+
+ result=_get_next_page(vf,&og,1);
+ if(result<0) goto seek_error;
+
+ got_page=1;
+ }
+
+ /* bisection loop */
while(begin<end){
ogg_int64_t bisect;
@@ -1447,51 +1469,80 @@ int ov_pcm_seek_page(OggVorbis_File *vf,ogg_int64_t pos){
bisect=begin;
}
- if(bisect!=vf->offset){
- result=_seek_helper(vf,bisect);
- if(result) goto seek_error;
- }
+ result=_seek_helper(vf,bisect);
+ if(result) goto seek_error;
+ /* read loop within the bisection loop */
while(begin<end){
result=_get_next_page(vf,&og,end-vf->offset);
if(result==OV_EREAD) goto seek_error;
if(result<0){
+ /* there is no next page! */
if(bisect<=begin+1)
- end=begin; /* found it */
+ /* No bisection left to perform. We've either found the
+ best candidate already or failed. Exit loop. */
+ end=begin;
else{
+ /* We tried to load a fraction of the last page; back up a
+ bit and try to get the whole last page */
if(bisect==0) goto seek_error;
bisect-=CHUNKSIZE;
+
+ /* don't repeat/loop on a read we've already performed */
if(bisect<=begin)bisect=begin+1;
+
+ /* seek and cntinue bisection */
result=_seek_helper(vf,bisect);
if(result) goto seek_error;
}
}else{
ogg_int64_t granulepos;
+ got_page=1;
+ /* got a page. analyze it */
+ /* only consider pages from primary vorbis stream */
if(ogg_page_serialno(&og)!=vf->serialnos[link])
continue;
+ /* only consider pages with the granulepos set */
granulepos=ogg_page_granulepos(&og);
if(granulepos==-1)continue;
if(granulepos<target){
+ /* this page is a successful candidate! Set state */
+
best=result; /* raw offset of packet with granulepos */
begin=vf->offset; /* raw offset of next page */
begintime=granulepos;
+ /* if we're before our target but within a short distance,
+ don't bisect; read forward */
if(target-begintime>44100)break;
- bisect=begin; /* *not* begin + 1 */
+
+ bisect=begin; /* *not* begin + 1 as above */
}else{
- if(bisect<=begin+1)
- end=begin; /* found it */
- else{
- if(end==vf->offset){ /* we're pretty close - we'd be stuck in */
+
+ /* This is one of our pages, but the granpos is
+ post-target; it is not a bisection return
+ candidate. (The only way we'd use it is if it's the
+ first page in the stream; we handle that case later
+ outside the bisection) */
+ if(bisect<=begin+1){
+ /* No bisection left to perform. We've either found the
+ best candidate already or failed. Exit loop. */
+ end=begin;
+ }else{
+ if(end==vf->offset){
+ /* bisection read to the end; use the known page
+ boundary (result) to update bisection, back up a
+ little bit, and try again */
end=result;
- bisect-=CHUNKSIZE; /* an endless loop otherwise. */
+ bisect-=CHUNKSIZE;
if(bisect<=begin)bisect=begin+1;
result=_seek_helper(vf,bisect);
if(result) goto seek_error;
}else{
+ /* Normal bisection */
end=bisect;
endtime=granulepos;
break;
@@ -1502,9 +1553,46 @@ int ov_pcm_seek_page(OggVorbis_File *vf,ogg_int64_t pos){
}
}
- /* found our page. seek to it, update pcm offset. Easier case than
- raw_seek, don't keep packets preceding granulepos. */
- {
+ /* Out of bisection: did it 'fail?' */
+ if(best == -1){
+
+ /* Check the 'looking for data in first page' special case;
+ bisection would 'fail' because our search target was before the
+ first PCM granule position fencepost. */
+
+ if(got_page &&
+ begin == vf->dataoffsets[link] &&
+ ogg_page_serialno(&og)==vf->serialnos[link]){
+
+ /* Yes, this is the beginning-of-stream case. We already have
+ our page, right at the beginning of PCM data. Set state
+ and return. */
+
+ vf->pcm_offset=total;
+
+ if(link!=vf->current_link){
+ /* Different link; dump entire decode machine */
+ _decode_clear(vf);
+
+ vf->current_link=link;
+ vf->current_serialno=vf->serialnos[link];
+ vf->ready_state=STREAMSET;
+
+ }else{
+ vorbis_synthesis_restart(&vf->vd);
+ }
+
+ ogg_stream_reset_serialno(&vf->os,vf->current_serialno);
+ ogg_stream_pagein(&vf->os,&og);
+
+ }else
+ goto seek_error;
+
+ }else{
+
+ /* Bisection found our page. seek to it, update pcm offset. Easier case than
+ raw_seek, don't keep packets preceding granulepos. */
+
ogg_page og;
ogg_packet op;
@@ -1534,23 +1622,23 @@ int ov_pcm_seek_page(OggVorbis_File *vf,ogg_int64_t pos){
while(1){
result=ogg_stream_packetpeek(&vf->os,&op);
if(result==0){
- /* !!! the packet finishing this page originated on a
- preceding page. Keep fetching previous pages until we
- get one with a granulepos or without the 'continued' flag
- set. Then just use raw_seek for simplicity. */
-
- result=_seek_helper(vf,best);
- if(result<0) goto seek_error;
-
- while(1){
- result=_get_prev_page(vf,&og);
+ /* No packet returned; we exited the bisection with 'best'
+ pointing to a page with a granule position, so the packet
+ finishing this page ('best') originated on a preceding
+ page. Keep fetching previous pages until we get one with
+ a granulepos or without the 'continued' flag set. Then
+ just use raw_seek for simplicity. */
+ /* Do not rewind past the beginning of link data; if we do,
+ it's either a bug or a broken stream */
+ result=best;
+ while(result>vf->dataoffsets[link]){
+ result=_get_prev_page(vf,result,&og);
if(result<0) goto seek_error;
if(ogg_page_serialno(&og)==vf->current_serialno &&
(ogg_page_granulepos(&og)>-1 ||
!ogg_page_continued(&og))){
return ov_raw_seek(vf,result);
}
- vf->offset=result;
}
}
if(result<0){
@@ -2054,14 +2142,14 @@ long ov_read_float(OggVorbis_File *vf,float ***pcm_channels,int length,
}
}
-extern float *vorbis_window(vorbis_dsp_state *v,int W);
+extern const float *vorbis_window(vorbis_dsp_state *v,int W);
static void _ov_splice(float **pcm,float **lappcm,
int n1, int n2,
int ch1, int ch2,
- float *w1, float *w2){
+ const float *w1, const float *w2){
int i,j;
- float *w=w1;
+ const float *w=w1;
int n=n1;
if(n1>n2){
@@ -2169,7 +2257,7 @@ int ov_crosslap(OggVorbis_File *vf1, OggVorbis_File *vf2){
vorbis_info *vi1,*vi2;
float **lappcm;
float **pcm;
- float *w1,*w2;
+ const float *w1,*w2;
int n1,n2,i,ret,hs1,hs2;
if(vf1==vf2)return(0); /* degenerate case */
@@ -2223,7 +2311,7 @@ static int _ov_64_seek_lap(OggVorbis_File *vf,ogg_int64_t pos,
vorbis_info *vi;
float **lappcm;
float **pcm;
- float *w1,*w2;
+ const float *w1,*w2;
int n1,n2,ch1,ch2,hs;
int i,ret;
@@ -2284,7 +2372,7 @@ static int _ov_d_seek_lap(OggVorbis_File *vf,double pos,
vorbis_info *vi;
float **lappcm;
float **pcm;
- float *w1,*w2;
+ const float *w1,*w2;
int n1,n2,ch1,ch2,hs;
int i,ret;
diff --git a/drivers/vorbis/window.c b/drivers/vorbis/window.c
index efebbfa8a0..0305b79297 100644
--- a/drivers/vorbis/window.c
+++ b/drivers/vorbis/window.c
@@ -11,7 +11,7 @@
********************************************************************
function: window functions
- last mod: $Id: window.c 16227 2009-07-08 06:58:46Z xiphmont $
+ last mod: $Id: window.c 19028 2013-12-02 23:23:39Z tterribe $
********************************************************************/
@@ -19,6 +19,7 @@
#include <math.h>
#include "os.h"
#include "misc.h"
+#include "window.h"
static const float vwin64[32] = {
0.0009460463F, 0.0085006468F, 0.0235352254F, 0.0458950567F,
diff --git a/drivers/vorbis/window.h b/drivers/vorbis/window.h
index 192bd9cfe7..51f97599f5 100644
--- a/drivers/vorbis/window.h
+++ b/drivers/vorbis/window.h
@@ -11,14 +11,14 @@
********************************************************************
function: window functions
- last mod: $Id: window.h 13293 2007-07-24 00:09:47Z xiphmont $
+ last mod: $Id: window.h 19028 2013-12-02 23:23:39Z tterribe $
********************************************************************/
#ifndef _V_WINDOW_
#define _V_WINDOW_
-extern float *_vorbis_window_get(int n);
+extern const float *_vorbis_window_get(int n);
extern void _vorbis_apply_window(float *d,int *winno,long *blocksizes,
int lW,int W,int nW);
diff --git a/drivers/webp/image_loader_webp.cpp b/drivers/webp/image_loader_webp.cpp
index 5fb14eaf7a..68bb857293 100644
--- a/drivers/webp/image_loader_webp.cpp
+++ b/drivers/webp/image_loader_webp.cpp
@@ -1,14 +1,31 @@
-/*************************************************/
-/* image_loader_webp.cpp */
-/*************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/*************************************************/
-/* Source code within this file is: */
-/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */
-/* All Rights Reserved. */
-/*************************************************/
-
+/*************************************************************************/
+/* image_loader_webp.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "image_loader_webp.h"
#include "print_string.h"
diff --git a/drivers/webp/image_loader_webp.h b/drivers/webp/image_loader_webp.h
index ea99a60676..24f79708db 100644
--- a/drivers/webp/image_loader_webp.h
+++ b/drivers/webp/image_loader_webp.h
@@ -1,14 +1,31 @@
-/*************************************************/
-/* image_loader_webp.h */
-/*************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/*************************************************/
-/* Source code within this file is: */
-/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */
-/* All Rights Reserved. */
-/*************************************************/
-
+/*************************************************************************/
+/* image_loader_webp.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef IMAGE_LOADER_WEBP_H
#define IMAGE_LOADER_WEBP_H
diff --git a/drivers/webpold/image_loader_webp.cpp b/drivers/webpold/image_loader_webp.cpp
index 5fb14eaf7a..68bb857293 100644
--- a/drivers/webpold/image_loader_webp.cpp
+++ b/drivers/webpold/image_loader_webp.cpp
@@ -1,14 +1,31 @@
-/*************************************************/
-/* image_loader_webp.cpp */
-/*************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/*************************************************/
-/* Source code within this file is: */
-/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */
-/* All Rights Reserved. */
-/*************************************************/
-
+/*************************************************************************/
+/* image_loader_webp.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "image_loader_webp.h"
#include "print_string.h"
diff --git a/drivers/webpold/image_loader_webp.h b/drivers/webpold/image_loader_webp.h
index ea99a60676..24f79708db 100644
--- a/drivers/webpold/image_loader_webp.h
+++ b/drivers/webpold/image_loader_webp.h
@@ -1,14 +1,31 @@
-/*************************************************/
-/* image_loader_webp.h */
-/*************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/*************************************************/
-/* Source code within this file is: */
-/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */
-/* All Rights Reserved. */
-/*************************************************/
-
+/*************************************************************************/
+/* image_loader_webp.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef IMAGE_LOADER_WEBP_H
#define IMAGE_LOADER_WEBP_H
diff --git a/drivers/windows/dir_access_windows.cpp b/drivers/windows/dir_access_windows.cpp
index 913ba1eb2b..fa18f7c1f5 100644
--- a/drivers/windows/dir_access_windows.cpp
+++ b/drivers/windows/dir_access_windows.cpp
@@ -191,23 +191,21 @@ Error DirAccessWindows::make_dir(String p_dir) {
#else
- p_dir=fix_path(p_dir);
-
- //p_dir.replace("/","\\");
+ if (p_dir.is_rel_path())
+ p_dir=get_current_dir().plus_file(p_dir);
+ else
+ p_dir=fix_path(p_dir);
+ p_dir = p_dir.replace("/","\\");
bool success;
int err;
- wchar_t real_current_dir_name[2048];
- GetCurrentDirectoryW(2048,real_current_dir_name);
-
- SetCurrentDirectoryW(current_dir.c_str());
+ p_dir="\\\\?\\"+p_dir; //done according to
+// https://msdn.microsoft.com/en-us/library/windows/desktop/aa363855(v=vs.85).aspx
success=CreateDirectoryW(p_dir.c_str(), NULL);
err = GetLastError();
- SetCurrentDirectoryW(real_current_dir_name);
-
if (success) {
return OK;
};
@@ -315,6 +313,7 @@ Error DirAccessWindows::remove(String p_path) {
else
p_path=fix_path(p_path);
+
printf("erasing %s\n",p_path.utf8().get_data());
//WIN32_FILE_ATTRIBUTE_DATA fileInfo;
//DWORD fileAttr = GetFileAttributesExW(p_path.c_str(), GetFileExInfoStandard, &fileInfo);
@@ -360,7 +359,8 @@ FileType DirAccessWindows::get_file_type(const String& p_file) const {
size_t DirAccessWindows::get_space_left() {
uint64_t bytes = 0;
- GetDiskFreeSpaceEx(NULL,(PULARGE_INTEGER)&bytes,NULL,NULL);
+ if (!GetDiskFreeSpaceEx(NULL,(PULARGE_INTEGER)&bytes,NULL,NULL))
+ return 0;
//this is either 0 or a value in bytes.
return (size_t)bytes;
diff --git a/main/input_default.cpp b/main/input_default.cpp
index a6f14ae1f5..4fcb450bce 100644
--- a/main/input_default.cpp
+++ b/main/input_default.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* input_default.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "input_default.h"
#include "servers/visual_server.h"
#include "os/os.h"
@@ -327,7 +355,7 @@ void InputDefault::start_joy_vibration(int p_device, float p_weak_magnitude, flo
vibration.weak_magnitude = p_weak_magnitude;
vibration.strong_magnitude = p_strong_magnitude;
vibration.duration = p_duration;
- vibration.timestamp = OS::get_singleton()->get_unix_time();
+ vibration.timestamp = OS::get_singleton()->get_ticks_usec();
joy_vibration[p_device] = vibration;
}
@@ -337,7 +365,7 @@ void InputDefault::stop_joy_vibration(int p_device) {
vibration.weak_magnitude = 0;
vibration.strong_magnitude = 0;
vibration.duration = 0;
- vibration.timestamp = OS::get_singleton()->get_unix_time();
+ vibration.timestamp = OS::get_singleton()->get_ticks_usec();
joy_vibration[p_device] = vibration;
}
diff --git a/main/input_default.h b/main/input_default.h
index 01b813f3ca..c7fef8374c 100644
--- a/main/input_default.h
+++ b/main/input_default.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* input_default.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef INPUT_DEFAULT_H
#define INPUT_DEFAULT_H
@@ -161,7 +189,7 @@ public:
void set_magnetometer(const Vector3& p_magnetometer);
void set_joy_axis(int p_device,int p_axis,float p_value);
- virtual void start_joy_vibration(int p_device, float p_weak_magnitude, float p_strong_magnitude, float p_duration);
+ virtual void start_joy_vibration(int p_device, float p_weak_magnitude, float p_strong_magnitude, float p_duration=0);
virtual void stop_joy_vibration(int p_device);
void set_main_loop(MainLoop *main_loop);
diff --git a/main/main.cpp b/main/main.cpp
index 6cddea823a..de212deefd 100644
--- a/main/main.cpp
+++ b/main/main.cpp
@@ -110,6 +110,7 @@ static bool use_debug_profiler=false;
static bool force_lowdpi=false;
static int init_screen=-1;
static bool use_vsync=true;
+static bool editor=false;
static String unescape_cmdline(const String& p_str) {
@@ -281,7 +282,7 @@ Error Main::setup(const char *execpath,int argc, char *argv[],bool p_second_phas
packed_data->add_pack_source(zip_packed_data);
#endif
- bool editor=false;
+
while(I) {
@@ -953,7 +954,7 @@ Error Main::setup2() {
Globals::get_singleton()->set_custom_property_info("application/icon",PropertyInfo(Variant::STRING,"application/icon",PROPERTY_HINT_FILE,"*.png,*.webp"));
if (bool(GLOBAL_DEF("display/emulate_touchscreen",false))) {
- if (!OS::get_singleton()->has_touchscreen_ui_hint() && Input::get_singleton()) {
+ if (!OS::get_singleton()->has_touchscreen_ui_hint() && Input::get_singleton() && !editor) {
//only if no touchscreen ui hint, set emulation
InputDefault *id = Input::get_singleton()->cast_to<InputDefault>();
if (id)
diff --git a/modules/gdscript/gd_editor.cpp b/modules/gdscript/gd_editor.cpp
index 7e5ff620c9..b1da7e782c 100644
--- a/modules/gdscript/gd_editor.cpp
+++ b/modules/gdscript/gd_editor.cpp
@@ -497,11 +497,6 @@ static Ref<Reference> _get_parent_class(GDCompletionContext& context) {
int base_idx = GDScriptLanguage::get_singleton()->get_global_map()[base];
native = GDScriptLanguage::get_singleton()->get_global_array()[base_idx];
- if (!native.is_valid()) {
-
- print_line("Global not a class: '"+base+"'");
-
- }
return native;
}
@@ -1024,7 +1019,7 @@ static bool _guess_identifier_type_in_block(GDCompletionContext& context,int p_l
}
-static bool _guess_identifier_from_assignment_in_function(GDCompletionContext& context,const StringName& p_identifier, const StringName& p_function,GDCompletionIdentifier &r_type) {
+static bool _guess_identifier_from_assignment_in_function(GDCompletionContext& context, int p_src_line, const StringName& p_identifier, const StringName& p_function,GDCompletionIdentifier &r_type) {
const GDParser::FunctionNode* func=NULL;
for(int i=0;i<context._class->functions.size();i++) {
@@ -1039,7 +1034,9 @@ static bool _guess_identifier_from_assignment_in_function(GDCompletionContext& c
for(int i=0;i<func->body->statements.size();i++) {
-
+ if (func->body->statements[i]->line == p_src_line) {
+ break;
+ }
if (func->body->statements[i]->type==GDParser::BlockNode::TYPE_OPERATOR) {
const GDParser::OperatorNode *op = static_cast<const GDParser::OperatorNode *>(func->body->statements[i]);
@@ -1160,11 +1157,11 @@ static bool _guess_identifier_type(GDCompletionContext& context,int p_line,const
}
//try to guess from assignment in construtor or _ready
- if (_guess_identifier_from_assignment_in_function(context,p_identifier,"_ready",r_type))
+ if (_guess_identifier_from_assignment_in_function(context,p_line+1,p_identifier,"_ready",r_type))
return true;
- if (_guess_identifier_from_assignment_in_function(context,p_identifier,"_enter_tree",r_type))
+ if (_guess_identifier_from_assignment_in_function(context,p_line+1,p_identifier,"_enter_tree",r_type))
return true;
- if (_guess_identifier_from_assignment_in_function(context,p_identifier,"_init",r_type))
+ if (_guess_identifier_from_assignment_in_function(context,p_line+1,p_identifier,"_init",r_type))
return true;
return false;
@@ -2122,10 +2119,8 @@ Error GDScriptLanguage::complete_code(const String& p_code, const String& p_base
switch(p.get_completion_type()) {
case GDParser::COMPLETION_NONE: {
- print_line("No completion");
} break;
case GDParser::COMPLETION_BUILT_IN_TYPE_CONSTANT: {
- print_line("Built in type constant");
List<StringName> constants;
Variant::get_numeric_constants_for_type(p.get_completion_built_in_constant(),&constants);
for(List<StringName>::Element *E=constants.front();E;E=E->next()) {
@@ -2141,7 +2136,6 @@ Error GDScriptLanguage::complete_code(const String& p_code, const String& p_base
_find_identifiers(context,p.get_completion_line(),isfunction,options);
} break;
case GDParser::COMPLETION_PARENT_FUNCTION: {
- print_line("parent function");
} break;
case GDParser::COMPLETION_METHOD:
diff --git a/modules/gdscript/gd_function.cpp b/modules/gdscript/gd_function.cpp
index 9d438998cb..6e52686de4 100644
--- a/modules/gdscript/gd_function.cpp
+++ b/modules/gdscript/gd_function.cpp
@@ -654,10 +654,10 @@ Variant GDFunction::call(GDInstance *p_instance, const Variant **p_args, int p_a
if (call_ret) {
GET_VARIANT_PTR(ret,argc);
- *ret = base->call(*methodname,(const Variant**)argptrs,argc,err);
+ base->call_ptr(*methodname,(const Variant**)argptrs,argc,ret,err);
} else {
- base->call(*methodname,(const Variant**)argptrs,argc,err);
+ base->call_ptr(*methodname,(const Variant**)argptrs,argc,NULL,err);
}
#ifdef DEBUG_ENABLED
if (GDScriptLanguage::get_singleton()->profiling) {
diff --git a/modules/gdscript/gd_functions.cpp b/modules/gdscript/gd_functions.cpp
index 077255064d..ec66841662 100644
--- a/modules/gdscript/gd_functions.cpp
+++ b/modules/gdscript/gd_functions.cpp
@@ -87,6 +87,7 @@ const char *GDFunctions::get_func_name(Function p_func) {
"funcref",
"convert",
"typeof",
+ "type_exists",
"str",
"print",
"printt",
@@ -532,6 +533,12 @@ void GDFunctions::call(Function p_func,const Variant **p_args,int p_arg_count,Va
r_ret = p_args[0]->get_type();
} break;
+ case TYPE_EXISTS: {
+
+ VALIDATE_ARG_COUNT(1);
+ r_ret = ObjectTypeDB::type_exists(*p_args[0]);
+
+ } break;
case TEXT_STR: {
String str;
@@ -1126,6 +1133,7 @@ bool GDFunctions::is_deterministic(Function p_func) {
case LOGIC_NEAREST_PO2:
case TYPE_CONVERT:
case TYPE_OF:
+ case TYPE_EXISTS:
case TEXT_STR:
case COLOR8:
// enable for debug only, otherwise not desirable - case GEN_RANGE:
@@ -1309,12 +1317,12 @@ MethodInfo GDFunctions::get_info(Function p_func) {
return mi;
} break;
case MATH_SEED: {
- MethodInfo mi("seed",PropertyInfo(Variant::REAL,"seed"));
+ MethodInfo mi("seed",PropertyInfo(Variant::INT,"seed"));
mi.return_val.type=Variant::NIL;
return mi;
} break;
case MATH_RANDSEED: {
- MethodInfo mi("rand_seed",PropertyInfo(Variant::REAL,"seed"));
+ MethodInfo mi("rand_seed",PropertyInfo(Variant::INT,"seed"));
mi.return_val.type=Variant::ARRAY;
return mi;
} break;
@@ -1389,6 +1397,13 @@ MethodInfo GDFunctions::get_info(Function p_func) {
return mi;
} break;
+ case TYPE_EXISTS: {
+
+ MethodInfo mi("type_exists",PropertyInfo(Variant::STRING,"type"));
+ mi.return_val.type=Variant::BOOL;
+ return mi;
+
+ } break;
case TEXT_STR: {
MethodInfo mi("str",PropertyInfo(Variant::NIL,"what"),PropertyInfo(Variant::NIL,"..."));
diff --git a/modules/gdscript/gd_functions.h b/modules/gdscript/gd_functions.h
index 8c88472567..c78956fe20 100644
--- a/modules/gdscript/gd_functions.h
+++ b/modules/gdscript/gd_functions.h
@@ -81,6 +81,7 @@ public:
FUNC_FUNCREF,
TYPE_CONVERT,
TYPE_OF,
+ TYPE_EXISTS,
TEXT_STR,
TEXT_PRINT,
TEXT_PRINT_TABBED,
diff --git a/modules/gdscript/gd_pretty_print.cpp b/modules/gdscript/gd_pretty_print.cpp
deleted file mode 100644
index cca3cd3984..0000000000
--- a/modules/gdscript/gd_pretty_print.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-/*************************************************************************/
-/* gd_pretty_print.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#include "gd_pretty_print.h"
-
-GDPrettyPrint::GDPrettyPrint() {
-
-
-}
diff --git a/modules/gdscript/gd_pretty_print.h b/modules/gdscript/gd_pretty_print.h
deleted file mode 100644
index 0106d873d9..0000000000
--- a/modules/gdscript/gd_pretty_print.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*************************************************************************/
-/* gd_pretty_print.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#ifndef GD_PRETTY_PRINT_H
-#define GD_PRETTY_PRINT_H
-
-
-
-
-class GDPrettyPrint {
-public:
- GDPrettyPrint();
-};
-
-#endif // GD_PRETTY_PRINT_H
diff --git a/modules/gdscript/gd_tokenizer.cpp b/modules/gdscript/gd_tokenizer.cpp
index 8dd68cf95a..0a77b96569 100644
--- a/modules/gdscript/gd_tokenizer.cpp
+++ b/modules/gdscript/gd_tokenizer.cpp
@@ -725,7 +725,7 @@ void GDTokenizerText::_advance() {
if (hexa_found) {
int val = str.hex_to_int();
_make_constant(val);
- } else if (period_found) {
+ } else if (period_found || exponent_found) {
real_t val = str.to_double();
//print_line("*%*%*%*% to convert: "+str+" result: "+rtos(val));
_make_constant(val);
diff --git a/modules/gdscript/register_types.cpp b/modules/gdscript/register_types.cpp
index 2aea494f39..6aa53f03ef 100644
--- a/modules/gdscript/register_types.cpp
+++ b/modules/gdscript/register_types.cpp
@@ -1,14 +1,31 @@
-/*************************************************/
-/* register_script_types.cpp */
-/*************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/*************************************************/
-/* Source code within this file is: */
-/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */
-/* All Rights Reserved. */
-/*************************************************/
-
+/*************************************************************************/
+/* register_types.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "register_types.h"
#include "gd_script.h"
diff --git a/modules/ik/ik.cpp b/modules/ik/ik.cpp
index 6c383fdb55..172e16459e 100644
--- a/modules/ik/ik.cpp
+++ b/modules/ik/ik.cpp
@@ -1,12 +1,12 @@
/*************************************************************************/
/* ik.cpp */
+/* Copyright (c) 2016 Sergey Lapin <slapinid@gmail.com> */
/*************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
/* http://www.godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* This file is Copyright (c) 2016 Sergey Lapin <slapinid@gmail.com> */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */
diff --git a/modules/ik/ik.h b/modules/ik/ik.h
index 9daddb229d..b57d69b026 100644
--- a/modules/ik/ik.h
+++ b/modules/ik/ik.h
@@ -1,12 +1,12 @@
/*************************************************************************/
-/* ik.h */
+/* ik.h */
+/* Copyright (c) 2016 Sergey Lapin <slapinid@gmail.com> */
/*************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
/* http://www.godotengine.org */
/*************************************************************************/
/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* This file is (c) 2016 Sergey Lapin <slapinid@gmail.com> */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */
diff --git a/modules/register_module_types.h b/modules/register_module_types.h
index 3cc0422d80..683ce7c6b8 100644
--- a/modules/register_module_types.h
+++ b/modules/register_module_types.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* register_module_types.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef REGISTER_MODULE_TYPES_H
#define REGISTER_MODULE_TYPES_H
diff --git a/platform/android/AndroidManifest.xml.template b/platform/android/AndroidManifest.xml.template
index 852a821c65..2a24c7cdc2 100644
--- a/platform/android/AndroidManifest.xml.template
+++ b/platform/android/AndroidManifest.xml.template
@@ -7,7 +7,7 @@
>
<supports-screens android:smallScreens="true"
android:normalScreens="true"
- android:largeScreens="false"
+ android:largeScreens="true"
android:xlargeScreens="true"/>
<application android:label="@string/godot_project_name_string" android:icon="@drawable/icon" android:allowBackup="false" $$ADD_APPATTRIBUTE_CHUNKS$$ >
diff --git a/platform/android/android_native_app_glue.h b/platform/android/android_native_app_glue.h
index 3e7a4ea7a0..36278d4c66 100644
--- a/platform/android/android_native_app_glue.h
+++ b/platform/android/android_native_app_glue.h
@@ -1,32 +1,5 @@
-/*************************************************************************/
-/* android_native_app_glue.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-/* Copyright (C) 2010 The Android Open Source Project
+/*
+ * Copyright (C) 2010 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
diff --git a/platform/android/export/export.cpp b/platform/android/export/export.cpp
index 863b107616..b8c44a4fc8 100644
--- a/platform/android/export/export.cpp
+++ b/platform/android/export/export.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* export.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "version.h"
#include "export.h"
#include "tools/editor/editor_settings.h"
diff --git a/platform/android/export/export.h b/platform/android/export/export.h
index 88581802b8..a9421e692e 100644
--- a/platform/android/export/export.h
+++ b/platform/android/export/export.h
@@ -1,3 +1,29 @@
-
-
+/*************************************************************************/
+/* export.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
void register_android_exporter();
diff --git a/platform/android/globals/global_defaults.cpp b/platform/android/globals/global_defaults.cpp
index 824a4e3606..9a4252bde0 100644
--- a/platform/android/globals/global_defaults.cpp
+++ b/platform/android/globals/global_defaults.cpp
@@ -1,4 +1,31 @@
-
+/*************************************************************************/
+/* global_defaults.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "global_defaults.h"
#include "globals.h"
diff --git a/platform/android/globals/global_defaults.h b/platform/android/globals/global_defaults.h
index 11617ddfd0..6f240572d8 100644
--- a/platform/android/globals/global_defaults.h
+++ b/platform/android/globals/global_defaults.h
@@ -1,3 +1,29 @@
-
-
+/*************************************************************************/
+/* global_defaults.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
void register_android_global_defaults();
diff --git a/platform/android/java/src/org/godotengine/godot/Dictionary.java b/platform/android/java/src/org/godotengine/godot/Dictionary.java
index 34051c4bb8..e003c245bb 100644
--- a/platform/android/java/src/org/godotengine/godot/Dictionary.java
+++ b/platform/android/java/src/org/godotengine/godot/Dictionary.java
@@ -5,7 +5,7 @@
/* GODOT ENGINE */
/* http://www.godotengine.org */
/*************************************************************************/
-/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
/* */
/* Permission is hereby granted, free of charge, to any person obtaining */
/* a copy of this software and associated documentation files (the */
diff --git a/platform/android/java/src/org/godotengine/godot/Godot.java b/platform/android/java/src/org/godotengine/godot/Godot.java
index 73d54b6afa..cdf17e3161 100644
--- a/platform/android/java/src/org/godotengine/godot/Godot.java
+++ b/platform/android/java/src/org/godotengine/godot/Godot.java
@@ -115,7 +115,17 @@ public class Godot extends Activity implements SensorEventListener, IDownloaderC
private int mState;
private boolean keep_screen_on=true;
- private void setState(int newState) {
+ static private Intent mCurrentIntent;
+
+ @Override public void onNewIntent(Intent intent) {
+ mCurrentIntent = intent;
+ }
+
+ static public Intent getCurrentIntent() {
+ return mCurrentIntent;
+ }
+
+ private void setState(int newState) {
if (mState != newState) {
mState = newState;
mStatusText.setText(Helpers.getDownloaderStringResourceIDFromState(newState));
@@ -545,6 +555,8 @@ public class Godot extends Activity implements SensorEventListener, IDownloaderC
}
}
+ mCurrentIntent = getIntent();
+
initializeGodot();
diff --git a/platform/android/java/src/org/godotengine/godot/GodotDownloaderAlarmReceiver.java b/platform/android/java/src/org/godotengine/godot/GodotDownloaderAlarmReceiver.java
index b602f4757c..ea6c070fae 100644
--- a/platform/android/java/src/org/godotengine/godot/GodotDownloaderAlarmReceiver.java
+++ b/platform/android/java/src/org/godotengine/godot/GodotDownloaderAlarmReceiver.java
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* GodotDownloaderAlarmReceiver.java */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
package org.godotengine.godot;
import com.google.android.vending.expansion.downloader.DownloaderClientMarshaller;
diff --git a/platform/android/java/src/org/godotengine/godot/GodotDownloaderService.java b/platform/android/java/src/org/godotengine/godot/GodotDownloaderService.java
index 6735d387f3..4ea3f13021 100644
--- a/platform/android/java/src/org/godotengine/godot/GodotDownloaderService.java
+++ b/platform/android/java/src/org/godotengine/godot/GodotDownloaderService.java
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* GodotDownloaderService.java */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
package org.godotengine.godot;
import android.content.Context;
diff --git a/platform/android/java/src/org/godotengine/godot/GodotPaymentV3.java b/platform/android/java/src/org/godotengine/godot/GodotPaymentV3.java
index 6bec49410d..fde752acc9 100644
--- a/platform/android/java/src/org/godotengine/godot/GodotPaymentV3.java
+++ b/platform/android/java/src/org/godotengine/godot/GodotPaymentV3.java
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* GodotPaymentV3.java */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
package org.godotengine.godot;
import org.godotengine.godot.Dictionary;
diff --git a/platform/android/java/src/org/godotengine/godot/input/GodotEditText.java b/platform/android/java/src/org/godotengine/godot/input/GodotEditText.java
index c8ffa74ecd..aa92eeae0f 100644
--- a/platform/android/java/src/org/godotengine/godot/input/GodotEditText.java
+++ b/platform/android/java/src/org/godotengine/godot/input/GodotEditText.java
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* GodotEditText.java */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
package org.godotengine.godot.input;
import android.content.Context;
import android.util.AttributeSet;
diff --git a/platform/android/java/src/org/godotengine/godot/input/GodotTextInputWrapper.java b/platform/android/java/src/org/godotengine/godot/input/GodotTextInputWrapper.java
index 64d8826b44..13c8c8b3ec 100644
--- a/platform/android/java/src/org/godotengine/godot/input/GodotTextInputWrapper.java
+++ b/platform/android/java/src/org/godotengine/godot/input/GodotTextInputWrapper.java
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* GodotTextInputWrapper.java */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
package org.godotengine.godot.input;
import android.content.Context;
import android.text.Editable;
diff --git a/platform/android/java/src/org/godotengine/godot/payments/ConsumeTask.java b/platform/android/java/src/org/godotengine/godot/payments/ConsumeTask.java
index 61ccb97161..16b669fbe8 100644
--- a/platform/android/java/src/org/godotengine/godot/payments/ConsumeTask.java
+++ b/platform/android/java/src/org/godotengine/godot/payments/ConsumeTask.java
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* ConsumeTask.java */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
package org.godotengine.godot.payments;
import com.android.vending.billing.IInAppBillingService;
diff --git a/platform/android/java/src/org/godotengine/godot/payments/GenericConsumeTask.java b/platform/android/java/src/org/godotengine/godot/payments/GenericConsumeTask.java
index 293e903284..175d401c87 100644
--- a/platform/android/java/src/org/godotengine/godot/payments/GenericConsumeTask.java
+++ b/platform/android/java/src/org/godotengine/godot/payments/GenericConsumeTask.java
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* GenericConsumeTask.java */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
package org.godotengine.godot.payments;
import com.android.vending.billing.IInAppBillingService;
diff --git a/platform/android/java/src/org/godotengine/godot/payments/HandlePurchaseTask.java b/platform/android/java/src/org/godotengine/godot/payments/HandlePurchaseTask.java
index d120551e4a..e63230c4f8 100644
--- a/platform/android/java/src/org/godotengine/godot/payments/HandlePurchaseTask.java
+++ b/platform/android/java/src/org/godotengine/godot/payments/HandlePurchaseTask.java
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* HandlePurchaseTask.java */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
package org.godotengine.godot.payments;
import org.json.JSONException;
diff --git a/platform/android/java/src/org/godotengine/godot/payments/PaymentsCache.java b/platform/android/java/src/org/godotengine/godot/payments/PaymentsCache.java
index 5f3d931593..0635385f53 100644
--- a/platform/android/java/src/org/godotengine/godot/payments/PaymentsCache.java
+++ b/platform/android/java/src/org/godotengine/godot/payments/PaymentsCache.java
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* PaymentsCache.java */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
package org.godotengine.godot.payments;
import android.content.Context;
diff --git a/platform/android/java/src/org/godotengine/godot/payments/PaymentsManager.java b/platform/android/java/src/org/godotengine/godot/payments/PaymentsManager.java
index effb58aa35..eb33b37ecc 100644
--- a/platform/android/java/src/org/godotengine/godot/payments/PaymentsManager.java
+++ b/platform/android/java/src/org/godotengine/godot/payments/PaymentsManager.java
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* PaymentsManager.java */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
package org.godotengine.godot.payments;
import java.util.ArrayList;
diff --git a/platform/android/java/src/org/godotengine/godot/payments/PurchaseTask.java b/platform/android/java/src/org/godotengine/godot/payments/PurchaseTask.java
index 8b048d8065..9e92d8b5a5 100644
--- a/platform/android/java/src/org/godotengine/godot/payments/PurchaseTask.java
+++ b/platform/android/java/src/org/godotengine/godot/payments/PurchaseTask.java
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* PurchaseTask.java */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
package org.godotengine.godot.payments;
import org.json.JSONException;
diff --git a/platform/android/java/src/org/godotengine/godot/payments/ReleaseAllConsumablesTask.java b/platform/android/java/src/org/godotengine/godot/payments/ReleaseAllConsumablesTask.java
index 7bb5131b49..2dc7dcf6b1 100644
--- a/platform/android/java/src/org/godotengine/godot/payments/ReleaseAllConsumablesTask.java
+++ b/platform/android/java/src/org/godotengine/godot/payments/ReleaseAllConsumablesTask.java
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* ReleaseAllConsumablesTask.java */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
package org.godotengine.godot.payments;
import java.util.ArrayList;
diff --git a/platform/android/java/src/org/godotengine/godot/payments/ValidateTask.java b/platform/android/java/src/org/godotengine/godot/payments/ValidateTask.java
index 2fcf7483b4..f3532f311f 100644
--- a/platform/android/java/src/org/godotengine/godot/payments/ValidateTask.java
+++ b/platform/android/java/src/org/godotengine/godot/payments/ValidateTask.java
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* ValidateTask.java */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
package org.godotengine.godot.payments;
import org.json.JSONException;
diff --git a/platform/android/java/src/org/godotengine/godot/utils/Crypt.java b/platform/android/java/src/org/godotengine/godot/utils/Crypt.java
index 2fb81cef8c..ef7793c1e6 100644
--- a/platform/android/java/src/org/godotengine/godot/utils/Crypt.java
+++ b/platform/android/java/src/org/godotengine/godot/utils/Crypt.java
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* Crypt.java */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
package org.godotengine.godot.utils;
import java.security.MessageDigest;
diff --git a/platform/android/java/src/org/godotengine/godot/utils/CustomSSLSocketFactory.java b/platform/android/java/src/org/godotengine/godot/utils/CustomSSLSocketFactory.java
index 2db88fcc9b..f2b0e8786e 100644
--- a/platform/android/java/src/org/godotengine/godot/utils/CustomSSLSocketFactory.java
+++ b/platform/android/java/src/org/godotengine/godot/utils/CustomSSLSocketFactory.java
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* CustomSSLSocketFactory.java */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
package org.godotengine.godot.utils;
import java.io.IOException;
import java.net.Socket;
@@ -51,4 +79,4 @@ public class CustomSSLSocketFactory extends SSLSocketFactory {
public Socket createSocket() throws IOException {
return sslContext.getSocketFactory().createSocket();
}
-} \ No newline at end of file
+}
diff --git a/platform/android/java/src/org/godotengine/godot/utils/HttpRequester.java b/platform/android/java/src/org/godotengine/godot/utils/HttpRequester.java
index 14346702cc..5687b3c1e1 100644
--- a/platform/android/java/src/org/godotengine/godot/utils/HttpRequester.java
+++ b/platform/android/java/src/org/godotengine/godot/utils/HttpRequester.java
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* HttpRequester.java */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
package org.godotengine.godot.utils;
import java.io.BufferedReader;
diff --git a/platform/android/java/src/org/godotengine/godot/utils/RequestParams.java b/platform/android/java/src/org/godotengine/godot/utils/RequestParams.java
index 36753e368c..d66dfe9531 100644
--- a/platform/android/java/src/org/godotengine/godot/utils/RequestParams.java
+++ b/platform/android/java/src/org/godotengine/godot/utils/RequestParams.java
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* RequestParams.java */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
package org.godotengine.godot.utils;
import java.util.ArrayList;
diff --git a/platform/android/java_bind.cpp b/platform/android/java_bind.cpp
deleted file mode 100644
index 33ecfcffb6..0000000000
--- a/platform/android/java_bind.cpp
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "java_bind.h"
-
-JavaBind::JavaBind()
-{
-}
diff --git a/platform/android/java_bind.h b/platform/android/java_bind.h
deleted file mode 100644
index ca6b4650d3..0000000000
--- a/platform/android/java_bind.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef JAVA_BIND_H
-#define JAVA_BIND_H
-
-class JavaBind
-{
-public:
- JavaBind();
-};
-
-#endif // JAVA_BIND_H
diff --git a/platform/android/java_class_wrapper.cpp b/platform/android/java_class_wrapper.cpp
index 283ea81152..4fda13fec0 100644
--- a/platform/android/java_class_wrapper.cpp
+++ b/platform/android/java_class_wrapper.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* java_class_wrapper.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "java_class_wrapper.h"
#include "thread_jandroid.h"
diff --git a/platform/android/java_class_wrapper.h b/platform/android/java_class_wrapper.h
index d5d8bd5be8..012e7854fe 100644
--- a/platform/android/java_class_wrapper.h
+++ b/platform/android/java_class_wrapper.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* java_class_wrapper.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef JAVA_CLASS_WRAPPER_H
#define JAVA_CLASS_WRAPPER_H
diff --git a/platform/bb10/bbutil.h b/platform/bb10/bbutil.h
index bc422cd9b9..c2a4c5a7f5 100644
--- a/platform/bb10/bbutil.h
+++ b/platform/bb10/bbutil.h
@@ -1,31 +1,3 @@
-/*************************************************************************/
-/* bbutil.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
#ifndef _UTILITY_H_INCLUDED
#define _UTILITY_H_INCLUDED
diff --git a/platform/bb10/export/export.cpp b/platform/bb10/export/export.cpp
index daee5aab9b..7cb0aa3607 100644
--- a/platform/bb10/export/export.cpp
+++ b/platform/bb10/export/export.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* export.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "version.h"
#include "export.h"
#include "tools/editor/editor_settings.h"
diff --git a/platform/bb10/export/export.h b/platform/bb10/export/export.h
index 06c7a681be..bd9cad5cb3 100644
--- a/platform/bb10/export/export.h
+++ b/platform/bb10/export/export.h
@@ -1,3 +1,29 @@
-
-
+/*************************************************************************/
+/* export.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
void register_bb10_exporter();
diff --git a/platform/haiku/context_gl_haiku.cpp b/platform/haiku/context_gl_haiku.cpp
index 330046162d..2fedd1532a 100644
--- a/platform/haiku/context_gl_haiku.cpp
+++ b/platform/haiku/context_gl_haiku.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* context_gl_haiku.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "context_gl_haiku.h"
#if defined(OPENGL_ENABLED) || defined(LEGACYGL_ENABLED)
diff --git a/platform/haiku/context_gl_haiku.h b/platform/haiku/context_gl_haiku.h
index 63caec6fb3..91aae6b382 100644
--- a/platform/haiku/context_gl_haiku.h
+++ b/platform/haiku/context_gl_haiku.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* context_gl_haiku.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef CONTEXT_GL_HAIKU_H
#define CONTEXT_GL_HAIKU_H
diff --git a/platform/haiku/godot_haiku.cpp b/platform/haiku/godot_haiku.cpp
index fa5651d89a..71c9d30239 100644
--- a/platform/haiku/godot_haiku.cpp
+++ b/platform/haiku/godot_haiku.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* godot_haiku.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "main/main.h"
#include "os_haiku.h"
diff --git a/platform/haiku/haiku_application.cpp b/platform/haiku/haiku_application.cpp
index 180bd133fb..2b9604f563 100644
--- a/platform/haiku/haiku_application.cpp
+++ b/platform/haiku/haiku_application.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* haiku_application.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "haiku_application.h"
HaikuApplication::HaikuApplication()
diff --git a/platform/haiku/haiku_application.h b/platform/haiku/haiku_application.h
index a64b01c94d..74316b9b1f 100644
--- a/platform/haiku/haiku_application.h
+++ b/platform/haiku/haiku_application.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* haiku_application.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef HAIKU_APPLICATION_H
#define HAIKU_APPLICATION_H
diff --git a/platform/haiku/haiku_direct_window.cpp b/platform/haiku/haiku_direct_window.cpp
index 184d64f840..583453af1e 100644
--- a/platform/haiku/haiku_direct_window.cpp
+++ b/platform/haiku/haiku_direct_window.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* haiku_direct_window.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include <UnicodeChar.h>
#include "main/main.h"
diff --git a/platform/haiku/haiku_direct_window.h b/platform/haiku/haiku_direct_window.h
index f0398df505..b4fdb6edb2 100644
--- a/platform/haiku/haiku_direct_window.h
+++ b/platform/haiku/haiku_direct_window.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* haiku_direct_window.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef HAIKU_DIRECT_WINDOW_H
#define HAIKU_DIRECT_WINDOW_H
diff --git a/platform/haiku/haiku_gl_view.cpp b/platform/haiku/haiku_gl_view.cpp
index 481d6098a7..da0957c81d 100644
--- a/platform/haiku/haiku_gl_view.cpp
+++ b/platform/haiku/haiku_gl_view.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* haiku_gl_view.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "main/main.h"
#include "haiku_gl_view.h"
diff --git a/platform/haiku/haiku_gl_view.h b/platform/haiku/haiku_gl_view.h
index f44b6d4325..05c288e83b 100644
--- a/platform/haiku/haiku_gl_view.h
+++ b/platform/haiku/haiku_gl_view.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* haiku_gl_view.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef HAIKU_GL_VIEW_H
#define HAIKU_GL_VIEW_H
diff --git a/platform/haiku/key_mapping_haiku.cpp b/platform/haiku/key_mapping_haiku.cpp
index f0622d3f1d..43981b8855 100644
--- a/platform/haiku/key_mapping_haiku.cpp
+++ b/platform/haiku/key_mapping_haiku.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* key_mapping_haiku.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include <InterfaceDefs.h>
#include "key_mapping_haiku.h"
diff --git a/platform/haiku/key_mapping_haiku.h b/platform/haiku/key_mapping_haiku.h
index e2864678a8..1309ee034d 100644
--- a/platform/haiku/key_mapping_haiku.h
+++ b/platform/haiku/key_mapping_haiku.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* key_mapping_haiku.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef KEY_MAPPING_HAIKU_H
#define KEY_MAPPING_HAIKU_H
diff --git a/platform/haiku/os_haiku.cpp b/platform/haiku/os_haiku.cpp
index 308800cec0..f5674fb0eb 100644
--- a/platform/haiku/os_haiku.cpp
+++ b/platform/haiku/os_haiku.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* os_haiku.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include <Screen.h>
#include "servers/visual/visual_server_raster.h"
diff --git a/platform/haiku/os_haiku.h b/platform/haiku/os_haiku.h
index e1b0b86cf4..e1d6b5b7b9 100644
--- a/platform/haiku/os_haiku.h
+++ b/platform/haiku/os_haiku.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* os_haiku.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef OS_HAIKU_H
#define OS_HAIKU_H
diff --git a/platform/haiku/platform_config.h b/platform/haiku/platform_config.h
index 691bdbdb9c..72dc0e5149 100644
--- a/platform/haiku/platform_config.h
+++ b/platform/haiku/platform_config.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* platform_config.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include <alloca.h>
// for ifaddrs.h needed in drivers/unix/ip_unix.cpp
diff --git a/platform/iphone/Appirater.h b/platform/iphone/Appirater.h
index 9c7e3febf6..96dd30e7c7 100644
--- a/platform/iphone/Appirater.h
+++ b/platform/iphone/Appirater.h
@@ -1,31 +1,4 @@
-/*************************************************************************/
-/* Appirater.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
+/*
This file is part of Appirater.
Copyright (c) 2010, Arash Payan
diff --git a/platform/iphone/globals/global_defaults.cpp b/platform/iphone/globals/global_defaults.cpp
index 18a51a5b4e..23261ceb02 100755
--- a/platform/iphone/globals/global_defaults.cpp
+++ b/platform/iphone/globals/global_defaults.cpp
@@ -1,4 +1,31 @@
-
+/*************************************************************************/
+/* global_defaults.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "global_defaults.h"
#include "globals.h"
diff --git a/platform/iphone/globals/global_defaults.h b/platform/iphone/globals/global_defaults.h
index 305b600b43..0f4bf64c9b 100644
--- a/platform/iphone/globals/global_defaults.h
+++ b/platform/iphone/globals/global_defaults.h
@@ -1,3 +1,29 @@
-
-
+/*************************************************************************/
+/* global_defaults.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
void register_iphone_global_defaults();
diff --git a/platform/iphone/ios.h b/platform/iphone/ios.h
index 0e4661520b..8861417284 100644
--- a/platform/iphone/ios.h
+++ b/platform/iphone/ios.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* ios.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef IOS_H
#define IOS_H
diff --git a/platform/iphone/ios.mm b/platform/iphone/ios.mm
index deb63feacf..949d3bcb27 100644
--- a/platform/iphone/ios.mm
+++ b/platform/iphone/ios.mm
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* ios.mm */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "ios.h"
#import <UIKit/UIKit.h>
diff --git a/platform/iphone/main.m b/platform/iphone/main.m
index 055e6a63c8..ea46a69672 100644
--- a/platform/iphone/main.m
+++ b/platform/iphone/main.m
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* main.m */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#import <UIKit/UIKit.h>
#import "app_delegate.h"
#include <stdio.h>
diff --git a/platform/iphone/platform_refcount.h b/platform/iphone/platform_refcount.h
index 45391e651a..3bf8652b4a 100644
--- a/platform/iphone/platform_refcount.h
+++ b/platform/iphone/platform_refcount.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* platform_refcount.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "safe_refcount.h"
#ifdef IPHONE_ENABLED
diff --git a/platform/isim/SCsub b/platform/isim/SCsub
index 2bd65cb49b..8a46565e7e 100644
--- a/platform/isim/SCsub
+++ b/platform/isim/SCsub
@@ -12,22 +12,25 @@ iphone_lib = [
'#platform/iphone/view_controller.mm',
'#platform/iphone/game_center.mm',
'#platform/iphone/in_app_store.mm',
- '#platform/iphone/Appirater.m',
+ '#platform/iphone/icloud.mm',
+ #'#platform/iphone/Appirater.m',
+ '#platform/iphone/ios.mm',
]
-
#env.Depends('#core/math/vector3.h', 'vector3_psp.h')
#iphone_lib = env.Library('iphone', iphone_lib)
env_ios = env.Clone();
+
if env['ios_gles22_override'] == "yes":
env_ios.Append(CPPFLAGS=['-DGLES2_OVERRIDE'])
-if env['ios_appirater'] == "yes":
- env_ios.Append(CPPFLAGS=['-DAPPIRATER_ENABLED'])
+#if env['ios_appirater'] == "yes":
+# env_ios.Append(CPPFLAGS=['-DAPPIRATER_ENABLED'])
+
obj = env_ios.Object('#platform/iphone/godot_iphone.cpp')
diff --git a/platform/javascript/audio_server_javascript.cpp b/platform/javascript/audio_server_javascript.cpp
index fbd5d2e1c0..9f82f084e5 100644
--- a/platform/javascript/audio_server_javascript.cpp
+++ b/platform/javascript/audio_server_javascript.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* audio_server_javascript.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "audio_server_javascript.h"
#include "emscripten.h"
diff --git a/platform/javascript/audio_server_javascript.h b/platform/javascript/audio_server_javascript.h
index 1dc90c48ee..bb9a91f78a 100644
--- a/platform/javascript/audio_server_javascript.h
+++ b/platform/javascript/audio_server_javascript.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* audio_server_javascript.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef AUDIO_SERVER_JAVASCRIPT_H
#define AUDIO_SERVER_JAVASCRIPT_H
diff --git a/platform/osx/dir_access_osx.h b/platform/osx/dir_access_osx.h
index 8b742b64fa..d20eee1e2e 100644
--- a/platform/osx/dir_access_osx.h
+++ b/platform/osx/dir_access_osx.h
@@ -1,5 +1,5 @@
/*************************************************************************/
-/* dir_access_unix.h */
+/* dir_access_osx.h */
/*************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
@@ -37,52 +37,16 @@
#include <dirent.h>
#include "os/dir_access.h"
+#include "drivers/unix/dir_access_unix.h"
/**
@author Juan Linietsky <reduzio@gmail.com>
*/
-class DirAccessOSX : public DirAccess {
+class DirAccessOSX : public DirAccessUnix {
+protected:
- DIR *dir_stream;
-
- static DirAccess *create_fs();
-
- String current_dir;
- bool _cisdir;
- bool _cishidden;
-
-public:
-
- virtual bool list_dir_begin(); ///< This starts dir listing
- virtual String get_next();
- virtual bool current_is_dir() const;
- virtual bool current_is_hidden() const;
-
- virtual void list_dir_end(); ///<
-
- virtual int get_drive_count();
- virtual String get_drive(int p_drive);
-
- virtual Error change_dir(String p_dir); ///< can be relative or absolute, return false on success
- virtual String get_current_dir(); ///< return current dir location
- virtual Error make_dir(String p_dir);
-
- virtual bool file_exists(String p_file);
- virtual bool dir_exists(String p_dir);
-
- virtual uint64_t get_modified_time(String p_file);
-
-
-
- virtual Error rename(String p_from, String p_to);
- virtual Error remove(String p_name);
-
- virtual size_t get_space_left();
-
-
- DirAccessOSX();
- ~DirAccessOSX();
+ virtual String fix_unicode_name(const char* p_name) const;
};
diff --git a/platform/osx/dir_access_osx.mm b/platform/osx/dir_access_osx.mm
index d123c5c648..5615858262 100644
--- a/platform/osx/dir_access_osx.mm
+++ b/platform/osx/dir_access_osx.mm
@@ -1,5 +1,5 @@
/*************************************************************************/
-/* dir_access_unix.cpp */
+/* dir_access_osx.mm */
/*************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
@@ -30,324 +30,21 @@
#if defined(UNIX_ENABLED) || defined(LIBC_FILEIO_ENABLED)
-#ifndef ANDROID_ENABLED
-#include <sys/statvfs.h>
-#endif
-
-#include <stdio.h>
-#include "os/memory.h"
-#include "print_string.h"
#include <errno.h>
#include <Foundation/NSString.h>
-DirAccess *DirAccessOSX::create_fs() {
-
- return memnew( DirAccessOSX );
-}
-
-bool DirAccessOSX::list_dir_begin() {
-
- list_dir_end(); //close any previous dir opening!
-
-
-// char real_current_dir_name[2048]; //is this enough?!
- //getcwd(real_current_dir_name,2048);
- //chdir(curent_path.utf8().get_data());
- dir_stream = opendir(current_dir.utf8().get_data());
- //chdir(real_current_dir_name);
- if (!dir_stream)
- return true; //error!
-
- return false;
-}
-
-bool DirAccessOSX::file_exists(String p_file) {
-
- GLOBAL_LOCK_FUNCTION
-
-
- if (p_file.is_rel_path())
- p_file=current_dir+"/"+p_file;
- else
- p_file=fix_path(p_file);
-
- struct stat flags;
- bool success = (stat(p_file.utf8().get_data(),&flags)==0);
-
- if (success && S_ISDIR(flags.st_mode)) {
- success=false;
- }
-
- return success;
-
-}
-
-bool DirAccessOSX::dir_exists(String p_dir) {
-
- GLOBAL_LOCK_FUNCTION
-
-
- if (p_dir.is_rel_path())
- p_dir=get_current_dir().plus_file(p_dir);
- else
- p_dir=fix_path(p_dir);
-
- struct stat flags;
- bool success = (stat(p_dir.utf8().get_data(),&flags)==0);
-
- if (success && S_ISDIR(flags.st_mode))
- return true;
-
- return false;
-
-}
-
-uint64_t DirAccessOSX::get_modified_time(String p_file) {
-
- if (p_file.is_rel_path())
- p_file=current_dir+"/"+p_file;
- else
- p_file=fix_path(p_file);
-
- struct stat flags;
- bool success = (stat(p_file.utf8().get_data(),&flags)==0);
- if (success) {
- return flags.st_mtime;
- } else {
-
- ERR_FAIL_V(0);
- };
- return 0;
-};
-
-
-String DirAccessOSX::get_next() {
-
- if (!dir_stream)
- return "";
- dirent *entry;
-
- entry=readdir(dir_stream);
-
- if (entry==NULL) {
-
- list_dir_end();
- return "";
- }
-
- //typedef struct stat Stat;
- struct stat flags;
+String DirAccessOSX::fix_unicode_name(const char* p_name) const {
String fname;
- NSString* nsstr = [[NSString stringWithUTF8String: entry->d_name] precomposedStringWithCanonicalMapping];
+ NSString* nsstr = [[NSString stringWithUTF8String: p_name] precomposedStringWithCanonicalMapping];
fname.parse_utf8([nsstr UTF8String]);
- //[nsstr autorelease];
-
- String f=current_dir+"/"+fname;
-
- if (stat(f.utf8().get_data(),&flags)==0) {
-
- if (S_ISDIR(flags.st_mode)) {
-
- _cisdir=true;
-
- } else {
-
- _cisdir=false;
- }
-
- } else {
-
- _cisdir=false;
-
- }
-
- _cishidden=(fname!="." && fname!=".." && fname.begins_with("."));
-
-
-
return fname;
-
-}
-
-bool DirAccessOSX::current_is_dir() const {
-
- return _cisdir;
-}
-
-bool DirAccessOSX::current_is_hidden() const {
-
- return _cishidden;
-}
-
-
-void DirAccessOSX::list_dir_end() {
-
- if (dir_stream)
- closedir(dir_stream);
- dir_stream=0;
- _cisdir=false;
-}
-
-int DirAccessOSX::get_drive_count() {
-
- return 0;
-}
-String DirAccessOSX::get_drive(int p_drive) {
-
- return "";
-}
-
-Error DirAccessOSX::make_dir(String p_dir) {
-
- GLOBAL_LOCK_FUNCTION
-
- p_dir=fix_path(p_dir);
-
- char real_current_dir_name[2048];
- getcwd(real_current_dir_name,2048);
- chdir(current_dir.utf8().get_data()); //ascii since this may be unicode or wathever the host os wants
-
- bool success=(mkdir(p_dir.utf8().get_data(), S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH)==0);
- int err = errno;
-
- chdir(real_current_dir_name);
-
- if (success) {
- return OK;
- };
-
- if (err == EEXIST) {
- return ERR_ALREADY_EXISTS;
- };
-
- return ERR_CANT_CREATE;
}
-Error DirAccessOSX::change_dir(String p_dir) {
-
- GLOBAL_LOCK_FUNCTION
- p_dir=fix_path(p_dir);
-
-
- char real_current_dir_name[2048];
- getcwd(real_current_dir_name,2048);
- String prev_dir;
- if (prev_dir.parse_utf8(real_current_dir_name))
- prev_dir=real_current_dir_name; //no utf8, maybe latin?
-
- chdir(current_dir.utf8().get_data()); //ascii since this may be unicode or wathever the host os wants
- bool worked=(chdir(p_dir.utf8().get_data())==0); // we can only give this utf8
-#ifndef IPHONE_ENABLED
- String base = _get_root_path();
- if (base!="") {
-
- getcwd(real_current_dir_name,2048);
- String new_dir;
- new_dir.parse_utf8(real_current_dir_name);
- if (!new_dir.begins_with(base))
- worked=false;
- }
-#endif
- if (worked) {
-
- getcwd(real_current_dir_name,2048);
- if (current_dir.parse_utf8(real_current_dir_name))
- current_dir=real_current_dir_name; //no utf8, maybe latin?
- }
-
- chdir(prev_dir.utf8().get_data());
- return worked?OK:ERR_INVALID_PARAMETER;
-
-}
-
-String DirAccessOSX::get_current_dir() {
-
- String base = _get_root_path();
- if (base!="") {
-
- String bd = current_dir.replace_first(base,"");
- if (bd.begins_with("/"))
- return _get_root_string()+bd.substr(1,bd.length());
- else
- return _get_root_string()+bd;
-
- }
- return current_dir;
-}
-
-Error DirAccessOSX::rename(String p_path,String p_new_path) {
-
- if (p_path.is_rel_path())
- p_path=get_current_dir().plus_file(p_path);
- else
- p_path=fix_path(p_path);
-
- if (p_new_path.is_rel_path())
- p_new_path=get_current_dir().plus_file(p_new_path);
- else
- p_new_path=fix_path(p_new_path);
-
- return ::rename(p_path.utf8().get_data(),p_new_path.utf8().get_data())==0?OK:FAILED;
-}
-Error DirAccessOSX::remove(String p_path) {
-
- if (p_path.is_rel_path())
- p_path=get_current_dir().plus_file(p_path);
- else
- p_path=fix_path(p_path);
-
- struct stat flags;
- if ((stat(p_path.utf8().get_data(),&flags)!=0))
- return FAILED;
-
- if (S_ISDIR(flags.st_mode))
- return ::rmdir(p_path.utf8().get_data())==0?OK:FAILED;
- else
- return ::unlink(p_path.utf8().get_data())==0?OK:FAILED;
-}
-
-
-size_t DirAccessOSX::get_space_left() {
-
-#ifndef NO_STATVFS
- struct statvfs vfs;
- if (statvfs(current_dir.utf8().get_data(), &vfs) != 0) {
-
- return 0;
- };
-
- return (size_t) (vfs.f_bavail * vfs.f_bsize);
-#else
-#warning THIS IS BROKEN
- return 0;
-#endif
-};
-
-
-
-DirAccessOSX::DirAccessOSX() {
-
- dir_stream=0;
- current_dir=".";
- _cisdir=false;
-
- /* determine drive count */
-
- change_dir(current_dir);
-
-}
-
-
-DirAccessOSX::~DirAccessOSX() {
-
- list_dir_end();
-}
-
#endif //posix_enabled
diff --git a/platform/osx/export/export.cpp b/platform/osx/export/export.cpp
index 2604c2c15a..cb0514da9d 100644
--- a/platform/osx/export/export.cpp
+++ b/platform/osx/export/export.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* export.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "version.h"
#include "export.h"
#include "tools/editor/editor_settings.h"
diff --git a/platform/osx/export/export.h b/platform/osx/export/export.h
index b149e482c9..8e0b83b457 100644
--- a/platform/osx/export/export.h
+++ b/platform/osx/export/export.h
@@ -1,3 +1,29 @@
-
-
+/*************************************************************************/
+/* export.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
void register_osx_exporter();
diff --git a/platform/server/platform_config.h b/platform/server/platform_config.h
index 72b10a0fb2..143f16c1fa 100644
--- a/platform/server/platform_config.h
+++ b/platform/server/platform_config.h
@@ -27,4 +27,3 @@
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
#include <alloca.h>
-
diff --git a/platform/windows/export/export.cpp b/platform/windows/export/export.cpp
index 952f51fdd4..9bf9ba93fe 100644
--- a/platform/windows/export/export.cpp
+++ b/platform/windows/export/export.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* export.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "export.h"
#include "platform/windows/logo.h"
#include "tools/editor/editor_import_export.h"
diff --git a/platform/windows/export/export.h b/platform/windows/export/export.h
index 68ce500a20..aa3578fb98 100644
--- a/platform/windows/export/export.h
+++ b/platform/windows/export/export.h
@@ -1,4 +1,29 @@
-
-
+/*************************************************************************/
+/* export.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
void register_windows_exporter();
-
diff --git a/platform/windows/joystick.cpp b/platform/windows/joystick.cpp
index f8526b5ec1..663bbe3b9b 100644
--- a/platform/windows/joystick.cpp
+++ b/platform/windows/joystick.cpp
@@ -37,6 +37,7 @@
#endif
DWORD WINAPI _xinput_get_state(DWORD dwUserIndex, XINPUT_STATE* pState) { return ERROR_DEVICE_NOT_CONNECTED; }
+DWORD WINAPI _xinput_set_state(DWORD dwUserIndex, XINPUT_VIBRATION* pVibration) { return ERROR_DEVICE_NOT_CONNECTED; }
joystick_windows::joystick_windows() {
@@ -50,6 +51,7 @@ joystick_windows::joystick_windows(InputDefault* _input, HWND* hwnd) {
dinput = NULL;
xinput_dll = NULL;
xinput_get_state = NULL;
+ xinput_set_state = NULL;
load_xinput();
@@ -300,6 +302,9 @@ void joystick_windows::probe_joysticks() {
x_joysticks[i].attached = true;
x_joysticks[i].id = id;
+ x_joysticks[i].ff_timestamp = 0;
+ x_joysticks[i].ff_end_timestamp = 0;
+ x_joysticks[i].vibrating = false;
attached_joysticks[id] = true;
input->joy_connection_changed(id, true, "XInput Gamepad","__XINPUT_DEVICE__");
}
@@ -358,6 +363,20 @@ unsigned int joystick_windows::process_joysticks(unsigned int p_last_id) {
p_last_id = input->joy_axis(p_last_id, joy.id, JOY_AXIS_5, axis_correct(joy.state.Gamepad.bRightTrigger, true, true));
joy.last_packet = joy.state.dwPacketNumber;
}
+ uint64_t timestamp = input->get_joy_vibration_timestamp(joy.id);
+ if (timestamp > joy.ff_timestamp) {
+ Vector2 strength = input->get_joy_vibration_strength(joy.id);
+ float duration = input->get_joy_vibration_duration(joy.id);
+ if (strength.x == 0 && strength.y == 0) {
+ joystick_vibration_stop_xinput(i, timestamp);
+ } else {
+ joystick_vibration_start_xinput(i, strength.x, strength.y, duration, timestamp);
+ }
+ } else if (joy.vibrating && joy.ff_end_timestamp != 0) {
+ uint64_t current_time = OS::get_singleton()->get_ticks_usec();
+ if (current_time >= joy.ff_end_timestamp)
+ joystick_vibration_stop_xinput(i, current_time);
+ }
}
for (int i = 0; i < JOYSTICKS_MAX; i++) {
@@ -401,7 +420,7 @@ unsigned int joystick_windows::process_joysticks(unsigned int p_last_id) {
}
}
- // on mingw, these constants are not constants
+ // on mingw, these constants are not constants
int count = 6;
int axes[] = { DIJOFS_X, DIJOFS_Y, DIJOFS_Z, DIJOFS_RX, DIJOFS_RY, DIJOFS_RZ };
int values[] = { js.lX, js.lY, js.lZ, js.lRx, js.lRy, js.lRz };
@@ -500,9 +519,38 @@ InputDefault::JoyAxis joystick_windows::axis_correct(int p_val, bool p_xinput, b
return jx;
}
+void joystick_windows::joystick_vibration_start_xinput(int p_device, float p_weak_magnitude, float p_strong_magnitude, float p_duration, uint64_t p_timestamp) {
+ xinput_gamepad &joy = x_joysticks[p_device];
+ if (joy.attached) {
+ XINPUT_VIBRATION effect;
+ effect.wLeftMotorSpeed = (65535 * p_strong_magnitude);
+ effect.wRightMotorSpeed = (65535 * p_weak_magnitude);
+ if (xinput_set_state(p_device, &effect) == ERROR_SUCCESS) {
+ joy.ff_timestamp = p_timestamp;
+ joy.ff_end_timestamp = p_duration == 0 ? 0 : p_timestamp + (uint64_t)(p_duration * 1000000.0);
+ joy.vibrating = true;
+ }
+ }
+}
+
+void joystick_windows::joystick_vibration_stop_xinput(int p_device, uint64_t p_timestamp) {
+ xinput_gamepad &joy = x_joysticks[p_device];
+ if (joy.attached) {
+ XINPUT_VIBRATION effect;
+ effect.wLeftMotorSpeed = 0;
+ effect.wRightMotorSpeed = 0;
+ if (xinput_set_state(p_device, &effect) == ERROR_SUCCESS) {
+ joy.ff_timestamp = p_timestamp;
+ joy.vibrating = false;
+ }
+ }
+}
+
+
void joystick_windows::load_xinput() {
xinput_get_state = &_xinput_get_state;
+ xinput_set_state = &_xinput_set_state;
xinput_dll = LoadLibrary( "XInput1_4.dll" );
if (!xinput_dll) {
xinput_dll = LoadLibrary("XInput1_3.dll");
@@ -519,12 +567,13 @@ void joystick_windows::load_xinput() {
}
XInputGetState_t func = (XInputGetState_t)GetProcAddress((HMODULE)xinput_dll, "XInputGetState");
- if (!func) {
+ XInputSetState_t set_func = (XInputSetState_t)GetProcAddress((HMODULE)xinput_dll, "XInputSetState");
+ if (!func || !set_func) {
unload_xinput();
return;
}
xinput_get_state = func;
- return;
+ xinput_set_state = set_func;
}
void joystick_windows::unload_xinput() {
diff --git a/platform/windows/joystick.h b/platform/windows/joystick.h
index 332e86fbb8..77dee0466f 100644
--- a/platform/windows/joystick.h
+++ b/platform/windows/joystick.h
@@ -39,8 +39,8 @@
#define SAFE_RELEASE(x) \
if(x != NULL) \
{ \
- x->Release(); \
- x = NULL; \
+ x->Release(); \
+ x = NULL; \
}
#endif
@@ -96,16 +96,23 @@ private:
int id;
bool attached;
+ bool vibrating;
DWORD last_packet;
XINPUT_STATE state;
+ uint64_t ff_timestamp;
+ uint64_t ff_end_timestamp;
xinput_gamepad() {
attached = false;
+ vibrating = false;
+ ff_timestamp = 0;
+ ff_end_timestamp = 0;
last_packet = 0;
}
};
typedef DWORD (WINAPI *XInputGetState_t) (DWORD dwUserIndex, XINPUT_STATE* pState);
+ typedef DWORD (WINAPI *XInputSetState_t) (DWORD dwUserIndex, XINPUT_VIBRATION* pVibration);
HWND* hWnd;
HANDLE xinput_dll;
@@ -132,9 +139,12 @@ private:
bool have_device(const GUID &p_guid);
bool is_xinput_device(const GUID* p_guid);
bool setup_dinput_joystick(const DIDEVICEINSTANCE* instance);
+ void joystick_vibration_start_xinput(int p_device, float p_weak_magnitude, float p_strong_magnitude, float p_duration, uint64_t p_timestamp);
+ void joystick_vibration_stop_xinput(int p_device, uint64_t p_timestamp);
InputDefault::JoyAxis axis_correct(int p_val, bool p_xinput = false, bool p_trigger = false, bool p_negate = false) const;
XInputGetState_t xinput_get_state;
+ XInputSetState_t xinput_set_state;
};
#endif
diff --git a/platform/windows/packet_peer_udp_winsock.cpp b/platform/windows/packet_peer_udp_winsock.cpp
index 0ca2d358af..2c79365c08 100644
--- a/platform/windows/packet_peer_udp_winsock.cpp
+++ b/platform/windows/packet_peer_udp_winsock.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* packet_peer_udp_winsock.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "packet_peer_udp_winsock.h"
#include <winsock2.h>
diff --git a/platform/windows/packet_peer_udp_winsock.h b/platform/windows/packet_peer_udp_winsock.h
index 34dbcbee91..b24dbac592 100644
--- a/platform/windows/packet_peer_udp_winsock.h
+++ b/platform/windows/packet_peer_udp_winsock.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* packet_peer_udp_winsock.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef PACKET_PEER_UDP_WINSOCK_H
#define PACKET_PEER_UDP_WINSOCK_H
diff --git a/platform/winrt/gl_context_egl.cpp b/platform/winrt/gl_context_egl.cpp
index fd9fbe406f..12ccd404a9 100644
--- a/platform/winrt/gl_context_egl.cpp
+++ b/platform/winrt/gl_context_egl.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* gl_context_egl.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "gl_context_egl.h"
#include "EGL/eglext.h"
diff --git a/platform/winrt/gl_context_egl.h b/platform/winrt/gl_context_egl.h
index ca3760e723..68dcdd5035 100644
--- a/platform/winrt/gl_context_egl.h
+++ b/platform/winrt/gl_context_egl.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* gl_context_egl.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef CONTEXT_EGL_H
#define CONTEXT_EGL_H
diff --git a/platform/winrt/os_winrt.cpp b/platform/winrt/os_winrt.cpp
index 5ec1bd2756..f045f54bf6 100644
--- a/platform/winrt/os_winrt.cpp
+++ b/platform/winrt/os_winrt.cpp
@@ -1,5 +1,5 @@
/*************************************************************************/
-/* os_winrt.cpp */
+/* os_winrt.cpp */
/*************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
diff --git a/platform/winrt/os_winrt.h b/platform/winrt/os_winrt.h
index 0307f81954..145ccf0f7a 100644
--- a/platform/winrt/os_winrt.h
+++ b/platform/winrt/os_winrt.h
@@ -1,5 +1,5 @@
/*************************************************************************/
-/* OSWinrt.h */
+/* os_winrt.h */
/*************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
diff --git a/platform/winrt/platform_config.h b/platform/winrt/platform_config.h
index 91669ad489..88b1fefed8 100644
--- a/platform/winrt/platform_config.h
+++ b/platform/winrt/platform_config.h
@@ -1,2 +1,29 @@
+/*************************************************************************/
+/* platform_config.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include <malloc.h>
-
diff --git a/platform/winrt/thread_winrt.cpp b/platform/winrt/thread_winrt.cpp
index 3217292bee..097050e511 100644
--- a/platform/winrt/thread_winrt.cpp
+++ b/platform/winrt/thread_winrt.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* thread_winrt.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "thread_winrt.h"
#include "os/memory.h"
diff --git a/platform/winrt/thread_winrt.h b/platform/winrt/thread_winrt.h
index 6140c9c506..df275d560a 100644
--- a/platform/winrt/thread_winrt.h
+++ b/platform/winrt/thread_winrt.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* thread_winrt.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef THREAD_WINRT_H
#define THREAD_WINRT_H
diff --git a/platform/x11/export/export.cpp b/platform/x11/export/export.cpp
index bed57fbe9f..c6675ace72 100644
--- a/platform/x11/export/export.cpp
+++ b/platform/x11/export/export.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* export.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "export.h"
#include "platform/x11/logo.h"
#include "tools/editor/editor_import_export.h"
diff --git a/platform/x11/export/export.h b/platform/x11/export/export.h
index 1077709ea1..9dc13d7459 100644
--- a/platform/x11/export/export.h
+++ b/platform/x11/export/export.h
@@ -1,4 +1,29 @@
-
-
+/*************************************************************************/
+/* export.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
void register_x11_exporter();
-
diff --git a/platform/x11/joystick_linux.cpp b/platform/x11/joystick_linux.cpp
index 5ce0219df7..82f79c2640 100644
--- a/platform/x11/joystick_linux.cpp
+++ b/platform/x11/joystick_linux.cpp
@@ -439,11 +439,9 @@ void joystick_linux::joystick_vibration_stop(int p_id, uint64_t p_timestamp)
return;
}
- struct input_event stop;
- stop.type = EV_FF;
- stop.code = joy.ff_effect_id;
- stop.value = 0;
- write(joy.fd, (const void*)&stop, sizeof(stop));
+ if (ioctl(joy.fd, EVIOCRMFF, joy.ff_effect_id) < 0) {
+ return;
+ }
joy.ff_effect_id = -1;
joy.ff_effect_timestamp = p_timestamp;
diff --git a/platform/x11/os_x11.cpp b/platform/x11/os_x11.cpp
index 1ca779ef7c..c9349c1bbe 100644
--- a/platform/x11/os_x11.cpp
+++ b/platform/x11/os_x11.cpp
@@ -1625,7 +1625,7 @@ void OS_X11::process_xevents() {
//Reply that all is well.
XClientMessageEvent m;
- memset(&m, sizeof(m), 0);
+ memset(&m, 0, sizeof(m));
m.type = ClientMessage;
m.display = x11_display;
m.window = xdnd_source_window;
@@ -1662,7 +1662,7 @@ void OS_X11::process_xevents() {
//xdnd position event, reply with an XDND status message
//just depending on type of data for now
XClientMessageEvent m;
- memset(&m, sizeof(m), 0);
+ memset(&m, 0, sizeof(m));
m.type = ClientMessage;
m.display = event.xclient.display;
m.window = event.xclient.data.l[0];
@@ -1689,7 +1689,7 @@ void OS_X11::process_xevents() {
else {
//Reply that we're not interested.
XClientMessageEvent m;
- memset(&m, sizeof(m), 0);
+ memset(&m, 0, sizeof(m));
m.type = ClientMessage;
m.display = event.xclient.display;
m.window = event.xclient.data.l[0];
diff --git a/scene/2d/back_buffer_copy.cpp b/scene/2d/back_buffer_copy.cpp
index 7a138830db..a83a3ce041 100644
--- a/scene/2d/back_buffer_copy.cpp
+++ b/scene/2d/back_buffer_copy.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* back_buffer_copy.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "back_buffer_copy.h"
void BackBufferCopy::_update_copy_mode() {
diff --git a/scene/2d/back_buffer_copy.h b/scene/2d/back_buffer_copy.h
index 734cad458a..f371dbdef4 100644
--- a/scene/2d/back_buffer_copy.h
+++ b/scene/2d/back_buffer_copy.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* back_buffer_copy.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef BACKBUFFERCOPY_H
#define BACKBUFFERCOPY_H
diff --git a/scene/2d/canvas_item.cpp b/scene/2d/canvas_item.cpp
index 8864459dfb..eb37634b24 100644
--- a/scene/2d/canvas_item.cpp
+++ b/scene/2d/canvas_item.cpp
@@ -112,21 +112,9 @@ void CanvasItemMaterial::_get_property_list( List<PropertyInfo> *p_list) const {
void CanvasItemMaterial::set_shader(const Ref<Shader>& p_shader) {
ERR_FAIL_COND(p_shader.is_valid() && p_shader->get_mode()!=Shader::MODE_CANVAS_ITEM);
-#ifdef TOOLS_ENABLED
- if (shader.is_valid()) {
- shader->disconnect("changed",this,"_shader_changed");
- }
-#endif
shader=p_shader;
-#ifdef TOOLS_ENABLED
-
- if (shader.is_valid()) {
- shader->connect("changed",this,"_shader_changed");
- }
-#endif
-
RID rid;
if (shader.is_valid())
rid=shader->get_rid();
@@ -151,11 +139,6 @@ Variant CanvasItemMaterial::get_shader_param(const StringName& p_param) const{
return VS::get_singleton()->canvas_item_material_get_shader_param(material,p_param);
}
-void CanvasItemMaterial::_shader_changed() {
-
-
-}
-
RID CanvasItemMaterial::get_rid() const {
return material;
@@ -1020,11 +1003,14 @@ InputEvent CanvasItem::make_input_local(const InputEvent& p_event) const {
Vector2 CanvasItem::get_global_mouse_pos() const {
- return get_viewport_transform().affine_inverse().xform(Input::get_singleton()->get_mouse_pos());
+ ERR_FAIL_COND_V(!get_viewport(),Vector2());
+ return get_canvas_transform().affine_inverse().xform( get_viewport()->get_mouse_pos() );
}
Vector2 CanvasItem::get_local_mouse_pos() const{
- return (get_viewport_transform() * get_global_transform()).affine_inverse().xform(Input::get_singleton()->get_mouse_pos());
+ ERR_FAIL_COND_V(!get_viewport(),Vector2());
+
+ return get_global_transform().affine_inverse().xform( get_global_mouse_pos() );
}
diff --git a/scene/2d/canvas_item.h b/scene/2d/canvas_item.h
index d915f742ec..8b44e09857 100644
--- a/scene/2d/canvas_item.h
+++ b/scene/2d/canvas_item.h
@@ -60,7 +60,6 @@ protected:
bool _get(const StringName& p_name,Variant &r_ret) const;
void _get_property_list( List<PropertyInfo> *p_list) const;
- void _shader_changed();
static void _bind_methods();
void get_argument_options(const StringName& p_function,int p_idx,List<String>*r_options) const;
diff --git a/scene/2d/canvas_modulate.cpp b/scene/2d/canvas_modulate.cpp
index 6a74cb1d91..e4a0500123 100644
--- a/scene/2d/canvas_modulate.cpp
+++ b/scene/2d/canvas_modulate.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* canvas_modulate.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "canvas_modulate.h"
diff --git a/scene/2d/canvas_modulate.h b/scene/2d/canvas_modulate.h
index 0445db27af..ed642c788d 100644
--- a/scene/2d/canvas_modulate.h
+++ b/scene/2d/canvas_modulate.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* canvas_modulate.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef CANVASMODULATE_H
#define CANVASMODULATE_H
diff --git a/scene/2d/light_2d.cpp b/scene/2d/light_2d.cpp
index 1cb34075bb..f37cef673d 100644
--- a/scene/2d/light_2d.cpp
+++ b/scene/2d/light_2d.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* light_2d.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "light_2d.h"
#include "servers/visual_server.h"
diff --git a/scene/2d/light_2d.h b/scene/2d/light_2d.h
index a8b0ef3b23..c03ef96eff 100644
--- a/scene/2d/light_2d.h
+++ b/scene/2d/light_2d.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* light_2d.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef LIGHT_2D_H
#define LIGHT_2D_H
diff --git a/scene/2d/light_occluder_2d.cpp b/scene/2d/light_occluder_2d.cpp
index ce617b1737..58c3e2191e 100644
--- a/scene/2d/light_occluder_2d.cpp
+++ b/scene/2d/light_occluder_2d.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* light_occluder_2d.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "light_occluder_2d.h"
diff --git a/scene/2d/light_occluder_2d.h b/scene/2d/light_occluder_2d.h
index ccc2a1cd9c..69ed860a84 100644
--- a/scene/2d/light_occluder_2d.h
+++ b/scene/2d/light_occluder_2d.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* light_occluder_2d.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef LIGHTOCCLUDER2D_H
#define LIGHTOCCLUDER2D_H
diff --git a/scene/2d/navigation2d.cpp b/scene/2d/navigation2d.cpp
index fe1760b84a..b4332cc75d 100644
--- a/scene/2d/navigation2d.cpp
+++ b/scene/2d/navigation2d.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* navigation2d.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "navigation2d.h"
#define USE_ENTRY_POINT
diff --git a/scene/2d/navigation2d.h b/scene/2d/navigation2d.h
index 231f1e8c63..415470295b 100644
--- a/scene/2d/navigation2d.h
+++ b/scene/2d/navigation2d.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* navigation2d.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef NAVIGATION_2D_H
#define NAVIGATION_2D_H
diff --git a/scene/2d/navigation_polygon.cpp b/scene/2d/navigation_polygon.cpp
index 8c0d9cf35f..95f71104d0 100644
--- a/scene/2d/navigation_polygon.cpp
+++ b/scene/2d/navigation_polygon.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* navigation_polygon.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "navigation_polygon.h"
#include "navigation2d.h"
#include "triangulator.h"
diff --git a/scene/2d/navigation_polygon.h b/scene/2d/navigation_polygon.h
index 07fee571f0..c40933cf7a 100644
--- a/scene/2d/navigation_polygon.h
+++ b/scene/2d/navigation_polygon.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* navigation_polygon.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef NAVIGATION_POLYGON_H
#define NAVIGATION_POLYGON_H
diff --git a/scene/2d/node_2d_singleton.cpp b/scene/2d/node_2d_singleton.cpp
deleted file mode 100644
index b26804fedf..0000000000
--- a/scene/2d/node_2d_singleton.cpp
+++ /dev/null
@@ -1,30 +0,0 @@
-/*************************************************************************/
-/* node_2d_singleton.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#include "node_2d_singleton.h"
-
diff --git a/scene/2d/node_2d_singleton.h b/scene/2d/node_2d_singleton.h
deleted file mode 100644
index 0aa6bbf992..0000000000
--- a/scene/2d/node_2d_singleton.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*************************************************************************/
-/* node_2d_singleton.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#ifndef NODE_2D_SINGLETON_H
-#define NODE_2D_SINGLETON_H
-
-
-#endif // NODE_2D_SINGLETON_H
diff --git a/scene/2d/path_texture.cpp b/scene/2d/path_texture.cpp
index 09596083eb..3f7c514317 100644
--- a/scene/2d/path_texture.cpp
+++ b/scene/2d/path_texture.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* path_texture.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "path_texture.h"
diff --git a/scene/2d/path_texture.h b/scene/2d/path_texture.h
index 0e63758b10..11a60b1390 100644
--- a/scene/2d/path_texture.h
+++ b/scene/2d/path_texture.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* path_texture.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef PATH_TEXTURE_H
#define PATH_TEXTURE_H
diff --git a/scene/2d/physics_body_2d.cpp b/scene/2d/physics_body_2d.cpp
index 8f0474b765..26c4ea385f 100644
--- a/scene/2d/physics_body_2d.cpp
+++ b/scene/2d/physics_body_2d.cpp
@@ -450,6 +450,19 @@ void RigidBody2D::_direct_state_changed(Object *p_state) {
state=(Physics2DDirectBodyState*)p_state; //trust it
#endif
+ set_block_transform_notify(true); // don't want notify (would feedback loop)
+ if (mode!=MODE_KINEMATIC)
+ set_global_transform(state->get_transform());
+ linear_velocity=state->get_linear_velocity();
+ angular_velocity=state->get_angular_velocity();
+ if(sleeping!=state->is_sleeping()) {
+ sleeping=state->is_sleeping();
+ emit_signal(SceneStringNames::get_singleton()->sleeping_state_changed);
+ }
+ if (get_script_instance())
+ get_script_instance()->call("_integrate_forces",state);
+ set_block_transform_notify(false); // want it back
+
if (contact_monitor) {
contact_monitor->locked=true;
@@ -539,18 +552,7 @@ void RigidBody2D::_direct_state_changed(Object *p_state) {
}
- set_block_transform_notify(true); // don't want notify (would feedback loop)
- if (mode!=MODE_KINEMATIC)
- set_global_transform(state->get_transform());
- linear_velocity=state->get_linear_velocity();
- angular_velocity=state->get_angular_velocity();
- if(sleeping!=state->is_sleeping()) {
- sleeping=state->is_sleeping();
- emit_signal(SceneStringNames::get_singleton()->sleeping_state_changed);
- }
- if (get_script_instance())
- get_script_instance()->call("_integrate_forces",state);
- set_block_transform_notify(false); // want it back
+
state=NULL;
}
diff --git a/scene/2d/polygon_2d.cpp b/scene/2d/polygon_2d.cpp
index 03ced12c55..cfb87fb998 100644
--- a/scene/2d/polygon_2d.cpp
+++ b/scene/2d/polygon_2d.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* polygon_2d.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "polygon_2d.h"
Rect2 Polygon2D::get_item_rect() const {
diff --git a/scene/2d/polygon_2d.h b/scene/2d/polygon_2d.h
index eaa642787c..04e8aeb6fd 100644
--- a/scene/2d/polygon_2d.h
+++ b/scene/2d/polygon_2d.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* polygon_2d.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef POLYGON_2D_H
#define POLYGON_2D_H
diff --git a/scene/2d/sample_player_2d.cpp b/scene/2d/sample_player_2d.cpp
index 4d719b532b..7c997b3f12 100644
--- a/scene/2d/sample_player_2d.cpp
+++ b/scene/2d/sample_player_2d.cpp
@@ -81,7 +81,7 @@ void SamplePlayer2D::_get_property_list(List<PropertyInfo> *p_list) const {
}
}
- p_list->push_back( PropertyInfo( Variant::STRING, "play/play", PROPERTY_HINT_ENUM, en,PROPERTY_USAGE_EDITOR));
+ p_list->push_back( PropertyInfo( Variant::STRING, "play/play", PROPERTY_HINT_ENUM, en,PROPERTY_USAGE_EDITOR|PROPERTY_USAGE_ANIMATE_AS_TRIGGER));
}
void SamplePlayer2D::_notification(int p_what) {
diff --git a/scene/2d/y_sort.cpp b/scene/2d/y_sort.cpp
index d441abfaf1..ed753ef745 100644
--- a/scene/2d/y_sort.cpp
+++ b/scene/2d/y_sort.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* y_sort.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "y_sort.h"
diff --git a/scene/2d/y_sort.h b/scene/2d/y_sort.h
index 6d04a67e42..c8fa152c75 100644
--- a/scene/2d/y_sort.h
+++ b/scene/2d/y_sort.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* y_sort.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef Y_SORT_H
#define Y_SORT_H
diff --git a/scene/3d/baked_light_instance.cpp b/scene/3d/baked_light_instance.cpp
index 4487415030..fafa62866f 100644
--- a/scene/3d/baked_light_instance.cpp
+++ b/scene/3d/baked_light_instance.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* baked_light_instance.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "baked_light_instance.h"
#include "scene/scene_string_names.h"
diff --git a/scene/3d/baked_light_instance.h b/scene/3d/baked_light_instance.h
index 0694c813ce..92c2d50986 100644
--- a/scene/3d/baked_light_instance.h
+++ b/scene/3d/baked_light_instance.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* baked_light_instance.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef BAKED_LIGHT_INSTANCE_H
#define BAKED_LIGHT_INSTANCE_H
diff --git a/scene/3d/body_shape.cpp b/scene/3d/body_shape.cpp
index e62ab394af..adb0d17753 100644
--- a/scene/3d/body_shape.cpp
+++ b/scene/3d/body_shape.cpp
@@ -32,11 +32,10 @@
#include "scene/resources/ray_shape.h"
#include "scene/resources/box_shape.h"
#include "scene/resources/capsule_shape.h"
-//#include "scene/resources/cylinder_shape.h"
#include "scene/resources/convex_polygon_shape.h"
#include "scene/resources/concave_polygon_shape.h"
-#include "scene/resources/height_map_shape.h"
#include "scene/resources/plane_shape.h"
+//TODO: Implement CylinderShape and HeightMapShape?
#include "mesh_instance.h"
#include "physics_body.h"
#include "quick_hull.h"
diff --git a/scene/3d/collision_polygon.cpp b/scene/3d/collision_polygon.cpp
index e05f29714b..2948966fb3 100644
--- a/scene/3d/collision_polygon.cpp
+++ b/scene/3d/collision_polygon.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* collision_polygon.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "collision_polygon.h"
#include "collision_object.h"
diff --git a/scene/3d/collision_polygon.h b/scene/3d/collision_polygon.h
index 3d190a02b3..63ff3e84e4 100644
--- a/scene/3d/collision_polygon.h
+++ b/scene/3d/collision_polygon.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* collision_polygon.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef COLLISION_POLYGON_H
#define COLLISION_POLYGON_H
diff --git a/scene/3d/immediate_geometry.cpp b/scene/3d/immediate_geometry.cpp
index 651d20ae71..4964582be4 100644
--- a/scene/3d/immediate_geometry.cpp
+++ b/scene/3d/immediate_geometry.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* immediate_geometry.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "immediate_geometry.h"
diff --git a/scene/3d/immediate_geometry.h b/scene/3d/immediate_geometry.h
index beb8ea8214..28b5735ca8 100644
--- a/scene/3d/immediate_geometry.h
+++ b/scene/3d/immediate_geometry.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* immediate_geometry.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef IMMEDIATE_GEOMETRY_H
#define IMMEDIATE_GEOMETRY_H
diff --git a/scene/3d/navigation.cpp b/scene/3d/navigation.cpp
index 2b74d43ad2..74f83b67da 100644
--- a/scene/3d/navigation.cpp
+++ b/scene/3d/navigation.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* navigation.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "navigation.h"
void Navigation::_navmesh_link(int p_id) {
diff --git a/scene/3d/navigation.h b/scene/3d/navigation.h
index f8434aaf72..1cfc416fc9 100644
--- a/scene/3d/navigation.h
+++ b/scene/3d/navigation.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* navigation.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef NAVIGATION_H
#define NAVIGATION_H
diff --git a/scene/3d/navigation_agent.cpp b/scene/3d/navigation_agent.cpp
deleted file mode 100644
index 9b304e45ec..0000000000
--- a/scene/3d/navigation_agent.cpp
+++ /dev/null
@@ -1,5 +0,0 @@
-#include "navigation_agent.h"
-
-NavigationAgent::NavigationAgent()
-{
-}
diff --git a/scene/3d/navigation_agent.h b/scene/3d/navigation_agent.h
deleted file mode 100644
index baceb693a5..0000000000
--- a/scene/3d/navigation_agent.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef NAVIGATION_AGENT_H
-#define NAVIGATION_AGENT_H
-
-class NavigationAgent
-{
-public:
- NavigationAgent();
-};
-
-#endif // NAVIGATION_AGENT_H
diff --git a/scene/3d/navigation_mesh.cpp b/scene/3d/navigation_mesh.cpp
index 3adf282f13..386a0fab57 100644
--- a/scene/3d/navigation_mesh.cpp
+++ b/scene/3d/navigation_mesh.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* navigation_mesh.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "navigation_mesh.h"
#include "navigation.h"
#include "mesh_instance.h"
diff --git a/scene/3d/navigation_mesh.h b/scene/3d/navigation_mesh.h
index cb3b5d95f6..c49965cd85 100644
--- a/scene/3d/navigation_mesh.h
+++ b/scene/3d/navigation_mesh.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* navigation_mesh.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef NAVIGATION_MESH_H
#define NAVIGATION_MESH_H
diff --git a/scene/3d/optimized_spatial_scene.cpp b/scene/3d/optimized_spatial_scene.cpp
deleted file mode 100644
index 27631c7a74..0000000000
--- a/scene/3d/optimized_spatial_scene.cpp
+++ /dev/null
@@ -1,33 +0,0 @@
-/*************************************************************************/
-/* optimized_spatial_scene.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#include "optimized_spatial_scene.h"
-
-OptimizedSpatialScene::OptimizedSpatialScene()
-{
-}
diff --git a/scene/3d/optimized_spatial_scene.h b/scene/3d/optimized_spatial_scene.h
deleted file mode 100644
index e1e6e14f73..0000000000
--- a/scene/3d/optimized_spatial_scene.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*************************************************************************/
-/* optimized_spatial_scene.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#ifndef OPTIMIZED_SPATIAL_SCENE_H
-#define OPTIMIZED_SPATIAL_SCENE_H
-
-#include "scene/3d/spatial.h"
-
-class OptimizedSpatialScene : public Spatial {
-
- OBJ_TYPE( OptimizedSpatialScene, Spatial );
-public:
- OptimizedSpatialScene();
-};
-
-#endif // OPTIMIZED_SPATIAL_SCENE_H
diff --git a/scene/3d/physics_body.cpp b/scene/3d/physics_body.cpp
index 243cb31aca..116f967bd2 100644
--- a/scene/3d/physics_body.cpp
+++ b/scene/3d/physics_body.cpp
@@ -397,6 +397,18 @@ void RigidBody::_direct_state_changed(Object *p_state) {
state=(PhysicsDirectBodyState*)p_state; //trust it
#endif
+ set_ignore_transform_notification(true);
+ set_global_transform(state->get_transform());
+ linear_velocity=state->get_linear_velocity();
+ angular_velocity=state->get_angular_velocity();
+ if(sleeping!=state->is_sleeping()) {
+ sleeping=state->is_sleeping();
+ emit_signal(SceneStringNames::get_singleton()->sleeping_state_changed);
+ }
+ if (get_script_instance())
+ get_script_instance()->call("_integrate_forces",state);
+ set_ignore_transform_notification(false);
+
if (contact_monitor) {
contact_monitor->locked=true;
@@ -484,17 +496,7 @@ void RigidBody::_direct_state_changed(Object *p_state) {
}
- set_ignore_transform_notification(true);
- set_global_transform(state->get_transform());
- linear_velocity=state->get_linear_velocity();
- angular_velocity=state->get_angular_velocity();
- if(sleeping!=state->is_sleeping()) {
- sleeping=state->is_sleeping();
- emit_signal(SceneStringNames::get_singleton()->sleeping_state_changed);
- }
- if (get_script_instance())
- get_script_instance()->call("_integrate_forces",state);
- set_ignore_transform_notification(false);
+
state=NULL;
}
diff --git a/scene/3d/spatial_sample_player.cpp b/scene/3d/spatial_sample_player.cpp
index 0df921f208..4c5b2c240e 100644
--- a/scene/3d/spatial_sample_player.cpp
+++ b/scene/3d/spatial_sample_player.cpp
@@ -82,7 +82,7 @@ void SpatialSamplePlayer::_get_property_list(List<PropertyInfo> *p_list) const {
}
}
- p_list->push_back( PropertyInfo( Variant::STRING, "play/play", PROPERTY_HINT_ENUM, en,PROPERTY_USAGE_EDITOR));
+ p_list->push_back( PropertyInfo( Variant::STRING, "play/play", PROPERTY_HINT_ENUM, en,PROPERTY_USAGE_EDITOR|PROPERTY_USAGE_ANIMATE_AS_TRIGGER));
}
void SpatialSamplePlayer::_notification(int p_what) {
diff --git a/scene/3d/sprite_3d.cpp b/scene/3d/sprite_3d.cpp
index a65d199937..8c86c4bf35 100644
--- a/scene/3d/sprite_3d.cpp
+++ b/scene/3d/sprite_3d.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* sprite_3d.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "sprite_3d.h"
#include "scene/scene_string_names.h"
#include "core_string_names.h"
diff --git a/scene/3d/sprite_3d.h b/scene/3d/sprite_3d.h
index d1d859f634..41e6ba804a 100644
--- a/scene/3d/sprite_3d.h
+++ b/scene/3d/sprite_3d.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* sprite_3d.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef SPRITE_3D_H
#define SPRITE_3D_H
diff --git a/scene/3d/vehicle_body.cpp b/scene/3d/vehicle_body.cpp
index 7d134a070e..6ccf07db1e 100644
--- a/scene/3d/vehicle_body.cpp
+++ b/scene/3d/vehicle_body.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* vehicle_body.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "vehicle_body.h"
#define ROLLING_INFLUENCE_FIX
diff --git a/scene/3d/vehicle_body.h b/scene/3d/vehicle_body.h
index 31c61ff99d..3a516be716 100644
--- a/scene/3d/vehicle_body.h
+++ b/scene/3d/vehicle_body.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* vehicle_body.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef VEHICLE_BODY_H
#define VEHICLE_BODY_H
diff --git a/scene/animation/animation_cache.cpp b/scene/animation/animation_cache.cpp
index b1123897b2..113e2c2278 100644
--- a/scene/animation/animation_cache.cpp
+++ b/scene/animation/animation_cache.cpp
@@ -301,7 +301,7 @@ void AnimationCache::set_all(float p_time, float p_delta) {
} break;
case Animation::TYPE_VALUE: {
- if (animation->value_track_is_continuous(i)) {
+ if (animation->value_track_get_update_mode(i)==Animation::UPDATE_CONTINUOUS || (animation->value_track_get_update_mode(i)==Animation::UPDATE_DISCRETE && p_delta==0)) {
Variant v = animation->value_track_interpolate(i,p_time);
set_track_value(i,v);
} else {
diff --git a/scene/animation/animation_player.cpp b/scene/animation/animation_player.cpp
index 2399bee539..dd4fa992ac 100644
--- a/scene/animation/animation_player.cpp
+++ b/scene/animation/animation_player.cpp
@@ -174,7 +174,7 @@ void AnimationPlayer::_get_property_list( List<PropertyInfo> *p_list) const {
hint+=E->get();
}
- p_list->push_back( PropertyInfo( Variant::STRING, "playback/play", PROPERTY_HINT_ENUM, hint,PROPERTY_USAGE_EDITOR) );
+ p_list->push_back( PropertyInfo( Variant::STRING, "playback/play", PROPERTY_HINT_ENUM, hint,PROPERTY_USAGE_EDITOR|PROPERTY_USAGE_ANIMATE_AS_TRIGGER) );
p_list->push_back( PropertyInfo( Variant::BOOL, "playback/active", PROPERTY_HINT_NONE,"" ) );
p_list->push_back( PropertyInfo( Variant::REAL, "playback/speed", PROPERTY_HINT_RANGE, "-64,64,0.01") );
@@ -421,12 +421,13 @@ void AnimationPlayer::_animation_process_animation(AnimationData* p_anim,float p
TrackNodeCache::PropertyAnim *pa = &E->get();
- if (a->value_track_is_continuous(i) || p_delta==0) { //delta == 0 means seek
+ if (a->value_track_get_update_mode(i)==Animation::UPDATE_CONTINUOUS || (p_delta==0 && a->value_track_get_update_mode(i)==Animation::UPDATE_DISCRETE)) { //delta == 0 means seek
Variant value=a->value_track_interpolate(i,p_time);
- if (p_delta==0 && value.get_type()==Variant::STRING)
- continue; // doing this with strings is messy, should find another way
+ //thanks to trigger mode, this should be solved now..
+ //if (p_delta==0 && value.get_type()==Variant::STRING)
+ // continue; // doing this with strings is messy, should find another way
if (pa->accum_pass!=accum_pass) {
ERR_CONTINUE( cache_update_prop_size >= NODE_CACHE_UPDATE_MAX );
cache_update_prop[cache_update_prop_size++]=pa;
@@ -437,11 +438,12 @@ void AnimationPlayer::_animation_process_animation(AnimationData* p_anim,float p
}
- } else if (p_allow_discrete) {
+ } else if (p_allow_discrete && p_delta!=0) {
List<int> indices;
a->value_track_get_key_indices(i,p_time,p_delta,&indices);
+
for(List<int>::Element *F=indices.front();F;F=F->next()) {
Variant value=a->track_get_key_value(i,F->get());
@@ -538,6 +540,7 @@ void AnimationPlayer::_animation_process_data(PlaybackData &cd,float p_delta,flo
float len=cd.from->animation->get_length();
bool loop=cd.from->animation->has_loop();
+ bool loop_interpolation=cd.from->animation->has_loop_interpolation();
if (!loop) {
@@ -563,10 +566,21 @@ void AnimationPlayer::_animation_process_data(PlaybackData &cd,float p_delta,flo
}
- } else {
+ } else if (loop_interpolation) {
next_pos=Math::fposmod(next_pos,len);
+ } else {
+
+ if (next_pos<0 || next_pos>len) {
+ if (!backwards)
+ next_pos=0;
+ else if (backwards)
+ next_pos=len;
+ }
+ // fix delta - not sure if needed here
+ delta=next_pos-cd.pos;
+
}
cd.pos=next_pos;
diff --git a/scene/animation/animation_player.h b/scene/animation/animation_player.h
index 2ae3a0756c..ac0265dbaa 100644
--- a/scene/animation/animation_player.h
+++ b/scene/animation/animation_player.h
@@ -33,7 +33,6 @@
#include "scene/resources/animation.h"
#include "scene/3d/spatial.h"
#include "scene/3d/skeleton.h"
-#include "scene/main/misc.h"
#include "scene/2d/node_2d.h"
/**
@author Juan Linietsky <reduzio@gmail.com>
diff --git a/scene/animation/animation_tree_player.cpp b/scene/animation/animation_tree_player.cpp
index 0f7ed1cb29..628edf09de 100644
--- a/scene/animation/animation_tree_player.cpp
+++ b/scene/animation/animation_tree_player.cpp
@@ -825,7 +825,7 @@ void AnimationTreePlayer::_process_animation(float p_delta) {
} break;
case Animation::TYPE_VALUE: { ///< Set a value in a property, can be interpolated.
- if (a->value_track_is_continuous(tr.local_track)) {
+ if (a->value_track_get_update_mode(tr.local_track)==Animation::UPDATE_CONTINUOUS) {
Variant value = a->value_track_interpolate(tr.local_track,anim_list->time);
Variant::blend(tr.track->value,value,blend,tr.track->value);
} else {
diff --git a/scene/animation/animation_tree_player.h b/scene/animation/animation_tree_player.h
index 0e78281e4c..dae891b5ce 100644
--- a/scene/animation/animation_tree_player.h
+++ b/scene/animation/animation_tree_player.h
@@ -33,7 +33,6 @@
#include "scene/resources/animation.h"
#include "scene/3d/spatial.h"
#include "scene/3d/skeleton.h"
-#include "scene/main/misc.h"
#include "animation_player.h"
diff --git a/scene/animation/transitioner.cpp b/scene/animation/transitioner.cpp
deleted file mode 100644
index adcf73d489..0000000000
--- a/scene/animation/transitioner.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-/*************************************************************************/
-/* transitioner.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#include "transitioner.h"
-/*
-Transitioner::Transitioner()
-{
-}
-*/
diff --git a/scene/animation/transitioner.h b/scene/animation/transitioner.h
deleted file mode 100644
index 8b7ec4f3fa..0000000000
--- a/scene/animation/transitioner.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/*************************************************************************/
-/* transitioner.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#ifndef TRANSITIONER_H
-#define TRANSITIONER_H
-
-/*
-class Transitioner : public Node {
- OBJ_TYPE(Transitioner, Node);
-public:
- enum Interpolation {
- INTERPOLATION_NEAREST,
- INTERPOLATION_LINEAR,
- INTERPOLATION_CUBIC
- };
-
- enum TransitionType {
- TYPE_PROPERTY,
- TYPE_METHOD,
- TYPE_TRANSITION
-
- };
-
-
- void create_transition(const String& p_transition, TransitionType p_type);
- void transition_set_target(const NodePath& p_node,const String& p_target);
- TransitionType transition_get_type() const;
- void transition_add_key(const String& p_transition,float p_time, const Variant& p_key);
- int transition_get_key_count(const String& p_transition) const;
- Variant transition_get_key_time(const String& p_transition.int p_key_index) const
- Variant transition_get_key(const String& p_transition,int p_key_index) const;
-
- void transition_remove_key(const String& p_transition, int p_key_index);
- void transition_clear_keys(const String& p_transition);
- void remove_transition(const String& p_transition);
-
- void transition_
-
-
- Transitioner();
-};
-*/
-#endif // TRANSITIONER_H
diff --git a/scene/animation/tween_interpolaters.cpp b/scene/animation/tween_interpolaters.cpp
index 80588d643e..058a7f12bc 100644
--- a/scene/animation/tween_interpolaters.cpp
+++ b/scene/animation/tween_interpolaters.cpp
@@ -1,5 +1,5 @@
/*************************************************************************/
-/* tween.cpp */
+/* tween_interpolaters.cpp */
/*************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
diff --git a/scene/audio/sample_player.cpp b/scene/audio/sample_player.cpp
index bcd4354975..3827d40a71 100644
--- a/scene/audio/sample_player.cpp
+++ b/scene/audio/sample_player.cpp
@@ -152,7 +152,7 @@ void SamplePlayer::_get_property_list(List<PropertyInfo> *p_list) const {
}
}
- p_list->push_back( PropertyInfo( Variant::STRING, "play/play", PROPERTY_HINT_ENUM, en,PROPERTY_USAGE_EDITOR));
+ p_list->push_back( PropertyInfo( Variant::STRING, "play/play", PROPERTY_HINT_ENUM, en,PROPERTY_USAGE_EDITOR|PROPERTY_USAGE_ANIMATE_AS_TRIGGER));
p_list->push_back( PropertyInfo( Variant::INT, "config/polyphony", PROPERTY_HINT_RANGE, "1,256,1"));
p_list->push_back( PropertyInfo( Variant::OBJECT, "config/samples", PROPERTY_HINT_RESOURCE_TYPE, "SampleLibrary"));
p_list->push_back( PropertyInfo( Variant::REAL, "default/volume_db", PROPERTY_HINT_RANGE, "-80,24,0.01"));
diff --git a/scene/gui/color_picker.cpp b/scene/gui/color_picker.cpp
index bd24b43761..d6bbdf2d21 100644
--- a/scene/gui/color_picker.cpp
+++ b/scene/gui/color_picker.cpp
@@ -664,10 +664,15 @@ bool ColorPickerButton::is_editing_alpha() const{
}
+ColorPicker *ColorPickerButton::get_picker() {
+ return picker;
+}
+
void ColorPickerButton::_bind_methods(){
ObjectTypeDB::bind_method(_MD("set_color","color"),&ColorPickerButton::set_color);
ObjectTypeDB::bind_method(_MD("get_color"),&ColorPickerButton::get_color);
+ ObjectTypeDB::bind_method(_MD("get_picker:ColorPicker"),&ColorPickerButton::get_picker);
ObjectTypeDB::bind_method(_MD("set_edit_alpha","show"),&ColorPickerButton::set_edit_alpha);
ObjectTypeDB::bind_method(_MD("is_editing_alpha"),&ColorPickerButton::is_editing_alpha);
ObjectTypeDB::bind_method(_MD("_color_changed"),&ColorPickerButton::_color_changed);
diff --git a/scene/gui/color_picker.h b/scene/gui/color_picker.h
index 4559bc7391..f5de982200 100644
--- a/scene/gui/color_picker.h
+++ b/scene/gui/color_picker.h
@@ -133,6 +133,8 @@ public:
void set_edit_alpha(bool p_show);
bool is_editing_alpha() const;
+ ColorPicker *get_picker();
+
ColorPickerButton();
};
diff --git a/scene/gui/color_ramp_edit.cpp b/scene/gui/color_ramp_edit.cpp
index 2ab004e04b..50e1ffbec9 100644
--- a/scene/gui/color_ramp_edit.cpp
+++ b/scene/gui/color_ramp_edit.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* color_ramp_edit.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "color_ramp_edit.h"
#include "os/keyboard.h"
diff --git a/scene/gui/color_ramp_edit.h b/scene/gui/color_ramp_edit.h
index 91292eed0d..61365d9f07 100644
--- a/scene/gui/color_ramp_edit.h
+++ b/scene/gui/color_ramp_edit.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* color_ramp_edit.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef SCENE_GUI_COLOR_RAMP_EDIT_H_
#define SCENE_GUI_COLOR_RAMP_EDIT_H_
diff --git a/scene/gui/control.cpp b/scene/gui/control.cpp
index 666ac88055..edc8a8bcb8 100644
--- a/scene/gui/control.cpp
+++ b/scene/gui/control.cpp
@@ -153,6 +153,9 @@ bool Control::_set(const StringName& p_name, const Variant& p_value) {
update();
} else if (name.begins_with("custom_fonts/")) {
String dname = name.get_slicec('/',1);
+ if (data.font_override.has(dname)) {
+ _unref_font(data.font_override[dname]);
+ }
data.font_override.erase(dname);
notification(NOTIFICATION_THEME_CHANGED);
update();
@@ -1551,7 +1554,15 @@ void Control::add_style_override(const StringName& p_name, const Ref<StyleBox>&
void Control::add_font_override(const StringName& p_name, const Ref<Font>& p_font) {
ERR_FAIL_COND(p_font.is_null());
+ if (data.font_override.has(p_name)) {
+ _unref_font(data.font_override[p_name]);
+ }
data.font_override[p_name]=p_font;
+
+ if (p_font.is_valid()) {
+ _ref_font(p_font);
+ }
+
notification(NOTIFICATION_THEME_CHANGED);
update();
}
@@ -2244,6 +2255,33 @@ float Control::_get_rotation_deg() const {
WARN_PRINT("Deprecated method Control._get_rotation_deg(): This method was renamed to get_rotation_deg. Please adapt your code accordingly, as the old method will be obsoleted.");
return get_rotation_deg();
}
+//needed to update the control if the font changes..
+void Control::_ref_font( Ref<Font> p_sc) {
+
+ if (!data.font_refcount.has(p_sc)) {
+ data.font_refcount[p_sc]=1;
+ p_sc->connect("changed",this,"_font_changed");
+ } else {
+ data.font_refcount[p_sc]+=1;
+ }
+}
+
+void Control::_unref_font(Ref<Font> p_sc) {
+
+ ERR_FAIL_COND(!data.font_refcount.has(p_sc));
+ data.font_refcount[p_sc]--;
+ if (data.font_refcount[p_sc]==0) {
+ p_sc->disconnect("changed",this,"_font_changed");
+ data.font_refcount.erase(p_sc);
+ }
+}
+
+void Control::_font_changed(){
+
+ update();
+ notification(NOTIFICATION_THEME_CHANGED);
+ minimum_size_changed(); //fonts affect minimum size pretty much almost always
+}
void Control::set_scale(const Vector2& p_scale){
@@ -2396,6 +2434,8 @@ void Control::_bind_methods() {
ObjectTypeDB::bind_method(_MD("minimum_size_changed"), &Control::minimum_size_changed);
+ ObjectTypeDB::bind_method(_MD("_font_changed"), &Control::_font_changed);
+
BIND_VMETHOD(MethodInfo("_input_event",PropertyInfo(Variant::INPUT_EVENT,"event")));
BIND_VMETHOD(MethodInfo(Variant::VECTOR2,"get_minimum_size"));
BIND_VMETHOD(MethodInfo(Variant::OBJECT,"get_drag_data",PropertyInfo(Variant::VECTOR2,"pos")));
diff --git a/scene/gui/control.h b/scene/gui/control.h
index 69ee41f180..07a28de1ea 100644
--- a/scene/gui/control.h
+++ b/scene/gui/control.h
@@ -153,6 +153,8 @@ private:
HashMap<StringName, Ref<Font>, StringNameHasher > font_override;
HashMap<StringName, Color, StringNameHasher > color_override;
HashMap<StringName, int, StringNameHasher > constant_override;
+ Map< Ref<Font>, int> font_refcount;
+
} data;
// used internally
@@ -184,6 +186,11 @@ private:
void _set_rotation_deg(float p_degrees);
float _get_rotation_deg() const;
+ void _ref_font(Ref<Font> p_sc);
+ void _unref_font( Ref<Font> p_sc);
+ void _font_changed();
+
+
friend class Viewport;
void _modal_stack_remove();
void _modal_set_prev_focus_owner(ObjectID p_prev);
diff --git a/scene/gui/custom_button.h b/scene/gui/custom_button.h
deleted file mode 100644
index 2492750489..0000000000
--- a/scene/gui/custom_button.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/*************************************************************************/
-/* custom_button.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#ifndef CUSTOM_BUTTON_H
-#define CUSTOM_BUTTON_H
-
-/**
- @author Juan Linietsky <reduzio@gmail.com>
-*/
-class CustomButton{
-public:
- CustomButton();
-
- ~CustomButton();
-
-};
-
-#endif
diff --git a/scene/gui/file_dialog.cpp b/scene/gui/file_dialog.cpp
index 732cbb8e72..d335399caa 100644
--- a/scene/gui/file_dialog.cpp
+++ b/scene/gui/file_dialog.cpp
@@ -339,6 +339,11 @@ void FileDialog::update_file_list() {
}
}
+ if (dirs.find("..")==NULL) {
+ //may happen if lacking permissions
+ dirs.push_back("..");
+ }
+
dirs.sort_custom<NoCaseComparator>();
files.sort_custom<NoCaseComparator>();
diff --git a/scene/gui/graph_edit.cpp b/scene/gui/graph_edit.cpp
index 9123194589..ee3b8913b4 100644
--- a/scene/gui/graph_edit.cpp
+++ b/scene/gui/graph_edit.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* graph_edit.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "graph_edit.h"
#include "os/input.h"
#include "os/keyboard.h"
diff --git a/scene/gui/graph_edit.h b/scene/gui/graph_edit.h
index 8a7721b9b5..ac4e71ba49 100644
--- a/scene/gui/graph_edit.h
+++ b/scene/gui/graph_edit.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* graph_edit.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef GRAPH_EDIT_H
#define GRAPH_EDIT_H
diff --git a/scene/gui/graph_node.cpp b/scene/gui/graph_node.cpp
index eef1bf79c4..94001b2ac1 100644
--- a/scene/gui/graph_node.cpp
+++ b/scene/gui/graph_node.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* graph_node.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "graph_node.h"
#include "method_bind_ext.inc"
diff --git a/scene/gui/graph_node.h b/scene/gui/graph_node.h
index dc407a6809..5a50d0d68d 100644
--- a/scene/gui/graph_node.h
+++ b/scene/gui/graph_node.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* graph_node.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef GRAPH_NODE_H
#define GRAPH_NODE_H
diff --git a/scene/gui/grid_container.cpp b/scene/gui/grid_container.cpp
index a514f1b3d7..dde9768a6d 100644
--- a/scene/gui/grid_container.cpp
+++ b/scene/gui/grid_container.cpp
@@ -158,6 +158,7 @@ void GridContainer::set_columns(int p_columns) {
columns=p_columns;
queue_sort();
+ minimum_size_changed();
}
diff --git a/scene/gui/item_list.cpp b/scene/gui/item_list.cpp
index 66e8fe10ff..5379836746 100644
--- a/scene/gui/item_list.cpp
+++ b/scene/gui/item_list.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* item_list.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "item_list.h"
#include "os/os.h"
#include "globals.h"
diff --git a/scene/gui/item_list.h b/scene/gui/item_list.h
index a4909205ef..aa6dd64c50 100644
--- a/scene/gui/item_list.h
+++ b/scene/gui/item_list.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* item_list.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef ITEMLIST_H
#define ITEMLIST_H
diff --git a/scene/gui/line_edit.cpp b/scene/gui/line_edit.cpp
index ab556ede0c..52ef57cf1c 100644
--- a/scene/gui/line_edit.cpp
+++ b/scene/gui/line_edit.cpp
@@ -32,6 +32,11 @@
#include "print_string.h"
#include "label.h"
+static bool _is_text_char(CharType c) {
+
+ return (c>='a' && c<='z') || (c>='A' && c<='Z') || (c>='0' && c<='9') || c=='_';
+}
+
void LineEdit::_input_event(InputEvent p_event) {
@@ -54,26 +59,36 @@ void LineEdit::_input_event(InputEvent p_event) {
if (b.pressed) {
+ shift_selection_check_pre(b.mod.shift);
+
set_cursor_at_pixel_pos(b.x);
- if (b.doubleclick) {
+ if (b.mod.shift) {
- selection.enabled=true;
- selection.begin=0;
- selection.end=text.length();
- selection.doubleclick=true;
- }
+ selection_fill_at_cursor();
+ selection.creating=true;
- selection.drag_attempt=false;
+ } else {
- if ((cursor_pos<selection.begin) || (cursor_pos>selection.end) || !selection.enabled) {
+ if (b.doubleclick) {
- selection_clear();
- selection.cursor_start=cursor_pos;
- selection.creating=true;
- } else if (selection.enabled) {
+ selection.enabled=true;
+ selection.begin=0;
+ selection.end=text.length();
+ selection.doubleclick=true;
+ }
+
+ selection.drag_attempt=false;
+
+ if ((cursor_pos<selection.begin) || (cursor_pos>selection.end) || !selection.enabled) {
+
+ selection_clear();
+ selection.cursor_start=cursor_pos;
+ selection.creating=true;
+ } else if (selection.enabled) {
- selection.drag_attempt=true;
+ selection.drag_attempt=true;
+ }
}
// if (!editable)
@@ -124,7 +139,7 @@ void LineEdit::_input_event(InputEvent p_event) {
case (KEY_X): { // CUT
- if(k.mod.command && editable) {
+ if(editable) {
cut_text();
}
@@ -132,15 +147,13 @@ void LineEdit::_input_event(InputEvent p_event) {
case (KEY_C): { // COPY
- if(k.mod.command) {
- copy_text();
- }
+ copy_text();
} break;
case (KEY_V): { // PASTE
- if(k.mod.command && editable) {
+ if(editable) {
paste_text();
}
@@ -149,7 +162,7 @@ void LineEdit::_input_event(InputEvent p_event) {
case (KEY_Z): { // Simple One level undo
- if( k.mod.command && editable) {
+ if(editable) {
undo();
@@ -160,7 +173,7 @@ void LineEdit::_input_event(InputEvent p_event) {
case (KEY_U): { // Delete from start to cursor
- if( k.mod.command && editable) {
+ if(editable) {
selection_clear();
undo_text = text;
@@ -184,7 +197,7 @@ void LineEdit::_input_event(InputEvent p_event) {
case (KEY_Y): { // PASTE (Yank for unix users)
- if(k.mod.command && editable) {
+ if(editable) {
paste_text();
}
@@ -192,7 +205,7 @@ void LineEdit::_input_event(InputEvent p_event) {
} break;
case (KEY_K): { // Delete from cursor_pos to end
- if(k.mod.command && editable) {
+ if(editable) {
selection_clear();
undo_text = text;
@@ -215,7 +228,7 @@ void LineEdit::_input_event(InputEvent p_event) {
}
- if (!k.mod.alt && !k.mod.meta && !k.mod.command) {
+ if (!k.mod.meta) {
bool handled=true;
switch (code) {
@@ -232,13 +245,45 @@ void LineEdit::_input_event(InputEvent p_event) {
case KEY_BACKSPACE: {
- if (editable) {
- undo_text = text;
- if (selection.enabled)
- selection_delete();
- else
- delete_char();
+ if (!editable)
+ break;
+
+ if (selection.enabled) {
+ undo_text=text;
+ selection_delete();
+ break;
+ }
+
+#ifdef APPLE_STYLE_KEYS
+ if (k.mod.alt) {
+#else
+ if (k.mod.alt) {
+ handled=false;
+ break;
+ } else if (k.mod.command) {
+#endif
+ int cc=cursor_pos;
+ bool prev_char=false;
+
+ while (cc>0) {
+ bool ischar=_is_text_char(text[cc-1]);
+
+ if (prev_char && !ischar)
+ break;
+
+ prev_char=ischar;
+ cc--;
+ }
+
+ delete_text(cc, cursor_pos);
+
+ set_cursor_pos(cc);
+
+ } else {
+ undo_text=text;
+ delete_char();
}
+
} break;
case KEY_KP_4: {
if (k.unicode != 0) {
@@ -248,8 +293,39 @@ void LineEdit::_input_event(InputEvent p_event) {
// numlock disabled. fallthrough to key_left
}
case KEY_LEFT: {
+
shift_selection_check_pre(k.mod.shift);
- set_cursor_pos(get_cursor_pos()-1);
+
+#ifdef APPLE_STYLE_KEYS
+ if (k.mod.command) {
+ set_cursor_pos(0);
+ } else if (k.mod.alt) {
+
+#else
+ if (k.mod.alt) {
+ handled=false;
+ break;
+ } else if (k.mod.command) {
+#endif
+ bool prev_char=false;
+ int cc=cursor_pos;
+
+ while (cc>0) {
+ bool ischar=_is_text_char(text[cc-1]);
+
+ if (prev_char && !ischar)
+ break;
+
+ prev_char=ischar;
+ cc--;
+ }
+
+ set_cursor_pos(cc);
+
+ } else {
+ set_cursor_pos(get_cursor_pos()-1);
+ }
+
shift_selection_check_post(k.mod.shift);
} break;
@@ -263,25 +339,88 @@ void LineEdit::_input_event(InputEvent p_event) {
case KEY_RIGHT: {
shift_selection_check_pre(k.mod.shift);
- set_cursor_pos(get_cursor_pos()+1);
+
+#ifdef APPLE_STYLE_KEYS
+ if (k.mod.command) {
+ set_cursor_pos(text.length());
+ } else if (k.mod.alt) {
+#else
+ if (k.mod.alt) {
+ handled=false;
+ break;
+ } else if (k.mod.command) {
+#endif
+ bool prev_char=false;
+ int cc=cursor_pos;
+
+ while (cc<text.length()) {
+ bool ischar=_is_text_char(text[cc]);
+
+ if (prev_char && !ischar)
+ break;
+
+ prev_char=ischar;
+ cc++;
+ }
+
+ set_cursor_pos(cc);
+
+ } else {
+ set_cursor_pos(get_cursor_pos()+1);
+ }
+
shift_selection_check_post(k.mod.shift);
+
} break;
case KEY_DELETE: {
- if (k.mod.shift && !k.mod.command && !k.mod.alt && editable) {
+ if (!editable)
+ break;
+
+ if (k.mod.shift && !k.mod.command && !k.mod.alt) {
cut_text();
break;
}
- if (editable) {
- undo_text = text;
- if (selection.enabled)
- selection_delete();
- else if (cursor_pos<text.length()) {
+ if (selection.enabled) {
+ undo_text=text;
+ selection_delete();
+ break;
+ }
+
+ int text_len = text.length();
+
+ if (cursor_pos==text_len)
+ break; // nothing to do
+
+#ifdef APPLE_STYLE_KEYS
+ if (k.mod.alt) {
+#else
+ if (k.mod.alt) {
+ handled=false;
+ break;
+ } else if (k.mod.command) {
+#endif
+ int cc=cursor_pos;
+
+ bool prev_char=false;
+
+ while (cc<text.length()) {
- set_cursor_pos(get_cursor_pos()+1);
- delete_char();
+ bool ischar=_is_text_char(text[cc]);
+
+ if (prev_char && !ischar)
+ break;
+ prev_char=ischar;
+ cc++;
}
+
+ delete_text(cursor_pos,cc);
+
+ } else {
+ undo_text=text;
+ set_cursor_pos(cursor_pos+1);
+ delete_char();
}
} break;
@@ -339,8 +478,6 @@ void LineEdit::_input_event(InputEvent p_event) {
}
}
-
- selection.old_shift=k.mod.shift;
update();
}
@@ -577,7 +714,7 @@ void LineEdit::undo() {
void LineEdit::shift_selection_check_pre(bool p_shift) {
- if (!selection.old_shift && p_shift) {
+ if (!selection.enabled && p_shift) {
selection.cursor_start=cursor_pos;
}
if (!p_shift)
@@ -673,6 +810,39 @@ void LineEdit::delete_char() {
_change_notify("text");
}
+void LineEdit::delete_text(int p_from_column, int p_to_column) {
+
+ undo_text = text;
+
+ if (text.size() > 0)
+ {
+ Ref<Font> font = get_font("font");
+ if (font != NULL) {
+ for (int i = p_from_column; i < p_to_column; i++)
+ cached_width -= font->get_char_size(text[i]).width;
+ }
+ }
+ else
+ {
+ cached_width = 0;
+ }
+
+ text.erase(p_from_column,p_to_column-p_from_column);
+ cursor_pos-=CLAMP( cursor_pos-p_from_column, 0, p_to_column-p_from_column);
+
+ if (cursor_pos>=text.length()) {
+
+ cursor_pos=text.length();
+ }
+ if (window_pos>cursor_pos) {
+
+ window_pos=cursor_pos;
+ }
+
+ emit_signal("text_changed",text);
+ _change_notify("text");
+}
+
void LineEdit::set_text(String p_text) {
clear_internal();
@@ -820,46 +990,14 @@ void LineEdit::selection_clear() {
selection.cursor_start=0;
selection.enabled=false;
selection.creating=false;
- selection.old_shift=false;
selection.doubleclick=false;
update();
}
-
void LineEdit::selection_delete() {
- if (selection.enabled) {
-
- undo_text = text;
-
- if (text.size() > 0)
- {
- Ref<Font> font = get_font("font");
- if (font != NULL) {
- for (int i = selection.begin; i < selection.end; i++)
- cached_width -= font->get_char_size(text[i]).width;
- }
- }
- else
- {
- cached_width = 0;
- }
-
- text.erase(selection.begin,selection.end-selection.begin);
- cursor_pos-=CLAMP( cursor_pos-selection.begin, 0, selection.end-selection.begin);
-
- if (cursor_pos>=text.length()) {
-
- cursor_pos=text.length();
- }
- if (window_pos>cursor_pos) {
-
- window_pos=cursor_pos;
- }
-
- emit_signal("text_changed",text);
- _change_notify("text");
- };
+ if (selection.enabled)
+ delete_text(selection.begin,selection.end);
selection_clear();
}
@@ -946,7 +1084,6 @@ void LineEdit::select(int p_from, int p_to) {
selection.begin=p_from;
selection.end=p_to;
selection.creating=false;
- selection.old_shift=false;
selection.doubleclick=false;
update();
}
diff --git a/scene/gui/line_edit.h b/scene/gui/line_edit.h
index 586a54e950..ce3958db02 100644
--- a/scene/gui/line_edit.h
+++ b/scene/gui/line_edit.h
@@ -83,7 +83,6 @@ private:
int cursor_start;
bool enabled;
bool creating;
- bool old_shift;
bool doubleclick;
bool drag_attempt;
} selection;
@@ -123,6 +122,7 @@ public:
void select_all();
void delete_char();
+ void delete_text(int p_from_column, int p_to_column);
void set_text(String p_text);
String get_text() const;
void set_cursor_pos(int p_pos);
diff --git a/scene/gui/link_button.cpp b/scene/gui/link_button.cpp
index 065423ae2d..62829fd5a4 100644
--- a/scene/gui/link_button.cpp
+++ b/scene/gui/link_button.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* link_button.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "link_button.h"
diff --git a/scene/gui/link_button.h b/scene/gui/link_button.h
index d218482337..9978f66cc0 100644
--- a/scene/gui/link_button.h
+++ b/scene/gui/link_button.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* link_button.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef LINKBUTTON_H
#define LINKBUTTON_H
diff --git a/scene/gui/patch_9_frame.cpp b/scene/gui/patch_9_frame.cpp
index 3ecee7328b..a6a3490ad2 100644
--- a/scene/gui/patch_9_frame.cpp
+++ b/scene/gui/patch_9_frame.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* patch_9_frame.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "patch_9_frame.h"
#include "servers/visual_server.h"
diff --git a/scene/gui/patch_9_frame.h b/scene/gui/patch_9_frame.h
index 52e2324c3d..7763db567a 100644
--- a/scene/gui/patch_9_frame.h
+++ b/scene/gui/patch_9_frame.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* patch_9_frame.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef PATCH_9_FRAME_H
#define PATCH_9_FRAME_H
diff --git a/scene/gui/tab_container.cpp b/scene/gui/tab_container.cpp
index d19e5f0d60..5eb579f1d2 100644
--- a/scene/gui/tab_container.cpp
+++ b/scene/gui/tab_container.cpp
@@ -412,8 +412,9 @@ void TabContainer::_notification(int p_what) {
} break;
case NOTIFICATION_THEME_CHANGED: {
-
- call_deferred("set_current_tab",get_current_tab()); //wait until all changed theme
+ if (get_tab_count() > 0) {
+ call_deferred("set_current_tab",get_current_tab()); //wait until all changed theme
+ }
} break;
}
}
@@ -704,13 +705,13 @@ Size2 TabContainer::get_minimum_size() const {
if (c->is_set_as_toplevel())
continue;
- if (!c->has_meta("_tab_name"))
- continue;
+ //if (!c->has_meta("_tab_name"))
+ // continue;
if (!c->is_visible())
continue;
- Size2 cms = c->get_minimum_size();
+ Size2 cms = c->get_combined_minimum_size();
ms.x=MAX(ms.x,cms.x);
ms.y=MAX(ms.y,cms.y);
}
@@ -722,6 +723,9 @@ Size2 TabContainer::get_minimum_size() const {
ms.y+=MAX(tab_bg->get_minimum_size().y,tab_fg->get_minimum_size().y);
ms.y+=font->get_height();
+ Ref<StyleBox> sb = get_stylebox("panel");
+ ms+=sb->get_minimum_size();
+
return ms;
}
diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp
index 49d7527786..5e18da32aa 100644
--- a/scene/gui/text_edit.cpp
+++ b/scene/gui/text_edit.cpp
@@ -417,8 +417,22 @@ void TextEdit::_notification(int p_what) {
_update_caches();
} break;
+ case MainLoop::NOTIFICATION_WM_FOCUS_IN: {
+ window_has_focus = true;
+ draw_caret = true;
+ update();
+ } break;
+ case MainLoop::NOTIFICATION_WM_FOCUS_OUT: {
+ window_has_focus = false;
+ draw_caret = false;
+ update();
+ } break;
case NOTIFICATION_DRAW: {
+ if ((!has_focus() && !menu->has_focus()) || !window_has_focus) {
+ draw_caret = false;
+ }
+
if (draw_breakpoint_gutter) {
breakpoint_gutter_width = (get_row_height() * 55) / 100;
cache.breakpoint_gutter_width = breakpoint_gutter_width;
@@ -1195,6 +1209,9 @@ void TextEdit::_notification(int p_what) {
} break;
case NOTIFICATION_FOCUS_ENTER: {
+ if (!caret_blink_enabled) {
+ draw_caret = true;
+ }
if (OS::get_singleton()->has_virtual_keyboard())
OS::get_singleton()->show_virtual_keyboard(get_text(),get_global_rect());
@@ -1452,10 +1469,10 @@ void TextEdit::_input_event(const InputEvent& p_input_event) {
}
if (mb.pressed) {
- if (mb.button_index==BUTTON_WHEEL_UP) {
+ if (mb.button_index==BUTTON_WHEEL_UP && !mb.mod.command) {
v_scroll->set_val( v_scroll->get_val() -3 );
}
- if (mb.button_index==BUTTON_WHEEL_DOWN) {
+ if (mb.button_index==BUTTON_WHEEL_DOWN && !mb.mod.command) {
v_scroll->set_val( v_scroll->get_val() +3 );
}
if (mb.button_index==BUTTON_WHEEL_LEFT) {
@@ -3837,8 +3854,14 @@ void TextEdit::undo() {
}
}
- cursor_set_line(undo_stack_pos->get().from_line);
- cursor_set_column(undo_stack_pos->get().from_column);
+ if (undo_stack_pos->get().type == TextOperation::TYPE_REMOVE) {
+ cursor_set_line(undo_stack_pos->get().to_line);
+ cursor_set_column(undo_stack_pos->get().to_column);
+ _cancel_code_hint();
+ } else {
+ cursor_set_line(undo_stack_pos->get().from_line);
+ cursor_set_column(undo_stack_pos->get().from_column);
+ }
update();
}
@@ -3981,28 +4004,19 @@ void TextEdit::set_completion(bool p_enabled,const Vector<String>& p_prefixes) {
void TextEdit::_confirm_completion() {
- String remaining=completion_current.substr(completion_base.length(),completion_current.length()-completion_base.length());
- String l = text[cursor.line];
- bool same=true;
- //if what is going to be inserted is the same as what it is, don't change it
- for(int i=0;i<remaining.length();i++) {
- int c=i+cursor.column;
- if (c>=l.length() || l[c]!=remaining[i]) {
- same=false;
- break;
- }
- }
+ begin_complex_operation();
- if (same)
- cursor_set_column(cursor.column+remaining.length());
- else {
- insert_text_at_cursor(remaining);
- if (remaining.ends_with("(") && auto_brace_completion_enabled) {
- insert_text_at_cursor(")");
- cursor.column--;
- }
+ _remove_text(cursor.line, cursor.column - completion_base.length(), cursor.line, cursor.column);
+ cursor_set_column(cursor.column - completion_base.length(), false);
+ insert_text_at_cursor(completion_current);
+
+ if (completion_current.ends_with("(") && auto_brace_completion_enabled) {
+ insert_text_at_cursor(")");
+ cursor.column--;
}
+ end_complex_operation();
+
_cancel_completion();
}
@@ -4105,30 +4119,29 @@ void TextEdit::_update_completion_candidates() {
completion_index=0;
completion_base=s;
int ci_match=0;
+ Vector<float> sim_cache;
for(int i=0;i<completion_strings.size();i++) {
- if (completion_strings[i].begins_with(s)) {
+ if (s.is_subsequence_ofi(completion_strings[i])) {
// don't remove duplicates if no input is provided
- if (completion_options.find(completion_strings[i]) != -1 && s != "") {
+ if (s != "" && completion_options.find(completion_strings[i]) != -1) {
continue;
}
- completion_options.push_back(completion_strings[i]);
- int m=0;
- int max=MIN(completion_current.length(),completion_strings[i].length());
- if (max<ci_match)
- continue;
- for(int j=0;j<max;j++) {
-
- if (j>=completion_strings[i].length())
- break;
- if (completion_current[j]!=completion_strings[i][j])
- break;
- m++;
- }
- if (m>ci_match) {
- ci_match=m;
- completion_index=completion_options.size()-1;
+ // Calculate the similarity to keep completions in good order
+ float similarity = s.similarity(completion_strings[i]);
+ int comp_size = completion_options.size();
+ if (comp_size == 0) {
+ completion_options.push_back(completion_strings[i]);
+ sim_cache.push_back(similarity);
+ } else {
+ float comp_sim;
+ int pos = 0;
+ do {
+ comp_sim = sim_cache[pos++];
+ } while(pos < comp_size && similarity <= comp_sim);
+ pos--; // Pos will be off by one
+ completion_options.insert(pos, completion_strings[i]);
+ sim_cache.insert(pos, similarity);
}
-
}
}
@@ -4141,7 +4154,8 @@ void TextEdit::_update_completion_candidates() {
}
- completion_current=completion_options[completion_index];
+ // The top of the list is the best match
+ completion_current=completion_options[0];
#if 0 // even there's only one option, user still get the chance to choose using it or not
if (completion_options.size()==1) {
@@ -4153,8 +4167,6 @@ void TextEdit::_update_completion_candidates() {
}
#endif
- if (completion_options.size()==1 && s==completion_options[0])
- _cancel_completion();
completion_enabled=true;
}
@@ -4518,6 +4530,7 @@ TextEdit::TextEdit() {
brace_matching_enabled=false;
auto_indent=false;
insert_mode = false;
+ window_has_focus=true;
menu = memnew( PopupMenu );
add_child(menu);
diff --git a/scene/gui/text_edit.h b/scene/gui/text_edit.h
index 22f024c491..f01e6de1c9 100644
--- a/scene/gui/text_edit.h
+++ b/scene/gui/text_edit.h
@@ -217,6 +217,7 @@ class TextEdit : public Control {
Timer *caret_blink_timer;
bool caret_blink_enabled;
bool draw_caret;
+ bool window_has_focus;
bool setting_row;
bool wrap;
diff --git a/scene/gui/tree.cpp b/scene/gui/tree.cpp
index 08fe847a33..f8516f8f5d 100644
--- a/scene/gui/tree.cpp
+++ b/scene/gui/tree.cpp
@@ -811,6 +811,8 @@ void Tree::update_cache() {
cache.item_margin=get_constant("item_margin");
cache.button_margin=get_constant("button_margin");
cache.guide_width=get_constant("guide_width");
+ cache.draw_relationship_lines=get_constant("draw_relationship_lines");
+ cache.relationship_line_color=get_color("relationship_line_color");
cache.title_button = get_stylebox("title_button_normal");
cache.title_button_pressed = get_stylebox("title_button_pressed");
@@ -1295,9 +1297,21 @@ int Tree::draw_item(const Point2i& p_pos,const Point2& p_draw_ofs, const Size2&
while (c) {
+ if (cache.draw_relationship_lines == 1){
+ int root_ofs = children_pos.x + (hide_folding?cache.hseparation:cache.item_margin);
+ int parent_ofs = p_pos.x + (hide_folding?cache.hseparation:cache.item_margin);
+ Point2i root_pos = Point2i(root_ofs, children_pos.y + label_h/2)-cache.offset+p_draw_ofs;
+ if (c->get_children() > 0)
+ root_pos -= Point2i(cache.arrow->get_width(),0);
+
+ Point2i parent_pos = Point2i(parent_ofs - cache.arrow->get_width()/2, p_pos.y + label_h/2 + cache.arrow->get_height()/2)-cache.offset+p_draw_ofs;
+ VisualServer::get_singleton()->canvas_item_add_line(ci, root_pos, Point2i(parent_pos.x, root_pos.y), cache.relationship_line_color);
+ VisualServer::get_singleton()->canvas_item_add_line(ci, Point2i(parent_pos.x, root_pos.y), parent_pos, cache.relationship_line_color);
+ }
+
int child_h=draw_item(children_pos, p_draw_ofs, p_draw_size, c );
- if (child_h<0)
+ if (child_h<0 && cache.draw_relationship_lines == 0)
return -1; // break, stop drawing, no need to anymore
htotal+=child_h;
@@ -3674,4 +3688,3 @@ Tree::~Tree() {
}
}
-
diff --git a/scene/gui/tree.h b/scene/gui/tree.h
index 1dad26dffe..0172546c1d 100644
--- a/scene/gui/tree.h
+++ b/scene/gui/tree.h
@@ -377,6 +377,7 @@ friend class TreeItem;
Color font_color_selected;
Color guide_color;
Color drop_position_color;
+ Color relationship_line_color;
int hseparation;
int vseparation;
@@ -384,6 +385,7 @@ friend class TreeItem;
int guide_width;
int button_margin;
Point2 offset;
+ int draw_relationship_lines;
enum ClickType {
CLICK_NONE,
@@ -532,4 +534,3 @@ public:
VARIANT_ENUM_CAST( Tree::SelectMode );
#endif
-
diff --git a/scene/gui/video_player.cpp b/scene/gui/video_player.cpp
index 26227d6389..e9ff76bd91 100644
--- a/scene/gui/video_player.cpp
+++ b/scene/gui/video_player.cpp
@@ -208,10 +208,17 @@ void VideoPlayer::set_stream(const Ref<VideoStream> &p_stream) {
playback->set_paused(paused);
texture=playback->get_texture();
+ const int channels = playback->get_channels();
+
AudioServer::get_singleton()->lock();
- resampler.setup(playback->get_channels(),playback->get_mix_rate(),server_mix_rate,buffering_ms,0);
+ if (channels > 0)
+ resampler.setup(channels,playback->get_mix_rate(),server_mix_rate,buffering_ms,0);
+ else
+ resampler.clear();
AudioServer::get_singleton()->unlock();
- playback->set_mix_callback(_audio_mix_callback,this);
+
+ if (channels > 0)
+ playback->set_mix_callback(_audio_mix_callback,this);
} else {
texture.unref();
diff --git a/scene/main/http_request.cpp b/scene/main/http_request.cpp
index be0d0c012d..040d509286 100644
--- a/scene/main/http_request.cpp
+++ b/scene/main/http_request.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* http_request.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "http_request.h"
void HTTPRequest::_redirect_request(const String& p_new_url) {
diff --git a/scene/main/http_request.h b/scene/main/http_request.h
index 7659d9e6d6..7c3ccb2eb9 100644
--- a/scene/main/http_request.h
+++ b/scene/main/http_request.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* http_request.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef HTTPREQUEST_H
#define HTTPREQUEST_H
diff --git a/scene/main/instance_placeholder.cpp b/scene/main/instance_placeholder.cpp
index f822107918..fb047ea5e4 100644
--- a/scene/main/instance_placeholder.cpp
+++ b/scene/main/instance_placeholder.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* instance_placeholder.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "instance_placeholder.h"
#include "scene/resources/packed_scene.h"
diff --git a/scene/main/instance_placeholder.h b/scene/main/instance_placeholder.h
index 9c47655ce7..ef76686196 100644
--- a/scene/main/instance_placeholder.h
+++ b/scene/main/instance_placeholder.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* instance_placeholder.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef INSTANCE_PLACEHOLDER_H
#define INSTANCE_PLACEHOLDER_H
diff --git a/scene/main/misc.cpp b/scene/main/misc.cpp
deleted file mode 100644
index 35d8b4cdfb..0000000000
--- a/scene/main/misc.cpp
+++ /dev/null
@@ -1,40 +0,0 @@
-/*************************************************************************/
-/* misc.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#include "misc.h"
-
-Misc::Misc()
-{
-}
-
-
-Misc::~Misc()
-{
-}
-
-
diff --git a/scene/main/misc.h b/scene/main/misc.h
deleted file mode 100644
index d5db8c3247..0000000000
--- a/scene/main/misc.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*************************************************************************/
-/* misc.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#ifndef MISC_H
-#define MISC_H
-
-#include "scene/main/node.h"
-/**
- @author Juan Linietsky <reduzio@gmail.com>
-*/
-class Misc : public Node {
-
- OBJ_TYPE( Misc, Node );
-public:
- Misc();
- ~Misc();
-
-};
-
-#endif
diff --git a/scene/main/node.cpp b/scene/main/node.cpp
index 50b0fe224e..11b400d4a9 100644
--- a/scene/main/node.cpp
+++ b/scene/main/node.cpp
@@ -2081,6 +2081,10 @@ void Node::update_configuration_warning() {
}
+bool Node::is_owned_by_parent() const {
+ return data.parent_owned;
+}
+
void Node::_bind_methods() {
ObjectTypeDB::bind_method(_MD("_add_child_below_node","node:Node","child_node:Node","legible_unique_name"),&Node::add_child_below_node,DEFVAL(false));
diff --git a/scene/main/node.h b/scene/main/node.h
index a3b8d8de81..88334f32f0 100644
--- a/scene/main/node.h
+++ b/scene/main/node.h
@@ -313,6 +313,8 @@ public:
NodePath get_import_path() const;
#endif
+ bool is_owned_by_parent() const;
+
void get_argument_options(const StringName& p_function,int p_idx,List<String>*r_options) const;
void clear_internal_tree_resource_paths();
diff --git a/scene/main/scene_main_loop.h b/scene/main/scene_main_loop.h
index 15604a3460..38d13c0447 100644
--- a/scene/main/scene_main_loop.h
+++ b/scene/main/scene_main_loop.h
@@ -33,7 +33,6 @@
#include "os/main_loop.h"
#include "scene/resources/world.h"
#include "scene/resources/world_2d.h"
-#include "scene/main/scene_singleton.h"
#include "os/thread_safe.h"
#include "self_list.h"
/**
diff --git a/scene/main/scene_singleton.cpp b/scene/main/scene_singleton.cpp
deleted file mode 100644
index 3dcc6b1204..0000000000
--- a/scene/main/scene_singleton.cpp
+++ /dev/null
@@ -1,30 +0,0 @@
-/*************************************************************************/
-/* scene_singleton.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#include "scene_singleton.h"
-
diff --git a/scene/main/scene_singleton.h b/scene/main/scene_singleton.h
deleted file mode 100644
index 0b209f7944..0000000000
--- a/scene/main/scene_singleton.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*************************************************************************/
-/* scene_singleton.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#ifndef SCENE_SINGLETON_H
-#define SCENE_SINGLETON_H
-
-
-#include "reference.h"
-
-
-#endif // SCENE_SINGLETON_H
diff --git a/scene/main/viewport.cpp b/scene/main/viewport.cpp
index 79502c74ce..a1df7062ea 100644
--- a/scene/main/viewport.cpp
+++ b/scene/main/viewport.cpp
@@ -1574,6 +1574,14 @@ void Viewport::_gui_call_input(Control *p_control,const InputEvent& p_input) {
// _block();
+
+ //mouse wheel events can't be stopped
+ bool cant_stop_me_now = (p_input.type==InputEvent::MOUSE_BUTTON &&
+ (p_input.mouse_button.button_index==BUTTON_WHEEL_DOWN ||
+ p_input.mouse_button.button_index==BUTTON_WHEEL_UP ||
+ p_input.mouse_button.button_index==BUTTON_WHEEL_LEFT ||
+ p_input.mouse_button.button_index==BUTTON_WHEEL_RIGHT ) );
+
CanvasItem *ci=p_control;
while(ci) {
@@ -1589,7 +1597,7 @@ void Viewport::_gui_call_input(Control *p_control,const InputEvent& p_input) {
break;
if (gui.key_event_accepted)
break;
- if (control->data.stop_mouse && (p_input.type==InputEvent::MOUSE_BUTTON || p_input.type==InputEvent::MOUSE_MOTION))
+ if (!cant_stop_me_now && control->data.stop_mouse && (p_input.type==InputEvent::MOUSE_BUTTON || p_input.type==InputEvent::MOUSE_MOTION))
break;
}
@@ -1836,8 +1844,9 @@ void Viewport::_gui_input_event(InputEvent p_event) {
Size2 pos = mpos;
pos = gui.focus_inv_xform.xform(pos);
-
- gui.mouse_over->drop_data(pos,gui.drag_data);
+ if (gui.mouse_over->can_drop_data(pos,gui.drag_data)) {
+ gui.mouse_over->drop_data(pos,gui.drag_data);
+ }
gui.drag_data=Variant();
_propagate_viewport_notification(this,NOTIFICATION_DRAG_END);
//change mouse accordingly
@@ -2360,8 +2369,8 @@ void Viewport::input(const InputEvent& p_event) {
ERR_FAIL_COND(!is_inside_tree());
- get_tree()->_call_input_pause(input_group,"_input",p_event);
_gui_input_event(p_event);
+ get_tree()->_call_input_pause(input_group,"_input",p_event);
//get_tree()->call_group(SceneTree::GROUP_CALL_REVERSE|SceneTree::GROUP_CALL_REALTIME|SceneTree::GROUP_CALL_MULIILEVEL,gui_input_group,"_gui_input",p_event); //special one for GUI, as controls use their own process check
}
diff --git a/scene/register_scene_types.cpp b/scene/register_scene_types.cpp
index 54b4ddca9e..c83ab88c73 100644
--- a/scene/register_scene_types.cpp
+++ b/scene/register_scene_types.cpp
@@ -172,7 +172,6 @@
#include "scene/resources/world.h"
#include "scene/resources/world_2d.h"
-#include "scene/resources/volume.h"
#include "scene/resources/sample_library.h"
#include "scene/resources/audio_stream.h"
@@ -271,7 +270,28 @@ void register_scene_types() {
resource_loader_shader = memnew( ResourceFormatLoaderShader );
ResourceLoader::add_resource_format_loader( resource_loader_shader );
- make_default_theme();
+ bool default_theme_hidpi=GLOBAL_DEF("display/use_hidpi_theme",false);
+ Globals::get_singleton()->set_custom_property_info("display/use_hidpi_theme",PropertyInfo(Variant::BOOL,"display/use_hidpi_theme",PROPERTY_HINT_NONE,"",PROPERTY_USAGE_DEFAULT|PROPERTY_USAGE_RESTART_IF_CHANGED));
+ String theme_path = GLOBAL_DEF("display/custom_theme","");
+ Globals::get_singleton()->set_custom_property_info("display/custom_theme",PropertyInfo(Variant::STRING,"display/custom_theme",PROPERTY_HINT_FILE,"*.tres,*.res",PROPERTY_USAGE_DEFAULT|PROPERTY_USAGE_RESTART_IF_CHANGED));
+ String font_path = GLOBAL_DEF("display/custom_theme_font","");
+ Globals::get_singleton()->set_custom_property_info("display/custom_theme_font",PropertyInfo(Variant::STRING,"display/custom_theme_font",PROPERTY_HINT_FILE,"*.tres,*.res,*.fnt",PROPERTY_USAGE_DEFAULT|PROPERTY_USAGE_RESTART_IF_CHANGED));
+
+
+ if (theme_path!=String()) {
+ Ref<Theme> theme = ResourceLoader::load(theme_path);
+ if (theme.is_valid()) {
+ Theme::set_default(theme);
+ }
+ } else {
+
+ Ref<Font> font;
+ if (font_path!=String()) {
+ font=ResourceLoader::load(font_path);
+ }
+ make_default_theme(default_theme_hidpi,font);
+ }
+
OS::get_singleton()->yield(); //may take time to init
@@ -455,31 +475,10 @@ void register_scene_types() {
AcceptDialog::set_swap_ok_cancel( GLOBAL_DEF("display/swap_ok_cancel",bool(OS::get_singleton()->get_swap_ok_cancel())) );
ObjectTypeDB::register_type<SamplePlayer>();
-
-
-// ObjectTypeDB::register_type<StaticBody>();
-// ObjectTypeDB::register_type<RigidBody>();
-// ObjectTypeDB::register_type<CharacterBody>();
-// ObjectTypeDB::register_type<BodyVolumeSphere>();
- //ObjectTypeDB::register_type<BodyVolumeBox>();
- //ObjectTypeDB::register_type<BodyVolumeCylinder>();
- //ObjectTypeDB::register_type<BodyVolumeCapsule>();
- //ObjectTypeDB::register_type<PhysicsJointPin>();
-
-
-
-
ObjectTypeDB::register_type<StreamPlayer>();
ObjectTypeDB::register_type<EventPlayer>();
- /* disable types by default, only editors should enable them */
- //ObjectTypeDB::set_type_enabled("BodyVolumeSphere",false);
- //ObjectTypeDB::set_type_enabled("BodyVolumeBox",false);
- //ObjectTypeDB::set_type_enabled("BodyVolumeCapsule",false);
- //ObjectTypeDB::set_type_enabled("BodyVolumeCylinder",false);
- //ObjectTypeDB::set_type_enabled("BodyVolumeConvexPolygon",false);
-
ObjectTypeDB::register_type<CanvasItemMaterial>();
ObjectTypeDB::register_virtual_type<CanvasItem>();
ObjectTypeDB::register_type<Node2D>();
@@ -600,11 +599,11 @@ void register_scene_types() {
OS::get_singleton()->yield(); //may take time to init
- //ObjectTypeDB::register_type<Volume>();
ObjectTypeDB::register_type<Sample>();
ObjectTypeDB::register_type<SampleLibrary>();
ObjectTypeDB::register_virtual_type<AudioStream>();
ObjectTypeDB::register_virtual_type<AudioStreamPlayback>();
+//TODO: Adapt to the new AudioStream API or drop (GH-3307)
// ObjectTypeDB::register_type<AudioStreamGibberish>();
ObjectTypeDB::register_virtual_type<VideoStream>();
diff --git a/scene/resources/animation.cpp b/scene/resources/animation.cpp
index f7d5ddc744..8be39e3021 100644
--- a/scene/resources/animation.cpp
+++ b/scene/resources/animation.cpp
@@ -38,6 +38,8 @@ bool Animation::_set(const StringName& p_name, const Variant& p_value) {
set_length(p_value);
else if (name=="loop")
set_loop(p_value);
+ else if (name=="loop_interpolation")
+ set_loop_interpolation(p_value);
else if (name=="step")
set_step(p_value);
else if (name.begins_with("tracks/")) {
@@ -72,6 +74,8 @@ bool Animation::_set(const StringName& p_name, const Variant& p_value) {
track_set_path(track,p_value);
else if (what=="interp")
track_set_interpolation_type(track,InterpolationType(p_value.operator int()));
+ else if (what=="imported")
+ track_set_imported(track,p_value);
else if (what == "keys" || what=="key_values") {
if (track_get_type(track)==TYPE_TRANSFORM) {
@@ -154,8 +158,21 @@ bool Animation::_set(const StringName& p_name, const Variant& p_value) {
Dictionary d = p_value;
ERR_FAIL_COND_V(!d.has("times"),false);
ERR_FAIL_COND_V(!d.has("values"),false);
- if (d.has("cont"))
- vt->continuous=d["cont"];
+ if (d.has("cont")) {
+ bool v = d["cont"];
+ vt->update_mode=v?UPDATE_CONTINUOUS:UPDATE_DISCRETE;
+ }
+
+ if (d.has("update")) {
+ int um =d["update"];
+ if (um<0)
+ um=0;
+ else if (um>2)
+ um=2;
+ vt->update_mode=UpdateMode(um);
+ }
+
+
DVector<float> times=d["times"];
Array values=d["values"];
@@ -253,6 +270,8 @@ bool Animation::_get(const StringName& p_name,Variant &r_ret) const {
r_ret= length;
else if (name=="loop")
r_ret= loop;
+ else if (name=="loop_interpolation")
+ r_ret= loop_interpolation;
else if (name=="step")
r_ret= step;
else if (name.begins_with("tracks/")) {
@@ -276,6 +295,8 @@ bool Animation::_get(const StringName& p_name,Variant &r_ret) const {
r_ret=track_get_path(track);
else if (what=="interp")
r_ret = track_get_interpolation_type(track);
+ else if (what=="imported")
+ r_ret = track_is_imported(track);
else if (what=="keys") {
if (track_get_type(track)==TYPE_TRANSFORM) {
@@ -353,7 +374,7 @@ bool Animation::_get(const StringName& p_name,Variant &r_ret) const {
d["transitions"]=key_transitions;
d["values"]=key_values;
if (track_get_type(track)==TYPE_VALUE) {
- d["cont"]=value_track_is_continuous(track);
+ d["update"]=value_track_get_update_mode(track);
}
r_ret=d;
@@ -394,7 +415,7 @@ bool Animation::_get(const StringName& p_name,Variant &r_ret) const {
d["transitions"]=key_transitions;
d["values"]=key_values;
if (track_get_type(track)==TYPE_VALUE) {
- d["cont"]=value_track_is_continuous(track);
+ d["update"]=value_track_get_update_mode(track);
}
r_ret=d;
@@ -416,6 +437,7 @@ void Animation::_get_property_list( List<PropertyInfo> *p_list) const {
p_list->push_back( PropertyInfo( Variant::REAL, "length", PROPERTY_HINT_RANGE, "0.001,99999,0.001"));
p_list->push_back( PropertyInfo( Variant::BOOL, "loop" ));
+ p_list->push_back( PropertyInfo( Variant::BOOL, "loop_interpolation"));
p_list->push_back( PropertyInfo( Variant::REAL, "step", PROPERTY_HINT_RANGE, "0,4096,0.001" ));
for (int i=0;i<tracks.size();i++) {
@@ -423,6 +445,7 @@ void Animation::_get_property_list( List<PropertyInfo> *p_list) const {
p_list->push_back( PropertyInfo( Variant::STRING, "tracks/"+itos(i)+"/type", PROPERTY_HINT_NONE,"",PROPERTY_USAGE_NOEDITOR) );
p_list->push_back( PropertyInfo( Variant::NODE_PATH, "tracks/"+itos(i)+"/path", PROPERTY_HINT_NONE,"",PROPERTY_USAGE_NOEDITOR) );
p_list->push_back( PropertyInfo( Variant::INT, "tracks/"+itos(i)+"/interp", PROPERTY_HINT_NONE,"",PROPERTY_USAGE_NOEDITOR) );
+ p_list->push_back( PropertyInfo( Variant::BOOL, "tracks/"+itos(i)+"/imported", PROPERTY_HINT_NONE,"",PROPERTY_USAGE_NOEDITOR) );
p_list->push_back( PropertyInfo( Variant::ARRAY, "tracks/"+itos(i)+"/keys", PROPERTY_HINT_NONE,"",PROPERTY_USAGE_NOEDITOR) );
}
}
@@ -1221,7 +1244,7 @@ T Animation::_interpolate( const Vector< TKey<T> >& p_keys, float p_time, Inter
float c=0;
// prepare for all cases of interpolation
- if (loop) {
+ if (loop && loop_interpolation) {
// loop
if (idx>=0) {
@@ -1373,7 +1396,7 @@ Variant Animation::value_track_interpolate(int p_track, float p_time) const {
bool ok;
- Variant res = _interpolate( vt->values, p_time, vt->interpolation, &ok );
+ Variant res = _interpolate( vt->values, p_time, vt->update_mode==UPDATE_CONTINUOUS?vt->interpolation:INTERPOLATION_NEAREST, &ok );
if (ok) {
@@ -1461,28 +1484,30 @@ void Animation::value_track_get_key_indices(int p_track, float p_time, float p_d
}
-void Animation::value_track_set_continuous(int p_track, bool p_continuous) {
+void Animation::value_track_set_update_mode(int p_track, UpdateMode p_mode) {
ERR_FAIL_INDEX(p_track, tracks.size());
Track *t=tracks[p_track];
ERR_FAIL_COND( t->type != TYPE_VALUE );
+ ERR_FAIL_INDEX(p_mode,3);
ValueTrack * vt = static_cast<ValueTrack*>(t);
- vt->continuous=p_continuous;
+ vt->update_mode=p_mode;
}
-bool Animation::value_track_is_continuous(int p_track) const{
+Animation::UpdateMode Animation::value_track_get_update_mode(int p_track) const {
- ERR_FAIL_INDEX_V(p_track, tracks.size(), false);
+ ERR_FAIL_INDEX_V(p_track, tracks.size(), UPDATE_CONTINUOUS);
Track *t=tracks[p_track];
- ERR_FAIL_COND_V( t->type != TYPE_VALUE, false );
+ ERR_FAIL_COND_V( t->type != TYPE_VALUE, UPDATE_CONTINUOUS );
ValueTrack * vt = static_cast<ValueTrack*>(t);
- return vt->continuous;
+ return vt->update_mode;
}
+
void Animation::_method_track_get_key_indices_in_range(const MethodTrack * mt, float from_time, float to_time,List<int> *p_indices) const {
if (from_time!=length && to_time==length)
@@ -1607,10 +1632,19 @@ void Animation::set_loop(bool p_enabled) {
loop=p_enabled;
emit_changed();
}
+void Animation::set_loop_interpolation(bool p_enabled) {
+
+ loop_interpolation=p_enabled;
+ emit_changed();
+}
bool Animation::has_loop() const {
return loop;
}
+bool Animation::has_loop_interpolation() const {
+
+ return loop_interpolation;
+}
void Animation::track_move_up(int p_track) {
@@ -1623,6 +1657,20 @@ void Animation::track_move_up(int p_track) {
emit_changed();
}
+void Animation::track_set_imported(int p_track,bool p_imported) {
+
+ ERR_FAIL_INDEX(p_track,tracks.size());
+ tracks[p_track]->imported=p_imported;
+}
+
+bool Animation::track_is_imported(int p_track) const{
+
+ ERR_FAIL_INDEX_V(p_track,tracks.size(),false);
+ return tracks[p_track]->imported;
+
+}
+
+
void Animation::track_move_down(int p_track) {
if (p_track>0 && p_track<tracks.size()) {
@@ -1657,6 +1705,10 @@ void Animation::_bind_methods() {
ObjectTypeDB::bind_method(_MD("track_move_up","idx"),&Animation::track_move_up);
ObjectTypeDB::bind_method(_MD("track_move_down","idx"),&Animation::track_move_down);
+ ObjectTypeDB::bind_method(_MD("track_set_imported","idx","imported"),&Animation::track_set_imported);
+ ObjectTypeDB::bind_method(_MD("track_is_imported","idx"),&Animation::track_is_imported);
+
+
ObjectTypeDB::bind_method(_MD("transform_track_insert_key","idx","time","loc","rot","scale"),&Animation::transform_track_insert_key);
ObjectTypeDB::bind_method(_MD("track_insert_key","idx","time","key","transition"),&Animation::track_insert_key,DEFVAL(1));
ObjectTypeDB::bind_method(_MD("track_remove_key","idx","key_idx"),&Animation::track_remove_key);
@@ -1676,8 +1728,8 @@ void Animation::_bind_methods() {
ObjectTypeDB::bind_method(_MD("transform_track_interpolate","idx","time_sec"),&Animation::_transform_track_interpolate);
- ObjectTypeDB::bind_method(_MD("value_track_set_continuous","idx","continuous"),&Animation::value_track_set_continuous);
- ObjectTypeDB::bind_method(_MD("value_track_is_continuous","idx"),&Animation::value_track_is_continuous);
+ ObjectTypeDB::bind_method(_MD("value_track_set_update_mode","idx","mode"),&Animation::value_track_set_update_mode);
+ ObjectTypeDB::bind_method(_MD("value_track_get_update_mode","idx"),&Animation::value_track_get_update_mode);
ObjectTypeDB::bind_method(_MD("value_track_get_key_indices","idx","time_sec","delta"),&Animation::_value_track_get_key_indices);
@@ -1689,7 +1741,9 @@ void Animation::_bind_methods() {
ObjectTypeDB::bind_method(_MD("get_length"),&Animation::get_length);
ObjectTypeDB::bind_method(_MD("set_loop","enabled"),&Animation::set_loop);
+ ObjectTypeDB::bind_method(_MD("set_loop_interpolation","enabled"),&Animation::set_loop_interpolation);
ObjectTypeDB::bind_method(_MD("has_loop"),&Animation::has_loop);
+ ObjectTypeDB::bind_method(_MD("has_loop_interpolation"),&Animation::has_loop_interpolation);
ObjectTypeDB::bind_method(_MD("set_step","size_sec"),&Animation::set_step);
ObjectTypeDB::bind_method(_MD("get_step"),&Animation::get_step);
@@ -1704,6 +1758,11 @@ void Animation::_bind_methods() {
BIND_CONSTANT( INTERPOLATION_LINEAR );
BIND_CONSTANT( INTERPOLATION_CUBIC );
+ BIND_CONSTANT( UPDATE_CONTINUOUS );
+ BIND_CONSTANT( UPDATE_DISCRETE );
+ BIND_CONSTANT( UPDATE_TRIGGER );
+
+
}
void Animation::clear() {
@@ -1712,6 +1771,7 @@ void Animation::clear() {
memdelete( tracks[i] );
tracks.clear();
loop=false;
+ loop_interpolation=true;
length=1;
}
@@ -1971,6 +2031,7 @@ Animation::Animation() {
step=0.1;
loop=false;
+ loop_interpolation=true;
length=1;
}
@@ -1981,5 +2042,3 @@ Animation::~Animation() {
memdelete( tracks[i] );
}
-
-
diff --git a/scene/resources/animation.h b/scene/resources/animation.h
index 1f2d9b80ab..ee643c9678 100644
--- a/scene/resources/animation.h
+++ b/scene/resources/animation.h
@@ -58,6 +58,13 @@ public:
INTERPOLATION_CUBIC
};
+ enum UpdateMode {
+ UPDATE_CONTINUOUS,
+ UPDATE_DISCRETE,
+ UPDATE_TRIGGER,
+
+ };
+
private:
struct Track {
@@ -65,7 +72,8 @@ private:
TrackType type;
InterpolationType interpolation;
NodePath path; // path to something
- Track() { interpolation=INTERPOLATION_LINEAR; }
+ bool imported;
+ Track() { interpolation=INTERPOLATION_LINEAR; imported=false;}
virtual ~Track() {}
};
@@ -105,10 +113,11 @@ private:
struct ValueTrack : public Track {
- bool continuous;
+ UpdateMode update_mode;
+ bool update_on_seek;
Vector< TKey<Variant> > values;
- ValueTrack() { type=TYPE_VALUE; continuous=true; }
+ ValueTrack() { type=TYPE_VALUE; update_mode=UPDATE_CONTINUOUS; }
};
@@ -163,6 +172,7 @@ private:
float length;
float step;
bool loop;
+ bool loop_interpolation;
// bind helpers
private:
@@ -232,6 +242,9 @@ public:
void track_move_up(int p_track);
void track_move_down(int p_track);
+ void track_set_imported(int p_track,bool p_imported);
+ bool track_is_imported(int p_track) const;
+
int transform_track_insert_key(int p_track, float p_time, const Vector3 p_loc, const Quat& p_rot=Quat(), const Vector3& p_scale=Vector3());
void track_insert_key(int p_track, float p_time, const Variant& p_key, float p_transition=1);
void track_set_key_transition(int p_track, int p_key_idx,float p_transition);
@@ -253,8 +266,9 @@ public:
Variant value_track_interpolate(int p_track, float p_time) const;
void value_track_get_key_indices(int p_track, float p_time, float p_delta,List<int> *p_indices) const;
- void value_track_set_continuous(int p_track, bool p_continuous);
- bool value_track_is_continuous(int p_track) const;
+ void value_track_set_update_mode(int p_track, UpdateMode p_mode);
+ UpdateMode value_track_get_update_mode(int p_track) const;
+
void method_track_get_key_indices(int p_track, float p_time, float p_delta,List<int> *p_indices) const;
Vector<Variant> method_track_get_params(int p_track,int p_key_idx) const;
@@ -265,7 +279,9 @@ public:
float get_length() const;
void set_loop(bool p_enabled);
+ void set_loop_interpolation(bool p_enabled);
bool has_loop() const;
+ bool has_loop_interpolation() const;
void set_step(float p_step);
float get_step() const;
@@ -281,5 +297,8 @@ public:
VARIANT_ENUM_CAST( Animation::TrackType );
VARIANT_ENUM_CAST( Animation::InterpolationType );
+VARIANT_ENUM_CAST( Animation::UpdateMode );
+
+
#endif
diff --git a/scene/resources/baked_light.cpp b/scene/resources/baked_light.cpp
index aa4aae03cb..e4510be874 100644
--- a/scene/resources/baked_light.cpp
+++ b/scene/resources/baked_light.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* baked_light.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "baked_light.h"
#include "servers/visual_server.h"
diff --git a/scene/resources/baked_light.h b/scene/resources/baked_light.h
index f9a1368e8d..16806d29e3 100644
--- a/scene/resources/baked_light.h
+++ b/scene/resources/baked_light.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* baked_light.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef BAKED_LIGHT_H
#define BAKED_LIGHT_H
diff --git a/scene/resources/color_ramp.cpp b/scene/resources/color_ramp.cpp
index bf1f298e7a..dfa9181d60 100644
--- a/scene/resources/color_ramp.cpp
+++ b/scene/resources/color_ramp.cpp
@@ -1,7 +1,31 @@
-/*
- * color_ramp.h
- */
-
+/*************************************************************************/
+/* color_ramp.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "color_ramp.h"
//setter and getter names for property serialization
diff --git a/scene/resources/color_ramp.h b/scene/resources/color_ramp.h
index aab5698c2b..daa21b480a 100644
--- a/scene/resources/color_ramp.h
+++ b/scene/resources/color_ramp.h
@@ -1,7 +1,31 @@
-/*
- * color_ramp.h
- */
-
+/*************************************************************************/
+/* color_ramp.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef SCENE_RESOURCES_COLOR_RAMP_H_
#define SCENE_RESOURCES_COLOR_RAMP_H_
diff --git a/scene/resources/default_theme/bold_font.inc b/scene/resources/default_theme/bold_font.inc
deleted file mode 100644
index 89fdeb4e97..0000000000
--- a/scene/resources/default_theme/bold_font.inc
+++ /dev/null
@@ -1,5 +0,0 @@
-static const int _bi_font_bold_height=15;
-static const int _bi_font_bold_ascent=13;
-static const int _bi_font_bold_valign=-2;
-static const int _bi_font_bold_charcount=196;
-static const int _bi_font_bold_characters[]={0, 215, 76, 3, 3, -1, 13, 0, 8, 252, 0, 3, 3, -1, 13, 0, 9, 252, 8, 3, 3, -1, 13, 3, 13, 252, 61, 3, 3, -1, 13, 3, 29, 252, 57, 3, 3, -1, 13, 0, 32, 252, 53, 3, 3, -1, 13, 3, 33, 71, 69, 4, 11, 0, 4, 4, 34, 111, 78, 7, 6, 0, 3, 6, 35, 42, 57, 9, 11, 0, 4, 9, 36, 135, 0, 8, 15, 0, 2, 8, 37, 0, 45, 14, 11, -1, 4, 12, 38, 156, 44, 10, 11, 0, 4, 9, 39, 132, 78, 4, 6, 0, 3, 4, 40, 104, 16, 6, 14, 0, 3, 5, 41, 111, 16, 6, 14, -1, 3, 5, 42, 76, 81, 7, 7, 0, 4, 7, 43, 24, 81, 8, 8, 0, 6, 8, 44, 126, 78, 5, 6, -1, 11, 4, 45, 198, 77, 6, 4, 0, 8, 6, 46, 210, 76, 4, 4, 0, 11, 4, 47, 43, 16, 8, 14, -1, 3, 6, 48, 234, 54, 8, 11, 0, 4, 8, 49, 53, 69, 6, 11, 1, 4, 8, 50, 99, 56, 8, 11, 0, 4, 8, 51, 108, 56, 8, 11, 0, 4, 8, 52, 22, 57, 9, 11, 0, 4, 8, 53, 171, 55, 8, 11, 0, 4, 8, 54, 207, 54, 8, 11, 0, 4, 8, 55, 198, 55, 8, 11, 0, 4, 8, 56, 189, 55, 8, 11, 0, 4, 8, 57, 180, 55, 8, 11, 0, 4, 8, 58, 251, 66, 4, 9, 0, 6, 4, 59, 60, 69, 5, 11, -1, 6, 4, 60, 198, 67, 8, 9, 0, 6, 7, 61, 51, 81, 8, 7, 0, 7, 8, 62, 139, 68, 9, 9, -1, 6, 7, 63, 148, 31, 8, 12, -1, 3, 6, 64, 191, 0, 13, 14, 0, 4, 13, 65, 86, 44, 11, 11, -1, 4, 9, 66, 32, 57, 9, 11, 0, 4, 9, 67, 135, 56, 8, 11, 0, 4, 8, 68, 244, 41, 10, 11, 0, 4, 10, 69, 126, 56, 8, 11, 0, 4, 8, 70, 117, 56, 8, 11, 0, 4, 7, 71, 52, 57, 9, 11, 0, 4, 9, 72, 134, 44, 10, 11, 0, 4, 10, 73, 66, 69, 4, 11, 0, 4, 4, 74, 90, 56, 8, 11, -1, 4, 7, 75, 0, 57, 10, 11, 0, 4, 9, 76, 81, 56, 8, 11, 0, 4, 7, 77, 45, 45, 13, 11, 0, 4, 13, 78, 167, 43, 10, 11, 0, 4, 10, 79, 178, 43, 10, 11, 0, 4, 10, 80, 36, 69, 8, 11, 0, 4, 8, 81, 167, 16, 10, 13, 0, 4, 10, 82, 189, 43, 10, 11, 0, 4, 9, 83, 27, 69, 8, 11, 0, 4, 8, 84, 200, 42, 10, 11, -1, 4, 8, 85, 211, 42, 10, 11, 0, 4, 10, 86, 110, 44, 11, 11, -1, 4, 9, 87, 237, 29, 15, 11, -1, 4, 13, 88, 122, 44, 11, 11, -1, 4, 9, 89, 222, 42, 10, 11, -1, 4, 8, 90, 9, 69, 8, 11, 0, 4, 8, 91, 132, 16, 6, 14, 0, 3, 5, 92, 70, 16, 8, 14, -1, 3, 6, 93, 139, 16, 6, 14, -1, 3, 5, 94, 41, 81, 9, 7, -1, 4, 7, 95, 166, 78, 9, 4, -1, 14, 7, 96, 160, 78, 5, 5, 0, 3, 4, 97, 243, 66, 7, 9, 0, 6, 7, 98, 94, 31, 8, 12, 0, 3, 8, 99, 8, 81, 7, 9, 0, 6, 7, 100, 112, 31, 8, 12, 0, 3, 8, 101, 189, 67, 8, 9, 0, 6, 8, 102, 200, 29, 7, 12, 0, 3, 5, 103, 0, 69, 8, 11, 0, 6, 8, 104, 175, 30, 8, 12, 0, 3, 8, 105, 224, 29, 6, 12, -1, 3, 4, 106, 96, 16, 7, 14, -2, 3, 4, 107, 64, 31, 9, 12, 0, 3, 8, 108, 231, 29, 5, 12, 0, 3, 4, 109, 104, 68, 12, 9, 0, 6, 12, 110, 207, 66, 8, 9, 0, 6, 8, 111, 216, 66, 8, 9, 0, 6, 8, 112, 153, 56, 8, 11, 0, 6, 8, 113, 144, 56, 8, 11, 0, 6, 8, 114, 0, 81, 7, 9, 0, 6, 6, 115, 234, 66, 8, 9, -1, 6, 7, 116, 45, 69, 7, 11, 0, 4, 6, 117, 225, 66, 8, 9, 0, 6, 8, 118, 149, 68, 9, 9, -1, 6, 7, 119, 90, 68, 13, 9, -1, 6, 11, 120, 179, 67, 9, 9, -1, 6, 7, 121, 62, 57, 9, 11, -1, 6, 7, 122, 16, 81, 7, 9, 0, 6, 7, 123, 118, 16, 6, 14, -1, 3, 4, 124, 146, 16, 4, 14, 0, 3, 4, 125, 125, 16, 6, 14, -1, 3, 4, 126, 137, 78, 8, 5, 0, 7, 7, 160, 252, 4, 3, 3, -1, 13, 3, 161, 76, 69, 4, 11, 0, 6, 4, 162, 50, 31, 7, 13, 0, 4, 7, 163, 243, 54, 8, 11, -1, 4, 7, 164, 159, 68, 9, 9, -1, 5, 7, 165, 11, 57, 10, 11, -1, 4, 8, 166, 151, 16, 4, 14, 0, 3, 4, 167, 178, 16, 8, 13, -1, 4, 7, 168, 176, 78, 7, 4, 0, 3, 7, 169, 233, 42, 10, 11, 0, 4, 10, 170, 98, 78, 6, 7, -1, 4, 5, 171, 169, 68, 9, 9, 0, 6, 8, 172, 68, 81, 7, 7, 0, 7, 7, 173, 191, 77, 6, 4, 0, 8, 6, 174, 145, 44, 10, 11, 0, 4, 10, 175, 184, 77, 6, 4, -1, 3, 5, 176, 146, 78, 7, 5, -1, 3, 5, 177, 225, 54, 8, 11, 0, 4, 8, 178, 84, 79, 6, 7, -1, 4, 5, 179, 91, 78, 6, 7, -1, 4, 5, 180, 154, 78, 5, 5, -1, 3, 4, 181, 72, 57, 8, 11, 0, 6, 8, 182, 12, 0, 11, 15, -1, 3, 9, 183, 205, 77, 4, 4, 0, 8, 4, 184, 119, 78, 6, 6, -1, 12, 4, 185, 105, 78, 5, 7, 0, 4, 5, 186, 60, 81, 7, 7, -1, 4, 6, 187, 129, 68, 9, 9, -1, 6, 8, 188, 59, 45, 13, 11, 0, 4, 11, 189, 73, 44, 12, 11, 0, 4, 11, 190, 30, 45, 14, 11, -1, 4, 11, 191, 162, 56, 8, 11, -1, 6, 6, 192, 0, 0, 11, 15, -1, 0, 9, 193, 36, 0, 11, 15, -1, 0, 9, 194, 24, 0, 11, 15, -1, 0, 9, 195, 229, 0, 11, 14, -1, 1, 9, 196, 217, 0, 11, 14, -1, 1, 9, 197, 205, 0, 11, 14, -1, 1, 9, 198, 15, 45, 14, 11, -1, 4, 13, 199, 61, 16, 8, 14, 0, 4, 8, 200, 162, 0, 8, 15, 0, 0, 8, 201, 153, 0, 8, 15, 0, 0, 8, 202, 144, 0, 8, 15, 0, 0, 8, 203, 52, 16, 8, 14, 0, 1, 8, 204, 185, 0, 5, 15, -1, 0, 4, 205, 179, 0, 5, 15, 0, 0, 4, 206, 171, 0, 7, 15, -1, 0, 4, 207, 88, 16, 7, 14, -1, 1, 4, 208, 98, 44, 11, 11, -1, 4, 10, 209, 22, 16, 10, 14, 0, 1, 10, 210, 114, 0, 10, 15, 0, 0, 10, 211, 103, 0, 10, 15, 0, 0, 10, 212, 92, 0, 10, 15, 0, 0, 10, 213, 11, 16, 10, 14, 0, 1, 10, 214, 0, 16, 10, 14, 0, 1, 10, 215, 33, 81, 7, 8, 0, 6, 7, 216, 156, 16, 10, 13, 0, 3, 10, 217, 81, 0, 10, 15, 0, 0, 10, 218, 70, 0, 10, 15, 0, 0, 10, 219, 59, 0, 10, 15, 0, 0, 10, 220, 241, 0, 10, 14, 0, 1, 10, 221, 48, 0, 10, 15, -1, 0, 8, 222, 18, 69, 8, 11, 0, 4, 8, 223, 74, 31, 9, 12, 0, 3, 9, 224, 18, 31, 7, 13, 0, 2, 7, 225, 26, 31, 7, 13, 0, 2, 7, 226, 34, 31, 7, 13, 0, 2, 7, 227, 184, 30, 7, 12, 0, 3, 7, 228, 208, 29, 7, 12, 0, 3, 7, 229, 216, 29, 7, 12, 0, 3, 7, 230, 117, 68, 11, 9, 0, 6, 11, 231, 103, 31, 8, 12, 0, 6, 7, 232, 9, 31, 8, 13, 0, 2, 8, 233, 205, 15, 8, 13, 0, 2, 8, 234, 232, 15, 8, 13, 0, 2, 8, 235, 157, 30, 8, 12, 0, 3, 8, 236, 250, 15, 5, 13, -1, 2, 4, 237, 58, 31, 5, 13, 0, 2, 4, 238, 42, 31, 7, 13, -1, 2, 4, 239, 192, 30, 7, 12, -2, 3, 4, 240, 84, 31, 9, 12, 0, 3, 8, 241, 139, 31, 8, 12, 0, 3, 8, 242, 187, 16, 8, 13, 0, 2, 8, 243, 0, 31, 8, 13, 0, 2, 8, 244, 241, 15, 8, 13, 0, 2, 8, 245, 130, 31, 8, 12, 0, 3, 8, 246, 121, 31, 8, 12, 0, 3, 8, 247, 81, 68, 8, 10, 0, 5, 8, 248, 216, 54, 8, 11, 0, 5, 8, 249, 214, 15, 8, 13, 0, 2, 8, 250, 223, 15, 8, 13, 0, 2, 8, 251, 196, 15, 8, 13, 0, 2, 8, 252, 166, 30, 8, 12, 0, 3, 8, 253, 125, 0, 9, 15, -1, 2, 7, 254, 79, 16, 8, 14, 0, 3, 8, 255, 33, 16, 9, 14, -1, 3, 7};
diff --git a/scene/resources/default_theme/default_font.inc b/scene/resources/default_theme/default_font.inc
deleted file mode 100644
index d5c9ab66b1..0000000000
--- a/scene/resources/default_theme/default_font.inc
+++ /dev/null
@@ -1,458 +0,0 @@
-static const int _builtin_font_height=16;
-static const int _builtin_font_ascent=13;
-static const int _builtin_font_charcount=190;
-static const int _builtin_font_charrects[190][6]={
- /* charidx , ofs_x, ofs_y, size_x, size_y, valign */
- {210,2,2,10,14,0},
- {211,16,2,10,14,0},
- {212,30,2,10,14,0},
- {213,44,2,10,14,0},
- {217,58,2,9,14,0},
- {218,71,2,9,14,0},
- {219,84,2,9,14,0},
- {40,97,2,4,13,3},
- {41,105,2,4,13,3},
- {91,113,2,4,13,3},
- {93,121,2,4,13,3},
- {106,129,2,3,13,3},
- {123,136,2,5,13,3},
- {124,145,2,2,13,3},
- {125,151,2,5,13,3},
- {166,160,2,2,13,3},
- {167,166,2,7,13,3},
- {182,177,2,7,13,3},
- {192,188,2,10,13,0},
- {193,202,2,10,13,0},
- {194,216,2,10,13,0},
- {195,230,2,10,13,0},
- {197,2,20,10,13,0},
- {199,16,20,9,13,3},
- {200,29,20,8,13,0},
- {201,41,20,8,13,0},
- {202,53,20,8,13,0},
- {204,65,20,4,13,0},
- {205,73,20,4,13,0},
- {206,81,20,5,13,0},
- {209,90,20,9,13,0},
- {214,103,20,10,13,1},
- {220,117,20,9,13,1},
- {221,130,20,9,13,0},
- {253,143,20,7,13,3},
- {254,154,20,8,13,3},
- {36,166,20,7,12,3},
- {64,177,20,13,12,3},
- {196,194,20,10,12,1},
- {203,208,20,8,12,1},
- {207,220,20,5,12,1},
- {229,229,20,7,12,2},
- {35,240,20,8,11,3},
- {37,2,37,12,11,3},
- {38,18,37,10,11,3},
- {47,32,37,4,11,3},
- {48,40,37,7,11,3},
- {51,51,37,7,11,3},
- {53,62,37,7,11,3},
- {54,73,37,7,11,3},
- {56,84,37,7,11,3},
- {57,95,37,7,11,3},
- {67,106,37,9,11,3},
- {71,119,37,10,11,3},
- {74,133,37,7,11,3},
- {79,144,37,10,11,3},
- {81,158,37,10,11,3},
- {83,172,37,9,11,3},
- {85,185,37,9,11,3},
- {92,198,37,5,11,3},
- {98,207,37,8,11,3},
- {100,219,37,8,11,3},
- {103,231,37,8,11,5},
- {112,243,37,8,11,5},
- {113,2,52,8,11,5},
- {121,14,52,7,11,5},
- {161,25,52,3,11,5},
- {162,32,52,7,11,4},
- {163,43,52,7,11,3},
- {169,54,52,11,11,3},
- {174,69,52,11,11,3},
- {181,84,52,8,11,5},
- {188,96,52,12,11,3},
- {189,112,52,11,11,3},
- {190,127,52,12,11,3},
- {191,143,52,8,11,5},
- {216,155,52,10,11,3},
- {223,169,52,8,11,3},
- {224,181,52,7,11,3},
- {225,192,52,7,11,3},
- {226,203,52,7,11,3},
- {227,214,52,7,11,3},
- {228,225,52,7,11,3},
- {231,236,52,7,11,5},
- {232,2,67,7,11,3},
- {233,13,67,7,11,3},
- {234,24,67,7,11,3},
- {235,35,67,7,11,3},
- {240,46,67,8,11,3},
- {242,58,67,8,11,3},
- {243,70,67,8,11,3},
- {244,82,67,8,11,3},
- {245,94,67,8,11,3},
- {246,106,67,8,11,3},
- {249,118,67,8,11,3},
- {250,130,67,8,11,3},
- {251,142,67,8,11,3},
- {252,154,67,8,11,3},
- {33,166,67,3,10,3},
- {49,173,67,5,10,3},
- {50,182,67,7,10,3},
- {52,193,67,7,10,3},
- {55,204,67,7,10,3},
- {59,215,67,3,10,6},
- {63,222,67,8,10,3},
- {65,234,67,10,10,3},
- {66,2,82,8,10,3},
- {68,14,82,8,10,3},
- {69,26,82,8,10,3},
- {70,38,82,8,10,3},
- {72,50,82,9,10,3},
- {73,63,82,3,10,3},
- {75,70,82,10,10,3},
- {76,84,82,7,10,3},
- {77,95,82,11,10,3},
- {78,110,82,9,10,3},
- {80,123,82,9,10,3},
- {82,136,82,8,10,3},
- {84,148,82,8,10,3},
- {86,160,82,9,10,3},
- {87,173,82,13,10,3},
- {88,190,82,9,10,3},
- {89,203,82,9,10,3},
- {90,216,82,8,10,3},
- {102,228,82,5,10,3},
- {104,237,82,8,10,3},
- {105,249,82,3,10,3},
- {107,2,96,8,10,3},
- {108,14,96,3,10,3},
- {116,21,96,4,10,4},
- {165,29,96,8,10,3},
- {198,41,96,13,10,3},
- {208,58,96,9,10,3},
- {222,71,96,9,10,3},
- {236,84,96,4,10,3},
- {237,92,96,4,10,3},
- {238,100,96,5,10,3},
- {239,109,96,5,10,3},
- {241,118,96,8,10,3},
- {97,130,96,7,9,5},
- {99,141,96,7,9,5},
- {101,152,96,7,9,5},
- {111,163,96,8,9,5},
- {115,175,96,7,9,5},
- {117,186,96,8,9,5},
- {177,198,96,7,9,5},
- {230,209,96,12,9,5},
- {248,225,96,8,9,5},
- {43,237,96,7,8,6},
- {60,2,110,7,8,6},
- {62,13,110,7,8,6},
- {109,24,110,11,8,5},
- {110,39,110,8,8,5},
- {114,51,110,5,8,5},
- {118,60,110,7,8,5},
- {119,71,110,10,8,5},
- {120,85,110,7,8,5},
- {122,96,110,7,8,5},
- {247,107,110,7,8,6},
- {58,118,110,3,7,6},
- {94,125,110,7,7,3},
- {164,136,110,7,7,5},
- {170,147,110,5,7,3},
- {171,156,110,6,7,6},
- {178,166,110,5,7,3},
- {179,175,110,5,7,3},
- {185,184,110,4,7,3},
- {186,192,110,5,7,3},
- {187,201,110,5,7,6},
- {61,210,110,7,6,7},
- {215,221,110,6,6,7},
- {42,231,110,5,5,3},
- {44,240,110,3,5,11},
- {176,247,110,5,5,4},
- {34,2,122,6,4,3},
- {39,12,122,3,4,3},
- {126,19,122,7,4,8},
- {172,30,122,8,4,8},
- {45,42,122,4,3,8},
- {96,50,122,3,3,3},
- {173,57,122,4,3,8},
- {180,65,122,4,3,3},
- {184,73,122,4,3,13},
- {46,81,122,3,2,11},
- {95,88,122,9,2,14},
- {168,101,122,5,2,3},
- {175,110,122,5,2,3},
- {183,119,122,3,2,9},
- {32,126,122,5,1,0},
- {160,137,122,0,0,13}
-};
-static const int _builtin_font_texture_height=256;
-static const int _builtin_font_texture_width=256;
-
-static const unsigned char _builtin_font_texture[65536]={
-
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,27,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,36,0,0,0,0,0,0,0,0,0,0,0,28,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,0,0,0,0,0,0,0,0,0,42,28,0,0,0,0,0,0,0,0,0,0,0,0,5,44,21,0,0,0,0,0,0,0,0,0,0,42,23,0,0,0,0,0,0,0,0,0,63,101,0,0,0,0,74,91,0,0,0,0,0,0,17,124,124,124,0,0,0,0,94,124,124,46,0,0,0,0,11,124,91,0,0,0,0,0,0,77,123,15,0,0,0,0,87,42,0,0,0,0,7,123,85,0,0,0,0,0,0,87,42,0,0,0,0,0,0,53,95,65,1,0,0,0,0,0,0,21,108,124,124,124,108,0,0,0,0,0,0,2,43,24,0,0,0,0,0,0,0,0,0,0,0,0,0,1,40,22,0,0,0,0,0,0,0,0,0,0,0,43,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,48,244,63,0,0,0,0,0,0,0,0,0,0,0,0,24,246,85,0,0,0,0,0,0,0,0,0,0,31,219,219,69,0,0,0,0,0,0,0,0,0,0,193,236,153,179,93,0,0,0,0,0,0,0,0,0,120,228,6,0,0,0,0,0,0,0,0,0,0,0,100,229,26,0,0,0,0,0,0,0,0,0,100,203,221,14,0,0,0,0,0,0,0,13,231,117,0,0,0,0,59,252,48,0,0,0,0,0,36,255,237,216,0,0,0,0,165,228,255,96,0,0,0,0,24,255,188,0,0,0,0,0,71,255,227,26,0,0,0,0,180,88,0,0,0,0,13,220,255,82,0,0,0,0,0,180,88,0,0,0,0,0,158,255,246,255,166,0,0,0,0,0,29,230,255,255,146,249,145,0,0,0,0,0,0,0,144,210,0,0,0,0,0,0,0,0,0,0,0,0,0,78,239,39,0,0,0,0,0,0,0,0,0,0,108,202,218,11,0,0,0,0,0,0,0,0,0,44,240,210,129,222,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,78,132,0,0,0,0,0,0,0,0,0,0,0,0,95,115,0,0,0,0,0,0,0,0,0,0,0,140,63,41,168,3,0,0,0,0,0,0,0,0,13,124,25,107,127,8,0,0,0,0,0,0,0,0,0,0,143,66,0,0,0,0,0,0,0,0,0,0,0,160,51,0,0,0,0,0,0,0,0,0,17,171,14,104,109,0,0,0,0,0,0,0,123,244,15,0,0,0,0,0,198,178,0,0,0,0,0,36,255,140,0,0,0,0,0,0,80,255,96,0,0,0,0,3,40,29,0,0,0,0,0,118,255,25,0,0,0,0,0,180,88,0,0,0,0,0,7,255,130,0,0,0,0,0,180,88,0,0,0,0,29,255,192,0,160,234,18,0,0,0,0,147,255,255,255,56,244,80,0,0,0,0,0,0,0,3,159,48,0,0,0,0,0,0,0,0,0,0,0,0,147,68,0,0,0,0,0,0,0,0,0,0,20,171,12,110,103,0,0,0,0,0,0,0,0,0,67,73,50,130,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,6,93,150,153,106,15,0,0,0,0,0,0,0,0,6,93,150,153,106,15,0,0,0,0,0,0,0,0,6,93,150,153,106,15,0,0,0,0,0,0,0,0,6,93,150,153,106,15,0,0,0,0,0,0,1,124,116,0,0,0,56,124,62,0,0,0,0,1,124,116,0,0,0,56,124,62,0,0,0,0,1,124,116,0,0,0,56,124,62,0,0,0,0,2,228,163,0,0,0,0,0,0,103,254,32,0,0,0,0,36,255,140,0,0,0,0,0,0,80,255,96,0,0,0,0,24,255,188,0,0,0,0,0,120,255,16,0,0,0,0,0,180,88,0,0,0,0,0,0,255,132,0,0,0,0,0,180,88,0,0,0,0,15,246,251,126,10,0,0,0,0,0,0,187,255,255,255,56,244,80,0,0,0,0,0,0,0,47,124,116,0,0,0,0,0,0,0,0,0,0,0,47,124,116,0,0,0,0,0,0,0,0,0,0,0,47,124,116,0,0,0,0,0,0,0,0,0,0,0,47,124,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,26,211,255,255,255,255,231,48,0,0,0,0,0,0,26,211,255,255,255,255,231,48,0,0,0,0,0,0,26,211,255,255,255,255,231,48,0,0,0,0,0,0,26,211,255,255,255,255,231,48,0,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,53,255,90,0,0,0,0,0,0,33,255,112,0,0,0,0,36,255,140,0,0,0,0,0,0,80,255,96,0,0,0,0,24,255,188,0,0,0,0,0,120,255,16,0,0,0,0,0,180,88,0,0,0,0,0,0,255,132,0,0,0,0,0,180,88,0,0,0,0,0,167,255,255,228,89,0,0,0,0,0,155,255,255,255,56,244,80,0,0,0,0,0,0,0,165,255,255,50,0,0,0,0,0,0,0,0,0,0,165,255,255,50,0,0,0,0,0,0,0,0,0,0,165,255,255,50,0,0,0,0,0,0,0,0,0,0,165,255,255,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,192,255,162,32,25,135,255,223,8,0,0,0,0,0,192,255,162,32,25,135,255,223,8,0,0,0,0,0,192,255,162,32,25,135,255,223,8,0,0,0,0,0,192,255,162,32,25,135,255,223,8,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,102,255,47,0,0,0,0,0,0,1,246,162,0,0,0,0,36,255,140,0,0,0,0,0,0,80,255,96,0,0,0,0,24,255,188,0,0,0,0,13,164,249,6,0,0,0,0,0,180,88,0,0,0,0,0,0,246,158,1,0,0,0,0,104,50,0,0,0,0,90,254,55,142,248,255,100,0,0,0,0,37,238,255,255,56,244,80,0,0,0,0,0,0,11,244,251,255,139,0,0,0,0,0,0,0,0,0,11,244,251,255,139,0,0,0,0,0,0,0,0,0,11,244,251,255,139,0,0,0,0,0,0,0,0,0,11,244,251,255,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,51,255,216,4,0,0,0,177,255,89,0,0,0,0,51,255,216,4,0,0,0,177,255,89,0,0,0,0,51,255,216,4,0,0,0,177,255,89,0,0,0,0,51,255,216,4,0,0,0,177,255,89,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,120,255,34,0,0,0,0,0,0,0,231,177,0,0,0,0,36,255,140,0,0,0,0,0,0,80,255,96,0,0,0,0,24,255,188,0,0,0,0,132,253,128,0,0,0,0,0,0,180,88,0,0,0,0,0,0,121,252,147,0,0,0,0,0,0,0,0,0,0,139,255,91,0,36,242,179,0,0,0,0,0,27,122,255,56,244,80,0,0,0,0,0,0,91,255,140,246,226,1,0,0,0,0,0,0,0,0,91,255,140,246,226,1,0,0,0,0,0,0,0,0,91,255,140,246,226,1,0,0,0,0,0,0,0,0,91,255,140,246,226,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,106,255,140,0,0,0,0,99,255,144,0,0,0,0,106,255,140,0,0,0,0,99,255,144,0,0,0,0,106,255,140,0,0,0,0,99,255,144,0,0,0,0,106,255,140,0,0,0,0,99,255,144,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,107,255,47,0,0,0,0,0,0,0,242,160,0,0,0,0,36,255,140,0,0,0,0,0,0,80,255,96,0,0,0,0,24,255,188,0,0,0,0,16,164,248,6,0,0,0,0,0,180,88,0,0,0,0,0,0,234,191,35,0,0,0,0,81,39,0,0,0,0,50,243,255,194,87,244,125,0,0,0,0,0,0,12,255,56,244,80,0,0,0,0,0,0,181,255,43,172,255,60,0,0,0,0,0,0,0,0,181,255,43,172,255,60,0,0,0,0,0,0,0,0,181,255,43,172,255,60,0,0,0,0,0,0,0,0,181,255,43,172,255,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,119,255,124,0,0,0,0,80,255,158,0,0,0,0,119,255,124,0,0,0,0,80,255,158,0,0,0,0,119,255,124,0,0,0,0,80,255,158,0,0,0,0,119,255,124,0,0,0,0,80,255,158,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,62,255,86,0,0,0,0,0,0,27,255,116,0,0,0,0,36,255,140,0,0,0,0,0,0,80,255,96,0,0,0,0,24,255,188,0,0,0,0,0,120,255,16,0,0,0,0,0,180,88,0,0,0,0,0,0,255,132,0,0,0,0,0,180,88,0,0,0,0,0,31,173,255,255,212,3,0,0,0,0,0,0,12,255,56,244,80,0,0,0,0,0,21,251,214,0,87,255,149,0,0,0,0,0,0,0,21,251,214,0,87,255,149,0,0,0,0,0,0,0,21,251,214,0,87,255,149,0,0,0,0,0,0,0,21,251,214,0,87,255,149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,93,255,157,0,0,0,0,114,255,133,0,0,0,0,93,255,157,0,0,0,0,114,255,133,0,0,0,0,93,255,157,0,0,0,0,114,255,133,0,0,0,0,93,255,157,0,0,0,0,114,255,133,0,0,0,0,3,255,240,0,0,0,116,255,127,0,0,0,0,3,255,240,0,0,0,116,255,127,0,0,0,0,3,255,240,0,0,0,116,255,127,0,0,0,0,5,236,152,0,0,0,0,0,0,97,255,41,0,0,0,0,36,255,140,0,0,0,0,0,0,80,255,96,0,0,0,0,24,255,188,0,0,0,0,0,120,255,16,0,0,0,0,0,180,88,0,0,0,0,0,0,255,132,0,0,0,0,0,180,88,0,0,0,0,0,0,0,66,221,255,76,0,0,0,0,0,0,12,255,56,244,80,0,0,0,0,0,107,255,207,136,147,255,233,3,0,0,0,0,0,0,107,255,207,136,147,255,233,3,0,0,0,0,0,0,107,255,207,136,147,255,233,3,0,0,0,0,0,0,107,255,207,136,147,255,233,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,25,251,241,26,0,0,11,219,255,61,0,0,0,0,25,251,241,26,0,0,11,219,255,61,0,0,0,0,25,251,241,26,0,0,11,219,255,61,0,0,0,0,25,251,241,26,0,0,11,219,255,61,0,0,0,0,0,246,254,23,0,0,150,255,114,0,0,0,0,0,246,254,23,0,0,150,255,114,0,0,0,0,0,246,254,23,0,0,150,255,114,0,0,0,0,0,136,235,7,0,0,0,0,0,191,193,0,0,0,0,0,36,255,140,0,0,0,0,0,0,80,255,96,0,0,0,0,24,255,188,0,0,0,0,0,119,255,19,0,0,0,0,0,180,88,0,0,0,0,0,4,255,131,0,0,0,0,0,180,88,0,0,0,0,26,255,167,0,126,255,94,0,0,0,0,0,0,12,255,56,244,80,0,0,0,0,0,197,255,255,255,255,255,255,70,0,0,0,0,0,0,197,255,255,255,255,255,255,70,0,0,0,0,0,0,197,255,255,255,255,255,255,70,0,0,0,0,0,0,197,255,255,255,255,255,255,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,133,255,222,113,107,207,255,175,0,0,0,0,0,0,133,255,222,113,107,207,255,175,0,0,0,0,0,0,133,255,222,113,107,207,255,175,0,0,0,0,0,0,133,255,222,113,107,207,255,175,0,0,0,0,0,0,172,255,204,105,139,250,253,44,0,0,0,0,0,172,255,204,105,139,250,253,44,0,0,0,0,0,172,255,204,105,139,250,253,44,0,0,0,0,0,21,239,101,0,0,0,0,48,255,62,0,0,0,0,0,36,255,223,184,0,0,0,0,140,206,255,96,0,0,0,0,180,255,178,0,0,0,0,0,80,255,195,22,0,0,0,0,180,88,0,0,0,0,11,198,255,96,0,0,0,0,0,180,88,0,0,0,0,0,197,255,223,252,229,19,0,0,0,0,0,0,12,255,56,244,80,0,0,0,0,33,255,213,24,24,24,101,255,158,0,0,0,0,0,33,255,213,24,24,24,101,255,158,0,0,0,0,0,33,255,213,24,24,24,101,255,158,0,0,0,0,0,33,255,213,24,24,24,101,255,158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,1,130,248,255,255,253,157,9,0,0,0,0,0,0,1,130,248,255,255,253,157,9,0,0,0,0,0,0,1,130,248,255,255,253,157,9,0,0,0,0,0,0,1,130,248,255,255,253,157,9,0,0,0,0,0,0,22,191,255,255,255,240,97,0,0,0,0,0,0,22,191,255,255,255,240,97,0,0,0,0,0,0,22,191,255,255,255,240,97,0,0,0,0,0,0,0,82,119,0,0,0,0,87,118,0,0,0,0,0,0,21,152,152,152,0,0,0,0,116,152,152,57,0,0,0,0,195,202,67,0,0,0,0,0,1,109,151,19,0,0,0,0,106,52,0,0,0,0,9,151,114,3,0,0,0,0,0,106,52,0,0,0,0,0,15,116,150,119,22,0,0,0,0,0,0,0,5,124,27,118,38,0,0,0,0,123,255,127,0,0,0,13,248,240,7,0,0,0,0,123,255,127,0,0,0,13,248,240,7,0,0,0,0,123,255,127,0,0,0,13,248,240,7,0,0,0,0,123,255,127,0,0,0,13,248,240,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,13,62,66,21,0,0,0,0,0,0,0,0,0,0,13,62,66,21,0,0,0,0,0,0,0,0,0,0,13,62,66,21,0,0,0,0,0,0,0,0,0,0,13,62,66,21,0,0,0,0,0,0,0,0,0,0,37,70,57,8,0,0,0,0,0,0,0,0,0,37,70,57,8,0,0,0,0,0,0,0,0,0,37,70,57,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,1,70,27,0,0,0,0,0,0,0,0,0,0,13,106,155,150,94,5,0,0,0,0,0,0,10,44,16,0,0,0,0,0,0,0,0,0,0,0,18,44,7,0,0,0,0,0,0,0,0,10,44,12,0,0,0,0,0,0,0,2,43,24,0,0,0,0,0,0,0,39,31,0,0,0,0,0,0,39,27,0,0,0,0,0,0,0,0,0,0,0,11,1,0,0,0,0,0,0,0,0,212,145,106,252,0,0,0,0,0,0,0,0,0,43,252,63,189,169,0,0,0,0,0,0,0,0,0,0,19,44,7,0,0,0,0,0,0,0,0,0,106,195,18,0,0,0,0,0,31,124,71,0,0,0,0,0,0,0,0,0,0,0,23,207,45,0,0,0,0,0,0,0,0,0,1,74,143,169,159,108,19,0,0,0,0,0,0,0,0,0,47,252,59,192,165,0,0,0,0,0,0,0,0,114,244,7,252,98,0,0,0,0,0,0,27,252,78,173,185,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,0,14,7,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,92,126,172,0,0,0,0,0,0,0,0,0,35,225,255,255,255,255,205,15,0,0,0,0,0,4,187,163,0,0,0,0,0,0,0,0,0,0,0,180,174,1,0,0,0,0,0,0,0,0,167,200,172,0,0,0,0,0,0,0,0,144,210,0,0,0,0,0,0,45,248,62,0,0,0,0,0,80,208,227,24,0,0,0,0,0,0,44,240,210,129,222,8,0,0,0,0,0,0,0,0,128,87,64,152,0,0,0,0,0,0,0,0,0,26,152,38,114,102,0,0,0,0,0,0,0,0,0,0,184,170,1,0,0,0,0,0,0,0,0,6,223,61,0,0,0,0,0,0,64,255,148,0,0,0,0,0,0,0,0,0,3,157,254,255,255,195,15,0,0,0,0,0,0,36,206,204,117,86,103,174,241,94,0,0,0,0,0,0,0,0,28,152,35,116,99,0,0,0,0,0,0,0,0,68,147,4,152,59,0,0,0,0,0,0,16,152,47,104,111,0,0,0,0,0,0,95,176,110,0,0,0,0,0,0,0,0,184,163,8,251,90,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,54,180,141,0,0,0,0,0,0,0,0,0,199,255,155,27,30,174,255,141,0,0,0,0,0,0,16,179,15,0,0,0,0,0,0,0,0,0,24,175,10,0,0,0,0,0,0,0,0,59,144,2,156,56,0,0,0,0,0,0,0,3,159,48,0,0,0,0,0,117,93,0,0,0,0,0,9,171,23,89,125,0,0,0,0,0,0,67,73,50,130,83,0,0,0,0,0,0,0,0,6,93,150,153,106,15,0,0,0,0,0,0,1,124,116,0,0,0,56,124,62,0,0,0,0,0,0,0,27,174,9,0,0,0,0,0,0,0,3,4,5,20,0,3,3,0,0,0,0,64,255,148,2,27,4,0,0,0,0,0,0,88,255,123,220,96,255,131,0,0,0,0,0,34,234,118,1,0,0,0,0,64,240,86,0,0,0,0,0,0,0,0,47,124,116,0,0,0,0,0,0,0,0,120,124,124,124,124,124,108,0,0,0,0,0,0,23,124,94,0,0,0,0,0,0,0,137,102,149,0,0,0,0,0,0,0,0,233,114,53,255,39,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,47,124,116,0,0,0,0,0,0,0,0,45,255,221,3,0,0,23,188,151,0,0,0,0,120,124,124,124,124,124,108,0,0,0,0,0,120,124,124,124,124,124,108,0,0,0,0,0,120,124,124,124,124,124,108,0,0,0,0,0,0,23,124,94,0,0,0,0,23,124,94,0,0,0,0,0,0,23,124,94,0,0,0,0,0,13,124,121,6,0,0,44,124,73,0,0,0,0,0,26,211,255,255,255,255,231,48,0,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,65,124,77,0,0,0,104,124,40,0,0,0,0,181,255,71,0,12,249,209,0,0,0,0,64,255,178,218,255,231,62,0,0,0,0,0,121,255,45,216,12,130,93,0,0,0,0,0,193,142,0,7,118,180,123,110,71,85,230,3,0,0,0,0,0,0,0,165,255,255,50,0,0,0,0,0,0,0,248,255,255,255,255,255,224,0,0,0,0,0,0,48,255,196,0,0,0,0,0,0,0,19,105,23,0,0,0,0,0,0,121,205,255,221,220,255,205,38,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,165,255,255,50,0,0,0,0,0,0,0,92,255,153,0,0,0,0,0,0,0,0,0,0,248,255,255,255,255,255,224,0,0,0,0,0,248,255,255,255,255,255,224,0,0,0,0,0,248,255,255,255,255,255,224,0,0,0,0,0,0,48,255,196,0,0,0,0,48,255,196,0,0,0,0,0,0,48,255,196,0,0,0,0,0,28,255,255,118,0,0,92,255,152,0,0,0,0,0,192,255,162,32,25,135,255,223,8,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,39,252,236,10,0,42,255,234,10,0,0,0,0,89,255,149,0,78,255,120,0,0,0,0,64,255,255,152,126,248,235,13,0,0,0,0,59,255,221,239,45,0,0,0,0,0,0,62,245,14,0,175,186,59,168,251,60,2,239,51,0,0,0,0,0,0,11,244,251,255,139,0,0,0,0,0,0,0,248,252,36,36,36,36,31,0,0,0,0,0,0,48,255,196,0,0,0,0,0,2,152,251,255,253,171,5,0,0,0,0,73,171,255,126,211,218,124,23,0,0,0,0,0,0,0,0
- ,0,0,0,0,11,244,251,255,139,0,0,0,0,0,0,0,103,255,136,0,0,0,0,0,0,0,0,0,0,248,252,36,36,36,36,31,0,0,0,0,0,248,252,36,36,36,36,31,0,0,0,0,0,248,252,36,36,36,36,31,0,0,0,0,0,0,48,255,196,0,0,0,0,48,255,196,0,0,0,0,0,0,48,255,196,0,0,0,0,0,28,255,255,242,24,0,92,255,152,0,0,0,0,51,255,216,4,0,0,0,177,255,89,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,0,156,255,110,0,152,255,116,0,0,0,0,0,10,242,225,0,151,255,32,0,0,0,0,64,255,200,0,0,141,255,86,0,0,0,0,0,96,230,255,255,179,20,0,0,0,0,136,186,0,66,233,13,0,73,240,4,0,224,74,0,0,0,0,0,0,91,255,140,246,226,1,0,0,0,0,0,0,248,252,0,0,0,0,0,0,0,0,0,0,0,48,255,196,0,0,0,0,0,79,255,183,89,184,255,80,0,0,0,0,0,131,221,0,207,145,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,91,255,140,246,226,1,0,0,0,0,0,0,81,255,162,0,0,0,1,60,53,0,0,0,0,248,252,0,0,0,0,0,0,0,0,0,0,248,252,0,0,0,0,0,0,0,0,0,0,248,252,0,0,0,0,0,0,0,0,0,0,0,48,255,196,0,0,0,0,48,255,196,0,0,0,0,0,0,48,255,196,0,0,0,0,0,28,255,238,251,159,0,92,255,152,0,0,0,0,106,255,140,0,0,0,0,99,255,144,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,0,28,247,224,22,245,233,10,0,0,0,0,0,0,161,255,48,224,198,0,0,0,0,0,64,255,153,0,0,97,255,115,0,0,0,0,0,0,1,219,156,255,163,0,0,0,0,162,161,0,143,165,0,0,119,173,0,31,254,38,0,0,0,0,0,0,181,255,43,172,255,60,0,0,0,0,0,0,248,254,180,180,180,180,92,0,0,0,0,0,0,48,255,196,0,0,0,0,0,35,76,32,52,176,255,99,0,0,0,0,127,213,221,132,250,184,88,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,181,255,43,172,255,60,0,0,0,0,0,0,22,251,237,17,0,0,51,255,200,0,0,0,0,248,254,180,180,180,180,92,0,0,0,0,0,248,254,180,180,180,180,92,0,0,0,0,0,248,254,180,180,180,180,92,0,0,0,0,0,0,48,255,196,0,0,0,0,48,255,196,0,0,0,0,0,0,48,255,196,0,0,0,0,0,28,255,212,144,254,54,92,255,152,0,0,0,0,119,255,124,0,0,0,0,80,255,158,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,0,0,141,255,199,255,114,0,0,0,0,0,0,0,69,255,167,255,108,0,0,0,0,0,64,255,181,0,0,129,255,94,0,0,0,0,122,175,6,216,12,232,210,0,0,0,0,139,188,0,143,199,2,29,233,122,7,184,187,0,0,0,0,0,0,21,251,214,0,87,255,149,0,0,0,0,0,0,248,255,236,236,236,236,121,0,0,0,0,0,0,48,255,196,0,0,0,0,0,19,180,251,245,222,255,100,0,0,0,0,189,254,219,212,255,202,131,0,0,0,0,0,0,0,0,0
- ,0,0,0,21,251,214,0,87,255,149,0,0,0,0,0,0,0,147,255,212,104,110,224,255,100,0,0,0,0,248,255,236,236,236,236,121,0,0,0,0,0,248,255,236,236,236,236,121,0,0,0,0,0,248,255,236,236,236,236,121,0,0,0,0,0,0,48,255,196,0,0,0,0,48,255,196,0,0,0,0,0,0,48,255,196,0,0,0,0,0,28,255,212,16,235,199,93,255,152,0,0,0,0,93,255,157,0,0,0,0,114,255,133,0,0,0,0,3,255,240,0,0,0,116,255,127,0,0,0,0,0,0,19,241,255,232,9,0,0,0,0,0,0,0,2,229,255,252,23,0,0,0,0,0,64,255,253,110,82,237,247,24,0,0,0,0,127,255,130,222,99,253,170,0,0,0,0,62,250,35,36,236,221,228,162,241,228,199,21,0,0,0,0,0,0,107,255,207,136,147,255,233,3,0,0,0,0,0,248,252,0,0,0,0,0,0,0,0,0,0,0,48,255,196,0,0,0,0,0,135,255,109,2,110,255,100,0,0,0,0,26,255,70,101,247,4,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,107,255,207,136,147,255,233,3,0,0,0,0,0,0,6,162,254,255,255,247,124,0,0,0,0,0,248,252,0,0,0,0,0,0,0,0,0,0,248,252,0,0,0,0,0,0,0,0,0,0,248,252,0,0,0,0,0,0,0,0,0,0,0,48,255,196,0,0,0,0,48,255,196,0,0,0,0,0,0,48,255,196,0,0,0,0,0,28,255,212,0,102,255,185,255,152,0,0,0,0,25,251,241,26,0,0,11,219,255,61,0,0,0,0,0,246,254,23,0,0,150,255,114,0,0,0,0,0,0,0,143,255,131,0,0,0,0,0,0,0,0,0,140,255,186,0,0,0,0,0,0,64,255,197,242,255,249,92,0,0,0,0,0,11,182,255,255,255,211,33,0,0,0,0,0,174,209,25,16,62,16,0,44,50,1,0,0,0,0,0,0,0,197,255,255,255,255,255,255,70,0,0,0,0,0,248,252,0,0,0,0,0,0,0,0,0,0,0,48,255,196,0,0,0,0,0,152,255,123,60,213,255,100,0,0,0,0,77,255,18,151,201,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,197,255,255,255,255,255,255,70,0,0,0,0,0,0,0,0,25,197,112,13,0,0,0,0,0,0,248,252,0,0,0,0,0,0,0,0,0,0,248,252,0,0,0,0,0,0,0,0,0,0,248,252,0,0,0,0,0,0,0,0,0,0,0,48,255,196,0,0,0,0,48,255,196,0,0,0,0,0,0,48,255,196,0,0,0,0,0,28,255,212,0,2,207,255,255,152,0,0,0,0,0,133,255,222,113,107,207,255,175,0,0,0,0,0,0,172,255,204,105,139,250,253,44,0,0,0,0,0,0,0,128,255,116,0,0,0,0,0,0,0,0,0,83,255,97,0,0,0,0,0,0,64,255,148,21,69,26,0,0,0,0,0,0,0,0,35,226,55,1,0,0,0,0,0,0,11,171,239,137,74,59,81,144,29,0,0,0,0,0,0,0,33,255,213,24,24,24,101,255,158,0,0,0,0,0,248,254,160,160,160,160,160,17,0,0,0,0,0,48,255,196,0,0,0,0,0,56,247,255,248,173,255,155,0,0,0,0,47,100,0,78,70,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,33,255,213,24,24,24,101,255,158,0,0,0,0,0,0,0,2,19,70,248,39,0,0,0,0,0,0,248,254,160,160,160,160,160,17,0,0,0,0,248,254,160,160,160,160,160,17,0,0,0,0,248,254,160,160,160,160,160,17,0,0,0,0,0,48,255,196,0,0,0,0,48,255,196,0,0,0,0,0,0,48,255,196,0,0,0,0,0,28,255,212,0,0,61,255,255,152,0,0,0,0,0,1,130,248,255,255,253,157,9,0,0,0,0,0,0,22,191,255,255,255,240,97,0,0,0,0,0,0,0,0,128,255,116,0,0,0,0,0,0,0,0,114,218,246,15,0,0,0,0,0,0,64,255,148,0,0,0,0,0,0,0,0,0,0,0,0,138,7,0,0,0,0,0,0,0,0,0,61,146,189,200,181,129,24,0,0,0,0,0,0,0,123,255,127,0,0,0,13,248,240,7,0,0,0,0,248,255,255,255,255,255,255,28,0,0,0,0,0,48,255,196,0,0,0,0,0,0,25,69,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,123,255,127,0,0,0,13,248,240,7,0,0,0,0,0,0,23,169,179,169,8,0,0,0,0,0,0,248,255,255,255,255,255,255,28,0,0,0,0,248,255,255,255,255,255,255,28,0,0,0,0,248,255,255,255,255,255,255,28,0,0,0,0,0,48,255,196,0,0,0,0,48,255,196,0,0,0,0,0,0,48,255,196,0,0,0,0,0,28,255,212,0,0,0,167,255,152,0,0,0,0,0,0,0,13,62,66,21,0,0,0,0,0,0,0,0,0,0,37,70,57,8,0,0,0,0,0,0,0,0,0,128,255,116,0,0,0,0,0,0,0,0,185,194,78,0,0,0,0,0,0,0,53,212,122,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,20,4,0,0,0,10,44,0,0,0,0,0,0,0,0,0,4,75,93,25,0,0,0,0,0,0,0,0,0,0,24,38,0,0,0,0,0,0,54,96,62,0,0,0,0,0,0,0,2,70,99,67,2,0,0,0,0,0,0,32,56,56,56,56,20,0,0,0,0,0,0,35,94,81,12,0,0,0,0,0,0,0,60,99,70,3,0,0,0,0,0,0,1,64,97,54,0,0,0,0,0,0,0,0,13,106,155,150,94,5,0,0,0,0,0,0,0,4,88,148,155,116,25,0,0,0,0,0,0,0,0,0,0,77,124,38,0,0,0,0,0,0,6,93,150,153,106,15,0,0,0,0,0,0,0,0,4,88,148,154,109,17,0,0,0,0,0,0,0,5,92,148,156,123,34,0,0,0,0,0,0,1,124,116,0,0,0,56,124,62,0,0,0,0,8,54,0,0,0,0,0,0,0,29,124,73,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,124,9,0,0,0,0,0,0,7,26,0,2,4,0,0,0,0,0,1,4,2,2,27,4,0,0,0,0,0,0,0
- ,0,0,19,196,255,237,73,0,0,132,120,0,0,0,0,0,0,0,0,7,203,255,255,241,36,0,0,0,0,0,0,0,0,0,133,90,0,0,0,0,0,146,255,255,255,169,2,0,0,0,0,7,198,255,255,255,194,5,0,0,0,0,0,174,255,255,255,255,92,0,0,0,0,0,102,252,255,255,223,23,0,0,0,0,4,179,255,255,255,201,11,0,0,0,0,4,180,255,255,255,148,0,0,0,0,0,0,35,225,255,255,255,255,205,15,0,0,0,0,0,20,204,255,255,255,255,242,66,0,0,0,0,0,0,0,0,0,160,255,80,0,0,0,0,0,26,211,255,255,255,255,231,48,0,0,0,0,0,0,20,204,255,255,255,255,234,52,0,0,0,0,0,5,198,255,249,245,255,248,63,0,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,1,215,6,0,0,0,0,0,0,60,255,152,0,0,0,0,0,0,0,0,0,0,0,0,0,0,188,255,20,0,0,0,0,0,78,238,255,190,190,255,8,0,0,0,0,64,255,178,218,255,234,67,0,0,0,0,0,0
- ,0,0,146,219,58,154,232,1,25,217,9,0,0,0,0,0,0,0,0,68,255,136,67,255,111,0,0,0,0,0,0,0,0,0,202,20,0,0,0,0,51,255,184,26,161,255,78,0,0,0,0,87,255,138,23,172,255,78,0,0,0,0,0,215,180,104,104,104,37,0,0,0,0,21,246,198,31,97,224,107,0,0,0,0,78,255,140,23,113,255,106,0,0,0,0,98,255,143,26,163,255,59,0,0,0,0,0,199,255,155,27,30,174,255,141,0,0,0,0,0,183,255,163,34,20,108,252,232,6,0,0,0,0,0,0,0,0,160,255,80,0,0,0,0,0,192,255,162,32,25,135,255,223,8,0,0,0,0,0,179,255,169,34,19,122,255,228,12,0,0,0,0,77,255,176,7,2,95,255,190,0,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,0,150,73,0,0,0,0,0,0,60,255,152,3,28,4,0,0,0,0,0,0,0,0,8,27,0,188,255,20,0,0,0,0,25,244,240,118,177,255,255,8,0,0,0,0,64,255,255,152,126,248,237,14,0,0,0,0,0
- ,0,0,174,166,0,76,254,8,153,99,0,0,0,0,0,0,0,0,0,38,253,204,119,255,65,0,0,0,0,0,0,0,0,22,199,0,0,0,0,0,120,255,86,0,62,255,144,0,0,0,0,84,176,37,0,117,255,87,0,0,0,0,5,251,98,47,35,0,0,0,0,0,0,93,255,89,6,8,0,0,0,0,0,0,89,255,68,0,33,255,114,0,0,0,0,155,255,33,0,51,255,137,0,0,0,0,45,255,221,3,0,0,23,188,151,0,0,0,0,43,255,221,4,0,0,0,102,140,27,0,0,0,0,0,0,0,0,160,255,80,0,0,0,0,51,255,216,4,0,0,0,177,255,89,0,0,0,0,39,255,228,6,0,0,0,166,255,101,0,0,0,0,100,255,151,0,0,0,100,89,0,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,0,67,155,0,0,0,0,0,0,60,255,189,224,255,233,66,0,0,0,0,0,0,89,242,255,206,206,255,20,0,0,0,0,108,255,119,0,3,224,255,8,0,0,0,0,64,255,200,0,0,141,255,88,0,0,0,0,0
- ,0,0,81,253,183,234,172,40,209,3,0,0,0,0,0,0,0,0,0,0,138,255,255,118,0,0,0,0,0,0,0,0,0,94,128,0,0,0,0,0,150,255,59,0,32,255,173,0,0,0,0,0,0,15,108,230,202,9,0,0,0,0,41,255,236,255,255,174,5,0,0,0,0,133,255,176,247,252,163,5,0,0,0,0,9,194,226,143,210,212,20,0,0,0,0,147,255,53,0,71,255,171,0,0,0,0,92,255,153,0,0,0,0,0,0,0,0,0,0,98,255,149,0,0,13,24,24,24,6,0,0,0,0,0,0,0,0,160,255,80,0,0,0,0,106,255,140,0,0,0,0,99,255,144,0,0,0,0,94,255,156,0,0,0,0,89,255,158,0,0,0,0,35,247,255,220,158,106,37,0,0,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,0,4,214,2,0,0,0,0,0,60,255,255,154,127,248,237,14,0,0,0,0,37,250,236,116,176,255,255,20,0,0,0,0,139,255,73,0,0,177,255,8,0,0,0,0,64,255,153,0,0,97,255,115,0,0,0,0,0
- ,0,0,0,74,152,115,8,175,79,44,136,117,14,0,0,0,0,0,0,89,244,249,255,106,42,216,62,0,0,0,0,0,0,166,56,0,0,0,0,0,158,255,52,0,25,255,181,0,0,0,0,0,0,38,235,255,191,16,0,0,0,0,74,236,154,64,181,255,108,0,0,0,0,145,255,217,102,183,255,115,0,0,0,0,22,208,244,187,240,219,34,0,0,0,0,67,255,216,129,223,255,176,0,0,0,0,104,255,136,0,0,0,0,0,0,0,0,0,0,110,255,133,0,0,140,255,255,255,64,0,0,0,0,0,0,0,0,160,255,80,0,0,0,0,119,255,124,0,0,0,0,80,255,158,0,0,0,0,107,255,137,0,0,0,0,74,255,171,0,0,0,0,0,47,160,224,255,255,254,140,0,0,0,0,0,4,255,240,0,0,0,116,255,128,0,0,0,0,0,0,158,63,0,0,0,0,0,60,255,201,0,0,138,255,87,0,0,0,0,126,255,104,0,5,232,255,20,0,0,0,0,125,255,99,0,0,210,255,8,0,0,0,0,64,255,181,0,0,129,255,95,0,0,0,0,0
- ,0,0,0,0,0,0,58,195,44,245,207,230,200,1,0,0,0,0,25,250,189,24,213,250,167,255,35,0,0,0,0,0,2,216,2,0,0,0,0,0,148,255,62,0,31,255,171,0,0,0,0,0,0,0,0,106,255,138,0,0,0,0,0,0,0,0,42,255,173,0,0,0,0,138,255,77,0,17,255,182,0,0,0,0,145,255,75,0,47,255,172,0,0,0,0,0,116,240,246,157,255,159,0,0,0,0,82,255,162,0,0,0,1,60,53,0,0,0,0,84,255,170,0,0,74,136,188,255,64,0,0,0,0,90,132,35,0,160,255,80,0,0,0,0,93,255,157,0,0,0,0,114,255,133,0,0,0,0,81,255,169,0,0,15,79,105,255,145,0,0,0,0,0,0,0,0,20,92,242,255,34,0,0,0,0,3,255,240,0,0,0,116,255,127,0,0,0,0,0,0,76,145,0,0,0,0,0,60,255,157,0,0,93,255,115,0,0,0,0,155,255,57,0,0,193,255,20,0,0,0,0,54,255,223,74,131,255,255,8,0,0,0,0,64,255,253,107,79,237,248,25,0,0,0,0,0
- ,0,0,0,0,0,0,195,58,133,207,0,39,255,44,0,0,0,0,67,255,124,0,37,240,255,189,0,0,0,0,0,0,54,166,0,0,0,0,0,0,115,255,99,0,62,255,136,0,0,0,0,104,180,36,0,39,255,173,0,0,0,0,66,104,21,0,43,255,169,0,0,0,0,105,255,67,0,16,255,177,0,0,0,0,178,255,38,0,10,255,205,0,0,0,0,17,36,9,1,71,255,116,0,0,0,0,23,252,237,17,0,0,51,255,199,0,0,0,0,18,246,248,42,0,0,2,187,255,64,0,0,0,0,173,255,72,0,163,255,76,0,0,0,0,25,251,241,26,0,0,11,219,255,61,0,0,0,0,17,247,246,33,0,126,254,228,255,71,0,0,0,0,110,212,87,0,0,0,175,255,50,0,0,0,0,0,246,254,23,0,0,150,255,114,0,0,0,0,0,0,7,212,0,0,0,0,0,60,255,186,0,0,126,255,94,0,0,0,0,136,255,85,0,0,224,255,20,0,0,0,0,0,139,255,255,230,213,255,8,0,0,0,0,64,255,197,243,255,251,98,0,0,0,0,0,0
- ,0,0,0,0,0,79,176,0,109,233,52,109,253,25,0,0,0,0,27,252,232,78,101,236,255,202,7,0,0,0,0,0,126,94,0,0,0,0,0,0,39,253,209,77,192,255,58,0,0,0,0,95,255,180,76,176,255,122,0,0,0,0,122,255,176,78,188,255,95,0,0,0,0,33,252,201,78,170,255,107,0,0,0,0,119,255,178,75,160,255,148,0,0,0,0,97,255,164,74,205,251,33,0,0,0,0,0,151,255,212,104,110,224,255,97,0,0,0,0,0,121,255,234,122,105,196,249,255,64,0,0,0,0,131,255,188,104,235,255,38,0,0,0,0,0,133,255,222,113,107,207,255,175,0,0,0,0,0,0,124,255,227,116,107,245,255,217,0,0,0,0,0,57,254,231,102,71,118,249,234,8,0,0,0,0,0,172,255,204,105,139,250,253,44,0,0,0,0,0,0,0,167,53,0,0,0,0,60,255,254,112,82,237,247,23,0,0,0,0,57,255,217,73,136,255,255,20,0,0,0,0,16,40,60,70,14,193,251,2,0,0,0,0,64,255,148,23,73,29,0,0,0,0,0,0,0
- ,0,0,0,0,3,210,41,0,9,187,255,250,112,0,0,0,0,0,0,105,249,255,255,205,148,255,157,0,0,0,0,0,197,23,0,0,0,0,0,0,0,123,254,255,255,145,0,0,0,0,0,4,173,255,255,255,182,9,0,0,0,0,11,189,255,255,254,151,2,0,0,0,0,0,106,250,255,255,171,5,0,0,0,0,6,171,255,255,255,190,16,0,0,0,0,6,184,255,255,250,105,0,0,0,0,0,0,6,158,253,255,255,247,124,0,0,0,0,0,0,0,123,247,255,255,234,71,252,64,0,0,0,0,17,205,255,255,253,134,0,0,0,0,0,0,1,130,248,255,255,253,157,9,0,0,0,0,0,0,0,123,246,255,255,254,210,255,103,0,0,0,0,0,108,244,255,255,255,219,58,0,0,0,0,0,0,22,191,255,255,255,240,97,0,0,0,0,0,0,0,0,85,135,0,0,0,0,60,255,207,245,255,249,94,0,0,0,0,0,0,132,255,255,233,217,255,20,0,0,0,0,58,255,218,99,136,254,173,0,0,0,0,0,64,255,148,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,13,54,0,0,0,0,32,18,0,0,0,0,0,0,0,0,21,69,55,1,0,0,0,0,0,0,0,0,41,0,0,0,0,0,0,0,0,0,32,71,37,0,0,0,0,0,0,0,0,41,71,42,0,0,0,0,0,0,0,0,46,71,31,0,0,0,0,0,0,0,0,23,69,44,0,0,0,0,0,0,0,0,37,71,44,0,0,0,0,0,0,0,0,51,74,25,0,0,0,0,0,0,0,0,0,24,66,63,14,0,0,0,0,0,0,0,0,0,15,64,65,10,0,7,2,0,0,0,0,0,2,52,69,28,0,0,0,0,0,0,0,0,0,13,62,66,21,0,0,0,0,0,0,0,0,0,0,12,61,69,26,0,109,18,0,0,0,0,0,0,10,57,69,44,0,0,0,0,0,0,0,0,0,0,37,70,57,8,0,0,0,0,0,0,0,0,0,6,34,0,0,0,0,0,0,0,23,69,26,0,0,0,0,0,0,0,0,37,68,14,0,0,0,0,0,0,0,0,76,178,207,194,125,10,0,0,0,0,0,53,212,122,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,8,26,0,3,4,0,0,0,0,0,3,4,0,0,0,3,3,0,0,0,0,0,4,3,0,0,0,0,0,0,0,34,0,0,0,0,0,0,0,0,0,34,71,50,1,0,0,0,0,0,0,0,0,29,119,162,149,86,3,0,0,0,0,0,0,0,0,0,29,119,162,149,86,3,0,0,0,0,0,0,1,4,2,0,0,4,3,0,0,0,0,0,0,0,41,7,0,0,0,29,57,0,0,0,0,0,0,0,0,0,41,7,0,0,0,35,51,0,0,0,0,0,0,0,48,74,14,0,0,0,0,72,12,0,0,0,0,0,0,0,0,0,4,3,0,0,0,0,0,0,0,0,0,8,97,151,154,103,12,39,97,0,0,0,0,0,0,65,117,109,41,0,0,0,0,0,0,0,12,188,119,0,0,0,0,0,0,0,0,0,0,106,195,18,0,0,0,0,0,0,0,92,208,118,0,0,0,0,0,0,0,49,165,102,46,147,0,0,0,0,0,0,65,168,5,162,76,0,0,0,0,0,0,0,2,26,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,95,243,255,194,202,255,20,0,0,0,0,181,255,71,0,12,249,209,0,0,0,0,36,255,208,0,0,0,0,0,0,2,158,16,0,0,0,0,0,0,2,162,255,255,255,206,19,0,0,0,0,0,0,98,228,131,80,94,179,207,29,0,0,0,0,0,0,0,98,228,131,80,94,179,207,29,0,0,0,0,0,64,255,148,0,4,255,204,0,0,0,0,0,31,107,246,36,0,0,0,193,98,0,0,0,0,0,0,0,31,107,246,36,0,0,3,210,78,0,0,0,0,0,0,100,224,194,219,3,0,0,85,201,1,0,0,0,0,0,0,0,0,24,255,216,0,0,0,0,0,0,0,0,32,217,255,255,255,255,225,218,65,0,0,0,0,0,147,255,255,255,253,95,0,0,0,0,0,0,0,50,228,12,0,0,0,0,0,0,0,0,6,223,61,0,0,0,0,0,0,0,36,210,37,213,50,0,0,0,0,0,0,159,121,158,221,102,0,0,0,0,0,0,92,236,7,228,106,0,0,0,0,0,0,79,228,255,253,169,7,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,42,251,233,115,180,255,255,20,0,0,0,0,89,255,149,0,78,255,120,0,0,0,0,31,224,182,0,0,0,0,0,74,228,255,254,167,7,0,0,0,0,88,255,180,44,130,255,138,0,0,0,0,0,73,221,29,94,169,152,37,111,212,7,0,0,0,0,0,73,221,103,148,148,145,78,111,212,7,0,0,0,0,64,255,148,0,4,255,204,0,0,0,0,0,67,150,255,36,0,0,85,205,2,0,0,0,0,0,0,0,67,150,255,36,0,0,105,187,0,0,0,0,0,0,0,98,67,60,248,11,0,8,222,56,0,0,0,0,0,0,0,0,0,21,224,189,0,0,0,0,0,0,0,1,204,255,153,29,23,141,255,221,5,0,0,0,0,12,252,215,14,44,250,220,0,0,0,0,0,0,0,10,51,20,0,0,0,0,0,0,0,0,15,53,13,0,0,0,0,0,0,0,13,24,32,26,15,0,0,0,0,0,0,0,10,32,13,0,0,0,0,0,0,0,0,10,32,13,0,0,0,0,0,0,31,247,227,98,160,255,126,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,131,255,100,0,6,235,255,20,0,0,0,0,10,242,225,0,151,255,32,0,0,0,0,0,51,25,0,0,0,0,26,246,230,196,163,255,122,0,0,0,0,121,255,99,0,2,175,133,0,0,0,0,0,212,67,106,236,117,176,224,5,177,104,0,0,0,0,0,212,67,128,222,120,156,252,21,177,104,0,0,0,0,64,255,148,0,4,255,204,0,0,0,0,0,0,24,255,36,0,8,223,60,0,0,0,0,0,0,0,0,0,24,255,36,0,16,231,43,0,0,0,0,0,0,0,0,54,241,193,3,0,124,163,0,0,0,0,0,0,0,0,0,0,0,93,74,0,0,0,0,0,0,0,66,255,208,1,0,8,193,223,255,82,0,0,0,0,31,255,176,0,16,246,207,0,0,0,0,0,2,152,251,255,253,171,5,0,0,0,0,2,152,251,255,253,171,5,0,0,0,0,2,152,251,255,253,171,5,0,0,0,0,2,152,251,255,253,171,5,0,0,0,0,2,152,251,255,253,171,5,0,0,0,0,111,255,104,0,8,155,113,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,159,255,53,0,0,197,255,20,0,0,0,0,0,161,255,48,224,198,0,0,0,0,0,0,181,99,0,0,0,0,103,255,110,148,8,155,112,0,0,0,0,44,254,194,0,0,0,0,0,0,0,0,26,235,0,200,113,0,8,100,13,90,174,0,0,0,0,26,235,0,128,200,32,73,247,17,90,174,0,0,0,0,64,255,148,0,4,255,204,0,0,0,0,0,0,24,255,36,0,123,168,0,18,135,61,0,0,0,0,0,0,24,255,36,0,143,148,39,147,148,46,0,0,0,0,76,40,17,252,60,26,233,27,18,135,61,0,0,0,0,0,0,0,38,250,154,0,0,0,0,0,0,0,122,255,129,0,3,175,127,104,255,138,0,0,0,0,32,255,176,58,232,250,72,0,0,0,0,0,79,255,183,89,184,255,80,0,0,0,0,79,255,183,89,184,255,80,0,0,0,0,79,255,183,89,184,255,80,0,0,0,0,79,255,183,89,184,255,80,0,0,0,0,79,255,183,89,184,255,80,0,0,0,0,138,255,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,141,255,81,0,1,226,255,20,0,0,0,0,0,69,255,167,255,108,0,0,0,0,0,0,216,133,0,0,0,0,129,255,77,148,0,0,0,0,0,0,0,109,233,255,193,161,0,0,0,0,0,0,42,218,0,216,85,0,0,0,0,71,190,0,0,0,0,42,218,0,128,252,240,253,155,0,71,190,0,0,0,0,64,255,154,0,11,255,204,0,0,0,0,0,0,24,255,36,26,234,30,0,160,247,116,0,0,0,0,0,0,24,255,36,39,233,19,217,148,153,224,0,0,0,0,149,216,167,243,25,162,125,0,160,247,116,0,0,0,0,0,0,69,238,238,37,0,0,0,0,0,0,0,134,255,110,0,154,152,0,88,255,154,0,0,0,0,32,255,176,35,147,247,237,28,0,0,0,0,35,76,32,52,176,255,99,0,0,0,0,35,76,32,52,176,255,99,0,0,0,0,35,76,32,52,176,255,99,0,0,0,0,35,76,32,52,176,255,99,0,0,0,0,35,76,32,52,176,255,99,0,0,0,0,123,255,95,0,2,110,82,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,64,255,213,68,135,255,255,20,0,0,0,0,0,2,229,255,252,23,0,0,0,0,0,2,249,167,0,0,0,0,113,255,99,148,3,111,82,0,0,0,0,0,67,255,111,0,0,0,0,0,0,0,9,242,12,174,149,0,29,220,28,111,155,0,0,0,0,9,242,12,128,192,0,85,241,0,111,155,0,0,0,0,64,255,229,78,152,255,216,2,0,0,0,0,0,7,80,11,162,130,0,68,176,200,116,0,0,0,0,0,0,7,80,11,182,110,0,114,23,86,236,0,0,0,0,6,95,114,36,55,223,9,68,176,200,116,0,0,0,0,0,24,245,237,43,0,0,0,0,0,0,0,0,107,255,140,131,174,3,0,124,255,128,0,0,0,0,32,255,176,0,0,120,255,108,0,0,0,0,19,180,251,245,222,255,100,0,0,0,0,19,180,251,245,222,255,100,0,0,0,0,19,180,251,245,222,255,100,0,0,0,0,19,180,251,245,222,255,100,0,0,0,0,19,180,251,245,222,255,100,0,0,0,0,48,255,214,60,129,255,138,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,144,255,255,226,214,255,20,0,0,0,0,0,0,140,255,186,0,0,0,0,0,0,28,255,199,0,0,0,0,42,254,213,180,131,255,137,0,0,0,0,0,70,255,60,0,0,0,0,0,0,0,0,165,126,50,241,206,234,172,11,220,64,0,0,0,0,0,165,126,128,192,0,61,254,24,220,64,0,0,0,0,64,255,248,255,252,219,255,116,0,0,0,0,0,0,0,54,226,10,7,215,74,210,142,2,0,0,0,0,0,0,0,73,214,4,0,0,91,229,84,0,0,0,0,0,0,0,1,200,86,7,215,74,210,142,2,0,0,0,0,78,255,144,0,0,140,196,9,0,0,0,0,34,253,243,194,8,0,13,224,255,54,0,0,0,0,32,255,176,0,0,109,255,106,0,0,0,0,135,255,109,2,110,255,100,0,0,0,0,135,255,109,2,110,255,100,0,0,0,0,135,255,109,2,110,255,100,0,0,0,0,135,255,109,2,110,255,100,0,0,0,0,135,255,109,2,110,255,100,0,0,0,0,0,121,251,255,255,197,15,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,44,71,13,192,255,20,0,0,0,0,0,0,83,255,97,0,0,0,0,0,0,36,255,208,0,0,0,0,0,119,252,255,255,193,14,0,0,0,0,40,221,193,143,104,102,94,0,0,0,0,0,25,222,109,23,79,58,26,189,148,0,0,0,0,0,0,25,222,133,38,0,5,73,200,148,0,0,0,0,0,64,255,131,62,38,9,66,18,0,0,0,0,0,0,1,199,91,0,22,204,204,244,227,9,0,0,0,0,0,0,4,215,71,0,0,125,227,53,11,0,0,0,0,0,0,0,92,195,0,22,204,204,244,227,9,0,0,0,0,51,255,199,7,29,240,230,0,0,0,0,0,0,172,255,212,109,108,210,255,167,0,0,0,0,0,32,255,176,24,106,233,254,43,0,0,0,0,152,255,123,60,213,255,100,0,0,0,0,152,255,123,60,213,255,100,0,0,0,0,152,255,123,60,213,255,100,0,0,0,0,152,255,123,60,213,255,100,0,0,0,0,152,255,123,60,213,255,100,0,0,0,0,0,0,28,203,95,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,192,255,20,0,0,0,0,0,114,218,246,15,0,0,0,0,0,0,36,255,208,0,0,0,0,0,0,25,175,49,0,0,0,0,0,0,76,255,235,251,255,255,207,0,0,0,0,0,0,27,181,224,175,190,231,118,1,0,0,0,0,0,0,0,27,181,224,175,190,231,118,1,0,0,0,0,0,64,255,128,0,0,0,0,0,0,0,0,0,0,0,91,199,1,0,0,0,0,200,116,0,0,0,0,0,0,0,111,180,0,0,3,245,255,255,248,0,0,0,0,0,0,11,226,50,0,0,0,0,200,116,0,0,0,0,0,0,174,255,241,248,255,111,0,0,0,0,0,63,217,150,250,255,255,252,151,7,0,0,0,0,0,32,255,176,76,255,252,122,0,0,0,0,0,56,247,255,248,173,255,155,0,0,0,0,56,247,255,248,173,255,155,0,0,0,0,56,247,255,248,173,255,155,0,0,0,0,56,247,255,248,173,255,155,0,0,0,0,56,247,255,248,173,255,155,0,0,0,0,0,6,24,84,252,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,159,212,16,0,0,0,0,0,185,194,78,0,0,0,0,0,0,0,15,108,87,0,0,0,0,0,0,0,90,0,0,0,0,0,0,0,0,28,0,8,56,64,8,0,0,0,0,0,0,0,0,27,65,52,6,0,0,0,0,0,0,0,0,0,0,0,27,65,52,6,0,0,0,0,0,0,0,55,220,110,0,0,0,0,0,0,0,0,0,0,0,49,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54,23,0,0,0,0,0,0,0,0,0,0,0,0,0,20,56,0,0,0,0,0,0,0,0,0,0,0,0,0,4,97,158,153,76,0,0,0,0,0,0,28,36,0,18,65,65,20,0,0,0,0,0,0,0,0,0,0,12,51,22,0,0,0,0,0,0,0,25,69,24,0,0,0,0,0,0,0,0,25,69,24,0,0,0,0,0,0,0,0,25,69,24,0,0,0,0,0,0,0,0,25,69,24,0,0,0,0,0,0,0,0,25,69,24,0,0,0,0,0,0,0,0,41,170,184,150,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,10,186,123,0,0,0,0,0,0,0,0,0,0,83,205,31,0,0,0,0,0,0,0,69,208,142,0,0,0,0,0,0,0,47,168,23,144,94,0,0,0,0,0,0,14,126,43,102,56,0,0,0,0,0,0,0,0,109,202,8,0,0,0,0,0,0,0,0,0,0,24,213,81,0,0,0,0,0,0,0,0,25,203,198,10,0,0,0,0,0,0,0,3,142,138,54,132,39,0,0,0,0,0,0,0,168,70,97,141,0,0,0,0,0,0,0,0,116,198,5,0,0,0,0,0,0,0,0,0,0,27,214,78,0,0,0,0,0,0,0,0,24,198,189,7,0,0,0,0,0,0,0,7,168,63,105,133,0,0,0,0,0,0,61,112,45,0,0,0,0,0,0,0,19,50,0,0,0,0,0,2,63,97,70,5,0,0,0,0,0,0,0,0,22,56,46,0,0,0,0,0,35,56,56,56,56,56,48,0,0,0,0,104,196,82,0,0,0,0,0,1,91,161,158,90,1,0,0,0,0,0,0,0,0,47,124,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,47,228,14,0,0,0,0,0,0,0,0,0,206,84,0,0,0,0,0,0,0,20,211,42,199,73,0,0,0,0,0,0,66,236,33,202,132,0,0,0,0,0,0,7,161,255,217,12,0,0,0,0,0,0,0,0,3,184,103,0,0,0,0,0,0,0,0,0,0,136,154,0,0,0,0,0,0,0,0,1,186,78,134,147,0,0,0,0,0,0,0,59,180,121,206,190,6,0,0,0,0,0,0,0,236,99,136,199,0,0,0,0,0,0,0,0,5,190,95,0,0,0,0,0,0,0,0,0,0,140,150,0,0,0,0,0,0,0,0,1,184,80,144,137,0,0,0,0,0,0,0,11,236,88,147,188,0,0,0,0,0,0,140,255,104,0,0,0,0,0,0,3,177,232,0,0,0,0,4,183,255,255,255,210,18,0,0,0,0,0,0,0,193,255,212,0,0,0,0,0,160,255,255,255,255,255,220,0,0,0,0,136,255,108,0,0,0,0,0,138,255,243,241,255,153,0,0,0,0,0,0,0,0,165,255,255,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,6,49,14,0,0,0,0,0,0,0,0,8,54,7,0,0,0,0,0,0,0,10,23,30,17,18,0,0,0,0,0,0,0,6,30,7,0,0,0,0,0,0,0,2,120,62,226,193,8,0,0,0,0,0,0,0,0,34,38,0,0,0,0,0,0,0,0,0,0,49,23,0,0,0,0,0,0,0,0,2,18,27,21,18,0,0,0,0,0,0,0,0,0,27,19,0,0,0,0,0,0,0,0,0,0,27,19,0,0,0,0,0,0,0,1,4,2,8,17,3,4,0,0,0,0,0,1,4,2,22,3,3,4,0,0,0,0,0,1,7,26,0,3,28,4,0,0,0,0,0,1,4,2,0,0,3,4,0,0,0,0,0,140,255,104,0,0,0,0,15,158,220,255,232,0,0,0,0,80,255,169,25,135,255,127,0,0,0,0,0,0,90,237,255,212,0,0,0,0,0,65,104,104,104,145,255,160,0,0,0,0,19,36,15,0,0,0,0,8,247,225,16,12,215,254,29,0,0,0,0,0,0,11,244,251,255,139,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,104,242,255,245,122,0,0,0,0,0,0,104,242,255,245,122,0,0,0,0,0,0,104,242,255,245,122,0,0,0,0,0,0,104,242,255,245,122,0,0,0,0,0,0,48,189,233,230,255,146,0,0,0,0,0,0,65,222,255,255,206,44,0,0,0,0,0,0,65,222,255,255,206,44,0,0,0,0,0,0,65,222,255,255,206,44,0,0,0,0,0,0,65,222,255,255,206,44,0,0,0,0,0,0,65,222,255,255,206,44,0,0,0,0,0,64,255,148,0,0,200,255,8,0,0,0,0,64,255,148,0,0,200,255,8,0,0,0,0,64,255,148,0,0,200,255,8,0,0,0,0,64,255,148,0,0,200,255,8,0,0,0,0,131,255,95,0,0,0,0,17,164,164,247,232,0,0,0,0,122,255,73,0,39,255,167,0,0,0,0,0,13,229,101,255,212,0,0,0,0,0,0,0,0,8,214,217,11,0,0,0,0,0,0,0,0,0,0,0,28,192,119,0,0,169,255,53,0,0,0,0,0,0,91,255,140,246,226,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,59,255,190,74,178,255,82,0,0,0,0,59,255,190,74,178,255,82,0,0,0,0,59,255,190,74,178,255,82,0,0,0,0,59,255,190,74,178,255,82,0,0,0,0,20,237,247,132,148,254,249,20,0,0,0,0,25,243,242,110,126,251,222,3,0,0,0,0,25,243,242,110,126,251,222,3,0,0,0,0,25,243,242,110,126,251,222,3,0,0,0,0,25,243,242,110,126,251,222,3,0,0,0,0,25,243,242,110,126,251,222,3,0,0,0,0,64,255,148,0,0,200,255,8,0,0,0,0,64,255,148,0,0,200,255,8,0,0,0,0,64,255,148,0,0,200,255,8,0,0,0,0,64,255,148,0,0,200,255,8,0,0,0,0,100,255,61,0,0,0,0,0,0,0,232,232,0,0,0,0,0,0,0,0,97,255,125,0,0,0,0,0,139,199,1,255,212,0,0,0,0,0,0,0,0,134,255,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,247,234,9,0,0,0,0,0,0,181,255,43,172,255,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,150,255,85,36,71,255,176,0,0,0,0,150,255,85,36,71,255,176,0,0,0,0,150,255,85,36,71,255,176,0,0,0,0,150,255,85,36,71,255,176,0,0,0,0,105,255,129,0,0,166,255,79,0,0,0,0,107,255,123,0,0,157,255,63,0,0,0,0,107,255,123,0,0,157,255,63,0,0,0,0,107,255,123,0,0,157,255,63,0,0,0,0,107,255,123,0,0,157,255,63,0,0,0,0,107,255,123,0,0,157,255,63,0,0,0,0,64,255,148,0,0,200,255,8,0,0,0,0,64,255,148,0,0,200,255,8,0,0,0,0,64,255,148,0,0,200,255,8,0,0,0,0,64,255,148,0,0,200,255,8,0,0,0,0,66,255,26,0,0,0,0,0,0,0,232,232,0,0,0,0,0,0,0,82,245,216,14,0,0,0,0,41,247,48,0,255,212,0,0,0,0,0,0,0,25,247,183,0,0,0,0,0,0,121,228,96,0,0,0,0,0,0,0,56,247,228,51,0,0,0,0,0,0,21,251,214,0,87,255,149,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,178,255,255,255,255,255,207,0,0,0,0,178,255,255,255,255,255,207,0,0,0,0,178,255,255,255,255,255,207,0,0,0,0,178,255,255,255,255,255,207,0,0,0,0,135,255,77,0,0,117,255,96,0,0,0,0,135,255,77,0,0,114,255,92,0,0,0,0,135,255,77,0,0,114,255,92,0,0,0,0,135,255,77,0,0,114,255,92,0,0,0,0,135,255,77,0,0,114,255,92,0,0,0,0,135,255,77,0,0,114,255,92,0,0,0,0,64,255,148,0,0,200,255,8,0,0,0,0,64,255,148,0,0,200,255,8,0,0,0,0,64,255,148,0,0,200,255,8,0,0,0,0,64,255,148,0,0,200,255,8,0,0,0,0,32,246,1,0,0,0,0,0,0,0,232,232,0,0,0,0,0,5,145,255,180,21,0,0,0,0,0,162,224,140,140,255,236,109,0,0,0,0,0,0,123,255,71,0,0,0,0,0,0,136,255,107,0,0,0,0,0,0,0,180,237,23,0,0,0,0,0,0,0,107,255,207,136,147,255,233,3,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,165,255,55,16,16,16,13,0,0,0,0,165,255,55,16,16,16,13,0,0,0,0,165,255,55,16,16,16,13,0,0,0,0,165,255,55,16,16,16,13,0,0,0,0,117,255,104,0,0,145,255,72,0,0,0,0,117,255,106,0,0,147,255,75,0,0,0,0,117,255,106,0,0,147,255,75,0,0,0,0,117,255,106,0,0,147,255,75,0,0,0,0,117,255,106,0,0,147,255,75,0,0,0,0,117,255,106,0,0,147,255,75,0,0,0,0,63,255,152,0,0,208,255,8,0,0,0,0,63,255,152,0,0,208,255,8,0,0,0,0,63,255,152,0,0,208,255,8,0,0,0,0,63,255,152,0,0,208,255,8,0,0,0,0,2,70,0,0,0,0,0,0,0,0,232,232,0,0,0,0,2,180,255,125,0,0,0,0,0,0,0,167,244,244,244,255,253,190,0,0,0,0,0,0,201,240,4,0,0,0,0,0,0,0,123,92,0,0,0,0,0,0,0,80,80,0,0,0,0,0,0,0,0,197,255,255,255,255,255,255,70,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,91,255,151,30,116,248,132,0,0,0,0,91,255,151,30,116,248,132,0,0,0,0,91,255,151,30,116,248,132,0,0,0,0,91,255,151,30,116,248,132,0,0,0,0,40,252,227,71,83,243,237,11,0,0,0,0,38,251,227,69,85,244,237,13,0,0,0,0,38,251,227,69,85,244,237,13,0,0,0,0,38,251,227,69,85,244,237,13,0,0,0,0,38,251,227,69,85,244,237,13,0,0,0,0,38,251,227,69,85,244,237,13,0,0,0,0,44,255,226,79,118,254,255,8,0,0,0,0,44,255,226,79,118,254,255,8,0,0,0,0,44,255,226,79,118,254,255,8,0,0,0,0,44,255,226,79,118,254,255,8,0,0,0,0,124,228,92,0,0,0,0,0,0,0,232,232,0,0,0,0,79,255,243,160,160,160,105,0,0,0,0,0,0,0,0,255,212,0,0,0,0,0,0,9,251,189,0,0,0,0,0,0,0,76,207,18,0,0,0,0,0,0,0,213,228,0,0,0,0,0,0,0,33,255,213,24,24,24,101,255,158,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,1,159,255,255,255,176,10,0,0,0,0,1,159,255,255,255,176,10,0,0,0,0,1,159,255,255,255,176,10,0,0,0,0,1,159,255,255,255,176,10,0,0,0,0,0,99,247,255,255,237,70,0,0,0,0,0,0,98,247,255,255,236,68,0,0,0,0,0,0,98,247,255,255,236,68,0,0,0,0,0,0,98,247,255,255,236,68,0,0,0,0,0,0,98,247,255,255,236,68,0,0,0,0,0,0,98,247,255,255,236,68,0,0,0,0,0,0,181,255,255,213,217,255,8,0,0,0,0,0,181,255,255,213,217,255,8,0,0,0,0,0,181,255,255,213,217,255,8,0,0,0,0,0,181,255,255,213,217,255,8,0,0,0,0,140,255,104,0,0,0,0,0,0,0,232,232,0,0,0,0,141,255,255,255,255,255,168,0,0,0,0,0,0,0,0,255,212,0,0,0,0,0,0,49,255,157,0,0,0,0,0,0,0,27,7,0,0,0,0,0,0,0,0,240,255,0,0,0,0,0,0,0,123,255,127,0,0,0,13,248,240,7,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,36,69,36,0,0,0,0,0,0,0,0,36,69,36,0,0,0,0,0,0,0,0,36,69,36,0,0,0,0,0,0,0,0,36,69,36,0,0,0,0,0,0,0,0,16,65,59,8,0,0,0,0,0,0,0,0,16,65,62,9,0,0,0,0,0,0,0,0,16,65,62,9,0,0,0,0,0,0,0,0,16,65,62,9,0,0,0,0,0,0,0,0,16,65,62,9,0,0,0,0,0,0,0,0,16,65,62,9,0,0,0,0,0,0,0,1,54,64,6,0,0,0,0,0,0,0,0,1,54,64,6,0,0,0,0,0,0,0,0,1,54,64,6,0,0,0,0,0,0,0,0,1,54,64,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,116,124,124,124,118,78,4,0,0,0,0,0,124,124,124,123,106,46,0,0,0,0,0,0,120,124,124,124,124,124,108,0,0,0,0,0,3,124,124,124,124,124,124,77,0,0,0,0,13,124,102,0,0,0,52,124,67,0,0,0,0,23,124,94,0,0,0,0,3,124,112,0,0,0,75,124,86,0,0,0,0,0,118,122,0,0,0,0,0,0,0,0,0,17,124,124,101,0,0,0,111,124,124,11,0,0,0,0,13,124,121,6,0,0,44,124,73,0,0,0,0,1,124,124,124,124,114,63,0,0,0,0,0,0,118,124,124,124,124,112,39,0,0,0,0,0,100,124,124,124,124,124,124,96,0,0,0,0,75,124,43,0,0,0,76,124,39,0,0,0,0,94,124,35,0,0,108,124,17,0,1,122,123,5,0,0,0,0,57,124,103,0,0,5,121,124,27,0,0,0,0,65,124,77,0,0,0,104,124,40,0,0,0,0,75,124,124,124,124,124,124,63,0,0,0,0,0,14,104,119,0,0,0,0,0,15,124,85,0,0,0,0,0,0,0,0,0,15,124,85,0,0,0,0
- ,0,0,240,255,255,255,255,255,190,4,0,0,0,0,255,255,255,255,255,255,138,0,0,0,0,0,248,255,255,255,255,255,224,0,0,0,0,0,8,255,255,255,255,255,255,160,0,0,0,0,28,255,212,0,0,0,108,255,140,0,0,0,0,48,255,196,0,0,0,0,8,255,232,0,0,72,251,228,31,0,0,0,0,0,244,252,0,0,0,0,0,0,0,0,0,36,255,255,247,5,0,17,254,255,255,24,0,0,0,0,28,255,255,118,0,0,92,255,152,0,0,0,0,4,255,255,255,255,255,255,146,0,0,0,0,0,244,255,255,255,255,255,247,50,0,0,0,0,208,255,255,255,255,255,255,200,0,0,0,0,91,255,145,0,0,0,214,251,21,0,0,0,0,141,255,111,0,11,252,255,77,0,38,255,213,0,0,0,0,0,21,237,255,58,0,112,255,191,0,0,0,0,0,39,252,236,10,0,42,255,234,10,0,0,0,0,156,255,255,255,255,255,255,132,0,0,0,0,0,167,255,236,0,0,0,0,0,32,255,176,0,0,0,0,0,0,0,0,0,32,255,176,0,0,0,0
- ,0,0,240,255,39,36,49,200,255,75,0,0,0,0,255,245,36,37,78,231,255,64,0,0,0,0,248,252,36,36,36,36,31,0,0,0,0,0,8,255,235,36,36,36,36,22,0,0,0,0,28,255,212,0,0,0,108,255,140,0,0,0,0,48,255,196,0,0,0,0,8,255,232,0,51,243,236,42,0,0,0,0,0,0,244,252,0,0,0,0,0,0,0,0,0,36,255,251,255,55,0,73,255,251,255,24,0,0,0,0,28,255,255,242,24,0,92,255,152,0,0,0,0,4,255,242,36,36,80,246,254,27,0,0,0,0,244,252,36,36,40,160,255,151,0,0,0,0,29,36,36,242,255,36,36,28,0,0,0,0,13,247,220,0,0,32,255,185,0,0,0,0,0,69,255,164,0,61,255,247,132,0,89,255,142,0,0,0,0,0,0,101,255,195,16,237,248,39,0,0,0,0,0,0,156,255,110,0,152,255,116,0,0,0,0,0,21,36,36,36,66,246,252,62,0,0,0,0,0,210,253,3,0,0,0,0,0,32,255,176,0,25,11,0,0,0,0,0,0,5,40,27,0,0,0,0
- ,0,0,240,255,4,0,0,152,255,75,0,0,0,0,255,244,0,0,0,96,255,160,0,0,0,0,248,252,0,0,0,0,0,0,0,0,0,0,8,255,232,0,0,0,0,0,0,0,0,0,28,255,212,0,0,0,108,255,140,0,0,0,0,48,255,196,0,0,0,0,8,255,232,33,232,243,54,0,0,0,0,0,0,0,244,252,0,0,0,0,0,0,0,0,0,36,255,213,246,113,0,129,238,221,255,24,0,0,0,0,28,255,238,251,159,0,92,255,152,0,0,0,0,4,255,240,0,0,0,192,255,54,0,0,0,0,244,252,0,0,0,80,255,157,0,0,0,0,0,0,0,240,255,0,0,0,0,0,0,0,0,174,255,39,0,107,255,98,0,0,0,0,0,7,245,217,0,114,244,170,187,0,141,255,72,0,0,0,0,0,0,1,198,255,198,255,126,0,0,0,0,0,0,0,28,247,224,22,245,233,10,0,0,0,0,0,0,0,0,7,203,255,117,0,0,0,0,0,182,250,255,224,14,0,0,0,0,32,255,191,195,255,248,96,0,0,0,0,0,32,255,176,0,0,0,0
- ,0,0,240,255,181,180,199,255,165,2,0,0,0,0,255,244,0,0,0,37,255,205,0,0,0,0,248,254,180,180,180,180,92,0,0,0,0,0,8,255,248,180,180,180,180,11,0,0,0,0,28,255,252,236,236,236,244,255,140,0,0,0,0,48,255,196,0,0,0,0,8,255,240,217,255,94,0,0,0,0,0,0,0,0,244,252,0,0,0,0,0,0,0,0,0,36,255,208,192,172,0,186,182,220,255,24,0,0,0,0,28,255,212,144,254,54,92,255,152,0,0,0,0,4,255,240,0,0,43,239,254,24,0,0,0,0,244,253,96,96,100,198,251,62,0,0,0,0,0,0,0,240,255,0,0,0,0,0,0,0,0,88,255,114,0,181,249,16,0,0,0,0,0,0,181,254,15,167,194,113,240,1,192,247,9,0,0,0,0,0,0,0,47,252,255,215,6,0,0,0,0,0,0,0,0,141,255,199,255,114,0,0,0,0,0,0,0,0,0,153,255,173,0,0,0,0,0,0,68,226,253,84,5,0,0,0,0,32,255,255,143,133,254,232,0,0,0,0,0,32,255,176,0,0,0,0
- ,0,0,240,255,236,236,242,255,182,9,0,0,0,0,255,244,0,0,0,27,255,214,0,0,0,0,248,255,236,236,236,236,121,0,0,0,0,0,8,255,254,236,236,236,236,14,0,0,0,0,28,255,242,180,180,180,210,255,140,0,0,0,0,48,255,196,0,0,0,0,8,255,255,248,255,204,7,0,0,0,0,0,0,0,244,252,0,0,0,0,0,0,0,0,0,36,255,208,133,229,2,241,124,220,255,24,0,0,0,0,28,255,212,16,235,199,93,255,152,0,0,0,0,4,255,255,255,255,255,255,158,0,0,0,0,0,244,255,255,255,255,255,139,0,0,0,0,0,0,0,0,240,255,0,0,0,0,0,0,0,0,11,245,189,9,246,178,0,0,0,0,0,0,0,109,255,67,220,140,58,255,43,241,186,0,0,0,0,0,0,0,0,8,227,255,174,0,0,0,0,0,0,0,0,0,19,241,255,232,9,0,0,0,0,0,0,0,0,96,255,217,14,0,0,0,0,0,0,0,212,252,0,0,0,0,0,0,32,255,191,0,0,208,255,6,0,0,0,0,32,255,176,0,0,0,0
- ,0,0,240,255,4,0,0,118,255,121,0,0,0,0,255,244,0,0,0,57,255,189,0,0,0,0,248,252,0,0,0,0,0,0,0,0,0,0,8,255,232,0,0,0,0,0,0,0,0,0,28,255,212,0,0,0,104,255,140,0,0,0,0,48,255,196,0,0,0,0,8,255,250,66,154,255,155,0,0,0,0,0,0,0,244,252,0,0,0,0,0,0,0,0,0,36,255,208,74,255,76,255,66,220,255,24,0,0,0,0,28,255,212,0,102,255,185,255,152,0,0,0,0,4,255,250,160,160,156,100,3,0,0,0,0,0,244,253,64,64,73,218,255,49,0,0,0,0,0,0,0,240,255,0,0,0,0,0,0,0,0,0,171,250,88,255,90,0,0,0,0,0,0,0,37,255,137,255,87,8,250,135,255,115,0,0,0,0,0,0,0,0,132,255,244,255,75,0,0,0,0,0,0,0,0,0,143,255,131,0,0,0,0,0,0,0,0,48,246,244,43,0,0,0,0,0,0,0,0,212,252,0,0,0,0,0,0,32,255,176,0,0,200,255,8,0,0,0,0,32,255,176,0,0,0,0
- ,0,0,240,255,4,0,0,79,255,159,0,0,0,0,255,244,0,0,0,159,255,122,0,0,0,0,248,252,0,0,0,0,0,0,0,0,0,0,8,255,232,0,0,0,0,0,0,0,0,0,28,255,212,0,0,0,104,255,140,0,0,0,0,48,255,196,0,0,0,0,8,255,232,0,9,210,255,98,0,0,0,0,0,0,244,252,0,0,0,0,0,0,0,0,0,36,255,208,17,254,191,252,11,220,255,24,0,0,0,0,28,255,212,0,2,207,255,255,152,0,0,0,0,4,255,240,0,0,0,0,0,0,0,0,0,0,244,252,0,0,0,147,255,87,0,0,0,0,0,0,0,240,255,0,0,0,0,0,0,0,0,0,84,255,223,246,12,0,0,0,0,0,0,0,0,221,235,255,33,0,205,234,255,44,0,0,0,0,0,0,0,43,250,227,64,255,224,10,0,0,0,0,0,0,0,0,128,255,116,0,0,0,0,0,0,0,16,221,255,90,0,0,0,0,0,0,0,0,0,212,252,0,0,0,0,0,0,32,255,176,0,0,200,255,8,0,0,0,0,32,255,176,0,0,0,0
- ,0,0,240,255,161,160,166,236,255,89,0,0,0,0,255,251,160,160,201,255,229,17,0,0,0,0,248,254,160,160,160,160,160,17,0,0,0,0,8,255,232,0,0,0,0,0,0,0,0,0,28,255,212,0,0,0,104,255,140,0,0,0,0,48,255,196,0,0,0,0,8,255,232,0,0,41,244,247,49,0,0,0,0,0,244,254,160,160,160,160,85,0,0,0,0,36,255,208,0,212,255,206,0,220,255,24,0,0,0,0,28,255,212,0,0,61,255,255,152,0,0,0,0,4,255,240,0,0,0,0,0,0,0,0,0,0,244,252,0,0,0,150,255,98,0,0,0,0,0,0,0,240,255,0,0,0,0,0,0,0,0,0,9,244,255,171,0,0,0,0,0,0,0,0,0,149,255,235,0,0,150,255,228,0,0,0,0,0,0,0,1,196,255,95,0,168,255,139,0,0,0,0,0,0,0,0,128,255,116,0,0,0,0,0,0,0,142,255,238,160,160,160,160,82,0,0,0,0,0,212,252,0,0,0,0,0,0,32,255,176,0,0,200,255,8,0,0,0,0,32,255,176,0,0,0,0
- ,0,0,240,255,255,255,252,219,111,0,0,0,0,0,255,255,255,255,242,179,39,0,0,0,0,0,248,255,255,255,255,255,255,28,0,0,0,0,8,255,232,0,0,0,0,0,0,0,0,0,28,255,212,0,0,0,104,255,140,0,0,0,0,48,255,196,0,0,0,0,8,255,232,0,0,0,95,255,222,17,0,0,0,0,244,255,255,255,255,255,136,0,0,0,0,36,255,208,0,153,255,148,0,220,255,24,0,0,0,0,28,255,212,0,0,0,167,255,152,0,0,0,0,4,255,240,0,0,0,0,0,0,0,0,0,0,244,252,0,0,0,117,255,161,0,0,0,0,0,0,0,240,255,0,0,0,0,0,0,0,0,0,0,167,255,83,0,0,0,0,0,0,0,0,0,76,255,182,0,0,95,255,159,0,0,0,0,0,0,0,103,255,208,2,0,33,249,251,47,0,0,0,0,0,0,0,128,255,116,0,0,0,0,0,0,0,156,255,255,255,255,255,255,132,0,0,0,0,0,212,252,0,0,0,0,0,0,32,255,176,0,0,200,255,8,0,0,0,0,32,255,176,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,29,124,73,0,0,0,0,0,0,0,0,0,15,124,85,0,0,0,0,0,180,177,0,0,0,0,0,35,36,0,0,0,24,40,5,0,0,0,0,0,0,0,80,124,124,124,124,124,124,124,124,36,0,0,0,0,0,124,124,124,123,108,52,0,0,0,0,0,0,1,124,116,0,0,0,0,0,0,0,0,0,0,2,164,153,0,0,0,0,0,0,17,210,91,0,0,0,0,0,33,203,179,3,0,0,0,0,18,168,52,115,123,0,0,0,0,0,6,148,135,51,140,30,0,0,0,0,0,0,0,10,32,13,0,0,0,0,0,0,0,0,2,26,14,0,0,0,0,0,0,0,0,6,30,7,0,0,0,0,0,0,0,0,0,27,19,0,0,0,0,0,0,0,0,0,8,29,10,0,0,0,0,0,0,1,4,2,0,0,3,4,0,0,0,0,0,0,0,0,228,130,0,0,0,0,0,0,0,0,11,32,12,0,1,28,16,0,0,0,0,0,0,0,0,0,0,26,22,0,0,14,0,0,0,0,0,0,0,39,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,60,255,152,0,0,0,0,0,0,0,0,0,32,255,176,0,0,0,0,0,236,232,0,0,0,0,0,144,255,58,0,8,228,206,1,0,0,0,0,0,0,3,231,255,255,255,255,255,255,255,255,76,0,0,0,0,0,255,255,255,255,255,255,144,0,0,0,0,0,4,255,240,0,0,0,0,0,0,0,0,0,0,0,26,226,37,0,0,0,0,0,124,165,0,0,0,0,0,4,195,67,159,121,0,0,0,0,25,236,73,162,173,0,0,0,0,0,70,173,124,208,182,2,0,0,0,0,0,2,152,251,255,253,171,5,0,0,0,0,0,79,228,255,253,169,7,0,0,0,0,0,104,242,255,245,122,0,0,0,0,0,0,65,222,255,255,206,44,0,0,0,0,0,0,135,246,255,251,160,5,0,0,0,0,64,255,148,0,0,200,255,8,0,0,0,0,0,0,0,252,144,0,0,0,0,0,0,3,158,252,255,253,176,222,255,254,179,15,0,0,0,0,0,0,62,220,255,255,208,152,124,0,0,0,0,0,0,0,252,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,60,255,152,0,0,4,3,0,0,0,0,0,32,255,176,0,0,0,0,182,253,253,203,0,0,0,0,16,235,197,0,116,255,70,0,0,0,0,0,0,0,72,255,161,125,255,156,36,36,36,36,10,0,0,0,0,0,255,245,36,36,72,223,255,63,0,0,0,0,4,255,254,236,236,229,181,44,0,0,0,0,0,0,0,18,13,0,0,0,0,0,24,7,0,0,0,0,0,5,22,4,7,23,0,0,0,0,0,0,4,2,0,0,0,0,0,0,4,2,0,27,12,0,0,0,0,0,0,79,255,183,89,184,255,80,0,0,0,0,31,247,227,97,160,255,126,0,0,0,0,59,255,190,74,178,255,82,0,0,0,0,25,243,242,110,126,251,222,3,0,0,0,0,62,255,187,82,165,255,104,0,0,0,0,64,255,148,0,0,200,255,8,0,0,0,0,41,156,156,254,212,156,131,0,0,0,0,78,255,182,89,185,255,230,84,124,255,163,0,0,0,0,0,23,241,243,107,125,253,246,13,0,0,0,0,0,0,0,252,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,60,255,152,0,140,255,124,0,0,0,0,0,32,255,176,0,0,0,0,68,242,239,76,0,0,0,0,0,105,255,95,236,188,0,0,0,0,0,0,0,0,164,255,62,104,255,140,0,0,0,0,0,0,0,0,0,0,255,244,0,0,0,77,255,158,0,0,0,0,4,255,251,180,180,220,255,226,3,0,0,0,0,0,32,255,176,0,0,0,0,32,255,176,0,0,0,0,0,0,32,255,176,0,0,0,0,0,0,32,255,176,0,0,0,0,0,48,255,183,201,255,249,109,0,0,0,0,0,35,76,32,52,176,255,99,0,0,0,0,111,255,104,0,8,155,113,0,0,0,0,150,255,85,36,71,255,176,0,0,0,0,107,255,123,0,0,157,255,63,0,0,0,0,83,255,210,99,38,60,32,0,0,0,0,64,255,148,0,0,200,255,8,0,0,0,0,63,240,240,255,249,240,202,0,0,0,0,32,76,40,65,182,255,150,36,36,222,249,6,0,0,0,0,102,255,125,0,117,233,255,84,0,0,0,0,68,200,200,255,231,200,184,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,60,255,152,99,255,147,0,0,0,0,0,0,32,255,176,0,0,0,0,0,236,232,0,0,0,0,0,0,3,211,252,254,51,0,0,0,0,0,0,0,11,244,227,1,104,255,221,180,180,180,171,0,0,0,0,0,116,255,249,116,105,0,17,255,205,0,0,0,0,4,255,240,0,0,4,220,255,47,0,0,0,0,0,32,255,176,0,0,0,0,32,255,176,0,0,0,0,0,0,32,255,176,0,0,0,0,0,0,32,255,176,0,0,0,0,0,48,255,253,139,129,251,247,5,0,0,0,0,19,180,251,245,222,255,100,0,0,0,0,138,255,70,0,0,0,0,0,0,0,0,178,255,255,255,255,255,207,0,0,0,0,135,255,77,0,0,114,255,92,0,0,0,0,8,168,250,255,255,199,43,0,0,0,0,64,255,148,0,0,200,255,8,0,0,0,0,0,0,0,252,144,0,0,0,0,0,0,21,184,254,249,227,255,255,255,255,255,255,31,0,0,0,0,130,255,77,113,154,103,255,111,0,0,0,0,67,196,196,255,229,196,180,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,60,255,207,250,197,2,0,0,0,0,0,0,32,255,176,0,0,0,0,0,236,232,0,0,0,0,0,13,144,191,255,234,144,67,0,0,0,0,0,0,93,255,140,0,104,255,246,236,236,236,224,0,0,0,0,0,152,255,251,152,137,0,7,255,214,0,0,0,0,4,255,240,0,0,0,202,255,48,0,0,0,0,0,32,255,176,0,0,0,0,32,255,176,0,0,0,0,0,0,32,255,176,0,0,0,0,0,0,32,255,176,0,0,0,0,0,48,255,179,0,0,192,255,23,0,0,0,0,135,255,109,2,110,255,100,0,0,0,0,120,255,94,0,3,111,82,0,0,0,0,165,255,55,16,16,16,13,0,0,0,0,117,255,106,0,0,147,255,75,0,0,0,0,7,12,18,91,183,255,175,0,0,0,0,63,255,152,0,0,208,255,8,0,0,0,0,0,0,0,252,144,0,0,0,0,0,0,136,255,108,4,110,255,130,16,16,16,16,2,0,0,0,0,112,255,196,157,1,134,255,89,0,0,0,0,0,0,0,252,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,60,255,255,254,245,29,0,0,0,0,0,0,32,255,176,0,0,0,0,0,236,232,0,0,0,0,0,7,80,115,255,187,80,37,0,0,0,0,0,0,185,255,183,152,194,255,140,0,0,0,0,0,0,0,0,0,0,255,244,0,0,0,36,255,187,0,0,0,0,4,255,247,112,112,155,255,236,6,0,0,0,0,0,32,255,176,0,0,0,0,32,255,176,0,0,0,0,0,0,32,255,176,0,0,0,0,0,0,32,255,176,0,0,0,0,0,48,255,164,0,0,184,255,24,0,0,0,0,152,255,123,60,213,255,100,0,0,0,0,46,254,214,60,129,255,136,0,0,0,0,91,255,151,30,116,248,132,0,0,0,0,38,251,227,69,85,244,237,13,0,0,0,0,135,255,133,36,91,255,171,0,0,0,0,44,255,226,79,118,254,255,8,0,0,0,0,23,88,88,143,119,88,74,0,0,0,0,155,255,119,57,211,255,216,46,62,232,205,0,0,0,0,0,35,251,250,78,80,240,243,21,0,0,0,0,0,0,0,252,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,60,255,201,101,255,169,0,0,0,0,0,0,32,255,176,0,0,0,0,0,233,244,26,0,0,0,0,15,168,185,255,221,168,78,0,0,0,0,0,24,252,255,255,255,255,255,140,0,0,0,0,0,0,0,0,0,0,255,244,0,0,0,143,255,117,0,0,0,0,4,255,255,255,255,255,235,72,0,0,0,0,0,0,32,255,176,0,0,0,0,32,255,176,0,0,0,0,0,0,32,255,176,0,0,0,0,0,0,32,255,176,0,0,0,0,0,48,255,164,0,0,184,255,24,0,0,0,0,56,247,255,248,173,255,155,0,0,0,0,0,121,252,255,255,197,15,0,0,0,0,1,159,255,255,255,176,10,0,0,0,0,0,98,247,255,255,236,68,0,0,0,0,0,26,212,255,255,255,227,43,0,0,0,0,0,181,255,255,213,217,255,8,0,0,0,0,68,255,255,255,255,255,216,0,0,0,0,59,248,255,254,151,88,246,255,255,220,45,0,0,0,0,0,102,200,247,255,255,241,79,0,0,0,0,0,0,0,0,31,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,60,255,152,2,209,255,63,0,0,0,0,0,32,255,176,0,0,0,0,0,175,255,232,0,0,0,0,0,0,52,255,156,0,0,0,0,0,0,0,114,255,136,8,8,108,255,212,160,160,160,160,90,0,0,0,0,0,255,251,160,161,200,255,230,14,0,0,0,0,4,255,243,48,48,41,7,0,0,0,0,0,0,0,32,255,176,0,0,0,0,32,255,176,0,0,0,0,0,0,32,255,176,0,0,0,0,0,0,32,255,176,0,0,0,0,0,48,255,164,0,0,184,255,24,0,0,0,0,0,25,69,24,0,0,0,0,0,0,0,0,0,25,68,47,0,0,0,0,0,0,0,0,36,69,36,0,0,0,0,0,0,0,0,16,65,62,9,0,0,0,0,0,0,0,2,47,73,58,6,0,0,0,0,0,0,1,54,64,6,0,0,0,0,0,0,0,13,52,52,52,52,52,43,0,0,0,0,0,28,74,34,0,0,18,67,54,3,0,0,0,0,0,0,60,4,17,66,64,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,60,255,152,0,73,255,209,3,0,0,0,0,32,255,176,0,0,0,0,0,5,63,55,0,0,0,0,0,0,52,255,156,0,0,0,0,0,0,0,206,255,44,0,0,104,255,255,255,255,255,255,144,0,0,0,0,0,255,255,255,255,243,182,40,0,0,0,0,0,4,255,240,0,0,0,0,0,0,0,0,0,0,0,32,255,176,0,0,0,0,32,255,176,0,0,0,0,0,0,32,255,176,0,0,0,0,0,0,32,255,176,0,0,0,0,0,48,255,164,0,0,184,255,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,8,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,4,2,3,30,4,0,2,27,4,0,0,0,0,0,0,4,2,0,27,12,0,0,0,0,0,0,0,4,2,0,23,0,0,0,0,3,4,0,0,0,3,3,0,0,0,0,3,3,0,0,3,3,0,0,3,3,0,0,0,0,2,4,1,0,1,4,3,0,0,0,0,2,4,4,4,4,3,0,0,0,0,0,0,0,0,40,24,0,0,0,0,0,0,104,196,82,0,0,0,0,0,0,0,8,4,0,0,0,0,0,0,50,136,10,54,24,84,84,0,0,0,0,1,85,115,45,0,0,0,0,0,0,0,9,0,4,4,0,0,0,0,0,50,76,20,0,0,0,0,0,0,48,74,14,0,0,0,0,0,0,0,41,7,0,0,0,0,0,71,116,48,0,0,0,0,0,9,0,7,1,0,0,0,0,0,30,88,88,88,88,88,82,0,0,0,0,52,97,0,11,132,7,0,0,0,0,0,0,116,0,0,0,0,0,0,39,228,178,0,0,0,0,0,71,204,202,51,0,0,0,0
- ,0,0,0,0,0,3,72,166,214,0,0,0,0,123,201,106,18,0,0,0,0,0,0,0,56,255,190,222,255,230,96,224,255,233,49,0,0,0,0,48,255,183,201,255,249,109,0,0,0,0,0,48,255,170,187,208,0,0,0,0,162,255,66,0,26,255,202,0,0,0,0,203,254,18,4,245,254,16,12,252,206,0,0,0,0,102,255,184,0,143,255,144,0,0,0,0,128,255,255,255,255,248,0,0,0,0,0,0,0,4,255,156,0,0,0,0,0,0,136,255,108,0,0,0,0,0,0,69,255,198,0,0,0,0,0,0,61,244,245,255,251,251,119,0,0,0,0,86,205,126,237,0,0,0,0,0,0,134,79,11,183,20,0,0,0,0,110,232,185,235,17,0,0,0,0,100,224,194,219,3,0,0,0,0,31,107,246,36,0,0,0,0,96,218,121,239,41,0,0,0,0,183,36,44,168,7,0,0,0,0,88,255,255,255,255,255,240,0,0,0,0,176,254,110,192,254,72,0,0,0,0,47,34,240,39,42,0,0,0,0,44,255,199,0,0,0,0,0,215,18,36,196,0,0,0,0
- ,0,0,0,44,139,230,252,187,90,0,0,0,0,45,159,239,249,172,77,4,0,0,0,0,56,255,246,124,170,255,250,130,163,255,164,0,0,0,0,48,255,253,139,129,251,247,5,0,0,0,0,48,255,247,214,143,0,0,0,0,73,255,142,0,96,255,113,0,0,0,0,131,255,75,50,255,255,70,66,255,134,0,0,0,0,0,189,255,98,248,220,10,0,0,0,0,58,116,116,183,255,215,0,0,0,0,0,0,0,1,112,68,0,0,0,0,0,0,19,36,15,0,0,0,0,0,0,168,239,255,45,0,0,0,0,0,0,210,161,15,103,253,23,0,0,0,0,24,146,194,255,4,0,0,0,0,152,225,40,203,191,6,0,0,0,0,139,95,5,253,60,0,0,0,0,98,67,60,248,11,0,0,0,0,67,150,255,36,0,0,0,0,172,109,0,174,108,0,0,0,0,135,235,53,201,195,0,0,0,0,17,52,52,52,52,52,48,0,0,0,0,11,192,255,254,100,0,0,0,0,0,94,220,255,216,84,0,0,0,0,0,31,184,0,0,0,0,1,210,8,23,206,0,0,0,0
- ,0,0,111,255,199,110,23,0,0,0,0,0,0,0,0,6,78,166,243,209,0,0,0,0,56,255,163,0,41,255,179,0,29,255,183,0,0,0,0,48,255,179,0,0,192,255,23,0,0,0,0,48,255,209,2,0,0,0,0,0,4,235,218,0,167,253,27,0,0,0,0,58,255,133,106,236,224,125,122,255,61,0,0,0,0,0,34,245,254,254,64,0,0,0,0,0,0,0,49,244,238,38,0,0,0,0,0,68,200,200,200,200,200,187,0,0,0,0,0,0,0,0,0,0,0,0,19,248,104,225,148,0,0,0,0,0,0,250,69,0,6,255,58,0,0,0,0,139,161,39,255,4,0,0,0,0,220,74,24,243,26,0,0,0,0,0,0,7,149,209,7,0,0,0,0,0,54,241,193,3,0,0,0,0,0,24,255,36,0,0,0,0,150,148,4,208,87,0,0,0,0,6,209,80,44,251,0,0,0,0,19,56,56,56,56,56,52,0,0,0,0,11,192,255,254,99,0,0,0,0,0,0,176,207,160,0,0,0,0,0,21,197,82,0,0,0,0,0,91,215,208,69,0,0,0,0
- ,0,0,106,254,207,119,32,0,0,0,0,0,0,0,0,8,82,171,247,207,0,0,0,0,56,255,152,0,40,255,168,0,28,255,184,0,0,0,0,48,255,164,0,0,184,255,24,0,0,0,0,48,255,165,0,0,0,0,0,0,0,150,255,40,236,193,0,0,0,0,0,3,238,191,162,179,170,179,178,240,4,0,0,0,0,0,0,158,255,198,0,0,0,0,0,0,0,27,228,250,65,0,0,0,0,0,0,67,196,196,196,196,196,183,0,0,0,0,0,0,0,0,0,0,0,0,111,245,14,124,240,10,0,0,0,0,0,199,189,59,144,250,15,0,0,0,0,79,238,176,202,24,0,0,0,0,120,241,49,174,218,9,0,0,0,0,25,211,162,12,0,0,0,0,0,76,40,17,252,60,0,0,0,0,0,24,255,36,0,0,0,0,31,203,231,165,5,0,0,0,0,176,206,45,233,149,0,0,0,0,88,255,255,255,255,255,240,0,0,0,0,174,254,109,194,254,70,0,0,0,0,6,117,6,119,2,0,0,0,0,10,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,35,129,222,255,200,103,0,0,0,0,45,159,241,247,168,74,3,0,0,0,0,56,255,152,0,40,255,168,0,28,255,184,0,0,0,0,48,255,164,0,0,184,255,24,0,0,0,0,48,255,164,0,0,0,0,0,0,0,60,255,167,255,104,0,0,0,0,0,0,169,244,221,121,116,234,233,172,0,0,0,0,0,0,43,248,251,255,75,0,0,0,0,0,11,206,255,99,0,0,0,0,0,0,0,0,0,1,116,70,0,0,0,0,0,0,121,228,96,0,0,0,0,0,210,160,0,25,251,98,0,0,0,0,79,252,217,255,231,243,141,0,0,0,0,55,108,108,108,18,0,0,0,0,0,92,73,2,144,20,0,0,0,0,158,251,192,192,45,0,0,0,0,149,216,167,243,25,0,0,0,0,0,24,255,36,0,0,0,0,62,108,108,108,37,0,0,0,0,149,13,42,120,0,0,0,0,0,28,84,84,84,84,84,78,0,0,0,0,49,94,0,12,131,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,1,63,158,210,0,0,0,0,123,195,101,15,0,0,0,0,0,0,0,56,255,152,0,40,255,168,0,28,255,184,0,0,0,0,48,255,164,0,0,184,255,24,0,0,0,0,48,255,164,0,0,0,0,0,0,0,1,225,255,251,20,0,0,0,0,0,0,97,255,255,63,62,255,255,100,0,0,0,0,0,3,202,255,78,243,228,16,0,0,0,0,157,255,220,120,120,120,9,0,0,0,0,0,0,4,255,156,0,0,0,0,0,0,136,255,108,0,0,0,0,13,124,42,0,0,97,84,0,0,0,0,25,100,0,15,2,58,58,0,0,0,0,78,152,152,152,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,80,80,80,18,0,0,0,0,6,95,114,36,0,0,0,0,0,0,7,80,11,0,0,0,0,87,152,152,152,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,5,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,56,255,152,0,40,255,168,0,28,255,184,0,0,0,0,48,255,164,0,0,184,255,24,0,0,0,0,48,255,164,0,0,0,0,0,0,0,0,137,255,184,0,0,0,0,0,0,0,25,255,251,10,11,252,255,28,0,0,0,0,0,119,255,170,0,129,255,159,0,0,0,0,188,255,255,255,255,255,20,0,0,0,0,0,0,0,36,21,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,42,124,54,34,124,63,0,0,0,0,42,124,54,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,108,224,224,224,224,224,224,17,0,0,0,0,76,116,116,101,0,0,0,0,92,210,17,0,0,0,0,76,116,116,101,0,0,0,0,0,153,163,2,0,0,0,0,0,40,153,24,0,0,0,0,39,228,178,0,0,0,0,31,112,112,112,112,112,112,112,57,0,0,0,0,128,110,57,168,13,0,0,0,0,70,88,88,88,8,0,0,0,0,35,204,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,88,255,112,72,255,132,0,0,0,0,88,255,112,0,0,0,0,2,189,253,187,30,65,130,0,0,0,0,15,32,32,32,32,32,238,20,0,0,0,0,168,255,255,224,0,0,0,0,0,166,123,0,0,0,0,168,255,255,224,0,0,0,0,38,226,26,0,0,0,0,0,13,34,138,195,0,0,0,0,44,255,200,0,0,0,0,32,116,116,116,116,116,116,116,59,0,0,0,0,180,154,81,236,18,0,0,0,0,140,176,176,176,16,0,0,0,0,35,204,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,64,255,86,48,255,106,0,0,0,0,64,255,86,0,0,0,0,31,179,6,111,240,245,86,0,0,0,0,0,0,0,0,0,0,236,20,0,0,0,0,52,80,80,70,0,0,0,0,0,5,20,0,0,0,0,52,80,80,70,0,0,0,0,11,14,0,0,0,0,0,0,87,171,193,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,4,211,12,0,205,26,0,0,0,0,4,211,12,0,0,0,0,0,0,0,0,14,20,0,0,0,0,0,0,0,0,0,0,0,206,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
- ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
-};
diff --git a/scene/resources/default_theme/default_theme.cpp b/scene/resources/default_theme/default_theme.cpp
index 9ebb7e7561..53a186f0c3 100644
--- a/scene/resources/default_theme/default_theme.cpp
+++ b/scene/resources/default_theme/default_theme.cpp
@@ -1,13 +1,31 @@
-/*************************************************/
-/* default_theme.cpp */
-/*************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/*************************************************/
-/* Source code within this file is: */
-/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */
-/* All Rights Reserved. */
-/*************************************************/
+/*************************************************************************/
+/* default_theme.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "default_theme.h"
@@ -16,14 +34,8 @@
#include "theme_data.h"
#include "os/os.h"
-
-#include "normal_font.inc"
-#include "bold_font.inc"
-#include "mono_font.inc"
-
-#include "font_normal.inc"
-#include "font_source.inc"
-#include "font_large.inc"
+#include "font_lodpi.inc"
+#include "font_hidpi.inc"
typedef Map<const void*,Ref<ImageTexture> > TexCacheMap;
@@ -124,21 +136,14 @@ static Ref<BitmapFont> make_font(int p_height,int p_ascent, int p_valign, int p_
return font;
}
+
+
static Ref<BitmapFont> make_font2(int p_height,int p_ascent, int p_charcount, const int *p_char_rects,int p_kerning_count,const int *p_kernings,int p_w, int p_h, const unsigned char *p_img) {
Ref<BitmapFont> font( memnew( BitmapFont ) );
- DVector<uint8_t> img;
- img.resize(p_w*p_h*2);
- {
- DVector<uint8_t>::Write w = img.write();
- for(int i=0;i<(p_w*p_h*2);i++) {
- w[i]=p_img[i];
- }
- }
-
- Image image(p_w,p_h,0,Image::FORMAT_GRAYSCALE_ALPHA,img);
+ Image image(p_img);
Ref<ImageTexture> tex = memnew( ImageTexture );
tex->create_from_image(image);
@@ -661,12 +666,14 @@ void fill_default_theme(Ref<Theme>& t,const Ref<Font> & default_font,const Ref<F
t->set_color("cursor_color","Tree", Color(0,0,0) );
t->set_color("guide_color","Tree", Color(0,0,0,0.1) );
t->set_color("drop_position_color","Tree", Color(1,0.3,0.2) );
+ t->set_color("relationship_line_color", "Tree", Color::html("464646") );
t->set_constant("hseparation","Tree",4 *scale);
t->set_constant("vseparation","Tree",4 *scale);
t->set_constant("guide_width","Tree",2 *scale);
t->set_constant("item_margin","Tree",12 *scale);
t->set_constant("button_margin","Tree",4 *scale);
+ t->set_constant("draw_relationship_lines", "Tree", 0);
// ItemList
@@ -924,16 +931,23 @@ void fill_default_theme(Ref<Theme>& t,const Ref<Font> & default_font,const Ref<F
}
-void make_default_theme() {
+void make_default_theme(bool p_hidpi,Ref<Font> p_font) {
Ref<Theme> t;
t.instance();
Ref<StyleBox> default_style;
Ref<Texture> default_icon;
- Ref<BitmapFont> default_font=make_font2(_builtin_normal_font_height,_builtin_normal_font_ascent,_builtin_normal_font_charcount,&_builtin_normal_font_charrects[0][0],_builtin_normal_font_kerning_pair_count,&_builtin_normal_font_kerning_pairs[0][0],_builtin_normal_font_img_width,_builtin_normal_font_img_height,_builtin_normal_font_img_data);
- Ref<BitmapFont> large_font=make_font2(_builtin_large_font_height,_builtin_large_font_ascent,_builtin_large_font_charcount,&_builtin_large_font_charrects[0][0],_builtin_large_font_kerning_pair_count,&_builtin_large_font_kerning_pairs[0][0],_builtin_large_font_img_width,_builtin_large_font_img_height,_builtin_large_font_img_data);
- fill_default_theme(t,default_font,large_font,default_icon,default_style,false);
+ Ref<BitmapFont> default_font;
+ if (p_font.is_valid()) {
+ default_font=p_font;
+ } if (p_hidpi) {
+ default_font=make_font2(_hidpi_font_height,_hidpi_font_ascent,_hidpi_font_charcount,&_hidpi_font_charrects[0][0],_hidpi_font_kerning_pair_count,&_hidpi_font_kerning_pairs[0][0],_hidpi_font_img_width,_hidpi_font_img_height,_hidpi_font_img_data);
+ } else {
+ default_font=make_font2(_lodpi_font_height,_lodpi_font_ascent,_lodpi_font_charcount,&_lodpi_font_charrects[0][0],_lodpi_font_kerning_pair_count,&_lodpi_font_kerning_pairs[0][0],_lodpi_font_img_width,_lodpi_font_img_height,_lodpi_font_img_data);
+ }
+ Ref<BitmapFont> large_font=default_font;
+ fill_default_theme(t,default_font,large_font,default_icon,default_style,p_hidpi);
Theme::set_default( t );
Theme::set_default_icon( default_icon );
@@ -950,6 +964,3 @@ void clear_default_theme() {
Theme::set_default_font( Ref< Font >() );
}
-
-
-
diff --git a/scene/resources/default_theme/default_theme.h b/scene/resources/default_theme/default_theme.h
index 1e3b4b4081..a2a45ac004 100644
--- a/scene/resources/default_theme/default_theme.h
+++ b/scene/resources/default_theme/default_theme.h
@@ -1,13 +1,31 @@
-/*************************************************/
-/* default_theme.h */
-/*************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/*************************************************/
-/* Source code within this file is: */
-/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */
-/* All Rights Reserved. */
-/*************************************************/
+/*************************************************************************/
+/* default_theme.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef DEFAULT_THEME_H
#define DEFAULT_THEME_H
@@ -18,7 +36,7 @@
*/
void fill_default_theme(Ref<Theme>& theme,const Ref<Font> & default_font,const Ref<Font> & large_font,Ref<Texture>& default_icon, Ref<StyleBox>& default_style,bool p_hidpi);
-void make_default_theme();
+void make_default_theme(bool p_hidpi, Ref<Font> p_font);
void clear_default_theme();
#endif
diff --git a/scene/resources/default_theme/font_bold.png b/scene/resources/default_theme/font_bold.png
deleted file mode 100644
index bc2704e193..0000000000
--- a/scene/resources/default_theme/font_bold.png
+++ /dev/null
Binary files differ
diff --git a/scene/resources/default_theme/font_hidpi.inc b/scene/resources/default_theme/font_hidpi.inc
new file mode 100644
index 0000000000..2fc0f56c3f
--- /dev/null
+++ b/scene/resources/default_theme/font_hidpi.inc
@@ -0,0 +1,25461 @@
+static const int _hidpi_font_height=25;
+static const int _hidpi_font_ascent=19;
+static const int _hidpi_font_charcount=191;
+static const int _hidpi_font_charrects[191][8]={
+/* charidx , ofs_x, ofs_y, size_x, size_y, valign, halign, advance */
+{192,63,23,16,23,-4,-1,15},
+{224,184,182,10,19,0,1,13},
+{64,98,2,18,19,2,1,21},
+{96,159,234,5,4,0,5,14},
+{160,0,0,0,0,19,0,6},
+{32,0,0,0,0,19,0,6},
+{33,2,249,3,17,2,2,6},
+{193,83,25,16,23,-4,-1,15},
+{225,92,160,10,19,0,1,13},
+{65,163,23,16,17,2,-1,15},
+{161,246,236,3,17,6,2,6},
+{97,142,190,10,13,6,1,13},
+{162,67,214,9,17,2,2,13},
+{98,242,136,11,18,1,2,14},
+{194,103,25,16,23,-4,-1,15},
+{226,106,160,10,19,0,1,13},
+{66,122,146,11,17,2,2,15},
+{34,226,203,8,6,2,1,10},
+{35,189,44,14,17,2,1,16},
+{163,62,166,11,17,2,1,13},
+{195,123,23,16,23,-4,-1,15},
+{227,134,167,10,19,0,1,13},
+{67,209,65,12,17,2,1,14},
+{99,225,186,9,13,6,1,11},
+{228,170,182,10,18,1,1,13},
+{100,227,143,11,18,1,1,14},
+{196,23,23,16,22,-3,-1,15},
+{36,2,179,10,20,1,2,13},
+{68,193,65,12,17,2,2,16},
+{164,176,65,13,12,5,0,13},
+{37,120,2,18,17,2,1,20},
+{69,41,222,9,17,2,2,13},
+{165,98,99,12,17,2,1,13},
+{197,43,23,16,21,-2,-1,15},
+{229,16,179,10,20,-1,1,13},
+{101,189,109,11,13,6,1,13},
+{38,183,23,16,17,2,1,17},
+{70,54,222,9,17,2,2,12},
+{198,75,2,19,17,2,-1,20},
+{102,202,212,8,18,1,1,8},
+{166,44,268,2,24,1,6,13},
+{230,142,2,18,13,6,1,20},
+{71,2,71,14,17,2,1,17},
+{167,176,160,10,18,1,0,12},
+{199,146,94,12,23,2,1,14},
+{103,159,67,13,19,6,0,13},
+{231,212,189,9,19,6,1,11},
+{39,30,271,3,6,2,1,5},
+{72,130,99,12,17,2,2,17},
+{104,162,160,10,18,1,2,14},
+{200,238,186,9,23,-4,2,13},
+{40,46,243,7,21,2,1,7},
+{232,2,156,11,19,0,1,13},
+{168,68,235,7,3,1,4,14},
+{73,106,209,8,17,2,0,9},
+{169,230,2,17,17,2,1,20},
+{105,222,232,4,18,1,1,6},
+{201,28,222,9,23,-4,2,13},
+{41,130,238,6,21,2,0,7},
+{233,197,126,11,19,0,1,13},
+{202,93,209,9,23,-4,2,13},
+{74,13,225,7,22,2,-2,7},
+{234,167,137,11,19,0,1,13},
+{42,82,120,12,11,1,0,13},
+{170,100,236,6,8,2,1,8},
+{106,110,237,6,24,1,-1,6},
+{171,144,121,11,10,8,0,12},
+{43,2,119,12,12,5,1,13},
+{203,80,209,9,22,-3,2,13},
+{107,32,177,11,18,1,2,12},
+{235,77,166,11,18,1,1,13},
+{75,74,77,13,17,2,2,14},
+{44,230,213,4,6,16,1,6},
+{172,204,109,11,7,10,1,13},
+{236,204,234,5,19,0,0,6},
+{204,130,211,8,23,-4,0,9},
+{108,23,271,3,18,1,2,6},
+{76,86,188,10,17,2,2,12},
+{173,140,238,6,2,12,1,8},
+{45,120,237,6,2,12,1,8},
+{109,208,2,18,13,6,2,22},
+{205,178,205,8,23,-4,0,9},
+{237,213,234,5,19,0,2,6},
+{77,143,19,16,17,2,2,21},
+{46,9,251,3,3,16,2,6},
+{110,100,183,10,13,6,2,14},
+{206,154,207,8,23,-4,0,9},
+{238,238,213,8,19,0,-1,6},
+{174,2,23,17,17,2,1,20},
+{78,91,78,13,17,2,2,18},
+{175,18,125,12,2,-1,0,12},
+{111,162,90,12,13,6,1,14},
+{207,118,211,8,22,-3,0,9},
+{239,24,249,7,18,1,0,6},
+{79,203,23,15,17,2,1,18},
+{47,120,167,10,17,2,-1,9},
+{176,166,207,8,8,2,1,10},
+{112,212,143,11,19,6,2,14},
+{240,18,103,12,18,1,1,14},
+{208,171,44,14,17,2,0,16},
+{80,128,190,10,17,2,2,14},
+{48,234,115,11,17,2,1,13},
+{177,66,127,12,14,5,1,13},
+{113,182,126,11,19,6,1,14},
+{241,30,199,10,19,0,2,14},
+{81,97,52,15,22,2,1,18},
+{209,142,67,13,23,-4,2,18},
+{49,57,243,7,17,2,2,13},
+{178,190,206,8,10,2,0,8},
+{114,142,207,8,13,6,2,10},
+{242,242,87,12,19,0,1,14},
+{210,59,50,15,23,-4,1,18},
+{82,82,99,12,17,2,2,14},
+{50,2,135,11,17,2,1,13},
+{179,35,249,7,10,2,0,8},
+{115,72,188,10,13,6,0,11},
+{243,226,92,12,19,0,1,14},
+{211,40,49,15,23,-4,1,18},
+{83,129,125,11,17,2,0,13},
+{51,17,135,11,17,2,1,13},
+{180,168,219,5,4,0,5,14},
+{116,214,212,8,16,3,0,8},
+{244,194,86,12,19,0,1,14},
+{212,21,49,15,23,-4,1,18},
+{84,66,106,12,17,2,0,13},
+{52,125,78,13,17,2,0,13},
+{53,32,156,11,17,2,1,13},
+{85,50,106,12,17,2,2,17},
+{181,204,166,10,19,6,2,14},
+{117,198,189,10,13,6,2,14},
+{245,178,86,12,19,0,1,14},
+{213,2,44,15,23,-4,1,18},
+{54,47,156,11,17,2,1,13},
+{86,222,23,15,17,2,-1,14},
+{246,241,65,12,18,1,1,14},
+{214,116,52,15,22,-3,1,18},
+{182,34,131,12,21,1,1,16},
+{118,135,50,14,13,6,-1,12},
+{55,62,145,11,17,2,1,13},
+{87,2,2,22,17,2,-1,21},
+{119,28,2,20,13,6,-1,18},
+{215,114,125,11,11,5,1,13},
+{247,210,92,12,10,6,0,13},
+{183,16,251,3,3,9,2,6},
+{56,77,145,11,17,2,1,13},
+{88,225,44,14,17,2,-1,13},
+{216,78,52,15,19,1,1,18},
+{248,98,120,12,15,5,1,14},
+{120,50,127,12,13,6,0,12},
+{184,150,234,5,6,19,0,5},
+{89,207,44,14,17,2,-1,13},
+{121,153,44,14,19,6,-1,12},
+{217,225,65,12,23,-4,2,17},
+{249,44,199,10,19,0,2,14},
+{57,92,139,11,17,2,1,13},
+{185,177,232,5,10,2,0,8},
+{218,2,92,12,23,-4,2,17},
+{250,156,184,10,19,0,2,14},
+{90,232,165,10,17,2,1,13},
+{122,148,167,10,13,6,1,11},
+{58,37,263,3,13,6,2,6},
+{186,90,236,6,8,2,1,8},
+{219,34,104,12,23,-4,2,17},
+{123,2,224,7,21,2,1,9},
+{91,186,232,5,21,2,2,7},
+{251,58,191,10,19,0,2,14},
+{59,238,236,4,16,6,1,6},
+{187,47,177,11,10,8,1,12},
+{188,164,2,18,17,2,0,18},
+{252,190,149,10,18,1,2,14},
+{124,50,268,2,24,1,6,13},
+{220,114,99,12,22,-3,2,17},
+{92,137,146,11,17,2,-1,9},
+{60,159,121,11,12,5,1,13},
+{189,186,2,18,17,2,0,18},
+{253,56,77,14,25,0,-1,12},
+{221,20,76,14,23,-4,-1,13},
+{125,79,235,7,21,2,1,9},
+{93,195,234,5,21,2,0,7},
+{61,152,137,11,6,8,1,13},
+{190,52,2,19,17,2,0,18},
+{222,114,188,10,17,2,2,14},
+{254,219,115,11,24,1,2,14},
+{62,174,109,11,12,5,1,13},
+{94,108,78,13,11,2,0,13},
+{126,107,140,11,5,8,1,13},
+{223,17,156,11,18,1,2,14},
+{191,15,203,9,18,6,0,10},
+{255,38,76,14,24,1,-1,12},
+{63,2,203,9,17,2,0,10},
+{95,218,166,10,2,21,0,10},
+};
+static const int _hidpi_font_kerning_pair_count=0;
+static const int _hidpi_font_kerning_pairs[1][3]={
+{0,0,0}
+};
+static const int _hidpi_font_img_width=256;
+static const int _hidpi_font_img_height=512;
+static const int _hidpi_font_img_data_size=25255;
+static const unsigned char _hidpi_font_img_data[25255]={
+137,
+80,
+78,
+71,
+13,
+10,
+26,
+10,
+0,
+0,
+0,
+13,
+73,
+72,
+68,
+82,
+0,
+0,
+1,
+0,
+0,
+0,
+2,
+0,
+8,
+6,
+0,
+0,
+0,
+109,
+154,
+178,
+251,
+0,
+0,
+32,
+0,
+73,
+68,
+65,
+84,
+120,
+156,
+236,
+157,
+119,
+184,
+38,
+53,
+245,
+199,
+51,
+84,
+165,
+55,
+1,
+21,
+16,
+41,
+34,
+42,
+130,
+98,
+23,
+1,
+21,
+20,
+84,
+108,
+40,
+138,
+138,
+10,
+34,
+40,
+86,
+148,
+159,
+216,
+11,
+34,
+138,
+130,
+162,
+40,
+32,
+160,
+128,
+160,
+2,
+162,
+32,
+162,
+34,
+34,
+29,
+145,
+142,
+235,
+210,
+219,
+210,
+151,
+14,
+219,
+251,
+231,
+247,
+199,
+57,
+97,
+114,
+231,
+205,
+204,
+100,
+102,
+50,
+239,
+189,
+119,
+111,
+190,
+207,
+179,
+207,
+221,
+55,
+57,
+57,
+147,
+153,
+73,
+206,
+36,
+39,
+167,
+24,
+147,
+144,
+144,
+144,
+144,
+144,
+144,
+48,
+129,
+1,
+172,
+75,
+142,
+45,
+74,
+104,
+158,
+231,
+208,
+188,
+176,
+132,
+230,
+85,
+14,
+205,
+58,
+158,
+250,
+245,
+156,
+250,
+103,
+121,
+234,
+95,
+237,
+212,
+239,
+225,
+169,
+95,
+25,
+88,
+160,
+245,
+235,
+122,
+234,
+55,
+5,
+78,
+0,
+238,
+5,
+230,
+2,
+83,
+128,
+95,
+2,
+107,
+149,
+244,
+119,
+105,
+224,
+22,
+224,
+65,
+96,
+37,
+31,
+77,
+8,
+128,
+143,
+211,
+0,
+129,
+60,
+215,
+1,
+190,
+8,
+156,
+15,
+220,
+13,
+204,
+1,
+30,
+7,
+38,
+1,
+63,
+3,
+182,
+12,
+228,
+243,
+33,
+224,
+102,
+109,
+255,
+63,
+224,
+109,
+21,
+180,
+235,
+3,
+179,
+244,
+249,
+173,
+88,
+195,
+119,
+109,
+224,
+43,
+192,
+101,
+192,
+19,
+250,
+188,
+239,
+5,
+126,
+3,
+108,
+160,
+52,
+27,
+0,
+191,
+7,
+30,
+86,
+190,
+215,
+0,
+159,
+0,
+150,
+168,
+224,
+187,
+42,
+112,
+172,
+62,
+170,
+211,
+42,
+232,
+26,
+189,
+187,
+62,
+248,
+42,
+175,
+235,
+244,
+255,
+239,
+211,
+103,
+49,
+67,
+223,
+211,
+133,
+246,
+89,
+3,
+75,
+0,
+159,
+5,
+174,
+211,
+231,
+240,
+36,
+240,
+79,
+224,
+117,
+117,
+253,
+214,
+246,
+43,
+105,
+251,
+127,
+1,
+143,
+0,
+243,
+245,
+239,
+185,
+192,
+103,
+234,
+222,
+85,
+16,
+128,
+27,
+244,
+134,
+246,
+45,
+169,
+255,
+164,
+51,
+134,
+247,
+41,
+161,
+249,
+138,
+214,
+79,
+174,
+184,
+206,
+205,
+74,
+243,
+126,
+79,
+221,
+33,
+206,
+53,
+78,
+247,
+212,
+239,
+164,
+117,
+55,
+150,
+240,
+254,
+43,
+48,
+93,
+7,
+225,
+87,
+129,
+95,
+1,
+139,
+128,
+127,
+149,
+208,
+127,
+65,
+249,
+125,
+188,
+172,
+191,
+33,
+0,
+174,
+5,
+22,
+2,
+151,
+56,
+253,
+191,
+86,
+127,
+15,
+252,
+171,
+225,
+245,
+52,
+224,
+251,
+192,
+108,
+229,
+115,
+43,
+112,
+6,
+112,
+52,
+112,
+18,
+112,
+149,
+94,
+11,
+224,
+52,
+96,
+149,
+10,
+94,
+175,
+215,
+251,
+183,
+130,
+240,
+126,
+29,
+60,
+94,
+225,
+1,
+156,
+165,
+124,
+119,
+14,
+184,
+231,
+43,
+149,
+118,
+1,
+112,
+35,
+112,
+5,
+50,
+209,
+1,
+30,
+211,
+107,
+63,
+166,
+191,
+239,
+214,
+241,
+101,
+251,
+125,
+98,
+9,
+207,
+247,
+2,
+83,
+129,
+187,
+128,
+153,
+84,
+79,
+212,
+224,
+119,
+215,
+35,
+95,
+144,
+9,
+253,
+85,
+253,
+255,
+125,
+250,
+126,
+158,
+212,
+223,
+139,
+128,
+157,
+245,
+61,
+161,
+215,
+191,
+70,
+251,
+128,
+190,
+139,
+87,
+215,
+92,
+99,
+39,
+224,
+81,
+100,
+194,
+31,
+13,
+236,
+14,
+188,
+93,
+255,
+30,
+173,
+229,
+143,
+80,
+33,
+216,
+131,
+0,
+28,
+166,
+157,
+250,
+75,
+73,
+253,
+105,
+136,
+148,
+159,
+11,
+156,
+82,
+66,
+115,
+142,
+242,
+56,
+164,
+226,
+58,
+63,
+87,
+154,
+35,
+60,
+117,
+183,
+235,
+96,
+189,
+18,
+145,
+164,
+79,
+43,
+212,
+31,
+170,
+109,
+127,
+90,
+194,
+123,
+85,
+96,
+181,
+66,
+217,
+121,
+192,
+116,
+15,
+237,
+26,
+136,
+164,
+254,
+47,
+21,
+95,
+164,
+58,
+0,
+175,
+209,
+62,
+253,
+85,
+127,
+91,
+120,
+87,
+82,
+53,
+188,
+214,
+0,
+254,
+173,
+237,
+79,
+1,
+94,
+80,
+66,
+183,
+46,
+240,
+107,
+165,
+187,
+17,
+88,
+181,
+132,
+238,
+79,
+74,
+179,
+137,
+254,
+126,
+169,
+254,
+62,
+201,
+67,
+251,
+110,
+247,
+62,
+2,
+250,
+250,
+38,
+224,
+115,
+238,
+243,
+70,
+190,
+158,
+71,
+58,
+131,
+127,
+33,
+176,
+139,
+83,
+255,
+34,
+100,
+34,
+2,
+188,
+215,
+195,
+243,
+64,
+224,
+183,
+192,
+234,
+84,
+76,
+212,
+166,
+239,
+174,
+71,
+190,
+22,
+243,
+129,
+15,
+58,
+229,
+203,
+33,
+31,
+35,
+128,
+121,
+200,
+234,
+235,
+237,
+133,
+235,
+92,
+163,
+245,
+103,
+84,
+240,
+255,
+178,
+62,
+195,
+31,
+0,
+43,
+148,
+208,
+172,
+0,
+28,
+172,
+116,
+95,
+174,
+235,
+115,
+213,
+205,
+236,
+168,
+29,
+122,
+18,
+88,
+178,
+80,
+183,
+4,
+34,
+133,
+174,
+212,
+127,
+15,
+120,
+218,
+47,
+67,
+46,
+217,
+182,
+171,
+184,
+206,
+59,
+148,
+102,
+114,
+161,
+124,
+11,
+45,
+63,
+94,
+111,
+24,
+224,
+45,
+5,
+154,
+171,
+181,
+188,
+86,
+218,
+33,
+95,
+210,
+215,
+35,
+203,
+211,
+223,
+122,
+234,
+127,
+161,
+188,
+222,
+80,
+199,
+171,
+230,
+58,
+191,
+85,
+62,
+239,
+208,
+223,
+22,
+141,
+4,
+0,
+176,
+20,
+178,
+66,
+152,
+15,
+236,
+22,
+216,
+102,
+95,
+189,
+214,
+159,
+75,
+234,
+239,
+5,
+110,
+45,
+148,
+221,
+9,
+220,
+89,
+40,
+91,
+1,
+184,
+7,
+249,
+154,
+61,
+183,
+73,
+191,
+61,
+215,
+92,
+203,
+121,
+6,
+199,
+121,
+234,
+247,
+215,
+186,
+127,
+212,
+240,
+129,
+242,
+137,
+218,
+250,
+221,
+197,
+228,
+235,
+220,
+231,
+209,
+158,
+186,
+45,
+156,
+250,
+67,
+61,
+245,
+239,
+209,
+186,
+7,
+75,
+120,
+239,
+132,
+76,
+234,
+93,
+245,
+247,
+18,
+192,
+222,
+200,
+252,
+155,
+137,
+204,
+199,
+75,
+128,
+79,
+107,
+253,
+110,
+74,
+223,
+110,
+37,
+128,
+72,
+173,
+57,
+218,
+169,
+87,
+20,
+234,
+236,
+151,
+227,
+112,
+231,
+33,
+109,
+82,
+160,
+217,
+74,
+203,
+103,
+0,
+203,
+86,
+92,
+103,
+37,
+29,
+228,
+139,
+128,
+213,
+157,
+242,
+3,
+180,
+253,
+135,
+145,
+175,
+11,
+192,
+145,
+78,
+253,
+202,
+122,
+131,
+243,
+40,
+145,
+134,
+14,
+173,
+139,
+127,
+22,
+251,
+3,
+188,
+0,
+89,
+186,
+122,
+39,
+78,
+40,
+128,
+103,
+32,
+43,
+162,
+251,
+80,
+161,
+233,
+92,
+183,
+169,
+0,
+248,
+134,
+182,
+251,
+124,
+195,
+118,
+118,
+121,
+249,
+90,
+79,
+221,
+60,
+224,
+226,
+66,
+217,
+165,
+192,
+220,
+66,
+217,
+143,
+149,
+199,
+87,
+155,
+92,
+187,
+162,
+79,
+115,
+149,
+223,
+174,
+158,
+186,
+55,
+106,
+221,
+35,
+53,
+60,
+192,
+51,
+81,
+187,
+190,
+187,
+152,
+124,
+157,
+119,
+61,
+48,
+233,
+128,
+167,
+59,
+245,
+59,
+120,
+234,
+55,
+211,
+186,
+5,
+37,
+109,
+31,
+6,
+14,
+114,
+202,
+78,
+82,
+250,
+169,
+250,
+255,
+211,
+149,
+230,
+215,
+14,
+205,
+193,
+200,
+118,
+160,
+157,
+78,
+0,
+81,
+42,
+0,
+236,
+95,
+40,
+255,
+63,
+251,
+66,
+129,
+15,
+234,
+255,
+247,
+46,
+208,
+216,
+1,
+124,
+86,
+192,
+117,
+46,
+85,
+218,
+119,
+56,
+101,
+215,
+35,
+66,
+97,
+45,
+125,
+0,
+179,
+129,
+123,
+157,
+122,
+187,
+255,
+191,
+48,
+128,
+255,
+14,
+200,
+222,
+235,
+8,
+109,
+115,
+80,
+161,
+254,
+108,
+100,
+114,
+108,
+92,
+199,
+171,
+230,
+58,
+86,
+231,
+241,
+93,
+167,
+204,
+34,
+88,
+0,
+32,
+66,
+241,
+9,
+100,
+133,
+147,
+57,
+229,
+203,
+34,
+203,
+192,
+201,
+136,
+112,
+158,
+141,
+124,
+193,
+207,
+36,
+95,
+214,
+219,
+47,
+141,
+111,
+75,
+53,
+157,
+130,
+206,
+1,
+217,
+98,
+76,
+115,
+126,
+111,
+142,
+12,
+252,
+27,
+128,
+165,
+27,
+244,
+121,
+73,
+68,
+241,
+117,
+18,
+162,
+220,
+186,
+31,
+152,
+166,
+207,
+53,
+4,
+11,
+107,
+248,
+131,
+127,
+162,
+118,
+122,
+119,
+49,
+249,
+58,
+247,
+178,
+89,
+77,
+253,
+139,
+61,
+117,
+27,
+217,
+74,
+79,
+221,
+199,
+16,
+37,
+228,
+242,
+250,
+251,
+189,
+74,
+122,
+5,
+35,
+63,
+154,
+203,
+0,
+43,
+59,
+191,
+87,
+64,
+4,
+192,
+103,
+66,
+239,
+161,
+120,
+97,
+59,
+209,
+255,
+81,
+40,
+63,
+91,
+203,
+159,
+173,
+255,
+0,
+126,
+87,
+160,
+57,
+79,
+203,
+63,
+29,
+112,
+157,
+111,
+43,
+237,
+161,
+250,
+219,
+158,
+48,
+92,
+234,
+208,
+252,
+93,
+203,
+94,
+170,
+191,
+237,
+254,
+255,
+107,
+13,
+239,
+233,
+66,
+224,
+9,
+231,
+183,
+221,
+234,
+252,
+184,
+9,
+31,
+15,
+223,
+37,
+16,
+125,
+197,
+66,
+224,
+57,
+78,
+185,
+69,
+19,
+1,
+176,
+151,
+182,
+249,
+136,
+83,
+182,
+52,
+114,
+2,
+0,
+162,
+80,
+60,
+4,
+89,
+129,
+221,
+173,
+101,
+175,
+117,
+104,
+239,
+3,
+174,
+247,
+240,
+189,
+137,
+193,
+45,
+192,
+20,
+84,
+137,
+10,
+100,
+228,
+58,
+135,
+109,
+27,
+244,
+119,
+13,
+70,
+42,
+1,
+255,
+131,
+40,
+94,
+127,
+10,
+28,
+228,
+60,
+131,
+235,
+40,
+81,
+132,
+82,
+175,
+12,
+133,
+194,
+68,
+141,
+241,
+238,
+98,
+242,
+117,
+238,
+115,
+163,
+166,
+245,
+84,
+11,
+128,
+243,
+25,
+185,
+250,
+253,
+135,
+146,
+110,
+19,
+208,
+167,
+163,
+129,
+115,
+155,
+220,
+135,
+219,
+120,
+115,
+189,
+208,
+12,
+244,
+107,
+64,
+190,
+183,
+191,
+201,
+161,
+187,
+13,
+184,
+207,
+249,
+189,
+44,
+185,
+214,
+218,
+251,
+48,
+10,
+215,
+121,
+173,
+210,
+94,
+166,
+191,
+191,
+172,
+191,
+247,
+115,
+104,
+62,
+165,
+101,
+223,
+208,
+223,
+118,
+192,
+189,
+162,
+130,
+239,
+42,
+133,
+223,
+75,
+34,
+95,
+182,
+71,
+244,
+247,
+82,
+246,
+183,
+75,
+11,
+124,
+196,
+55,
+48,
+106,
+238,
+225,
+237,
+218,
+230,
+239,
+133,
+242,
+90,
+120,
+120,
+157,
+170,
+85,
+207,
+112,
+202,
+172,
+48,
+62,
+13,
+88,
+202,
+41,
+63,
+89,
+203,
+95,
+228,
+148,
+93,
+12,
+60,
+238,
+225,
+251,
+59,
+165,
+45,
+42,
+1,
+79,
+214,
+223,
+123,
+235,
+239,
+19,
+244,
+119,
+208,
+145,
+33,
+162,
+167,
+1,
+81,
+150,
+61,
+167,
+80,
+151,
+57,
+183,
+218,
+90,
+191,
+82,
+124,
+31,
+177,
+222,
+93,
+13,
+223,
+117,
+17,
+1,
+118,
+135,
+62,
+131,
+59,
+145,
+15,
+79,
+153,
+2,
+206,
+34,
+182,
+0,
+120,
+20,
+248,
+168,
+243,
+219,
+30,
+253,
+45,
+89,
+164,
+245,
+180,
+221,
+157,
+154,
+237,
+85,
+85,
+227,
+12,
+120,
+64,
+251,
+181,
+149,
+150,
+109,
+173,
+191,
+143,
+112,
+232,
+236,
+121,
+234,
+70,
+250,
+123,
+91,
+253,
+125,
+91,
+224,
+117,
+150,
+66,
+148,
+141,
+115,
+144,
+47,
+157,
+61,
+62,
+219,
+208,
+161,
+89,
+95,
+203,
+46,
+66,
+20,
+122,
+243,
+245,
+193,
+84,
+157,
+33,
+207,
+65,
+142,
+204,
+190,
+11,
+124,
+29,
+153,
+24,
+0,
+7,
+107,
+253,
+167,
+245,
+247,
+167,
+156,
+54,
+175,
+64,
+246,
+85,
+115,
+66,
+7,
+145,
+182,
+179,
+171,
+162,
+119,
+21,
+202,
+45,
+130,
+143,
+1,
+145,
+163,
+190,
+187,
+10,
+101,
+147,
+148,
+207,
+250,
+37,
+215,
+93,
+199,
+41,
+59,
+135,
+194,
+190,
+94,
+203,
+95,
+137,
+124,
+161,
+167,
+144,
+31,
+3,
+46,
+68,
+236,
+45,
+158,
+129,
+28,
+211,
+61,
+166,
+255,
+15,
+62,
+50,
+212,
+247,
+0,
+126,
+77,
+254,
+218,
+206,
+51,
+104,
+183,
+20,
+53,
+222,
+137,
+26,
+229,
+221,
+85,
+241,
+5,
+254,
+172,
+207,
+224,
+12,
+228,
+163,
+100,
+79,
+90,
+6,
+148,
+200,
+14,
+47,
+136,
+47,
+0,
+22,
+48,
+242,
+212,
+96,
+62,
+30,
+197,
+123,
+201,
+53,
+223,
+14,
+204,
+15,
+161,
+45,
+99,
+240,
+27,
+237,
+151,
+253,
+242,
+126,
+71,
+127,
+191,
+199,
+161,
+249,
+144,
+150,
+125,
+76,
+127,
+219,
+37,
+253,
+207,
+27,
+92,
+231,
+207,
+218,
+230,
+213,
+200,
+222,
+107,
+146,
+135,
+102,
+178,
+214,
+109,
+163,
+180,
+127,
+168,
+225,
+121,
+16,
+114,
+44,
+54,
+83,
+7,
+197,
+100,
+196,
+152,
+102,
+73,
+228,
+136,
+240,
+17,
+68,
+215,
+176,
+148,
+210,
+175,
+141,
+104,
+202,
+247,
+68,
+20,
+87,
+161,
+131,
+104,
+35,
+29,
+40,
+247,
+227,
+124,
+157,
+181,
+206,
+162,
+201,
+22,
+224,
+73,
+224,
+170,
+66,
+217,
+108,
+224,
+81,
+15,
+237,
+85,
+202,
+127,
+69,
+167,
+236,
+106,
+28,
+125,
+73,
+129,
+254,
+29,
+200,
+23,
+110,
+174,
+254,
+221,
+89,
+203,
+237,
+123,
+222,
+75,
+127,
+255,
+81,
+127,
+23,
+87,
+11,
+3,
+103,
+246,
+228,
+202,
+226,
+55,
+122,
+234,
+236,
+106,
+14,
+224,
+114,
+28,
+157,
+70,
+19,
+104,
+251,
+211,
+244,
+255,
+49,
+223,
+93,
+41,
+95,
+96,
+53,
+224,
+85,
+5,
+250,
+243,
+128,
+89,
+21,
+188,
+160,
+255,
+21,
+192,
+195,
+200,
+60,
+8,
+57,
+154,
+108,
+191,
+2,
+80,
+6,
+86,
+201,
+247,
+47,
+253,
+125,
+1,
+131,
+26,
+251,
+117,
+148,
+230,
+4,
+135,
+6,
+26,
+28,
+65,
+144,
+75,
+222,
+163,
+245,
+239,
+119,
+60,
+52,
+7,
+219,
+235,
+232,
+223,
+214,
+6,
+59,
+192,
+79,
+148,
+199,
+14,
+250,
+123,
+25,
+68,
+25,
+249,
+91,
+253,
+253,
+212,
+192,
+8,
+224,
+101,
+245,
+17,
+85,
+104,
+34,
+0,
+230,
+1,
+255,
+46,
+148,
+61,
+12,
+60,
+89,
+40,
+179,
+43,
+39,
+236,
+96,
+32,
+63,
+189,
+105,
+162,
+189,
+182,
+43,
+182,
+127,
+163,
+19,
+20,
+255,
+145,
+225,
+20,
+10,
+71,
+134,
+90,
+110,
+183,
+99,
+167,
+0,
+203,
+104,
+89,
+134,
+28,
+69,
+205,
+70,
+116,
+2,
+183,
+43,
+205,
+177,
+192,
+154,
+78,
+219,
+117,
+16,
+163,
+178,
+183,
+54,
+232,
+111,
+180,
+119,
+87,
+197,
+183,
+132,
+230,
+122,
+60,
+31,
+39,
+231,
+186,
+16,
+95,
+0,
+92,
+200,
+72,
+29,
+128,
+213,
+135,
+189,
+38,
+224,
+158,
+142,
+166,
+196,
+240,
+45,
+8,
+192,
+154,
+200,
+132,
+159,
+142,
+44,
+207,
+103,
+162,
+230,
+142,
+5,
+186,
+219,
+144,
+189,
+210,
+82,
+250,
+210,
+231,
+160,
+90,
+203,
+192,
+235,
+108,
+162,
+55,
+53,
+189,
+108,
+194,
+0,
+175,
+211,
+186,
+25,
+250,
+119,
+253,
+150,
+247,
+180,
+49,
+50,
+201,
+254,
+238,
+148,
+253,
+18,
+217,
+195,
+46,
+167,
+191,
+131,
+6,
+17,
+114,
+66,
+241,
+168,
+62,
+35,
+223,
+18,
+223,
+162,
+137,
+0,
+152,
+138,
+163,
+99,
+209,
+178,
+127,
+41,
+159,
+173,
+156,
+178,
+143,
+146,
+91,
+211,
+109,
+168,
+101,
+86,
+87,
+50,
+112,
+228,
+86,
+114,
+173,
+101,
+144,
+85,
+210,
+124,
+28,
+237,
+180,
+62,
+31,
+223,
+137,
+129,
+111,
+107,
+177,
+141,
+211,
+143,
+135,
+145,
+21,
+136,
+181,
+250,
+187,
+9,
+153,
+228,
+47,
+39,
+223,
+42,
+44,
+210,
+255,
+91,
+59,
+17,
+8,
+80,
+22,
+235,
+181,
+162,
+189,
+187,
+58,
+190,
+30,
+154,
+207,
+107,
+223,
+119,
+42,
+169,
+183,
+136,
+45,
+0,
+246,
+98,
+228,
+41,
+128,
+181,
+25,
+248,
+15,
+176,
+70,
+129,
+118,
+25,
+231,
+255,
+246,
+20,
+224,
+115,
+229,
+119,
+30,
+0,
+114,
+43,
+165,
+119,
+234,
+95,
+159,
+33,
+131,
+213,
+3,
+216,
+115,
+221,
+198,
+154,
+71,
+114,
+141,
+246,
+192,
+87,
+70,
+235,
+151,
+116,
+6,
+214,
+45,
+109,
+238,
+69,
+249,
+156,
+137,
+12,
+248,
+23,
+232,
+239,
+79,
+40,
+223,
+13,
+28,
+154,
+160,
+65,
+4,
+236,
+81,
+117,
+191,
+206,
+75,
+111,
+34,
+0,
+46,
+213,
+254,
+173,
+224,
+148,
+189,
+81,
+7,
+223,
+147,
+136,
+117,
+221,
+73,
+58,
+96,
+63,
+141,
+28,
+25,
+94,
+139,
+216,
+100,
+204,
+210,
+246,
+75,
+85,
+93,
+195,
+225,
+251,
+53,
+223,
+59,
+37,
+224,
+200,
+176,
+80,
+183,
+53,
+114,
+108,
+252,
+48,
+50,
+177,
+111,
+68,
+108,
+57,
+220,
+99,
+169,
+231,
+32,
+71,
+177,
+119,
+34,
+203,
+244,
+25,
+218,
+239,
+131,
+128,
+181,
+3,
+251,
+27,
+237,
+221,
+85,
+241,
+245,
+212,
+127,
+82,
+235,
+247,
+172,
+224,
+97,
+17,
+91,
+0,
+44,
+135,
+8,
+204,
+239,
+57,
+101,
+118,
+203,
+246,
+16,
+162,
+8,
+62,
+22,
+177,
+113,
+113,
+143,
+116,
+127,
+160,
+207,
+102,
+229,
+34,
+207,
+70,
+64,
+108,
+209,
+33,
+215,
+56,
+15,
+44,
+215,
+200,
+245,
+0,
+182,
+99,
+251,
+249,
+120,
+141,
+54,
+200,
+5,
+212,
+207,
+157,
+178,
+186,
+179,
+234,
+245,
+43,
+248,
+217,
+229,
+239,
+46,
+37,
+245,
+22,
+77,
+4,
+192,
+129,
+218,
+230,
+125,
+133,
+242,
+183,
+34,
+75,
+208,
+185,
+136,
+118,
+126,
+119,
+45,
+223,
+17,
+89,
+98,
+63,
+170,
+207,
+127,
+117,
+63,
+231,
+129,
+235,
+108,
+128,
+8,
+140,
+187,
+41,
+104,
+182,
+41,
+63,
+50,
+108,
+45,
+120,
+187,
+34,
+246,
+187,
+171,
+226,
+91,
+168,
+255,
+54,
+34,
+120,
+223,
+226,
+171,
+31,
+6,
+128,
+119,
+225,
+152,
+82,
+35,
+91,
+172,
+61,
+80,
+161,
+140,
+163,
+220,
+213,
+250,
+15,
+40,
+253,
+59,
+99,
+92,
+252,
+245,
+250,
+128,
+158,
+64,
+164,
+224,
+128,
+101,
+17,
+185,
+30,
+224,
+113,
+253,
+251,
+34,
+31,
+175,
+209,
+4,
+178,
+130,
+248,
+175,
+246,
+209,
+213,
+97,
+124,
+222,
+243,
+15,
+228,
+220,
+250,
+243,
+148,
+120,
+129,
+33,
+90,
+103,
+144,
+229,
+153,
+215,
+104,
+198,
+25,
+136,
+77,
+4,
+192,
+198,
+250,
+66,
+175,
+43,
+227,
+27,
+3,
+192,
+223,
+180,
+111,
+239,
+242,
+212,
+149,
+29,
+25,
+54,
+222,
+91,
+199,
+64,
+236,
+119,
+87,
+199,
+215,
+169,
+251,
+37,
+34,
+12,
+159,
+223,
+215,
+189,
+133,
+2,
+57,
+201,
+90,
+8,
+124,
+143,
+146,
+237,
+53,
+176,
+60,
+242,
+193,
+94,
+8,
+124,
+61,
+214,
+133,
+151,
+33,
+223,
+119,
+95,
+86,
+65,
+119,
+155,
+210,
+220,
+19,
+229,
+194,
+145,
+65,
+110,
+96,
+227,
+245,
+112,
+44,
+208,
+214,
+14,
+118,
+114,
+101,
+228,
+193,
+53,
+124,
+160,
+161,
+55,
+32,
+185,
+213,
+226,
+81,
+116,
+112,
+78,
+170,
+232,
+151,
+221,
+71,
+122,
+45,
+53,
+41,
+63,
+50,
+12,
+114,
+89,
+141,
+141,
+216,
+239,
+46,
+132,
+47,
+114,
+252,
+55,
+19,
+248,
+166,
+71,
+200,
+120,
+173,
+253,
+250,
+6,
+178,
+18,
+120,
+28,
+249,
+232,
+28,
+137,
+232,
+129,
+222,
+174,
+127,
+143,
+212,
+242,
+199,
+136,
+241,
+229,
+47,
+92,
+248,
+47,
+250,
+160,
+190,
+87,
+65,
+99,
+245,
+0,
+199,
+70,
+189,
+120,
+4,
+32,
+230,
+181,
+15,
+34,
+190,
+221,
+181,
+95,
+213,
+186,
+65,
+132,
+120,
+146,
+205,
+70,
+246,
+229,
+165,
+198,
+78,
+4,
+160,
+164,
+221,
+178,
+228,
+74,
+196,
+243,
+241,
+216,
+246,
+59,
+180,
+27,
+0,
+95,
+168,
+187,
+39,
+135,
+126,
+69,
+68,
+203,
+63,
+139,
+234,
+237,
+205,
+187,
+144,
+189,
+252,
+92,
+253,
+235,
+221,
+230,
+244,
+141,
+216,
+239,
+46,
+148,
+111,
+205,
+107,
+251,
+68,
+219,
+251,
+233,
+10,
+96,
+21,
+228,
+56,
+251,
+2,
+100,
+219,
+183,
+64,
+255,
+94,
+128,
+184,
+47,
+119,
+219,
+243,
+39,
+140,
+13,
+168,
+16,
+248,
+57,
+178,
+237,
+2,
+57,
+29,
+248,
+27,
+112,
+34,
+162,
+4,
+252,
+7,
+98,
+246,
+91,
+42,
+72,
+134,
+216,
+87,
+23,
+63,
+11,
+160,
+255,
+180,
+219,
+96,
+24,
+125,
+76,
+72,
+24,
+151,
+0,
+158,
+139,
+24,
+96,
+93,
+128,
+44,
+197,
+231,
+32,
+202,
+175,
+135,
+16,
+37,
+208,
+143,
+40,
+24,
+172,
+140,
+66,
+31,
+93,
+220,
+75,
+141,
+193,
+15,
+35,
+143,
+72,
+147,
+0,
+72,
+72,
+24,
+207,
+208,
+121,
+188,
+8,
+177,
+182,
+132,
+10,
+35,
+21,
+68,
+97,
+188,
+8,
+81,
+212,
+37,
+1,
+48,
+70,
+16,
+93,
+209,
+148,
+48,
+225,
+144,
+25,
+99,
+206,
+214,
+255,
+191,
+167,
+130,
+238,
+125,
+74,
+219,
+41,
+254,
+66,
+194,
+144,
+64,
+79,
+65,
+8,
+17,
+207,
+182,
+219,
+172,
+210,
+2,
+177,
+197,
+190,
+3,
+245,
+78,
+107,
+201,
+115,
+51,
+196,
+230,
+124,
+134,
+46,
+153,
+91,
+251,
+248,
+147,
+219,
+217,
+79,
+199,
+241,
+204,
+155,
+104,
+32,
+204,
+235,
+204,
+194,
+6,
+111,
+185,
+171,
+130,
+246,
+74,
+29,
+67,
+79,
+5,
+141,
+109,
+208,
+151,
+23,
+58,
+215,
+218,
+60,
+180,
+93,
+129,
+199,
+43,
+16,
+95,
+135,
+169,
+228,
+78,
+101,
+127,
+35,
+192,
+189,
+182,
+132,
+223,
+106,
+72,
+28,
+192,
+75,
+17,
+165,
+226,
+60,
+253,
+123,
+9,
+240,
+37,
+234,
+143,
+34,
+215,
+38,
+183,
+164,
+172,
+220,
+202,
+57,
+207,
+108,
+33,
+129,
+198,
+83,
+157,
+64,
+143,
+65,
+8,
+201,
+157,
+72,
+94,
+171,
+191,
+109,
+20,
+161,
+217,
+29,
+250,
+123,
+57,
+162,
+28,
+219,
+6,
+241,
+138,
+187,
+168,
+3,
+175,
+231,
+234,
+139,
+4,
+79,
+128,
+141,
+197,
+9,
+58,
+8,
+207,
+67,
+142,
+152,
+78,
+67,
+237,
+22,
+16,
+123,
+254,
+251,
+2,
+218,
+91,
+108,
+130,
+24,
+43,
+129,
+199,
+85,
+27,
+57,
+177,
+0,
+241,
+98,
+124,
+81,
+11,
+1,
+240,
+67,
+231,
+90,
+3,
+22,
+169,
+1,
+237,
+183,
+39,
+87,
+170,
+62,
+138,
+152,
+45,
+91,
+19,
+229,
+133,
+148,
+152,
+249,
+86,
+240,
+123,
+55,
+185,
+237,
+11,
+136,
+149,
+227,
+21,
+228,
+71,
+226,
+232,
+24,
+26,
+112,
+148,
+42,
+240,
+185,
+64,
+105,
+75,
+143,
+148,
+149,
+206,
+250,
+195,
+92,
+208,
+164,
+159,
+173,
+64,
+207,
+65,
+8,
+25,
+92,
+1,
+172,
+130,
+172,
+0,
+188,
+65,
+70,
+3,
+121,
+206,
+68,
+221,
+82,
+129,
+93,
+240,
+4,
+0,
+109,
+200,
+111,
+75,
+196,
+0,
+106,
+33,
+240,
+242,
+46,
+188,
+10,
+124,
+215,
+36,
+183,
+173,
+184,
+162,
+3,
+31,
+87,
+155,
+30,
+100,
+79,
+95,
+194,
+231,
+56,
+228,
+88,
+112,
+50,
+178,
+63,
+183,
+251,
+249,
+89,
+192,
+49,
+1,
+237,
+45,
+54,
+35,
+247,
+24,
+253,
+145,
+135,
+206,
+70,
+204,
+253,
+8,
+121,
+188,
+137,
+208,
+208,
+232,
+75,
+34,
+167,
+30,
+211,
+244,
+223,
+3,
+4,
+172,
+78,
+10,
+60,
+236,
+170,
+238,
+120,
+52,
+52,
+28,
+114,
+218,
+98,
+45,
+88,
+7,
+252,
+92,
+42,
+120,
+237,
+72,
+30,
+150,
+254,
+116,
+10,
+199,
+193,
+136,
+233,
+243,
+239,
+181,
+126,
+14,
+21,
+95,
+119,
+114,
+31,
+142,
+74,
+75,
+75,
+228,
+200,
+18,
+28,
+55,
+232,
+94,
+192,
+96,
+16,
+66,
+23,
+179,
+16,
+5,
+206,
+103,
+28,
+250,
+110,
+65,
+8,
+35,
+1,
+89,
+94,
+158,
+133,
+216,
+166,
+159,
+67,
+64,
+200,
+176,
+0,
+158,
+91,
+234,
+96,
+187,
+33,
+70,
+31,
+149,
+231,
+81,
+250,
+44,
+31,
+160,
+16,
+68,
+163,
+1,
+143,
+23,
+33,
+66,
+196,
+78,
+136,
+25,
+148,
+216,
+178,
+7,
+240,
+154,
+10,
+124,
+64,
+255,
+255,
+98,
+68,
+56,
+63,
+137,
+172,
+10,
+188,
+121,
+20,
+10,
+237,
+45,
+182,
+32,
+143,
+111,
+119,
+135,
+135,
+110,
+146,
+78,
+134,
+149,
+112,
+2,
+101,
+6,
+246,
+241,
+205,
+74,
+126,
+166,
+254,
+3,
+216,
+177,
+225,
+125,
+218,
+85,
+231,
+75,
+10,
+229,
+91,
+218,
+137,
+26,
+200,
+231,
+105,
+200,
+105,
+7,
+72,
+0,
+151,
+210,
+83,
+15,
+228,
+216,
+22,
+196,
+124,
+219,
+43,
+176,
+24,
+185,
+13,
+240,
+90,
+209,
+146,
+111,
+127,
+250,
+93,
+254,
+227,
+15,
+66,
+8,
+178,
+23,
+62,
+10,
+248,
+3,
+185,
+27,
+234,
+199,
+28,
+154,
+110,
+65,
+8,
+35,
+0,
+177,
+129,
+182,
+152,
+6,
+60,
+111,
+180,
+250,
+82,
+6,
+196,
+51,
+110,
+33,
+178,
+116,
+108,
+28,
+46,
+92,
+121,
+172,
+133,
+44,
+55,
+167,
+33,
+49,
+20,
+94,
+167,
+2,
+224,
+142,
+144,
+9,
+235,
+225,
+23,
+228,
+60,
+84,
+209,
+254,
+41,
+1,
+160,
+191,
+109,
+190,
+135,
+45,
+29,
+154,
+77,
+181,
+236,
+116,
+253,
+221,
+84,
+0,
+216,
+136,
+203,
+123,
+34,
+113,
+242,
+0,
+126,
+223,
+176,
+159,
+214,
+225,
+236,
+205,
+133,
+114,
+203,
+47,
+200,
+215,
+129,
+220,
+77,
+126,
+54,
+142,
+123,
+115,
+9,
+173,
+13,
+63,
+14,
+78,
+220,
+75,
+15,
+221,
+133,
+74,
+243,
+141,
+146,
+250,
+175,
+107,
+125,
+231,
+143,
+90,
+37,
+40,
+4,
+33,
+212,
+50,
+128,
+41,
+206,
+239,
+151,
+105,
+217,
+121,
+78,
+89,
+227,
+32,
+132,
+68,
+80,
+234,
+20,
+248,
+117,
+218,
+35,
+14,
+3,
+136,
+85,
+221,
+84,
+2,
+179,
+249,
+148,
+240,
+184,
+10,
+49,
+211,
+117,
+93,
+120,
+95,
+138,
+36,
+155,
+184,
+170,
+170,
+109,
+31,
+240,
+8,
+0,
+235,
+208,
+244,
+125,
+135,
+198,
+110,
+13,
+172,
+67,
+75,
+176,
+0,
+64,
+172,
+23,
+103,
+34,
+75,
+238,
+103,
+32,
+138,
+183,
+121,
+200,
+106,
+52,
+56,
+139,
+19,
+121,
+20,
+235,
+243,
+200,
+99,
+31,
+108,
+71,
+190,
+143,
+31,
+240,
+139,
+40,
+225,
+99,
+151,
+246,
+65,
+39,
+25,
+228,
+1,
+86,
+142,
+175,
+160,
+177,
+219,
+185,
+107,
+75,
+234,
+109,
+24,
+252,
+214,
+91,
+189,
+32,
+80,
+8,
+66,
+168,
+101,
+69,
+1,
+176,
+162,
+150,
+253,
+175,
+64,
+215,
+40,
+8,
+97,
+204,
+9,
+75,
+132,
+61,
+162,
+135,
+103,
+84,
+1,
+53,
+214,
+209,
+246,
+126,
+61,
+2,
+192,
+78,
+238,
+91,
+28,
+154,
+155,
+144,
+85,
+202,
+114,
+5,
+154,
+16,
+1,
+96,
+221,
+174,
+255,
+233,
+148,
+89,
+103,
+166,
+143,
+85,
+181,
+45,
+240,
+121,
+22,
+185,
+75,
+249,
+49,
+200,
+170,
+98,
+17,
+34,
+76,
+62,
+217,
+128,
+143,
+93,
+225,
+4,
+133,
+78,
+39,
+143,
+140,
+52,
+16,
+172,
+213,
+161,
+113,
+183,
+1,
+235,
+23,
+234,
+108,
+26,
+189,
+133,
+192,
+51,
+67,
+251,
+217,
+10,
+20,
+66,
+16,
+105,
+217,
+83,
+2,
+0,
+241,
+79,
+182,
+46,
+194,
+71,
+20,
+232,
+130,
+67,
+16,
+197,
+158,
+176,
+68,
+216,
+35,
+122,
+120,
+142,
+249,
+21,
+69,
+76,
+180,
+189,
+223,
+162,
+0,
+208,
+178,
+91,
+181,
+108,
+115,
+103,
+178,
+255,
+214,
+169,
+111,
+34,
+0,
+172,
+150,
+124,
+79,
+167,
+236,
+35,
+90,
+214,
+104,
+73,
+76,
+158,
+245,
+200,
+226,
+82,
+52,
+218,
+116,
+3,
+30,
+118,
+11,
+252,
+161,
+64,
+250,
+221,
+148,
+254,
+177,
+26,
+58,
+187,
+13,
+216,
+183,
+80,
+254,
+89,
+45,
+111,
+125,
+170,
+21,
+12,
+10,
+65,
+8,
+181,
+12,
+68,
+82,
+90,
+205,
+181,
+125,
+112,
+69,
+23,
+202,
+224,
+32,
+132,
+68,
+158,
+176,
+68,
+216,
+35,
+22,
+248,
+141,
+249,
+21,
+69,
+76,
+126,
+93,
+238,
+215,
+233,
+131,
+43,
+0,
+108,
+70,
+167,
+3,
+157,
+255,
+239,
+228,
+212,
+7,
+9,
+0,
+68,
+155,
+110,
+191,
+210,
+110,
+234,
+177,
+149,
+17,
+165,
+222,
+34,
+2,
+163,
+67,
+33,
+43,
+9,
+155,
+142,
+204,
+226,
+7,
+33,
+109,
+11,
+124,
+172,
+246,
+191,
+54,
+111,
+162,
+210,
+239,
+172,
+244,
+149,
+115,
+131,
+124,
+27,
+80,
+76,
+224,
+114,
+190,
+150,
+183,
+14,
+172,
+26,
+12,
+202,
+87,
+0,
+51,
+16,
+39,
+148,
+187,
+245,
+1,
+108,
+224,
+105,
+219,
+100,
+5,
+16,
+109,
+194,
+18,
+105,
+143,
+88,
+224,
+57,
+230,
+87,
+20,
+49,
+249,
+117,
+185,
+95,
+167,
+15,
+174,
+0,
+176,
+154,
+245,
+155,
+17,
+229,
+228,
+99,
+140,
+12,
+89,
+21,
+42,
+0,
+108,
+146,
+153,
+129,
+112,
+93,
+136,
+203,
+46,
+192,
+55,
+107,
+120,
+44,
+137,
+28,
+117,
+218,
+113,
+252,
+85,
+36,
+145,
+137,
+205,
+90,
+244,
+253,
+2,
+189,
+53,
+104,
+242,
+70,
+182,
+70,
+142,
+134,
+33,
+60,
+109,
+91,
+232,
+10,
+224,
+153,
+200,
+50,
+127,
+33,
+170,
+92,
+68,
+242,
+46,
+44,
+64,
+4,
+221,
+64,
+22,
+237,
+232,
+160,
+16,
+132,
+80,
+203,
+32,
+223,
+2,
+216,
+24,
+248,
+190,
+140,
+42,
+65,
+65,
+8,
+137,
+60,
+97,
+137,
+180,
+71,
+44,
+240,
+28,
+211,
+43,
+138,
+30,
+248,
+181,
+190,
+95,
+114,
+108,
+81,
+40,
+191,
+195,
+169,
+59,
+182,
+80,
+23,
+42,
+0,
+110,
+161,
+30,
+183,
+214,
+240,
+176,
+123,
+240,
+135,
+113,
+210,
+217,
+35,
+81,
+150,
+236,
+209,
+160,
+171,
+176,
+252,
+165,
+150,
+121,
+147,
+131,
+32,
+138,
+92,
+8,
+215,
+1,
+212,
+102,
+202,
+118,
+104,
+47,
+82,
+218,
+143,
+235,
+239,
+143,
+234,
+239,
+139,
+235,
+218,
+70,
+1,
+133,
+32,
+132,
+90,
+6,
+35,
+149,
+128,
+231,
+107,
+217,
+235,
+157,
+178,
+224,
+32,
+132,
+68,
+158,
+176,
+68,
+220,
+35,
+106,
+219,
+49,
+191,
+162,
+136,
+201,
+175,
+235,
+253,
+146,
+163,
+40,
+0,
+126,
+228,
+212,
+109,
+87,
+168,
+171,
+21,
+0,
+200,
+17,
+39,
+200,
+87,
+187,
+44,
+171,
+144,
+13,
+36,
+91,
+229,
+128,
+100,
+163,
+18,
+15,
+164,
+178,
+71,
+12,
+122,
+158,
+18,
+2,
+72,
+102,
+170,
+57,
+136,
+197,
+160,
+215,
+148,
+156,
+60,
+55,
+95,
+232,
+41,
+128,
+205,
+204,
+60,
+144,
+32,
+213,
+67,
+251,
+25,
+165,
+61,
+189,
+208,
+246,
+179,
+33,
+215,
+234,
+12,
+252,
+65,
+8,
+97,
+164,
+0,
+216,
+18,
+89,
+146,
+92,
+75,
+30,
+146,
+58,
+56,
+8,
+33,
+113,
+149,
+58,
+207,
+33,
+210,
+30,
+209,
+105,
+59,
+30,
+86,
+20,
+49,
+183,
+80,
+157,
+238,
+151,
+28,
+69,
+1,
+96,
+195,
+166,
+77,
+101,
+48,
+203,
+116,
+136,
+0,
+176,
+6,
+83,
+135,
+87,
+208,
+252,
+76,
+105,
+142,
+170,
+160,
+177,
+177,
+3,
+183,
+45,
+169,
+127,
+51,
+121,
+54,
+43,
+123,
+74,
+240,
+195,
+10,
+126,
+239,
+83,
+154,
+57,
+52,
+179,
+3,
+120,
+123,
+21,
+173,
+210,
+219,
+109,
+192,
+147,
+200,
+92,
+156,
+174,
+99,
+248,
+217,
+117,
+109,
+163,
+129,
+193,
+32,
+132,
+224,
+8,
+0,
+45,
+179,
+22,
+78,
+31,
+163,
+65,
+16,
+66,
+34,
+79,
+88,
+34,
+236,
+17,
+61,
+237,
+198,
+244,
+138,
+162,
+7,
+126,
+81,
+239,
+55,
+6,
+16,
+19,
+93,
+59,
+25,
+95,
+89,
+65,
+103,
+29,
+100,
+30,
+163,
+36,
+19,
+53,
+146,
+238,
+28,
+224,
+43,
+21,
+124,
+118,
+37,
+199,
+29,
+84,
+68,
+31,
+210,
+190,
+221,
+165,
+180,
+191,
+43,
+163,
+83,
+90,
+107,
+102,
+124,
+19,
+225,
+74,
+85,
+187,
+13,
+248,
+162,
+254,
+173,
+204,
+157,
+216,
+11,
+232,
+41,
+8,
+97,
+236,
+9,
+75,
+132,
+61,
+98,
+129,
+223,
+115,
+24,
+227,
+43,
+138,
+152,
+252,
+250,
+184,
+223,
+24,
+32,
+143,
+91,
+88,
+107,
+157,
+71,
+190,
+196,
+247,
+186,
+33,
+147,
+39,
+253,
+152,
+173,
+207,
+206,
+205,
+175,
+184,
+30,
+146,
+123,
+241,
+225,
+194,
+152,
+57,
+160,
+230,
+154,
+111,
+34,
+63,
+13,
+56,
+133,
+193,
+188,
+136,
+235,
+145,
+7,
+87,
+157,
+67,
+133,
+16,
+243,
+240,
+182,
+219,
+128,
+251,
+245,
+111,
+183,
+216,
+254,
+109,
+65,
+15,
+65,
+8,
+137,
+56,
+97,
+137,
+180,
+71,
+44,
+240,
+28,
+15,
+43,
+138,
+152,
+91,
+168,
+232,
+247,
+27,
+3,
+228,
+113,
+40,
+107,
+175,
+77,
+110,
+121,
+120,
+102,
+73,
+253,
+74,
+136,
+167,
+168,
+197,
+124,
+228,
+52,
+203,
+245,
+228,
+91,
+136,
+108,
+57,
+118,
+116,
+198,
+204,
+64,
+134,
+170,
+2,
+223,
+119,
+21,
+120,
+220,
+166,
+215,
+113,
+189,
+1,
+167,
+226,
+232,
+202,
+2,
+239,
+253,
+89,
+136,
+224,
+69,
+255,
+174,
+83,
+223,
+170,
+39,
+16,
+49,
+8,
+33,
+145,
+39,
+44,
+145,
+246,
+136,
+5,
+250,
+49,
+189,
+162,
+232,
+129,
+95,
+212,
+251,
+141,
+1,
+100,
+91,
+99,
+221,
+118,
+7,
+142,
+155,
+61,
+244,
+214,
+207,
+96,
+30,
+37,
+177,
+27,
+144,
+204,
+86,
+159,
+68,
+20,
+216,
+54,
+174,
+197,
+99,
+136,
+99,
+219,
+161,
+56,
+161,
+191,
+145,
+109,
+133,
+61,
+234,
+251,
+118,
+205,
+181,
+215,
+64,
+132,
+232,
+101,
+72,
+152,
+54,
+27,
+174,
+237,
+98,
+100,
+101,
+209,
+54,
+94,
+134,
+77,
+102,
+251,
+239,
+122,
+234,
+113,
+2,
+34,
+78,
+88,
+34,
+238,
+17,
+29,
+218,
+49,
+191,
+162,
+136,
+201,
+175,
+143,
+251,
+77,
+72,
+240,
+34,
+246,
+132,
+37,
+226,
+30,
+209,
+161,
+27,
+15,
+43,
+138,
+152,
+91,
+168,
+232,
+247,
+155,
+144,
+224,
+69,
+236,
+9,
+75,
+196,
+61,
+162,
+210,
+140,
+249,
+21,
+69,
+76,
+126,
+125,
+220,
+111,
+66,
+66,
+41,
+98,
+78,
+88,
+250,
+217,
+35,
+142,
+249,
+21,
+69,
+76,
+126,
+125,
+220,
+111,
+194,
+4,
+3,
+225,
+231,
+154,
+209,
+39,
+108,
+108,
+196,
+20,
+80,
+74,
+19,
+123,
+203,
+19,
+155,
+95,
+212,
+251,
+13,
+1,
+162,
+48,
+179,
+86,
+119,
+165,
+249,
+246,
+144,
+252,
+136,
+32,
+182,
+250,
+107,
+84,
+208,
+21,
+177,
+16,
+57,
+206,
+187,
+4,
+177,
+247,
+95,
+181,
+97,
+255,
+214,
+82,
+62,
+39,
+20,
+202,
+47,
+3,
+30,
+172,
+104,
+183,
+10,
+185,
+210,
+240,
+131,
+21,
+116,
+239,
+82,
+154,
+39,
+129,
+85,
+60,
+245,
+43,
+146,
+219,
+44,
+236,
+81,
+193,
+103,
+71,
+165,
+185,
+135,
+190,
+3,
+240,
+208,
+49,
+96,
+228,
+120,
+0,
+227,
+96,
+69,
+17,
+147,
+95,
+31,
+247,
+27,
+10,
+242,
+179,
+241,
+42,
+75,
+187,
+131,
+148,
+230,
+212,
+26,
+94,
+22,
+54,
+247,
+226,
+127,
+200,
+163,
+254,
+160,
+99,
+118,
+32,
+155,
+117,
+5,
+191,
+237,
+181,
+221,
+23,
+157,
+178,
+12,
+217,
+86,
+253,
+179,
+166,
+237,
+183,
+181,
+109,
+105,
+92,
+65,
+114,
+205,
+254,
+129,
+21,
+52,
+86,
+72,
+60,
+130,
+39,
+211,
+51,
+18,
+142,
+204,
+190,
+223,
+119,
+135,
+222,
+91,
+107,
+208,
+49,
+96,
+228,
+68,
+5,
+241,
+87,
+20,
+67,
+255,
+98,
+247,
+1,
+36,
+98,
+51,
+136,
+243,
+210,
+64,
+40,
+50,
+96,
+9,
+242,
+120,
+123,
+111,
+170,
+225,
+101,
+81,
+52,
+65,
+222,
+20,
+248,
+179,
+214,
+45,
+160,
+196,
+4,
+216,
+195,
+239,
+11,
+218,
+102,
+123,
+167,
+204,
+70,
+50,
+174,
+244,
+182,
+100,
+228,
+42,
+224,
+205,
+158,
+122,
+27,
+69,
+107,
+186,
+111,
+98,
+23,
+104,
+109,
+223,
+127,
+229,
+169,
+179,
+130,
+198,
+155,
+216,
+53,
+58,
+232,
+24,
+48,
+114,
+34,
+130,
+200,
+95,
+216,
+216,
+252,
+70,
+27,
+136,
+89,
+44,
+120,
+108,
+227,
+129,
+29,
+180,
+110,
+10,
+53,
+153,
+145,
+203,
+4,
+128,
+214,
+101,
+192,
+201,
+90,
+127,
+23,
+97,
+137,
+69,
+143,
+87,
+250,
+181,
+157,
+178,
+119,
+106,
+217,
+71,
+3,
+218,
+219,
+201,
+57,
+224,
+17,
+75,
+190,
+242,
+25,
+136,
+150,
+236,
+161,
+93,
+151,
+220,
+7,
+96,
+43,
+167,
+124,
+67,
+196,
+154,
+113,
+38,
+195,
+178,
+206,
+164,
+99,
+192,
+200,
+132,
+132,
+34,
+200,
+191,
+180,
+103,
+120,
+234,
+78,
+209,
+186,
+111,
+5,
+240,
+41,
+21,
+0,
+90,
+191,
+6,
+185,
+147,
+207,
+7,
+2,
+248,
+93,
+13,
+60,
+84,
+40,
+179,
+118,
+23,
+181,
+81,
+131,
+24,
+185,
+10,
+112,
+3,
+162,
+174,
+163,
+2,
+124,
+22,
+129,
+31,
+77,
+96,
+95,
+229,
+243,
+63,
+59,
+7,
+201,
+205,
+189,
+27,
+133,
+224,
+31,
+115,
+32,
+82,
+60,
+123,
+135,
+95,
+148,
+56,
+251,
+9,
+195,
+1,
+226,
+33,
+103,
+93,
+110,
+215,
+116,
+202,
+87,
+213,
+242,
+133,
+192,
+122,
+1,
+124,
+42,
+5,
+128,
+210,
+216,
+128,
+156,
+94,
+167,
+29,
+90,
+160,
+166,
+79,
+118,
+21,
+112,
+170,
+83,
+102,
+19,
+122,
+252,
+180,
+238,
+158,
+156,
+54,
+75,
+2,
+215,
+104,
+187,
+47,
+145,
+235,
+6,
+38,
+19,
+176,
+154,
+137,
+2,
+58,
+166,
+61,
+42,
+225,
+25,
+45,
+158,
+189,
+195,
+179,
+83,
+156,
+125,
+82,
+26,
+176,
+74,
+32,
+91,
+16,
+235,
+82,
+91,
+186,
+5,
+1,
+54,
+82,
+154,
+218,
+173,
+7,
+185,
+59,
+243,
+126,
+78,
+153,
+77,
+144,
+113,
+118,
+85,
+91,
+135,
+222,
+162,
+74,
+0,
+236,
+175,
+52,
+94,
+227,
+40,
+224,
+88,
+253,
+119,
+186,
+210,
+93,
+227,
+148,
+29,
+139,
+172,
+32,
+30,
+118,
+203,
+106,
+250,
+100,
+87,
+1,
+11,
+144,
+37,
+251,
+242,
+200,
+137,
+204,
+28,
+26,
+186,
+244,
+34,
+122,
+131,
+133,
+58,
+71,
+238,
+69,
+182,
+4,
+175,
+107,
+194,
+163,
+53,
+136,
+148,
+246,
+168,
+192,
+51,
+106,
+60,
+123,
+229,
+25,
+35,
+206,
+254,
+132,
+73,
+3,
+214,
+22,
+228,
+138,
+169,
+82,
+37,
+36,
+240,
+93,
+165,
+249,
+99,
+0,
+191,
+173,
+149,
+246,
+122,
+167,
+204,
+10,
+226,
+247,
+214,
+180,
+173,
+68,
+129,
+214,
+134,
+227,
+122,
+162,
+134,
+167,
+141,
+219,
+183,
+135,
+83,
+182,
+188,
+142,
+173,
+63,
+212,
+221,
+79,
+129,
+151,
+93,
+5,
+28,
+65,
+190,
+218,
+109,
+101,
+73,
+73,
+110,
+215,
+1,
+240,
+235,
+54,
+60,
+218,
+92,
+52,
+90,
+218,
+163,
+66,
+187,
+232,
+241,
+236,
+137,
+16,
+103,
+95,
+249,
+244,
+146,
+6,
+172,
+112,
+141,
+12,
+9,
+38,
+81,
+171,
+87,
+33,
+242,
+234,
+139,
+142,
+201,
+88,
+201,
+163,
+233,
+122,
+143,
+33,
+245,
+222,
+166,
+40,
+77,
+80,
+134,
+40,
+242,
+208,
+90,
+47,
+37,
+87,
+92,
+62,
+140,
+19,
+59,
+176,
+164,
+157,
+181,
+122,
+180,
+184,
+214,
+41,
+187,
+164,
+64,
+107,
+39,
+246,
+188,
+26,
+158,
+7,
+40,
+157,
+187,
+119,
+183,
+1,
+77,
+188,
+201,
+58,
+42,
+120,
+217,
+85,
+192,
+44,
+125,
+38,
+243,
+105,
+169,
+180,
+3,
+246,
+113,
+238,
+179,
+113,
+0,
+211,
+54,
+23,
+140,
+154,
+246,
+104,
+60,
+129,
+142,
+105,
+192,
+60,
+147,
+118,
+46,
+98,
+172,
+113,
+1,
+226,
+137,
+182,
+159,
+62,
+175,
+223,
+214,
+240,
+9,
+89,
+125,
+61,
+68,
+33,
+204,
+86,
+13,
+207,
+78,
+201,
+88,
+129,
+101,
+144,
+179,
+105,
+240,
+8,
+124,
+224,
+245,
+90,
+231,
+61,
+222,
+43,
+225,
+249,
+121,
+109,
+115,
+32,
+185,
+178,
+205,
+27,
+135,
+175,
+164,
+189,
+69,
+213,
+22,
+224,
+163,
+74,
+83,
+25,
+172,
+22,
+9,
+171,
+182,
+0,
+120,
+154,
+83,
+182,
+167,
+182,
+13,
+118,
+119,
+119,
+218,
+126,
+219,
+233,
+95,
+171,
+47,
+55,
+226,
+225,
+249,
+48,
+162,
+245,
+159,
+133,
+108,
+71,
+106,
+117,
+35,
+157,
+64,
+15,
+105,
+143,
+38,
+2,
+60,
+147,
+246,
+14,
+157,
+180,
+247,
+144,
+251,
+118,
+131,
+124,
+201,
+189,
+249,
+223,
+148,
+79,
+211,
+213,
+87,
+168,
+87,
+98,
+231,
+100,
+172,
+192,
+225,
+122,
+221,
+95,
+120,
+234,
+236,
+17,
+90,
+169,
+129,
+143,
+167,
+205,
+106,
+58,
+206,
+46,
+35,
+95,
+254,
+7,
+235,
+131,
+2,
+5,
+128,
+205,
+72,
+52,
+201,
+83,
+231,
+238,
+245,
+31,
+211,
+177,
+236,
+150,
+93,
+171,
+109,
+255,
+68,
+192,
+254,
+191,
+192,
+123,
+21,
+167,
+127,
+175,
+14,
+109,
+87,
+224,
+113,
+168,
+182,
+255,
+46,
+121,
+124,
+197,
+147,
+218,
+240,
+106,
+114,
+209,
+232,
+105,
+143,
+148,
+46,
+218,
+146,
+54,
+38,
+175,
+24,
+40,
+76,
+218,
+211,
+128,
+13,
+11,
+245,
+27,
+147,
+235,
+24,
+230,
+80,
+72,
+78,
+233,
+208,
+181,
+89,
+125,
+221,
+194,
+144,
+142,
+106,
+201,
+141,
+89,
+30,
+193,
+209,
+68,
+35,
+123,
+101,
+235,
+132,
+84,
+106,
+226,
+91,
+194,
+243,
+68,
+125,
+127,
+139,
+128,
+203,
+26,
+182,
+181,
+168,
+18,
+0,
+231,
+42,
+205,
+128,
+209,
+26,
+45,
+16,
+187,
+127,
+21,
+109,
+55,
+66,
+86,
+144,
+15,
+34,
+38,
+194,
+107,
+144,
+219,
+6,
+116,
+218,
+238,
+214,
+93,
+184,
+143,
+180,
+71,
+209,
+20,
+138,
+49,
+121,
+41,
+191,
+78,
+194,
+132,
+145,
+147,
+246,
+119,
+120,
+38,
+45,
+240,
+33,
+173,
+183,
+198,
+60,
+215,
+151,
+208,
+181,
+93,
+125,
+5,
+229,
+180,
+139,
+1,
+228,
+24,
+10,
+156,
+21,
+31,
+240,
+97,
+45,
+107,
+52,
+129,
+181,
+173,
+221,
+138,
+64,
+243,
+112,
+102,
+22,
+101,
+118,
+0,
+27,
+147,
+167,
+219,
+42,
+53,
+9,
+38,
+87,
+72,
+126,
+163,
+80,
+254,
+16,
+112,
+121,
+147,
+62,
+53,
+233,
+95,
+77,
+91,
+27,
+219,
+97,
+31,
+167,
+236,
+123,
+90,
+118,
+126,
+219,
+62,
+133,
+92,
+56,
+106,
+218,
+35,
+226,
+230,
+81,
+143,
+170,
+156,
+36,
+130,
+48,
+33,
+159,
+180,
+179,
+240,
+56,
+174,
+32,
+146,
+251,
+97,
+29,
+136,
+111,
+35,
+159,
+180,
+3,
+138,
+50,
+198,
+199,
+234,
+235,
+255,
+244,
+154,
+238,
+57,
+183,
+253,
+202,
+238,
+21,
+202,
+199,
+105,
+187,
+190,
+182,
+157,
+14,
+172,
+208,
+176,
+173,
+133,
+207,
+18,
+240,
+233,
+228,
+138,
+194,
+201,
+84,
+175,
+166,
+62,
+169,
+116,
+174,
+80,
+123,
+166,
+150,
+5,
+47,
+251,
+155,
+244,
+175,
+166,
+157,
+213,
+167,
+220,
+204,
+200,
+248,
+133,
+171,
+146,
+27,
+26,
+213,
+70,
+24,
+110,
+5,
+34,
+166,
+61,
+34,
+162,
+66,
+49,
+38,
+47,
+165,
+137,
+34,
+76,
+28,
+26,
+239,
+209,
+23,
+121,
+84,
+216,
+159,
+233,
+111,
+27,
+231,
+221,
+183,
+36,
+109,
+187,
+250,
+42,
+85,
+90,
+18,
+127,
+197,
+244,
+76,
+125,
+110,
+51,
+145,
+176,
+213,
+107,
+33,
+194,
+173,
+109,
+68,
+98,
+155,
+246,
+186,
+241,
+68,
+115,
+250,
+239,
+102,
+36,
+90,
+2,
+216,
+22,
+184,
+82,
+235,
+102,
+81,
+51,
+1,
+129,
+159,
+43,
+237,
+115,
+157,
+50,
+155,
+29,
+168,
+117,
+64,
+78,
+95,
+255,
+2,
+218,
+44,
+129,
+132,
+41,
+3,
+143,
+179,
+15,
+240,
+45,
+173,
+187,
+145,
+62,
+182,
+126,
+68,
+76,
+123,
+68,
+68,
+133,
+98,
+100,
+94,
+49,
+5,
+147,
+157,
+180,
+251,
+123,
+234,
+172,
+119,
+217,
+221,
+232,
+215,
+141,
+138,
+44,
+49,
+180,
+95,
+125,
+61,
+94,
+82,
+223,
+215,
+113,
+174,
+53,
+73,
+221,
+25,
+216,
+91,
+255,
+127,
+98,
+72,
+219,
+2,
+159,
+165,
+16,
+129,
+4,
+240,
+178,
+22,
+237,
+45,
+236,
+49,
+224,
+181,
+228,
+46,
+211,
+32,
+199,
+203,
+175,
+8,
+224,
+115,
+62,
+98,
+155,
+146,
+57,
+101,
+246,
+196,
+230,
+13,
+77,
+251,
+229,
+233,
+95,
+19,
+1,
+176,
+151,
+182,
+185,
+180,
+164,
+126,
+37,
+36,
+38,
+39,
+120,
+18,
+157,
+116,
+6,
+17,
+211,
+30,
+17,
+113,
+73,
+27,
+153,
+87,
+76,
+97,
+226,
+157,
+180,
+200,
+215,
+209,
+166,
+198,
+122,
+171,
+83,
+110,
+245,
+1,
+143,
+122,
+120,
+181,
+93,
+125,
+45,
+240,
+212,
+245,
+118,
+156,
+75,
+158,
+24,
+227,
+120,
+224,
+239,
+250,
+255,
+70,
+19,
+5,
+57,
+86,
+180,
+167,
+10,
+23,
+52,
+105,
+235,
+240,
+40,
+98,
+54,
+114,
+234,
+114,
+38,
+240,
+113,
+2,
+35,
+24,
+33,
+123,
+253,
+127,
+23,
+202,
+78,
+80,
+158,
+149,
+227,
+35,
+176,
+127,
+65,
+2,
+0,
+153,
+220,
+86,
+89,
+92,
+149,
+233,
+200,
+206,
+185,
+135,
+136,
+173,
+240,
+38,
+98,
+218,
+35,
+34,
+42,
+20,
+35,
+243,
+138,
+41,
+76,
+188,
+147,
+150,
+252,
+216,
+230,
+228,
+66,
+121,
+213,
+150,
+169,
+237,
+234,
+107,
+154,
+167,
+174,
+183,
+227,
+92,
+68,
+184,
+216,
+112,
+241,
+179,
+144,
+175,
+120,
+169,
+128,
+113,
+218,
+173,
+132,
+40,
+64,
+175,
+32,
+183,
+41,
+120,
+130,
+0,
+15,
+199,
+132,
+126,
+225,
+186,
+93,
+254,
+69,
+255,
+190,
+57,
+100,
+224,
+24,
+99,
+172,
+239,
+243,
+233,
+30,
+18,
+235,
+86,
+121,
+119,
+96,
+63,
+108,
+128,
+145,
+103,
+246,
+204,
+203,
+122,
+118,
+133,
+106,
+120,
+175,
+212,
+191,
+62,
+11,
+193,
+233,
+250,
+247,
+233,
+182,
+0,
+241,
+28,
+219,
+215,
+24,
+243,
+152,
+49,
+166,
+184,
+135,
+92,
+174,
+208,
+206,
+197,
+3,
+250,
+119,
+221,
+192,
+126,
+217,
+120,
+241,
+119,
+121,
+234,
+172,
+146,
+241,
+156,
+44,
+203,
+30,
+242,
+212,
+63,
+133,
+44,
+203,
+30,
+53,
+198,
+88,
+251,
+251,
+218,
+19,
+133,
+44,
+203,
+230,
+24,
+99,
+78,
+49,
+198,
+172,
+105,
+228,
+190,
+79,
+200,
+178,
+44,
+228,
+136,
+108,
+145,
+49,
+102,
+101,
+99,
+204,
+22,
+198,
+152,
+101,
+140,
+140,
+181,
+151,
+100,
+89,
+118,
+71,
+64,
+219,
+132,
+30,
+225,
+10,
+128,
+51,
+140,
+76,
+178,
+101,
+141,
+49,
+135,
+213,
+180,
+251,
+137,
+145,
+1,
+125,
+179,
+49,
+230,
+175,
+158,
+122,
+155,
+81,
+40,
+200,
+218,
+204,
+24,
+51,
+75,
+255,
+250,
+194,
+28,
+197,
+228,
+21,
+83,
+152,
+216,
+201,
+181,
+142,
+49,
+198,
+32,
+75,
+232,
+99,
+140,
+49,
+75,
+26,
+99,
+246,
+203,
+178,
+172,
+24,
+74,
+202,
+78,
+218,
+251,
+61,
+188,
+174,
+214,
+191,
+161,
+89,
+100,
+172,
+64,
+242,
+153,
+81,
+199,
+20,
+114,
+3,
+200,
+178,
+236,
+19,
+89,
+142,
+111,
+7,
+182,
+153,
+145,
+101,
+217,
+58,
+89,
+150,
+45,
+147,
+101,
+217,
+74,
+89,
+150,
+189,
+61,
+203,
+178,
+59,
+3,
+251,
+151,
+208,
+35,
+158,
+18,
+0,
+89,
+150,
+205,
+53,
+198,
+124,
+220,
+24,
+179,
+208,
+24,
+179,
+43,
+21,
+105,
+143,
+140,
+49,
+187,
+25,
+99,
+230,
+26,
+99,
+62,
+146,
+101,
+217,
+66,
+15,
+223,
+25,
+250,
+119,
+57,
+79,
+157,
+15,
+85,
+95,
+199,
+152,
+188,
+98,
+10,
+19,
+59,
+249,
+236,
+196,
+217,
+215,
+200,
+228,
+59,
+47,
+203,
+50,
+95,
+54,
+88,
+75,
+119,
+165,
+167,
+174,
+237,
+234,
+107,
+192,
+175,
+222,
+196,
+21,
+114,
+9,
+139,
+57,
+70,
+68,
+94,
+201,
+178,
+236,
+28,
+99,
+204,
+123,
+141,
+49,
+79,
+24,
+99,
+118,
+49,
+198,
+76,
+193,
+73,
+123,
+100,
+100,
+201,
+185,
+171,
+49,
+230,
+65,
+99,
+204,
+142,
+89,
+150,
+149,
+125,
+101,
+218,
+46,
+105,
+125,
+95,
+199,
+152,
+188,
+98,
+10,
+147,
+127,
+232,
+223,
+29,
+16,
+141,
+243,
+119,
+140,
+8,
+150,
+189,
+139,
+132,
+1,
+91,
+166,
+54,
+171,
+175,
+27,
+77,
+46,
+56,
+92,
+196,
+20,
+114,
+227,
+2,
+136,
+157,
+197,
+41,
+148,
+28,
+143,
+33,
+217,
+129,
+254,
+136,
+39,
+100,
+151,
+214,
+23,
+209,
+58,
+200,
+40,
+18,
+196,
+117,
+111,
+224,
+31,
+192,
+125,
+136,
+237,
+197,
+52,
+228,
+136,
+239,
+135,
+56,
+14,
+113,
+37,
+237,
+59,
+185,
+168,
+211,
+209,
+249,
+203,
+50,
+233,
+148,
+246,
+136,
+184,
+10,
+197,
+152,
+188,
+98,
+158,
+116,
+44,
+67,
+158,
+196,
+209,
+42,
+210,
+6,
+142,
+4,
+149,
+182,
+54,
+83,
+44,
+205,
+146,
+78,
+206,
+162,
+228,
+152,
+139,
+136,
+199,
+185,
+227,
+5,
+58,
+232,
+209,
+231,
+252,
+101,
+224,
+6,
+125,
+39,
+147,
+145,
+99,
+189,
+83,
+181,
+222,
+39,
+48,
+125,
+199,
+138,
+173,
+130,
+140,
+34,
+169,
+207,
+111,
+119,
+218,
+77,
+69,
+20,
+159,
+55,
+146,
+91,
+38,
+86,
+230,
+112,
+164,
+163,
+139,
+58,
+29,
+157,
+191,
+162,
+128,
+136,
+121,
+212,
+35,
+243,
+138,
+38,
+76,
+180,
+126,
+123,
+231,
+197,
+78,
+7,
+54,
+45,
+212,
+55,
+202,
+20,
+75,
+120,
+210,
+201,
+109,
+43,
+120,
+68,
+19,
+114,
+49,
+64,
+216,
+241,
+226,
+234,
+192,
+33,
+136,
+127,
+195,
+92,
+202,
+225,
+245,
+55,
+64,
+162,
+232,
+252,
+202,
+161,
+187,
+29,
+17,
+162,
+147,
+157,
+178,
+83,
+40,
+113,
+55,
+118,
+104,
+90,
+7,
+25,
+5,
+94,
+64,
+46,
+124,
+255,
+11,
+108,
+83,
+168,
+95,
+11,
+137,
+16,
+84,
+155,
+48,
+148,
+14,
+46,
+234,
+68,
+112,
+254,
+234,
+12,
+34,
+230,
+81,
+143,
+204,
+43,
+154,
+48,
+81,
+154,
+103,
+146,
+219,
+3,
+128,
+56,
+108,
+220,
+197,
+160,
+197,
+93,
+112,
+166,
+88,
+6,
+87,
+95,
+11,
+201,
+133,
+204,
+69,
+212,
+251,
+40,
+68,
+21,
+114,
+129,
+60,
+90,
+135,
+144,
+215,
+251,
+181,
+95,
+205,
+219,
+129,
+99,
+128,
+163,
+129,
+91,
+157,
+231,
+119,
+55,
+226,
+33,
+87,
+122,
+239,
+228,
+246,
+242,
+199,
+49,
+210,
+97,
+201,
+90,
+28,
+126,
+161,
+162,
+173,
+69,
+171,
+32,
+163,
+74,
+99,
+45,
+16,
+175,
+37,
+66,
+204,
+126,
+58,
+186,
+168,
+143,
+58,
+136,
+152,
+71,
+61,
+22,
+47,
+34,
+10,
+19,
+165,
+57,
+70,
+105,
+14,
+71,
+246,
+138,
+255,
+209,
+151,
+22,
+37,
+83,
+172,
+115,
+29,
+43,
+184,
+102,
+2,
+149,
+186,
+16,
+34,
+11,
+185,
+192,
+254,
+29,
+71,
+203,
+16,
+242,
+192,
+79,
+245,
+250,
+255,
+194,
+49,
+224,
+65,
+246,
+237,
+103,
+107,
+93,
+109,
+48,
+76,
+100,
+245,
+48,
+3,
+88,
+190,
+80,
+158,
+33,
+1,
+54,
+7,
+220,
+130,
+29,
+26,
+139,
+86,
+65,
+70,
+201,
+45,
+63,
+33,
+32,
+136,
+232,
+132,
+1,
+17,
+243,
+168,
+199,
+226,
+69,
+92,
+193,
+180,
+2,
+146,
+66,
+189,
+215,
+220,
+121,
+200,
+18,
+215,
+46,
+103,
+47,
+5,
+158,
+94,
+65,
+27,
+85,
+200,
+5,
+246,
+175,
+117,
+8,
+121,
+114,
+147,
+224,
+29,
+61,
+117,
+111,
+214,
+186,
+255,
+5,
+244,
+97,
+54,
+37,
+201,
+57,
+144,
+85,
+209,
+204,
+138,
+182,
+22,
+173,
+130,
+140,
+34,
+43,
+22,
+40,
+49,
+227,
+29,
+22,
+144,
+109,
+198,
+65,
+136,
+192,
+155,
+129,
+8,
+247,
+255,
+34,
+65,
+74,
+26,
+101,
+75,
+50,
+192,
+243,
+145,
+101,
+213,
+165,
+200,
+87,
+109,
+46,
+98,
+111,
+125,
+35,
+98,
+6,
+250,
+57,
+28,
+39,
+138,
+10,
+62,
+209,
+242,
+168,
+199,
+226,
+69,
+68,
+193,
+52,
+44,
+32,
+49,
+16,
+173,
+91,
+241,
+5,
+84,
+36,
+153,
+32,
+162,
+144,
+11,
+236,
+91,
+107,
+231,
+20,
+242,
+61,
+255,
+102,
+158,
+186,
+205,
+180,
+110,
+150,
+175,
+109,
+129,
+246,
+118,
+68,
+219,
+62,
+32,
+28,
+17,
+13,
+252,
+109,
+21,
+109,
+67,
+4,
+64,
+105,
+144,
+81,
+157,
+112,
+0,
+223,
+173,
+235,
+103,
+9,
+239,
+5,
+250,
+111,
+243,
+10,
+154,
+45,
+108,
+39,
+75,
+234,
+95,
+69,
+110,
+101,
+57,
+11,
+9,
+117,
+126,
+13,
+249,
+202,
+229,
+30,
+42,
+2,
+210,
+184,
+140,
+150,
+71,
+150,
+116,
+118,
+223,
+185,
+0,
+89,
+94,
+93,
+142,
+104,
+87,
+109,
+148,
+88,
+232,
+224,
+49,
+53,
+218,
+32,
+162,
+96,
+26,
+22,
+16,
+51,
+95,
+27,
+101,
+168,
+50,
+172,
+58,
+227,
+68,
+200,
+145,
+231,
+196,
+27,
+176,
+68,
+36,
+79,
+206,
+225,
+59,
+210,
+45,
+210,
+218,
+40,
+58,
+199,
+48,
+210,
+149,
+214,
+78,
+220,
+210,
+12,
+63,
+206,
+243,
+168,
+18,
+0,
+165,
+65,
+70,
+157,
+231,
+252,
+209,
+186,
+126,
+118,
+184,
+126,
+169,
+0,
+64,
+20,
+125,
+246,
+68,
+234,
+199,
+56,
+66,
+16,
+153,
+207,
+214,
+235,
+241,
+14,
+10,
+91,
+164,
+34,
+163,
+21,
+201,
+195,
+33,
+61,
+12,
+124,
+134,
+194,
+210,
+1,
+89,
+98,
+110,
+143,
+68,
+62,
+45,
+93,
+138,
+38,
+244,
+3,
+96,
+23,
+2,
+61,
+240,
+232,
+81,
+200,
+21,
+132,
+72,
+41,
+159,
+170,
+129,
+171,
+245,
+214,
+49,
+104,
+50,
+78,
+0,
+77,
+36,
+169,
+198,
+127,
+237,
+164,
+174,
+233,
+75,
+230,
+240,
+1,
+249,
+96,
+157,
+236,
+180,
+135,
+138,
+175,
+115,
+224,
+4,
+44,
+13,
+50,
+74,
+67,
+103,
+174,
+150,
+215,
+175,
+18,
+0,
+214,
+255,
+165,
+204,
+147,
+48,
+67,
+20,
+211,
+0,
+159,
+173,
+234,
+136,
+117,
+150,
+185,
+135,
+228,
+168,
+145,
+80,
+1,
+70,
+162,
+42,
+225,
+103,
+157,
+0,
+88,
+93,
+39,
+44,
+136,
+128,
+186,
+65,
+133,
+129,
+221,
+26,
+76,
+193,
+73,
+217,
+85,
+194,
+227,
+56,
+165,
+253,
+13,
+162,
+140,
+189,
+17,
+89,
+6,
+223,
+164,
+191,
+109,
+236,
+127,
+239,
+185,
+122,
+224,
+4,
+252,
+168,
+210,
+12,
+4,
+25,
+37,
+63,
+254,
+251,
+112,
+85,
+63,
+43,
+120,
+119,
+21,
+0,
+151,
+106,
+213,
+167,
+42,
+218,
+127,
+86,
+105,
+46,
+40,
+35,
+120,
+137,
+211,
+145,
+237,
+189,
+68,
+9,
+9,
+10,
+29,
+39,
+139,
+16,
+101,
+211,
+92,
+10,
+49,
+7,
+28,
+186,
+74,
+1,
+160,
+52,
+171,
+146,
+123,
+125,
+46,
+64,
+244,
+18,
+55,
+35,
+231,
+230,
+171,
+5,
+244,
+229,
+173,
+192,
+31,
+40,
+183,
+4,
+92,
+22,
+73,
+178,
+234,
+141,
+242,
+27,
+56,
+1,
+171,
+130,
+140,
+90,
+219,
+139,
+218,
+4,
+174,
+29,
+174,
+95,
+37,
+0,
+108,
+44,
+132,
+82,
+215,
+108,
+224,
+141,
+101,
+2,
+204,
+18,
+28,
+166,
+4,
+215,
+182,
+185,
+137,
+16,
+208,
+33,
+149,
+23,
+49,
+76,
+28,
+19,
+162,
+193,
+25,
+180,
+223,
+210,
+191,
+139,
+86,
+90,
+155,
+0,
+0,
+32,
+0,
+73,
+68,
+65,
+84,
+222,
+140,
+196,
+129,
+2,
+224,
+215,
+136,
+206,
+105,
+167,
+254,
+122,
+92,
+142,
+192,
+9,
+88,
+21,
+100,
+212,
+218,
+94,
+84,
+166,
+18,
+239,
+120,
+253,
+42,
+1,
+96,
+149,
+195,
+85,
+39,
+86,
+175,
+84,
+154,
+1,
+119,
+116,
+75,
+96,
+247,
+254,
+223,
+111,
+115,
+19,
+33,
+160,
+67,
+42,
+47,
+122,
+48,
+113,
+108,
+34,
+144,
+234,
+94,
+18,
+178,
+207,
+178,
+3,
+225,
+34,
+156,
+56,
+243,
+139,
+35,
+156,
+231,
+241,
+108,
+242,
+0,
+40,
+3,
+105,
+189,
+3,
+5,
+192,
+44,
+228,
+200,
+106,
+83,
+106,
+50,
+3,
+247,
+129,
+128,
+119,
+91,
+25,
+100,
+20,
+120,
+175,
+214,
+45,
+4,
+158,
+23,
+251,
+250,
+74,
+83,
+37,
+0,
+108,
+164,
+160,
+170,
+24,
+150,
+219,
+41,
+205,
+64,
+64,
+154,
+34,
+147,
+221,
+155,
+222,
+64,
+8,
+232,
+152,
+202,
+139,
+30,
+76,
+28,
+105,
+32,
+144,
+2,
+6,
+137,
+53,
+104,
+249,
+175,
+237,
+99,
+5,
+143,
+78,
+138,
+51,
+15,
+253,
+174,
+74,
+94,
+155,
+89,
+55,
+128,
+215,
+55,
+156,
+126,
+174,
+82,
+65,
+103,
+177,
+62,
+185,
+130,
+236,
+6,
+10,
+203,
+240,
+144,
+123,
+97,
+164,
+25,
+175,
+139,
+25,
+136,
+113,
+85,
+109,
+134,
+223,
+46,
+168,
+122,
+183,
+4,
+4,
+25,
+69,
+140,
+150,
+172,
+53,
+227,
+165,
+64,
+168,
+179,
+89,
+237,
+245,
+29,
+154,
+42,
+1,
+112,
+145,
+86,
+149,
+42,
+248,
+144,
+99,
+123,
+128,
+139,
+203,
+8,
+236,
+50,
+194,
+171,
+201,
+44,
+121,
+65,
+193,
+241,
+210,
+137,
+148,
+202,
+43,
+22,
+104,
+40,
+144,
+106,
+6,
+137,
+53,
+55,
+189,
+3,
+40,
+117,
+171,
+45,
+60,
+186,
+214,
+138,
+179,
+2,
+173,
+59,
+248,
+158,
+164,
+194,
+62,
+32,
+128,
+151,
+107,
+107,
+0,
+97,
+2,
+96,
+83,
+253,
+125,
+158,
+254,
+254,
+92,
+129,
+174,
+78,
+9,
+248,
+2,
+68,
+121,
+103,
+147,
+97,
+62,
+162,
+255,
+30,
+103,
+100,
+98,
+149,
+248,
+113,
+240,
+6,
+239,
+165,
+117,
+144,
+81,
+36,
+196,
+184,
+85,
+92,
+94,
+173,
+109,
+151,
+40,
+208,
+108,
+4,
+236,
+27,
+114,
+125,
+15,
+77,
+149,
+0,
+176,
+153,
+150,
+188,
+222,
+185,
+140,
+60,
+5,
+248,
+82,
+217,
+5,
+172,
+34,
+225,
+35,
+37,
+245,
+151,
+56,
+255,
+174,
+45,
+235,
+204,
+120,
+1,
+13,
+5,
+82,
+217,
+75,
+34,
+15,
+142,
+249,
+32,
+37,
+138,
+176,
+2,
+143,
+40,
+138,
+51,
+135,
+246,
+51,
+74,
+106,
+99,
+244,
+253,
+40,
+228,
+126,
+60,
+124,
+150,
+67,
+180,
+230,
+247,
+146,
+159,
+41,
+135,
+8,
+128,
+23,
+235,
+239,
+23,
+35,
+10,
+188,
+199,
+113,
+194,
+164,
+215,
+12,
+220,
+237,
+17,
+205,
+255,
+21,
+192,
+11,
+61,
+245,
+43,
+146,
+39,
+30,
+237,
+197,
+89,
+169,
+112,
+47,
+93,
+131,
+140,
+190,
+9,
+57,
+102,
+181,
+120,
+20,
+49,
+198,
+185,
+66,
+199,
+90,
+217,
+115,
+240,
+142,
+173,
+2,
+77,
+213,
+115,
+92,
+158,
+252,
+35,
+240,
+115,
+156,
+179,
+126,
+125,
+175,
+246,
+136,
+244,
+94,
+74,
+86,
+167,
+6,
+152,
+164,
+68,
+7,
+4,
+220,
+104,
+163,
+37,
+106,
+27,
+32,
+103,
+216,
+118,
+223,
+95,
+154,
+117,
+6,
+217,
+159,
+129,
+76,
+168,
+129,
+248,
+252,
+17,
+251,
+51,
+240,
+146,
+144,
+189,
+223,
+66,
+228,
+203,
+235,
+205,
+250,
+83,
+194,
+227,
+91,
+250,
+183,
+181,
+226,
+76,
+233,
+86,
+68,
+4,
+207,
+253,
+200,
+82,
+245,
+106,
+228,
+75,
+245,
+172,
+22,
+247,
+247,
+11,
+189,
+228,
+62,
+206,
+96,
+13,
+17,
+0,
+238,
+243,
+56,
+82,
+203,
+142,
+114,
+202,
+170,
+6,
+174,
+61,
+254,
+219,
+164,
+226,
+58,
+171,
+42,
+77,
+111,
+238,
+172,
+12,
+162,
+85,
+144,
+81,
+229,
+181,
+18,
+226,
+130,
+124,
+62,
+178,
+181,
+156,
+175,
+255,
+30,
+68,
+44,
+56,
+7,
+188,
+52,
+125,
+207,
+210,
+67,
+83,
+183,
+146,
+122,
+33,
+185,
+11,
+243,
+108,
+68,
+240,
+216,
+241,
+128,
+94,
+191,
+60,
+2,
+51,
+249,
+126,
+216,
+191,
+71,
+8,
+236,
+12,
+121,
+134,
+84,
+128,
+15,
+86,
+240,
+120,
+151,
+210,
+60,
+89,
+54,
+208,
+200,
+205,
+85,
+171,
+150,
+203,
+7,
+41,
+205,
+169,
+101,
+52,
+49,
+80,
+124,
+73,
+136,
+82,
+101,
+46,
+34,
+164,
+182,
+109,
+200,
+163,
+179,
+226,
+76,
+233,
+236,
+209,
+212,
+167,
+244,
+247,
+219,
+245,
+247,
+145,
+13,
+239,
+109,
+7,
+109,
+247,
+111,
+196,
+239,
+192,
+42,
+70,
+155,
+10,
+128,
+53,
+144,
+21,
+192,
+83,
+102,
+173,
+53,
+99,
+197,
+46,
+153,
+253,
+95,
+37,
+243,
+212,
+22,
+1,
+96,
+177,
+141,
+31,
+232,
+60,
+239,
+82,
+171,
+76,
+224,
+13,
+74,
+227,
+11,
+78,
+99,
+105,
+86,
+65,
+236,
+254,
+255,
+139,
+40,
+85,
+103,
+34,
+102,
+202,
+223,
+163,
+238,
+227,
+232,
+92,
+0,
+106,
+150,
+197,
+117,
+3,
+148,
+60,
+67,
+170,
+215,
+57,
+67,
+105,
+46,
+86,
+154,
+3,
+43,
+104,
+182,
+81,
+26,
+111,
+230,
+89,
+100,
+159,
+102,
+67,
+96,
+15,
+76,
+36,
+165,
+137,
+178,
+146,
+112,
+7,
+60,
+226,
+170,
+57,
+29,
+249,
+250,
+15,
+36,
+113,
+168,
+184,
+134,
+69,
+12,
+197,
+217,
+154,
+218,
+135,
+187,
+112,
+252,
+220,
+17,
+201,
+63,
+143,
+64,
+67,
+46,
+196,
+16,
+231,
+126,
+229,
+181,
+161,
+150,
+89,
+115,
+239,
+70,
+2,
+64,
+203,
+173,
+178,
+233,
+124,
+253,
+253,
+162,
+178,
+123,
+33,
+223,
+95,
+123,
+93,
+117,
+145,
+252,
+5,
+151,
+43,
+205,
+183,
+67,
+238,
+103,
+60,
+130,
+124,
+245,
+253,
+241,
+10,
+26,
+155,
+197,
+168,
+116,
+78,
+197,
+232,
+200,
+191,
+157,
+65,
+89,
+234,
+74,
+90,
+55,
+64,
+25,
+185,
+10,
+24,
+8,
+195,
+68,
+158,
+108,
+114,
+58,
+53,
+74,
+43,
+100,
+95,
+10,
+254,
+0,
+31,
+246,
+203,
+53,
+133,
+138,
+227,
+35,
+34,
+172,
+36,
+156,
+1,
+191,
+3,
+185,
+208,
+241,
+133,
+247,
+170,
+186,
+23,
+139,
+78,
+138,
+51,
+165,
+177,
+246,
+221,
+123,
+22,
+202,
+173,
+253,
+124,
+80,
+54,
+89,
+114,
+47,
+183,
+61,
+156,
+50,
+171,
+124,
+107,
+35,
+0,
+150,
+210,
+241,
+3,
+240,
+30,
+36,
+194,
+141,
+247,
+94,
+16,
+197,
+153,
+93,
+162,
+254,
+27,
+217,
+171,
+254,
+16,
+248,
+37,
+162,
+217,
+182,
+10,
+201,
+83,
+41,
+9,
+230,
+177,
+56,
+128,
+60,
+148,
+252,
+85,
+248,
+79,
+25,
+50,
+242,
+172,
+65,
+223,
+235,
+179,
+35,
+27,
+146,
+31,
+7,
+222,
+141,
+56,
+64,
+12,
+228,
+109,
+67,
+60,
+143,
+234,
+6,
+168,
+93,
+5,
+252,
+203,
+83,
+103,
+39,
+100,
+173,
+194,
+10,
+248,
+130,
+210,
+14,
+4,
+192,
+68,
+60,
+221,
+160,
+230,
+248,
+139,
+56,
+43,
+9,
+139,
+251,
+116,
+130,
+44,
+212,
+191,
+193,
+137,
+49,
+28,
+30,
+173,
+21,
+103,
+90,
+191,
+33,
+242,
+149,
+190,
+181,
+120,
+63,
+206,
+96,
+89,
+72,
+141,
+247,
+23,
+185,
+121,
+235,
+31,
+11,
+229,
+22,
+141,
+5,
+128,
+214,
+89,
+55,
+222,
+41,
+228,
+57,
+0,
+203,
+238,
+101,
+19,
+100,
+251,
+121,
+51,
+34,
+12,
+22,
+32,
+219,
+194,
+73,
+136,
+99,
+207,
+152,
+241,
+200,
+236,
+11,
+136,
+223,
+131,
+13,
+44,
+115,
+56,
+206,
+156,
+67,
+244,
+60,
+86,
+183,
+242,
+8,
+53,
+102,
+209,
+49,
+58,
+243,
+60,
+242,
+37,
+9,
+58,
+208,
+110,
+38,
+207,
+229,
+126,
+47,
+206,
+241,
+76,
+5,
+31,
+119,
+21,
+176,
+165,
+83,
+190,
+14,
+34,
+217,
+103,
+81,
+227,
+43,
+174,
+244,
+171,
+35,
+75,
+248,
+249,
+56,
+171,
+18,
+68,
+57,
+52,
+71,
+7,
+250,
+122,
+1,
+124,
+58,
+173,
+36,
+156,
+231,
+49,
+21,
+73,
+189,
+101,
+87,
+12,
+247,
+16,
+232,
+107,
+237,
+155,
+52,
+52,
+84,
+156,
+105,
+189,
+141,
+80,
+227,
+77,
+37,
+134,
+228,
+5,
+4,
+143,
+208,
+116,
+104,
+214,
+215,
+65,
+119,
+63,
+133,
+85,
+152,
+211,
+207,
+86,
+2,
+64,
+235,
+255,
+162,
+245,
+7,
+215,
+141,
+149,
+97,
+129,
+6,
+49,
+15,
+128,
+79,
+59,
+247,
+88,
+233,
+121,
+25,
+3,
+58,
+166,
+108,
+112,
+22,
+87,
+137,
+103,
+221,
+121,
+31,
+167,
+16,
+102,
+172,
+207,
+206,
+44,
+1,
+188,
+31,
+89,
+122,
+77,
+33,
+151,
+204,
+51,
+144,
+227,
+134,
+115,
+244,
+197,
+122,
+163,
+172,
+58,
+124,
+236,
+42,
+192,
+205,
+40,
+107,
+7,
+196,
+79,
+27,
+244,
+231,
+183,
+218,
+102,
+63,
+167,
+236,
+83,
+90,
+118,
+118,
+85,
+91,
+135,
+190,
+211,
+74,
+194,
+25,
+12,
+175,
+210,
+223,
+75,
+147,
+71,
+112,
+13,
+50,
+70,
+242,
+77,
+26,
+154,
+43,
+206,
+182,
+68,
+4,
+240,
+13,
+148,
+11,
+171,
+140,
+92,
+136,
+15,
+28,
+95,
+233,
+251,
+189,
+72,
+249,
+248,
+148,
+144,
+22,
+93,
+4,
+192,
+198,
+228,
+74,
+82,
+239,
+189,
+244,
+1,
+58,
+132,
+39,
+115,
+120,
+188,
+72,
+199,
+250,
+52,
+253,
+55,
+3,
+120,
+65,
+191,
+61,
+55,
+6,
+217,
+46,
+253,
+28,
+57,
+29,
+153,
+173,
+215,
+189,
+30,
+217,
+34,
+4,
+127,
+249,
+233,
+24,
+89,
+56,
+26,
+200,
+87,
+1,
+11,
+144,
+101,
+235,
+242,
+200,
+249,
+234,
+28,
+224,
+217,
+13,
+248,
+216,
+60,
+238,
+215,
+59,
+101,
+246,
+38,
+223,
+27,
+200,
+163,
+211,
+74,
+162,
+100,
+242,
+110,
+66,
+46,
+181,
+107,
+61,
+193,
+202,
+38,
+13,
+205,
+20,
+103,
+255,
+12,
+185,
+111,
+100,
+255,
+13,
+112,
+174,
+167,
+206,
+250,
+200,
+123,
+67,
+144,
+59,
+253,
+108,
+45,
+0,
+148,
+230,
+71,
+14,
+221,
+176,
+4,
+192,
+113,
+180,
+12,
+79,
+166,
+237,
+215,
+66,
+162,
+20,
+77,
+3,
+94,
+13,
+188,
+14,
+153,
+136,
+119,
+16,
+176,
+98,
+29,
+11,
+160,
+99,
+100,
+225,
+216,
+157,
+177,
+171,
+128,
+35,
+200,
+151,
+85,
+71,
+213,
+183,
+28,
+224,
+99,
+61,
+174,
+94,
+138,
+216,
+140,
+131,
+196,
+44,
+8,
+86,
+14,
+209,
+97,
+37,
+81,
+54,
+224,
+201,
+181,
+179,
+79,
+226,
+248,
+179,
+55,
+228,
+17,
+172,
+56,
+139,
+1,
+242,
+227,
+183,
+91,
+116,
+114,
+20,
+255,
+89,
+88,
+215,
+92,
+95,
+88,
+116,
+239,
+189,
+20,
+104,
+86,
+162,
+194,
+0,
+166,
+15,
+208,
+33,
+60,
+153,
+182,
+185,
+10,
+89,
+245,
+190,
+216,
+41,
+123,
+41,
+114,
+218,
+226,
+203,
+196,
+52,
+38,
+65,
+135,
+200,
+194,
+177,
+59,
+98,
+87,
+1,
+179,
+244,
+193,
+206,
+175,
+155,
+40,
+37,
+124,
+172,
+185,
+227,
+129,
+228,
+246,
+234,
+63,
+110,
+200,
+163,
+245,
+74,
+162,
+106,
+192,
+3,
+103,
+105,
+221,
+37,
+84,
+236,
+51,
+107,
+120,
+4,
+43,
+206,
+186,
+130,
+22,
+232,
+163,
+31,
+37,
+125,
+235,
+20,
+215,
+142,
+14,
+225,
+201,
+22,
+55,
+48,
+86,
+34,
+11,
+147,
+175,
+2,
+0,
+126,
+221,
+146,
+199,
+106,
+200,
+190,
+200,
+42,
+35,
+161,
+197,
+190,
+140,
+150,
+43,
+137,
+154,
+201,
+187,
+38,
+249,
+146,
+235,
+235,
+109,
+120,
+104,
+253,
+152,
+80,
+156,
+57,
+253,
+44,
+221,
+2,
+244,
+116,
+221,
+56,
+113,
+237,
+18,
+226,
+129,
+14,
+62,
+252,
+14,
+143,
+85,
+156,
+65,
+245,
+234,
+14,
+125,
+57,
+17,
+57,
+149,
+88,
+4,
+92,
+214,
+146,
+71,
+171,
+149,
+68,
+192,
+228,
+125,
+155,
+214,
+207,
+167,
+100,
+201,
+21,
+192,
+99,
+84,
+20,
+103,
+158,
+126,
+12,
+93,
+0,
+16,
+41,
+174,
+29,
+221,
+87,
+16,
+209,
+34,
+235,
+34,
+167,
+103,
+181,
+122,
+135,
+26,
+30,
+157,
+231,
+95,
+39,
+208,
+193,
+135,
+191,
+192,
+167,
+114,
+240,
+7,
+242,
+216,
+202,
+225,
+243,
+177,
+150,
+60,
+90,
+173,
+36,
+66,
+250,
+143,
+232,
+57,
+64,
+246,
+214,
+3,
+131,
+52,
+144,
+199,
+208,
+21,
+103,
+158,
+62,
+140,
+134,
+0,
+232,
+28,
+215,
+142,
+142,
+43,
+136,
+174,
+237,
+61,
+252,
+126,
+5,
+124,
+38,
+148,
+190,
+132,
+71,
+163,
+249,
+71,
+228,
+208,
+224,
+157,
+124,
+248,
+11,
+188,
+106,
+7,
+127,
+0,
+15,
+187,
+55,
+158,
+142,
+199,
+64,
+169,
+1,
+159,
+206,
+43,
+137,
+150,
+215,
+13,
+17,
+0,
+67,
+87,
+156,
+121,
+250,
+208,
+73,
+0,
+208,
+34,
+65,
+38,
+29,
+227,
+218,
+209,
+113,
+5,
+209,
+181,
+125,
+31,
+104,
+58,
+255,
+136,
+189,
+133,
+34,
+162,
+15,
+127,
+36,
+1,
+96,
+253,
+238,
+143,
+237,
+216,
+151,
+206,
+43,
+137,
+4,
+63,
+104,
+153,
+32,
+147,
+142,
+113,
+237,
+232,
+184,
+130,
+232,
+218,
+190,
+15,
+52,
+153,
+127,
+99,
+81,
+128,
+21,
+59,
+216,
+73,
+0,
+32,
+71,
+101,
+119,
+42,
+143,
+114,
+183,
+198,
+48,
+94,
+81,
+86,
+18,
+9,
+35,
+65,
+135,
+4,
+153,
+116,
+140,
+107,
+71,
+247,
+21,
+68,
+140,
+21,
+72,
+40,
+46,
+41,
+187,
+70,
+91,
+208,
+82,
+128,
+141,
+139,
+35,
+19,
+68,
+67,
+127,
+168,
+49,
+102,
+125,
+99,
+204,
+133,
+89,
+150,
+117,
+61,
+143,
+181,
+38,
+180,
+167,
+100,
+89,
+54,
+163,
+35,
+175,
+4,
+35,
+3,
+204,
+24,
+115,
+130,
+49,
+102,
+101,
+99,
+204,
+117,
+198,
+152,
+173,
+179,
+44,
+27,
+225,
+186,
+154,
+101,
+217,
+131,
+198,
+24,
+111,
+10,
+117,
+99,
+204,
+52,
+99,
+204,
+106,
+198,
+152,
+42,
+129,
+188,
+162,
+67,
+91,
+132,
+205,
+204,
+124,
+99,
+69,
+123,
+123,
+252,
+235,
+91,
+6,
+119,
+109,
+191,
+192,
+24,
+19,
+154,
+26,
+172,
+52,
+79,
+97,
+7,
+216,
+128,
+170,
+222,
+116,
+112,
+89,
+150,
+129,
+56,
+136,
+189,
+220,
+24,
+243,
+110,
+99,
+204,
+207,
+70,
+16,
+16,
+33,
+61,
+81,
+21,
+28,
+233,
+23,
+180,
+2,
+64,
+246,
+194,
+215,
+171,
+212,
+178,
+251,
+154,
+39,
+232,
+152,
+175,
+128,
+136,
+43,
+137,
+132,
+28,
+116,
+76,
+144,
+73,
+199,
+184,
+118,
+116,
+95,
+65,
+116,
+143,
+172,
+27,
+1,
+180,
+84,
+226,
+209,
+53,
+52,
+120,
+200,
+4,
+237,
+34,
+0,
+154,
+2,
+73,
+188,
+121,
+47,
+185,
+2,
+233,
+76,
+2,
+114,
+17,
+214,
+240,
+92,
+134,
+60,
+60,
+210,
+5,
+145,
+186,
+106,
+121,
+23,
+49,
+23,
+217,
+147,
+253,
+3,
+248,
+24,
+53,
+6,
+42,
+228,
+129,
+39,
+75,
+51,
+225,
+146,
+251,
+51,
+84,
+126,
+105,
+104,
+17,
+66,
+189,
+235,
+251,
+167,
+99,
+130,
+76,
+58,
+198,
+181,
+163,
+99,
+100,
+220,
+174,
+237,
+99,
+128,
+14,
+74,
+60,
+186,
+10,
+176,
+174,
+3,
+96,
+172,
+130,
+158,
+86,
+18,
+158,
+235,
+88,
+216,
+184,
+114,
+87,
+58,
+215,
+3,
+9,
+128,
+82,
+26,
+45,
+150,
+220,
+142,
+224,
+94,
+252,
+57,
+232,
+151,
+32,
+87,
+174,
+13,
+228,
+209,
+43,
+208,
+54,
+14,
+161,
+222,
+245,
+253,
+211,
+61,
+65,
+102,
+167,
+184,
+118,
+116,
+95,
+65,
+116,
+143,
+172,
+59,
+72,
+255,
+107,
+2,
+143,
+1,
+233,
+126,
+138,
+209,
+77,
+128,
+117,
+29,
+0,
+99,
+21,
+244,
+176,
+146,
+40,
+185,
+206,
+192,
+243,
+67,
+38,
+237,
+174,
+228,
+19,
+242,
+59,
+21,
+237,
+109,
+30,
+123,
+240,
+231,
+160,
+183,
+2,
+226,
+22,
+106,
+98,
+231,
+211,
+34,
+132,
+122,
+215,
+247,
+79,
+199,
+4,
+153,
+202,
+163,
+117,
+92,
+59,
+186,
+175,
+32,
+186,
+71,
+214,
+29,
+108,
+115,
+51,
+112,
+116,
+32,
+109,
+215,
+83,
+140,
+110,
+2,
+172,
+235,
+0,
+152,
+232,
+168,
+122,
+126,
+192,
+207,
+180,
+174,
+74,
+193,
+100,
+128,
+15,
+41,
+221,
+149,
+158,
+186,
+127,
+104,
+221,
+39,
+98,
+246,
+219,
+225,
+223,
+233,
+253,
+211,
+49,
+65,
+166,
+195,
+167,
+85,
+92,
+59,
+186,
+175,
+32,
+186,
+71,
+214,
+237,
+118,
+223,
+93,
+79,
+33,
+186,
+9,
+176,
+174,
+3,
+192,
+211,
+153,
+115,
+129,
+29,
+156,
+178,
+231,
+33,
+174,
+154,
+222,
+32,
+22,
+227,
+29,
+85,
+207,
+15,
+137,
+173,
+0,
+48,
+167,
+134,
+135,
+171,
+160,
+220,
+202,
+41,
+223,
+4,
+49,
+90,
+122,
+136,
+158,
+50,
+50,
+119,
+125,
+255,
+116,
+76,
+144,
+25,
+3,
+116,
+140,
+140,
+219,
+181,
+125,
+199,
+190,
+119,
+181,
+131,
+232,
+38,
+192,
+186,
+14,
+128,
+2,
+221,
+1,
+228,
+246,
+203,
+23,
+35,
+89,
+135,
+23,
+34,
+231,
+238,
+223,
+174,
+106,
+235,
+240,
+24,
+106,
+68,
+150,
+174,
+168,
+122,
+126,
+72,
+104,
+105,
+0,
+223,
+241,
+85,
+145,
+214,
+222,
+247,
+31,
+157,
+50,
+251,
+242,
+170,
+2,
+150,
+116,
+58,
+197,
+233,
+250,
+254,
+233,
+152,
+32,
+51,
+22,
+232,
+18,
+25,
+55,
+66,
+251,
+14,
+253,
+238,
+124,
+10,
+65,
+23,
+1,
+214,
+117,
+0,
+120,
+104,
+119,
+33,
+247,
+59,
+7,
+177,
+189,
+175,
+205,
+244,
+170,
+109,
+71,
+37,
+34,
+75,
+23,
+84,
+61,
+63,
+36,
+200,
+37,
+4,
+68,
+47,
+66,
+226,
+251,
+63,
+132,
+8,
+204,
+231,
+34,
+49,
+225,
+166,
+233,
+75,
+172,
+90,
+2,
+119,
+157,
+192,
+93,
+219,
+119,
+74,
+144,
+57,
+209,
+65,
+164,
+83,
+8,
+218,
+10,
+176,
+88,
+2,
+0,
+216,
+131,
+60,
+28,
+213,
+125,
+136,
+115,
+203,
+44,
+100,
+9,
+91,
+27,
+189,
+135,
+150,
+17,
+89,
+136,
+247,
+5,
+12,
+66,
+69,
+251,
+162,
+18,
+112,
+119,
+68,
+186,
+47,
+162,
+66,
+186,
+23,
+120,
+89,
+147,
+231,
+159,
+144,
+103,
+254,
+169,
+140,
+236,
+210,
+245,
+253,
+69,
+184,
+255,
+78,
+9,
+50,
+39,
+58,
+232,
+225,
+20,
+34,
+4,
+125,
+88,
+2,
+46,
+105,
+140,
+153,
+103,
+140,
+217,
+205,
+136,
+165,
+221,
+124,
+36,
+212,
+213,
+89,
+198,
+152,
+223,
+0,
+87,
+102,
+89,
+54,
+165,
+162,
+253,
+95,
+141,
+49,
+153,
+49,
+102,
+171,
+44,
+203,
+38,
+25,
+99,
+12,
+176,
+181,
+49,
+230,
+116,
+173,
+43,
+219,
+131,
+217,
+64,
+28,
+3,
+97,
+149,
+3,
+225,
+211,
+190,
+190,
+86,
+255,
+94,
+103,
+140,
+153,
+25,
+200,
+231,
+56,
+96,
+166,
+49,
+102,
+89,
+99,
+204,
+6,
+70,
+172,
+219,
+102,
+24,
+99,
+246,
+200,
+178,
+204,
+171,
+160,
+241,
+224,
+23,
+198,
+152,
+47,
+25,
+99,
+62,
+102,
+140,
+121,
+208,
+24,
+179,
+200,
+24,
+211,
+40,
+248,
+73,
+7,
+84,
+221,
+235,
+242,
+198,
+152,
+50,
+1,
+115,
+134,
+49,
+230,
+14,
+35,
+247,
+124,
+28,
+176,
+125,
+150,
+101,
+179,
+122,
+232,
+223,
+226,
+138,
+63,
+25,
+99,
+94,
+103,
+140,
+249,
+160,
+41,
+90,
+233,
+25,
+81,
+226,
+105,
+157,
+49,
+198,
+252,
+37,
+250,
+213,
+187,
+126,
+65,
+2,
+248,
+31,
+170,
+77,
+91,
+103,
+243,
+173,
+225,
+31,
+189,
+255,
+33,
+60,
+61,
+180,
+69,
+60,
+66,
+96,
+96,
+70,
+242,
+48,
+221,
+85,
+240,
+234,
+67,
+186,
+222,
+127,
+140,
+231,
+71,
+135,
+4,
+153,
+19,
+29,
+140,
+242,
+41,
+132,
+33,
+82,
+122,
+162,
+138,
+182,
+171,
+144,
+159,
+21,
+15,
+229,
+28,
+222,
+67,
+51,
+12,
+1,
+224,
+110,
+1,
+206,
+215,
+178,
+61,
+170,
+218,
+58,
+244,
+59,
+50,
+50,
+9,
+171,
+197,
+181,
+78,
+153,
+55,
+19,
+81,
+215,
+251,
+143,
+245,
+252,
+104,
+153,
+32,
+179,
+41,
+144,
+60,
+123,
+219,
+118,
+228,
+241,
+44,
+228,
+136,
+246,
+118,
+196,
+86,
+227,
+17,
+36,
+188,
+155,
+55,
+55,
+132,
+182,
+9,
+70,
+139,
+254,
+140,
+218,
+41,
+132,
+33,
+82,
+122,
+34,
+224,
+53,
+136,
+214,
+255,
+110,
+228,
+107,
+48,
+93,
+95,
+254,
+231,
+145,
+68,
+15,
+0,
+159,
+247,
+180,
+27,
+85,
+45,
+118,
+9,
+125,
+45,
+207,
+42,
+90,
+224,
+37,
+200,
+158,
+248,
+65,
+90,
+72,
+237,
+174,
+215,
+247,
+208,
+12,
+229,
+249,
+209,
+34,
+65,
+102,
+83,
+144,
+107,
+205,
+91,
+9,
+2,
+196,
+215,
+222,
+42,
+222,
+166,
+33,
+147,
+237,
+86,
+231,
+57,
+120,
+141,
+182,
+24,
+41,
+160,
+203,
+254,
+61,
+25,
+58,
+198,
+60,
+252,
+71,
+229,
+20,
+194,
+16,
+33,
+61,
+17,
+240,
+85,
+242,
+164,
+33,
+211,
+148,
+151,
+43,
+193,
+30,
+208,
+191,
+255,
+240,
+180,
+29,
+51,
+3,
+184,
+9,
+207,
+58,
+90,
+36,
+42,
+12,
+192,
+192,
+190,
+206,
+195,
+99,
+92,
+111,
+1,
+74,
+218,
+188,
+4,
+249,
+154,
+109,
+90,
+79,
+29,
+14,
+196,
+165,
+251,
+23,
+228,
+99,
+43,
+88,
+16,
+32,
+2,
+234,
+30,
+109,
+247,
+45,
+70,
+230,
+86,
+220,
+1,
+249,
+104,
+65,
+131,
+172,
+79,
+5,
+254,
+151,
+52,
+121,
+70,
+99,
+2,
+116,
+76,
+79,
+68,
+126,
+68,
+177,
+200,
+243,
+80,
+159,
+142,
+8,
+7,
+139,
+123,
+60,
+237,
+199,
+220,
+0,
+14,
+225,
+89,
+71,
+11,
+60,
+83,
+7,
+212,
+2,
+60,
+145,
+112,
+10,
+180,
+227,
+126,
+11,
+224,
+105,
+243,
+7,
+29,
+19,
+231,
+19,
+89,
+8,
+40,
+255,
+53,
+17,
+239,
+57,
+107,
+136,
+84,
+43,
+8,
+128,
+47,
+42,
+173,
+55,
+115,
+18,
+240,
+93,
+173,
+255,
+83,
+203,
+62,
+141,
+63,
+1,
+96,
+204,
+83,
+3,
+176,
+85,
+122,
+34,
+242,
+208,
+216,
+165,
+81,
+127,
+129,
+19,
+44,
+111,
+79,
+221,
+152,
+27,
+192,
+33,
+60,
+67,
+104,
+129,
+175,
+105,
+221,
+69,
+33,
+215,
+141,
+125,
+125,
+135,
+102,
+52,
+4,
+192,
+187,
+17,
+223,
+4,
+128,
+107,
+67,
+219,
+53,
+5,
+242,
+85,
+223,
+159,
+124,
+149,
+89,
+42,
+8,
+128,
+11,
+149,
+198,
+107,
+181,
+136,
+232,
+49,
+0,
+166,
+182,
+236,
+203,
+248,
+20,
+0,
+198,
+24,
+67,
+203,
+244,
+68,
+72,
+104,
+109,
+128,
+247,
+87,
+208,
+188,
+85,
+105,
+230,
+122,
+234,
+198,
+220,
+0,
+142,
+53,
+1,
+145,
+21,
+208,
+93,
+90,
+255,
+65,
+95,
+251,
+62,
+175,
+239,
+208,
+12,
+93,
+0,
+56,
+109,
+47,
+5,
+158,
+104,
+218,
+174,
+197,
+117,
+150,
+5,
+62,
+129,
+56,
+67,
+129,
+223,
+110,
+222,
+245,
+210,
+172,
+194,
+194,
+150,
+125,
+24,
+55,
+2,
+96,
+192,
+14,
+32,
+203,
+178,
+59,
+141,
+49,
+109,
+76,
+111,
+173,
+146,
+235,
+222,
+10,
+154,
+39,
+245,
+239,
+99,
+45,
+248,
+143,
+91,
+100,
+89,
+54,
+27,
+241,
+243,
+255,
+157,
+49,
+230,
+71,
+192,
+153,
+197,
+104,
+57,
+17,
+48,
+211,
+200,
+57,
+125,
+85,
+228,
+87,
+107,
+137,
+57,
+148,
+40,
+72,
+136,
+99,
+16,
+70,
+108,
+7,
+182,
+52,
+198,
+252,
+97,
+24,
+215,
+213,
+107,
+90,
+248,
+140,
+146,
+236,
+88,
+253,
+175,
+233,
+231,
+89,
+124,
+222,
+24,
+51,
+16,
+80,
+213,
+17,
+10,
+27,
+103,
+89,
+118,
+91,
+27,
+198,
+192,
+134,
+198,
+152,
+111,
+24,
+99,
+182,
+55,
+198,
+172,
+110,
+196,
+78,
+228,
+76,
+99,
+204,
+1,
+89,
+150,
+61,
+220,
+174,
+187,
+17,
+64,
+190,
+244,
+218,
+165,
+130,
+230,
+195,
+74,
+243,
+119,
+79,
+221,
+152,
+251,
+130,
+133,
+240,
+28,
+43,
+32,
+210,
+41,
+78,
+228,
+62,
+205,
+64,
+180,
+245,
+83,
+144,
+227,
+182,
+222,
+130,
+81,
+34,
+91,
+128,
+47,
+57,
+227,
+112,
+10,
+176,
+15,
+176,
+172,
+135,
+214,
+58,
+222,
+148,
+154,
+221,
+246,
+212,
+71,
+139,
+141,
+90,
+182,
+127,
+41,
+185,
+158,
+110,
+6,
+146,
+241,
+218,
+42,
+65,
+239,
+35,
+32,
+75,
+118,
+111,
+32,
+79,
+89,
+253,
+199,
+10,
+154,
+191,
+41,
+205,
+94,
+158,
+186,
+174,
+2,
+32,
+186,
+29,
+195,
+56,
+19,
+0,
+157,
+79,
+113,
+198,
+35,
+16,
+37,
+224,
+247,
+200,
+109,
+76,
+110,
+70,
+204,
+175,
+75,
+173,
+92,
+201,
+93,
+111,
+191,
+48,
+228,
+190,
+182,
+22,
+0,
+136,
+89,
+185,
+77,
+113,
+127,
+2,
+42,
+76,
+129,
+149,
+17,
+69,
+43,
+104,
+114,
+217,
+81,
+1,
+114,
+220,
+99,
+207,
+102,
+191,
+138,
+35,
+121,
+145,
+125,
+217,
+119,
+156,
+23,
+52,
+224,
+210,
+26,
+65,
+0,
+68,
+255,
+2,
+142,
+51,
+1,
+208,
+233,
+20,
+103,
+188,
+1,
+57,
+6,
+252,
+57,
+249,
+23,
+112,
+18,
+226,
+118,
+93,
+25,
+44,
+69,
+219,
+238,
+167,
+109,
+174,
+199,
+19,
+125,
+169,
+47,
+116,
+20,
+0,
+111,
+215,
+182,
+247,
+2,
+79,
+43,
+212,
+45,
+79,
+158,
+154,
+238,
+85,
+49,
+59,
+124,
+24,
+13,
+98,
+160,
+3,
+31,
+32,
+63,
+49,
+152,
+129,
+156,
+32,
+92,
+77,
+254,
+117,
+190,
+7,
+120,
+97,
+73,
+219,
+174,
+2,
+32,
+250,
+23,
+112,
+60,
+9,
+0,
+99,
+186,
+157,
+226,
+140,
+55,
+144,
+127,
+108,
+174,
+4,
+222,
+233,
+123,
+231,
+21,
+109,
+87,
+64,
+182,
+8,
+32,
+17,
+162,
+54,
+44,
+212,
+63,
+7,
+81,
+36,
+238,
+80,
+198,
+163,
+101,
+159,
+187,
+8,
+0,
+43,
+192,
+189,
+246,
+36,
+228,
+89,
+169,
+126,
+208,
+189,
+167,
+57,
+83,
+104,
+24,
+195,
+28,
+9,
+252,
+113,
+4,
+249,
+41,
+130,
+141,
+106,
+250,
+29,
+186,
+231,
+155,
+175,
+18,
+0,
+209,
+191,
+128,
+93,
+5,
+0,
+34,
+248,
+162,
+41,
+153,
+144,
+124,
+134,
+223,
+167,
+58,
+55,
+94,
+171,
+83,
+156,
+241,
+6,
+196,
+123,
+238,
+205,
+29,
+218,
+111,
+70,
+126,
+50,
+3,
+242,
+5,
+157,
+66,
+110,
+4,
+4,
+145,
+227,
+80,
+56,
+124,
+159,
+131,
+28,
+143,
+90,
+171,
+65,
+155,
+190,
+252,
+45,
+21,
+109,
+255,
+163,
+109,
+119,
+43,
+169,
+223,
+93,
+235,
+207,
+139,
+221,
+225,
+232,
+73,
+12,
+74,
+174,
+213,
+121,
+15,
+79,
+228,
+47,
+96,
+4,
+1,
+112,
+59,
+208,
+72,
+219,
+203,
+96,
+88,
+232,
+39,
+245,
+30,
+190,
+133,
+44,
+119,
+103,
+0,
+207,
+106,
+211,
+159,
+190,
+129,
+68,
+93,
+62,
+7,
+103,
+27,
+230,
+43,
+107,
+200,
+115,
+91,
+34,
+71,
+112,
+118,
+120,
+175,
+12,
+124,
+5,
+89,
+69,
+76,
+67,
+140,
+181,
+30,
+211,
+201,
+246,
+157,
+216,
+2,
+211,
+25,
+79,
+63,
+212,
+191,
+247,
+1,
+151,
+147,
+7,
+3,
+5,
+143,
+153,
+188,
+182,
+181,
+202,
+77,
+239,
+252,
+32,
+143,
+22,
+52,
+96,
+100,
+215,
+181,
+195,
+195,
+18,
+0,
+177,
+124,
+17,
+162,
+125,
+1,
+35,
+8,
+128,
+127,
+211,
+32,
+76,
+54,
+254,
+176,
+208,
+147,
+28,
+1,
+6,
+112,
+112,
+155,
+190,
+12,
+3,
+120,
+150,
+169,
+190,
+178,
+64,
+94,
+219,
+34,
+198,
+60,
+208,
+99,
+28,
+254,
+97,
+194,
+121,
+135,
+115,
+113,
+98,
+99,
+32,
+219,
+83,
+27,
+247,
+97,
+30,
+158,
+120,
+10,
+228,
+186,
+14,
+111,
+206,
+5,
+224,
+101,
+90,
+31,
+239,
+88,
+115,
+200,
+2,
+96,
+92,
+107,
+177,
+129,
+53,
+144,
+200,
+174,
+155,
+57,
+101,
+167,
+227,
+152,
+147,
+34,
+169,
+179,
+190,
+136,
+39,
+203,
+43,
+213,
+97,
+161,
+63,
+224,
+12,
+158,
+41,
+140,
+193,
+116,
+102,
+228,
+71,
+188,
+215,
+160,
+10,
+96,
+95,
+89,
+0,
+31,
+119,
+226,
+207,
+70,
+236,
+253,
+215,
+239,
+181,
+243,
+67,
+130,
+243,
+14,
+189,
+193,
+93,
+200,
+79,
+201,
+14,
+241,
+212,
+217,
+188,
+138,
+155,
+149,
+180,
+125,
+177,
+214,
+183,
+50,
+94,
+50,
+192,
+15,
+8,
+199,
+59,
+91,
+93,
+164,
+250,
+250,
+227,
+90,
+139,
+141,
+248,
+194,
+91,
+220,
+141,
+164,
+117,
+190,
+88,
+255,
+29,
+73,
+174,
+116,
+2,
+216,
+201,
+211,
+222,
+27,
+22,
+26,
+241,
+37,
+176,
+86,
+150,
+118,
+25,
+232,
+93,
+38,
+142,
+22,
+128,
+205,
+145,
+47,
+212,
+116,
+244,
+235,
+229,
+43,
+171,
+225,
+225,
+78,
+252,
+39,
+16,
+93,
+199,
+154,
+253,
+247,
+126,
+120,
+112,
+222,
+255,
+219,
+74,
+234,
+109,
+236,
+200,
+171,
+61,
+117,
+118,
+107,
+91,
+183,
+2,
+8,
+13,
+92,
+51,
+192,
+224,
+19,
+12,
+186,
+53,
+162,
+147,
+178,
+88,
+254,
+186,
+138,
+155,
+11,
+66,
+73,
+31,
+198,
+173,
+22,
+27,
+17,
+0,
+255,
+208,
+254,
+22,
+149,
+73,
+211,
+181,
+236,
+106,
+100,
+63,
+60,
+224,
+111,
+142,
+39,
+44,
+52,
+178,
+234,
+177,
+225,
+192,
+143,
+5,
+246,
+213,
+255,
+15,
+100,
+215,
+85,
+250,
+205,
+41,
+28,
+17,
+57,
+117,
+75,
+81,
+227,
+75,
+142,
+104,
+199,
+191,
+174,
+207,
+221,
+26,
+241,
+60,
+140,
+8,
+177,
+239,
+80,
+208,
+150,
+107,
+155,
+149,
+200,
+205,
+110,
+63,
+92,
+86,
+86,
+113,
+77,
+119,
+226,
+79,
+69,
+4,
+225,
+74,
+85,
+109,
+198,
+43,
+156,
+241,
+80,
+246,
+21,
+127,
+189,
+214,
+15,
+152,
+76,
+35,
+250,
+2,
+168,
+215,
+1,
+60,
+16,
+187,
+195,
+65,
+91,
+0,
+36,
+40,
+100,
+240,
+191,
+10,
+62,
+139,
+133,
+22,
+27,
+145,
+230,
+243,
+16,
+79,
+184,
+218,
+88,
+254,
+228,
+214,
+105,
+175,
+119,
+202,
+108,
+172,
+247,
+91,
+144,
+179,
+222,
+29,
+244,
+183,
+47,
+44,
+244,
+11,
+17,
+69,
+214,
+63,
+138,
+66,
+0,
+88,
+26,
+217,
+142,
+204,
+161,
+228,
+156,
+24,
+81,
+62,
+222,
+172,
+252,
+23,
+234,
+4,
+190,
+18,
+39,
+136,
+7,
+254,
+132,
+26,
+43,
+147,
+135,
+50,
+255,
+112,
+89,
+89,
+201,
+53,
+237,
+196,
+191,
+3,
+209,
+239,
+120,
+133,
+87,
+23,
+32,
+31,
+149,
+243,
+200,
+181,
+237,
+23,
+163,
+43,
+88,
+116,
+75,
+217,
+128,
+215,
+154,
+228,
+202,
+234,
+43,
+90,
+244,
+197,
+98,
+227,
+146,
+250,
+170,
+220,
+133,
+54,
+102,
+96,
+153,
+3,
+147,
+61,
+5,
+184,
+172,
+105,
+191,
+234,
+58,
+60,
+20,
+29,
+64,
+87,
+32,
+57,
+7,
+64,
+190,
+164,
+3,
+86,
+96,
+200,
+23,
+208,
+126,
+101,
+75,
+61,
+22,
+11,
+109,
+26,
+217,
+65,
+56,
+237,
+94,
+128,
+172,
+100,
+78,
+1,
+206,
+70,
+4,
+153,
+87,
+234,
+59,
+109,
+70,
+132,
+133,
+70,
+142,
+169,
+230,
+32,
+66,
+228,
+101,
+90,
+246,
+170,
+138,
+1,
+178,
+52,
+112,
+134,
+214,
+63,
+37,
+4,
+16,
+45,
+252,
+153,
+90,
+126,
+22,
+37,
+123,
+113,
+224,
+120,
+165,
+185,
+141,
+66,
+4,
+102,
+196,
+200,
+235,
+8,
+74,
+162,
+58,
+35,
+38,
+170,
+179,
+25,
+185,
+5,
+24,
+40,
+243,
+180,
+179,
+58,
+143,
+219,
+145,
+21,
+104,
+84,
+1,
+64,
+158,
+72,
+3,
+100,
+251,
+228,
+70,
+37,
+250,
+50,
+170,
+88,
+107,
+192,
+239,
+40,
+135,
+215,
+128,
+30,
+39,
+160,
+189,
+133,
+55,
+232,
+13,
+249,
+87,
+252,
+113,
+79,
+221,
+33,
+90,
+119,
+120,
+73,
+219,
+95,
+104,
+125,
+101,
+240,
+216,
+54,
+29,
+30,
+47,
+2,
+96,
+57,
+96,
+178,
+246,
+249,
+32,
+79,
+253,
+247,
+181,
+110,
+18,
+129,
+201,
+53,
+218,
+220,
+63,
+226,
+249,
+103,
+83,
+124,
+109,
+79,
+254,
+213,
+190,
+145,
+234,
+243,
+123,
+27,
+157,
+230,
+77,
+192,
+211,
+28,
+30,
+95,
+118,
+104,
+42,
+195,
+66,
+35,
+66,
+224,
+207,
+74,
+115,
+54,
+242,
+37,
+254,
+171,
+254,
+46,
+157,
+252,
+218,
+214,
+158,
+62,
+148,
+250,
+114,
+212,
+220,
+183,
+253,
+2,
+185,
+74,
+192,
+129,
+178,
+66,
+155,
+101,
+17,
+123,
+125,
+171,
+31,
+153,
+138,
+184,
+244,
+118,
+222,
+2,
+0,
+27,
+147,
+199,
+39,
+252,
+63,
+84,
+177,
+140,
+108,
+171,
+62,
+70,
+174,
+84,
+11,
+245,
+11,
+121,
+185,
+182,
+121,
+156,
+246,
+167,
+66,
+22,
+239,
+40,
+169,
+255,
+148,
+214,
+95,
+229,
+169,
+179,
+249,
+29,
+239,
+163,
+218,
+18,
+208,
+171,
+95,
+104,
+5,
+101,
+56,
+46,
+4,
+128,
+49,
+198,
+0,
+155,
+34,
+75,
+180,
+69,
+192,
+118,
+78,
+249,
+246,
+90,
+54,
+29,
+216,
+164,
+1,
+191,
+198,
+247,
+79,
+158,
+6,
+236,
+78,
+29,
+108,
+25,
+112,
+131,
+150,
+253,
+178,
+162,
+221,
+83,
+97,
+161,
+129,
+159,
+234,
+255,
+207,
+199,
+49,
+109,
+37,
+32,
+44,
+52,
+242,
+197,
+183,
+66,
+192,
+218,
+199,
+87,
+78,
+126,
+109,
+103,
+151,
+182,
+91,
+85,
+209,
+213,
+240,
+176,
+249,
+15,
+126,
+86,
+85,
+230,
+105,
+183,
+52,
+34,
+44,
+236,
+22,
+228,
+9,
+196,
+22,
+162,
+181,
+18,
+144,
+60,
+8,
+173,
+215,
+48,
+134,
+60,
+54,
+69,
+168,
+0,
+184,
+17,
+17,
+80,
+91,
+118,
+232,
+147,
+197,
+175,
+74,
+234,
+207,
+211,
+250,
+31,
+150,
+212,
+91,
+189,
+220,
+111,
+200,
+125,
+1,
+86,
+4,
+78,
+213,
+242,
+235,
+9,
+48,
+133,
+110,
+210,
+225,
+237,
+232,
+43,
+8,
+97,
+79,
+0,
+62,
+168,
+15,
+99,
+42,
+178,
+175,
+93,
+139,
+124,
+217,
+87,
+26,
+171,
+160,
+132,
+23,
+52,
+23,
+0,
+107,
+35,
+58,
+140,
+253,
+157,
+178,
+143,
+35,
+91,
+148,
+117,
+42,
+218,
+89,
+5,
+223,
+221,
+136,
+176,
+122,
+12,
+88,
+215,
+169,
+15,
+78,
+78,
+137,
+40,
+243,
+236,
+201,
+193,
+163,
+192,
+138,
+1,
+253,
+182,
+118,
+24,
+165,
+9,
+76,
+3,
+120,
+44,
+139,
+40,
+57,
+247,
+170,
+42,
+171,
+104,
+111,
+147,
+169,
+218,
+213,
+207,
+44,
+125,
+150,
+235,
+183,
+232,
+203,
+53,
+202,
+99,
+159,
+146,
+250,
+157,
+155,
+8,
+128,
+24,
+112,
+4,
+192,
+2,
+36,
+252,
+155,
+187,
+42,
+249,
+63,
+173,
+155,
+75,
+137,
+169,
+48,
+162,
+31,
+179,
+39,
+65,
+51,
+16,
+161,
+100,
+149,
+230,
+143,
+83,
+19,
+113,
+106,
+204,
+67,
+7,
+192,
+62,
+136,
+1,
+141,
+61,
+18,
+244,
+162,
+134,
+143,
+205,
+85,
+127,
+142,
+254,
+131,
+22,
+123,
+35,
+109,
+55,
+44,
+59,
+136,
+21,
+200,
+21,
+103,
+224,
+40,
+123,
+104,
+16,
+22,
+154,
+145,
+219,
+0,
+43,
+4,
+254,
+130,
+19,
+162,
+173,
+164,
+157,
+141,
+90,
+52,
+15,
+89,
+138,
+46,
+89,
+69,
+223,
+39,
+116,
+66,
+188,
+19,
+81,
+66,
+66,
+11,
+67,
+32,
+242,
+16,
+97,
+222,
+184,
+126,
+136,
+94,
+163,
+118,
+44,
+197,
+132,
+243,
+110,
+109,
+170,
+239,
+7,
+24,
+180,
+4,
+172,
+212,
+57,
+33,
+31,
+152,
+35,
+17,
+191,
+154,
+185,
+250,
+247,
+215,
+140,
+119,
+91,
+9,
+125,
+233,
+127,
+28,
+152,
+233,
+57,
+30,
+66,
+20,
+84,
+15,
+213,
+189,
+52,
+100,
+15,
+125,
+157,
+211,
+246,
+42,
+234,
+151,
+192,
+163,
+106,
+7,
+161,
+125,
+248,
+142,
+115,
+141,
+89,
+72,
+44,
+192,
+38,
+201,
+45,
+93,
+69,
+224,
+25,
+200,
+222,
+240,
+116,
+253,
+93,
+41,
+4,
+180,
+173,
+213,
+23,
+128,
+8,
+163,
+175,
+50,
+202,
+103,
+241,
+192,
+155,
+105,
+24,
+74,
+77,
+219,
+217,
+108,
+197,
+175,
+40,
+169,
+223,
+216,
+222,
+104,
+5,
+143,
+198,
+97,
+195,
+107,
+250,
+100,
+241,
+44,
+100,
+165,
+243,
+31,
+100,
+91,
+58,
+29,
+9,
+83,
+22,
+111,
+255,
+62,
+222,
+64,
+158,
+65,
+183,
+12,
+159,
+80,
+186,
+79,
+84,
+189,
+52,
+135,
+159,
+155,
+92,
+116,
+239,
+0,
+250,
+78,
+118,
+16,
+93,
+1,
+60,
+3,
+249,
+106,
+205,
+5,
+14,
+70,
+150,
+228,
+51,
+144,
+37,
+222,
+36,
+234,
+211,
+99,
+219,
+163,
+62,
+244,
+239,
+210,
+78,
+185,
+141,
+201,
+119,
+38,
+213,
+66,
+96,
+9,
+125,
+110,
+246,
+204,
+25,
+29,
+248,
+63,
+165,
+143,
+100,
+20,
+61,
+130,
+124,
+5,
+89,
+22,
+195,
+114,
+51,
+123,
+131,
+37,
+245,
+173,
+194,
+134,
+215,
+244,
+201,
+98,
+192,
+158,
+98,
+194,
+131,
+220,
+12,
+178,
+12,
+193,
+2,
+0,
+241,
+182,
+122,
+2,
+209,
+218,
+46,
+68,
+246,
+211,
+165,
+251,
+239,
+10,
+62,
+48,
+188,
+45,
+192,
+114,
+58,
+201,
+127,
+212,
+178,
+253,
+243,
+145,
+125,
+224,
+83,
+147,
+223,
+169,
+91,
+10,
+9,
+216,
+50,
+147,
+18,
+75,
+50,
+15,
+253,
+206,
+228,
+138,
+73,
+16,
+5,
+221,
+184,
+177,
+204,
+35,
+95,
+1,
+238,
+89,
+82,
+255,
+182,
+50,
+1,
+64,
+79,
+97,
+195,
+157,
+103,
+217,
+42,
+34,
+80,
+239,
+64,
+236,
+217,
+191,
+133,
+72,
+187,
+39,
+145,
+165,
+231,
+36,
+36,
+81,
+65,
+165,
+253,
+57,
+34,
+81,
+15,
+71,
+52,
+222,
+51,
+144,
+51,
+224,
+155,
+144,
+4,
+151,
+181,
+222,
+107,
+228,
+202,
+141,
+78,
+2,
+0,
+88,
+18,
+49,
+246,
+0,
+49,
+30,
+178,
+231,
+167,
+23,
+208,
+80,
+67,
+170,
+237,
+198,
+211,
+41,
+200,
+243,
+139,
+147,
+223,
+169,
+91,
+146,
+22,
+74,
+34,
+36,
+144,
+171,
+221,
+79,
+7,
+217,
+79,
+140,
+5,
+144,
+159,
+164,
+120,
+243,
+232,
+145,
+155,
+150,
+251,
+4,
+64,
+47,
+97,
+195,
+199,
+180,
+0,
+0,
+62,
+68,
+190,
+108,
+90,
+128,
+236,
+123,
+220,
+165,
+224,
+245,
+128,
+55,
+224,
+164,
+78,
+124,
+155,
+16,
+100,
+14,
+98,
+185,
+118,
+143,
+83,
+246,
+48,
+53,
+199,
+111,
+140,
+76,
+37,
+238,
+67,
+168,
+0,
+248,
+166,
+210,
+79,
+66,
+52,
+208,
+203,
+146,
+107,
+184,
+191,
+214,
+240,
+153,
+192,
+56,
+18,
+0,
+125,
+193,
+62,
+115,
+224,
+161,
+209,
+238,
+75,
+40,
+16,
+97,
+104,
+141,
+171,
+246,
+41,
+212,
+189,
+7,
+81,
+118,
+226,
+27,
+75,
+244,
+20,
+54,
+220,
+25,
+203,
+209,
+5,
+64,
+103,
+222,
+58,
+137,
+231,
+81,
+56,
+127,
+5,
+94,
+65,
+254,
+117,
+246,
+102,
+168,
+37,
+143,
+199,
+254,
+49,
+70,
+122,
+177,
+61,
+31,
+57,
+170,
+128,
+18,
+73,
+236,
+208,
+186,
+46,
+175,
+173,
+4,
+0,
+146,
+78,
+124,
+1,
+34,
+76,
+94,
+236,
+148,
+111,
+174,
+101,
+243,
+9,
+76,
+209,
+173,
+237,
+146,
+0,
+48,
+198,
+0,
+175,
+213,
+103,
+49,
+16,
+206,
+61,
+160,
+109,
+48,
+2,
+120,
+185,
+122,
+157,
+218,
+96,
+29,
+228,
+71,
+171,
+144,
+251,
+222,
+219,
+165,
+189,
+253,
+138,
+251,
+4,
+64,
+47,
+97,
+195,
+157,
+118,
+99,
+82,
+0,
+44,
+65,
+121,
+184,
+174,
+189,
+148,
+249,
+93,
+21,
+109,
+189,
+91,
+4,
+224,
+29,
+218,
+182,
+210,
+79,
+153,
+145,
+222,
+114,
+62,
+84,
+10,
+0,
+100,
+223,
+118,
+135,
+210,
+250,
+108,
+214,
+247,
+215,
+186,
+219,
+9,
+56,
+23,
+215,
+54,
+227,
+206,
+14,
+162,
+15,
+56,
+239,
+255,
+198,
+22,
+109,
+67,
+114,
+233,
+93,
+66,
+141,
+160,
+5,
+94,
+132,
+108,
+45,
+167,
+233,
+191,
+25,
+20,
+76,
+150,
+75,
+218,
+189,
+13,
+249,
+162,
+91,
+109,
+251,
+127,
+128,
+247,
+2,
+235,
+218,
+129,
+229,
+105,
+99,
+87,
+14,
+215,
+117,
+233,
+179,
+135,
+111,
+183,
+73,
+58,
+74,
+188,
+173,
+70,
+20,
+96,
+94,
+139,
+182,
+219,
+106,
+219,
+1,
+251,
+230,
+2,
+221,
+239,
+171,
+231,
+127,
+173,
+0,
+56,
+73,
+233,
+46,
+194,
+179,
+215,
+71,
+132,
+148,
+85,
+106,
+157,
+232,
+169,
+247,
+157,
+2,
+148,
+253,
+235,
+124,
+10,
+128,
+8,
+151,
+179,
+144,
+175,
+205,
+28,
+68,
+195,
+124,
+8,
+125,
+38,
+128,
+44,
+239,
+203,
+230,
+200,
+113,
+215,
+43,
+139,
+207,
+14,
+177,
+162,
+180,
+95,
+196,
+74,
+3,
+164,
+30,
+251,
+183,
+22,
+114,
+44,
+57,
+13,
+89,
+229,
+189,
+14,
+17,
+0,
+119,
+0,
+107,
+181,
+228,
+185,
+161,
+29,
+88,
+158,
+186,
+81,
+9,
+27,
+222,
+5,
+125,
+11,
+0,
+187,
+231,
+169,
+74,
+250,
+81,
+214,
+214,
+58,
+41,
+84,
+42,
+144,
+24,
+233,
+79,
+223,
+88,
+0,
+116,
+5,
+67,
+180,
+3,
+32,
+95,
+141,
+128,
+124,
+149,
+110,
+38,
+215,
+129,
+220,
+71,
+3,
+115,
+229,
+24,
+32,
+119,
+50,
+2,
+153,
+100,
+215,
+33,
+138,
+96,
+55,
+205,
+247,
+31,
+168,
+8,
+181,
+221,
+115,
+255,
+174,
+66,
+86,
+136,
+238,
+182,
+238,
+165,
+72,
+76,
+191,
+1,
+187,
+249,
+64,
+158,
+27,
+217,
+27,
+243,
+212,
+141,
+74,
+216,
+240,
+46,
+112,
+222,
+211,
+6,
+125,
+48,
+183,
+17,
+71,
+143,
+9,
+164,
+95,
+6,
+217,
+255,
+255,
+4,
+81,
+4,
+94,
+67,
+137,
+39,
+89,
+161,
+221,
+215,
+201,
+21,
+135,
+69,
+244,
+42,
+0,
+134,
+5,
+228,
+43,
+187,
+72,
+39,
+252,
+7,
+200,
+205,
+65,
+159,
+129,
+216,
+254,
+163,
+19,
+208,
+231,
+209,
+248,
+74,
+224,
+159,
+200,
+215,
+111,
+22,
+98,
+26,
+252,
+85,
+224,
+185,
+14,
+205,
+218,
+192,
+111,
+27,
+246,
+105,
+69,
+36,
+54,
+222,
+121,
+200,
+22,
+105,
+58,
+162,
+15,
+186,
+15,
+49,
+40,
+122,
+87,
+135,
+251,
+13,
+70,
+219,
+107,
+180,
+236,
+87,
+149,
+0,
+24,
+149,
+176,
+225,
+93,
+224,
+60,
+198,
+117,
+128,
+93,
+16,
+33,
+22,
+20,
+112,
+180,
+142,
+241,
+115,
+144,
+37,
+234,
+2,
+2,
+150,
+23,
+133,
+119,
+58,
+9,
+177,
+121,
+14,
+126,
+136,
+136,
+100,
+63,
+88,
+7,
+222,
+223,
+201,
+221,
+124,
+23,
+23,
+1,
+96,
+183,
+42,
+62,
+143,
+197,
+101,
+201,
+245,
+24,
+239,
+241,
+212,
+91,
+69,
+230,
+181,
+140,
+52,
+74,
+1,
+81,
+182,
+94,
+133,
+76,
+220,
+57,
+195,
+185,
+155,
+122,
+16,
+73,
+7,
+208,
+67,
+191,
+170,
+4,
+192,
+168,
+132,
+13,
+239,
+2,
+103,
+28,
+88,
+147,
+241,
+224,
+128,
+163,
+85,
+76,
+151,
+6,
+46,
+211,
+198,
+65,
+241,
+198,
+145,
+175,
+215,
+36,
+196,
+1,
+103,
+33,
+114,
+58,
+112,
+8,
+29,
+44,
+201,
+22,
+51,
+1,
+112,
+183,
+222,
+207,
+75,
+74,
+234,
+109,
+16,
+144,
+147,
+61,
+117,
+39,
+1,
+207,
+116,
+126,
+111,
+4,
+124,
+67,
+5,
+194,
+60,
+196,
+208,
+231,
+92,
+26,
+156,
+116,
+140,
+7,
+16,
+217,
+36,
+87,
+121,
+150,
+10,
+0,
+173,
+111,
+21,
+54,
+92,
+203,
+175,
+211,
+255,
+55,
+10,
+253,
+221,
+165,
+207,
+78,
+159,
+230,
+225,
+56,
+189,
+17,
+16,
+112,
+180,
+234,
+130,
+191,
+210,
+134,
+151,
+208,
+98,
+255,
+135,
+44,
+107,
+191,
+174,
+23,
+190,
+159,
+246,
+57,
+209,
+22,
+39,
+1,
+96,
+207,
+159,
+159,
+81,
+82,
+111,
+143,
+220,
+90,
+37,
+143,
+92,
+220,
+64,
+15,
+38,
+185,
+202,
+183,
+82,
+0,
+40,
+77,
+227,
+176,
+225,
+202,
+114,
+22,
+178,
+53,
+131,
+24,
+95,
+226,
+128,
+62,
+59,
+188,
+27,
+7,
+28,
+45,
+187,
+216,
+193,
+218,
+224,
+150,
+178,
+193,
+218,
+160,
+227,
+214,
+56,
+231,
+172,
+150,
+237,
+163,
+11,
+0,
+26,
+160,
+130,
+199,
+70,
+136,
+95,
+249,
+125,
+200,
+210,
+252,
+126,
+196,
+87,
+187,
+84,
+202,
+234,
+64,
+2,
+120,
+126,
+73,
+253,
+139,
+180,
+62,
+118,
+246,
+224,
+113,
+7,
+122,
+50,
+201,
+237,
+19,
+206,
+176,
+105,
+28,
+250,
+59,
+128,
+119,
+136,
+0,
+104,
+28,
+112,
+212,
+71,
+252,
+37,
+37,
+190,
+31,
+71,
+193,
+212,
+22,
+228,
+199,
+136,
+173,
+34,
+150,
+106,
+219,
+216,
+2,
+96,
+114,
+205,
+191,
+59,
+170,
+250,
+140,
+28,
+157,
+89,
+203,
+201,
+153,
+136,
+38,
+223,
+250,
+102,
+79,
+163,
+124,
+137,
+111,
+51,
+188,
+120,
+29,
+148,
+200,
+5,
+111,
+212,
+88,
+248,
+248,
+49,
+27,
+89,
+214,
+158,
+137,
+196,
+81,
+240,
+154,
+74,
+3,
+171,
+43,
+237,
+28,
+58,
+126,
+12,
+26,
+246,
+185,
+23,
+147,
+220,
+62,
+225,
+60,
+219,
+56,
+95,
+226,
+145,
+109,
+67,
+4,
+128,
+215,
+220,
+155,
+138,
+128,
+163,
+69,
+66,
+43,
+41,
+30,
+2,
+54,
+109,
+218,
+201,
+18,
+158,
+219,
+40,
+207,
+39,
+91,
+182,
+135,
+33,
+111,
+1,
+16,
+255,
+7,
+128,
+95,
+148,
+212,
+159,
+171,
+245,
+167,
+161,
+70,
+80,
+136,
+242,
+200,
+122,
+222,
+157,
+91,
+210,
+110,
+31,
+173,
+191,
+31,
+71,
+72,
+32,
+118,
+10,
+159,
+33,
+15,
+85,
+85,
+105,
+55,
+209,
+226,
+126,
+44,
+174,
+37,
+87,
+188,
+93,
+67,
+110,
+231,
+15,
+162,
+120,
+245,
+230,
+216,
+67,
+124,
+206,
+1,
+190,
+26,
+179,
+95,
+53,
+125,
+238,
+197,
+36,
+183,
+79,
+56,
+207,
+178,
+251,
+151,
+120,
+176,
+109,
+136,
+0,
+40,
+139,
+191,
+88,
+26,
+112,
+212,
+37,
+218,
+133,
+220,
+123,
+46,
+90,
+66,
+76,
+242,
+0,
+8,
+173,
+242,
+150,
+105,
+219,
+161,
+9,
+0,
+196,
+51,
+239,
+17,
+125,
+22,
+94,
+215,
+77,
+114,
+31,
+253,
+77,
+10,
+229,
+207,
+215,
+242,
+178,
+149,
+195,
+146,
+72,
+188,
+62,
+144,
+109,
+195,
+69,
+200,
+23,
+248,
+78,
+189,
+158,
+77,
+144,
+50,
+37,
+242,
+61,
+89,
+108,
+81,
+40,
+95,
+18,
+216,
+155,
+252,
+248,
+213,
+123,
+228,
+135,
+156,
+206,
+128,
+40,
+49,
+135,
+18,
+44,
+132,
+158,
+76,
+114,
+251,
+132,
+211,
+167,
+198,
+161,
+191,
+29,
+154,
+98,
+36,
+227,
+75,
+16,
+235,
+197,
+245,
+44,
+243,
+138,
+235,
+54,
+10,
+56,
+234,
+198,
+155,
+219,
+193,
+24,
+115,
+146,
+49,
+102,
+166,
+49,
+102,
+199,
+44,
+203,
+130,
+82,
+104,
+107,
+219,
+115,
+145,
+44,
+48,
+43,
+23,
+202,
+215,
+0,
+14,
+52,
+198,
+88,
+103,
+12,
+175,
+47,
+193,
+24,
+196,
+158,
+198,
+152,
+213,
+141,
+49,
+103,
+100,
+89,
+118,
+123,
+9,
+205,
+52,
+253,
+187,
+160,
+80,
+190,
+72,
+255,
+122,
+95,
+112,
+150,
+101,
+11,
+141,
+49,
+59,
+25,
+99,
+190,
+96,
+140,
+153,
+108,
+140,
+121,
+153,
+49,
+102,
+107,
+99,
+204,
+29,
+198,
+152,
+237,
+140,
+49,
+147,
+148,
+244,
+250,
+86,
+61,
+111,
+136,
+44,
+203,
+22,
+102,
+89,
+246,
+75,
+99,
+204,
+63,
+181,
+104,
+235,
+18,
+186,
+107,
+140,
+49,
+151,
+25,
+99,
+214,
+53,
+198,
+120,
+131,
+90,
+246,
+0,
+59,
+158,
+254,
+107,
+140,
+185,
+180,
+226,
+95,
+235,
+80,
+216,
+200,
+138,
+237,
+54,
+59,
+118,
+129,
+85,
+145,
+237,
+223,
+192,
+41,
+76,
+67,
+148,
+29,
+197,
+206,
+210,
+191,
+222,
+0,
+177,
+72,
+68,
+160,
+191,
+25,
+99,
+94,
+175,
+180,
+55,
+27,
+99,
+54,
+50,
+198,
+156,
+106,
+140,
+217,
+55,
+224,
+186,
+235,
+151,
+148,
+91,
+157,
+147,
+127,
+60,
+147,
+239,
+95,
+167,
+82,
+189,
+55,
+30,
+152,
+196,
+142,
+244,
+89,
+132,
+40,
+109,
+254,
+135,
+124,
+209,
+236,
+87,
+101,
+1,
+78,
+116,
+219,
+166,
+80,
+30,
+67,
+89,
+1,
+32,
+190,
+240,
+246,
+248,
+231,
+213,
+21,
+116,
+39,
+42,
+205,
+247,
+10,
+229,
+54,
+241,
+99,
+144,
+209,
+148,
+135,
+175,
+221,
+215,
+182,
+142,
+205,
+87,
+194,
+215,
+194,
+187,
+178,
+67,
+18,
+143,
+0,
+28,
+86,
+193,
+99,
+87,
+165,
+137,
+151,
+129,
+182,
+2,
+12,
+193,
+36,
+23,
+209,
+107,
+0,
+188,
+86,
+127,
+219,
+232,
+187,
+179,
+91,
+242,
+179,
+104,
+19,
+250,
+187,
+117,
+36,
+99,
+231,
+186,
+173,
+2,
+142,
+54,
+209,
+138,
+159,
+230,
+105,
+187,
+35,
+162,
+13,
+159,
+132,
+156,
+151,
+206,
+71,
+20,
+97,
+147,
+17,
+43,
+194,
+78,
+193,
+10,
+245,
+186,
+195,
+18,
+0,
+187,
+233,
+245,
+42,
+147,
+122,
+34,
+203,
+49,
+235,
+37,
+249,
+83,
+96,
+3,
+242,
+173,
+206,
+245,
+180,
+8,
+158,
+161,
+47,
+218,
+186,
+46,
+87,
+230,
+17,
+104,
+193,
+219,
+98,
+64,
+0,
+32,
+250,
+7,
+27,
+64,
+99,
+192,
+0,
+201,
+161,
+91,
+218,
+185,
+103,
+175,
+227,
+88,
+76,
+48,
+4,
+147,
+92,
+6,
+87,
+0,
+171,
+32,
+43,
+128,
+83,
+90,
+242,
+179,
+104,
+19,
+250,
+187,
+117,
+36,
+99,
+231,
+186,
+173,
+2,
+142,
+38,
+152,
+167,
+30,
+150,
+141,
+72,
+91,
+107,
+254,
+138,
+72,
+236,
+171,
+25,
+137,
+95,
+2,
+171,
+180,
+188,
+190,
+245,
+186,
+59,
+191,
+77,
+251,
+26,
+222,
+3,
+2,
+0,
+49,
+217,
+222,
+20,
+56,
+70,
+235,
+254,
+76,
+137,
+18,
+208,
+105,
+99,
+227,
+22,
+30,
+25,
+187,
+143,
+158,
+107,
+141,
+103,
+147,
+220,
+198,
+95,
+98,
+58,
+68,
+50,
+214,
+226,
+7,
+201,
+117,
+72,
+141,
+3,
+142,
+78,
+120,
+32,
+209,
+111,
+64,
+108,
+31,
+106,
+163,
+7,
+233,
+132,
+189,
+23,
+145,
+186,
+214,
+113,
+230,
+6,
+26,
+154,
+136,
+34,
+193,
+59,
+191,
+170,
+124,
+102,
+81,
+178,
+124,
+236,
+2,
+170,
+113,
+17,
+162,
+195,
+169,
+156,
+252,
+202,
+231,
+89,
+200,
+57,
+246,
+116,
+122,
+142,
+19,
+200,
+248,
+54,
+201,
+109,
+252,
+37,
+166,
+67,
+36,
+99,
+45,
+254,
+147,
+254,
+63,
+5,
+28,
+109,
+3,
+114,
+119,
+225,
+79,
+214,
+208,
+45,
+1,
+252,
+86,
+105,
+47,
+70,
+52,
+255,
+203,
+34,
+73,
+61,
+158,
+64,
+116,
+31,
+7,
+86,
+180,
+255,
+53,
+146,
+190,
+235,
+207,
+72,
+8,
+116,
+27,
+12,
+229,
+1,
+122,
+74,
+126,
+234,
+12,
+76,
+247,
+24,
+240,
+74,
+36,
+142,
+224,
+2,
+189,
+247,
+215,
+4,
+242,
+58,
+89,
+121,
+125,
+174,
+143,
+190,
+22,
+174,
+213,
+202,
+36,
+55,
+128,
+175,
+133,
+111,
+34,
+214,
+90,
+9,
+6,
+240,
+109,
+28,
+250,
+155,
+8,
+145,
+140,
+19,
+90,
+2,
+241,
+51,
+7,
+9,
+95,
+86,
+153,
+58,
+140,
+220,
+162,
+235,
+66,
+10,
+81,
+118,
+145,
+175,
+210,
+157,
+90,
+255,
+145,
+146,
+246,
+199,
+32,
+147,
+126,
+1,
+114,
+212,
+117,
+33,
+98,
+244,
+210,
+219,
+23,
+213,
+25,
+124,
+190,
+99,
+192,
+143,
+146,
+7,
+80,
+173,
+253,
+154,
+146,
+43,
+202,
+110,
+33,
+96,
+213,
+208,
+21,
+180,
+48,
+201,
+13,
+224,
+217,
+183,
+0,
+104,
+28,
+250,
+155,
+142,
+145,
+140,
+163,
+0,
+241,
+40,
+67,
+59,
+28,
+108,
+245,
+165,
+15,
+237,
+24,
+68,
+241,
+247,
+184,
+182,
+191,
+9,
+113,
+96,
+241,
+90,
+197,
+105,
+187,
+189,
+169,
+135,
+215,
+168,
+166,
+192,
+103,
+101,
+100,
+207,
+120,
+33,
+50,
+169,
+230,
+107,
+31,
+130,
+246,
+170,
+228,
+201,
+52,
+106,
+181,
+239,
+228,
+169,
+175,
+203,
+94,
+148,
+205,
+225,
+55,
+102,
+236,
+249,
+157,
+103,
+89,
+119,
+10,
+16,
+116,
+164,
+134,
+172,
+36,
+96,
+12,
+45,
+191,
+155,
+192,
+121,
+30,
+125,
+9,
+128,
+198,
+161,
+191,
+233,
+16,
+201,
+56,
+26,
+144,
+244,
+67,
+54,
+209,
+96,
+80,
+54,
+29,
+196,
+44,
+214,
+218,
+184,
+207,
+69,
+20,
+105,
+215,
+144,
+47,
+211,
+230,
+1,
+59,
+149,
+180,
+253,
+134,
+210,
+84,
+29,
+63,
+86,
+30,
+169,
+33,
+150,
+134,
+110,
+84,
+225,
+7,
+181,
+221,
+20,
+224,
+204,
+128,
+254,
+111,
+138,
+44,
+219,
+103,
+19,
+32,
+244,
+200,
+29,
+122,
+188,
+209,
+142,
+129,
+103,
+107,
+253,
+88,
+114,
+203,
+173,
+19,
+0,
+31,
+209,
+250,
+89,
+190,
+122,
+15,
+253,
+158,
+74,
+223,
+202,
+191,
+99,
+180,
+49,
+4,
+1,
+208,
+88,
+219,
+78,
+135,
+72,
+198,
+81,
+1,
+108,
+73,
+30,
+87,
+255,
+229,
+1,
+244,
+103,
+105,
+191,
+46,
+99,
+100,
+64,
+209,
+229,
+200,
+143,
+46,
+38,
+151,
+180,
+181,
+254,
+203,
+94,
+205,
+103,
+192,
+181,
+55,
+35,
+183,
+202,
+251,
+13,
+133,
+227,
+41,
+2,
+180,
+199,
+228,
+49,
+7,
+74,
+147,
+119,
+22,
+232,
+173,
+75,
+175,
+247,
+235,
+135,
+88,
+84,
+2,
+220,
+20,
+118,
+23,
+253,
+35,
+64,
+0,
+216,
+19,
+136,
+202,
+216,
+141,
+14,
+253,
+211,
+17,
+47,
+189,
+133,
+244,
+17,
+133,
+166,
+103,
+140,
+81,
+1,
+208,
+58,
+146,
+113,
+116,
+168,
+16,
+120,
+0,
+184,
+33,
+128,
+214,
+106,
+47,
+7,
+98,
+229,
+145,
+155,
+144,
+122,
+191,
+134,
+192,
+41,
+90,
+223,
+202,
+186,
+140,
+252,
+88,
+165,
+84,
+233,
+86,
+211,
+126,
+29,
+125,
+176,
+139,
+8,
+244,
+208,
+34,
+63,
+175,
+189,
+157,
+130,
+177,
+16,
+98,
+19,
+97,
+87,
+80,
+251,
+151,
+241,
+24,
+54,
+2,
+4,
+128,
+117,
+253,
+190,
+188,
+1,
+79,
+123,
+228,
+116,
+104,
+188,
+158,
+14,
+7,
+99,
+81,
+0,
+104,
+251,
+170,
+72,
+198,
+95,
+71,
+21,
+198,
+109,
+120,
+247,
+134,
+154,
+135,
+121,
+144,
+214,
+253,
+179,
+164,
+237,
+249,
+90,
+95,
+187,
+210,
+240,
+180,
+125,
+177,
+182,
+157,
+66,
+77,
+242,
+203,
+10,
+30,
+118,
+50,
+255,
+185,
+65,
+155,
+21,
+201,
+189,
+250,
+64,
+190,
+132,
+55,
+50,
+50,
+161,
+233,
+25,
+4,
+158,
+93,
+3,
+107,
+146,
+167,
+231,
+190,
+34,
+176,
+77,
+211,
+16,
+217,
+22,
+69,
+37,
+96,
+6,
+236,
+65,
+174,
+129,
+174,
+205,
+226,
+235,
+180,
+125,
+46,
+185,
+239,
+200,
+114,
+161,
+237,
+106,
+250,
+215,
+118,
+226,
+108,
+139,
+124,
+76,
+110,
+211,
+73,
+50,
+3,
+49,
+170,
+58,
+20,
+143,
+14,
+170,
+102,
+204,
+142,
+154,
+0,
+80,
+30,
+222,
+72,
+198,
+90,
+119,
+93,
+155,
+228,
+11,
+222,
+105,
+0,
+0,
+32,
+0,
+73,
+68,
+65,
+84,
+126,
+245,
+10,
+223,
+77,
+35,
+103,
+184,
+54,
+55,
+252,
+109,
+192,
+179,
+75,
+218,
+94,
+175,
+52,
+222,
+250,
+154,
+235,
+30,
+168,
+109,
+127,
+210,
+178,
+223,
+171,
+146,
+235,
+41,
+26,
+69,
+250,
+69,
+172,
+226,
+246,
+65,
+142,
+207,
+30,
+211,
+9,
+244,
+40,
+18,
+179,
+239,
+169,
+88,
+127,
+129,
+188,
+142,
+210,
+62,
+60,
+0,
+60,
+39,
+128,
+190,
+113,
+136,
+108,
+231,
+29,
+185,
+199,
+128,
+151,
+147,
+103,
+16,
+6,
+57,
+222,
+107,
+154,
+61,
+233,
+47,
+218,
+246,
+227,
+77,
+218,
+85,
+244,
+175,
+205,
+210,
+217,
+21,
+134,
+183,
+35,
+177,
+18,
+239,
+33,
+55,
+157,
+29,
+88,
+29,
+86,
+93,
+143,
+252,
+195,
+50,
+42,
+2,
+96,
+84,
+65,
+139,
+240,
+75,
+197,
+155,
+70,
+190,
+12,
+54,
+106,
+203,
+239,
+168,
+176,
+140,
+115,
+6,
+224,
+13,
+228,
+122,
+135,
+25,
+136,
+34,
+241,
+48,
+96,
+227,
+138,
+182,
+214,
+183,
+250,
+3,
+136,
+34,
+240,
+92,
+228,
+4,
+194,
+102,
+214,
+221,
+151,
+81,
+138,
+100,
+27,
+10,
+36,
+86,
+194,
+66,
+237,
+119,
+173,
+7,
+38,
+45,
+67,
+100,
+227,
+199,
+34,
+114,
+161,
+181,
+107,
+203,
+254,
+91,
+151,
+220,
+255,
+182,
+105,
+239,
+233,
+95,
+27,
+1,
+96,
+141,
+176,
+182,
+43,
+148,
+175,
+130,
+152,
+118,
+15,
+40,
+107,
+201,
+133,
+195,
+139,
+60,
+117,
+54,
+151,
+197,
+216,
+250,
+210,
+246,
+13,
+90,
+134,
+95,
+42,
+190,
+60,
+242,
+188,
+238,
+181,
+54,
+220,
+192,
+57,
+74,
+251,
+24,
+18,
+84,
+99,
+50,
+249,
+30,
+26,
+68,
+8,
+121,
+191,
+46,
+228,
+86,
+98,
+135,
+32,
+95,
+224,
+123,
+144,
+47,
+210,
+69,
+228,
+10,
+147,
+191,
+50,
+138,
+185,
+238,
+235,
+128,
+108,
+29,
+166,
+2,
+91,
+6,
+210,
+71,
+15,
+145,
+61,
+22,
+208,
+81,
+0,
+216,
+49,
+251,
+170,
+6,
+109,
+236,
+24,
+123,
+183,
+167,
+238,
+232,
+9,
+39,
+0,
+232,
+16,
+126,
+201,
+35,
+0,
+172,
+86,
+62,
+40,
+35,
+47,
+158,
+76,
+61,
+192,
+243,
+200,
+45,
+206,
+22,
+1,
+219,
+122,
+104,
+158,
+112,
+234,
+191,
+228,
+78,
+116,
+196,
+108,
+210,
+30,
+13,
+214,
+166,
+7,
+79,
+24,
+93,
+116,
+20,
+0,
+214,
+131,
+114,
+26,
+18,
+200,
+165,
+54,
+89,
+8,
+185,
+221,
+199,
+21,
+56,
+33,
+235,
+17,
+109,
+187,
+213,
+196,
+79,
+40,
+1,
+208,
+58,
+252,
+146,
+71,
+0,
+156,
+161,
+191,
+255,
+71,
+71,
+175,
+54,
+135,
+215,
+217,
+158,
+58,
+171,
+184,
+250,
+105,
+73,
+91,
+107,
+100,
+84,
+233,
+217,
+151,
+48,
+250,
+112,
+198,
+208,
+250,
+72,
+120,
+178,
+43,
+244,
+67,
+242,
+36,
+178,
+69,
+169,
+212,
+209,
+0,
+7,
+56,
+60,
+230,
+35,
+137,
+76,
+94,
+91,
+65,
+255,
+26,
+103,
+252,
+204,
+64,
+156,
+186,
+172,
+201,
+241,
+183,
+24,
+35,
+218,
+118,
+2,
+17,
+227,
+66,
+173,
+195,
+47,
+57,
+253,
+176,
+2,
+96,
+53,
+196,
+198,
+29,
+100,
+41,
+254,
+77,
+90,
+46,
+195,
+145,
+99,
+53,
+240,
+251,
+79,
+91,
+205,
+185,
+55,
+12,
+54,
+98,
+224,
+3,
+53,
+161,
+200,
+144,
+213,
+198,
+137,
+200,
+82,
+124,
+62,
+178,
+31,
+191,
+4,
+201,
+224,
+227,
+205,
+136,
+172,
+237,
+90,
+5,
+147,
+64,
+146,
+119,
+124,
+13,
+81,
+194,
+77,
+211,
+107,
+78,
+69,
+132,
+221,
+86,
+177,
+219,
+141,
+7,
+56,
+99,
+200,
+166,
+115,
+191,
+27,
+217,
+130,
+218,
+119,
+60,
+159,
+146,
+248,
+12,
+192,
+203,
+144,
+45,
+228,
+99,
+200,
+135,
+234,
+50,
+135,
+223,
+241,
+192,
+178,
+37,
+237,
+222,
+128,
+156,
+66,
+77,
+67,
+38,
+252,
+53,
+168,
+249,
+54,
+37,
+218,
+246,
+226,
+88,
+47,
+212,
+133,
+132,
+236,
+170,
+132,
+167,
+93,
+85,
+46,
+5,
+107,
+143,
+210,
+42,
+212,
+94,
+241,
+66,
+173,
+195,
+47,
+249,
+30,
+10,
+162,
+37,
+255,
+6,
+121,
+128,
+131,
+179,
+129,
+167,
+181,
+232,
+151,
+245,
+128,
+26,
+8,
+208,
+128,
+40,
+42,
+161,
+160,
+252,
+113,
+234,
+159,
+161,
+245,
+165,
+89,
+109,
+17,
+187,
+118,
+235,
+140,
+51,
+23,
+209,
+67,
+184,
+105,
+209,
+75,
+99,
+236,
+211,
+50,
+152,
+4,
+185,
+185,
+245,
+124,
+228,
+20,
+228,
+42,
+242,
+237,
+204,
+2,
+224,
+245,
+49,
+219,
+85,
+244,
+227,
+45,
+218,
+54,
+232,
+232,
+209,
+211,
+126,
+64,
+168,
+35,
+19,
+174,
+18,
+37,
+188,
+44,
+230,
+3,
+187,
+56,
+229,
+171,
+59,
+247,
+93,
+182,
+58,
+181,
+31,
+155,
+55,
+59,
+101,
+219,
+144,
+7,
+118,
+245,
+174,
+16,
+219,
+192,
+233,
+103,
+83,
+1,
+112,
+82,
+200,
+191,
+6,
+253,
+88,
+146,
+252,
+4,
+173,
+117,
+176,
+29,
+151,
+97,
+235,
+140,
+168,
+53,
+15,
+101,
+11,
+114,
+79,
+168,
+160,
+228,
+34,
+133,
+246,
+239,
+212,
+182,
+183,
+122,
+234,
+172,
+17,
+145,
+247,
+1,
+144,
+11,
+143,
+187,
+43,
+248,
+219,
+243,
+252,
+75,
+113,
+204,
+128,
+17,
+171,
+172,
+255,
+171,
+233,
+91,
+171,
+96,
+18,
+136,
+78,
+229,
+211,
+56,
+206,
+63,
+136,
+213,
+164,
+221,
+151,
+150,
+5,
+20,
+109,
+213,
+174,
+162,
+31,
+246,
+20,
+197,
+187,
+234,
+83,
+154,
+181,
+17,
+99,
+171,
+199,
+245,
+126,
+183,
+208,
+242,
+221,
+128,
+251,
+60,
+244,
+239,
+69,
+242,
+44,
+22,
+255,
+253,
+81,
+175,
+229,
+181,
+52,
+116,
+198,
+208,
+81,
+158,
+58,
+235,
+7,
+255,
+96,
+73,
+91,
+43,
+192,
+87,
+45,
+148,
+111,
+169,
+229,
+211,
+124,
+237,
+218,
+160,
+102,
+172,
+183,
+182,
+31,
+104,
+209,
+15,
+107,
+185,
+121,
+55,
+45,
+62,
+172,
+62,
+134,
+173,
+195,
+47,
+85,
+61,
+20,
+173,
+183,
+166,
+177,
+222,
+244,
+226,
+53,
+188,
+173,
+153,
+241,
+64,
+116,
+94,
+29,
+108,
+32,
+202,
+203,
+1,
+15,
+62,
+224,
+251,
+90,
+95,
+154,
+43,
+143,
+124,
+133,
+210,
+58,
+99,
+75,
+44,
+144,
+123,
+36,
+54,
+90,
+210,
+181,
+105,
+135,
+100,
+199,
+93,
+132,
+28,
+161,
+121,
+151,
+200,
+74,
+119,
+28,
+178,
+23,
+159,
+172,
+244,
+139,
+244,
+255,
+179,
+8,
+207,
+21,
+185,
+20,
+249,
+87,
+220,
+235,
+106,
+237,
+140,
+161,
+1,
+111,
+57,
+242,
+92,
+9,
+197,
+248,
+139,
+182,
+222,
+58,
+103,
+125,
+177,
+80,
+190,
+154,
+150,
+63,
+28,
+210,
+207,
+16,
+140,
+5,
+1,
+128,
+196,
+143,
+176,
+10,
+238,
+82,
+225,
+221,
+148,
+105,
+235,
+240,
+75,
+1,
+2,
+96,
+11,
+173,
+247,
+45,
+227,
+255,
+12,
+236,
+4,
+172,
+84,
+40,
+127,
+22,
+185,
+121,
+234,
+116,
+96,
+125,
+79,
+219,
+165,
+200,
+61,
+168,
+46,
+70,
+181,
+191,
+136,
+117,
+219,
+222,
+200,
+228,
+94,
+68,
+197,
+241,
+144,
+211,
+247,
+129,
+243,
+224,
+97,
+131,
+138,
+156,
+245,
+177,
+219,
+1,
+63,
+214,
+38,
+3,
+57,
+10,
+11,
+116,
+83,
+129,
+15,
+232,
+255,
+95,
+140,
+172,
+2,
+108,
+154,
+171,
+160,
+212,
+220,
+136,
+82,
+13,
+224,
+156,
+10,
+26,
+139,
+1,
+165,
+113,
+221,
+196,
+66,
+44,
+231,
+108,
+252,
+201,
+19,
+201,
+117,
+81,
+54,
+191,
+197,
+9,
+33,
+253,
+12,
+188,
+151,
+210,
+177,
+94,
+215,
+207,
+136,
+125,
+248,
+182,
+94,
+230,
+26,
+98,
+185,
+99,
+211,
+33,
+252,
+146,
+251,
+80,
+244,
+101,
+63,
+203,
+169,
+91,
+154,
+220,
+34,
+112,
+96,
+175,
+233,
+180,
+93,
+132,
+68,
+215,
+185,
+158,
+145,
+250,
+136,
+71,
+41,
+217,
+227,
+107,
+251,
+231,
+147,
+239,
+217,
+231,
+33,
+123,
+120,
+55,
+88,
+68,
+229,
+254,
+200,
+161,
+107,
+44,
+0,
+104,
+153,
+179,
+14,
+17,
+92,
+31,
+68,
+142,
+57,
+39,
+33,
+210,
+124,
+58,
+185,
+86,
+186,
+108,
+160,
+183,
+106,
+231,
+225,
+179,
+28,
+121,
+32,
+144,
+245,
+234,
+250,
+26,
+194,
+179,
+162,
+253,
+75,
+245,
+189,
+60,
+65,
+197,
+177,
+176,
+59,
+134,
+60,
+117,
+33,
+105,
+188,
+94,
+67,
+190,
+202,
+88,
+132,
+40,
+74,
+23,
+33,
+218,
+253,
+213,
+187,
+220,
+67,
+204,
+126,
+70,
+184,
+254,
+51,
+201,
+21,
+163,
+241,
+130,
+165,
+210,
+33,
+252,
+146,
+251,
+80,
+156,
+23,
+112,
+51,
+98,
+16,
+100,
+39,
+243,
+130,
+146,
+182,
+111,
+67,
+162,
+235,
+220,
+138,
+44,
+43,
+109,
+176,
+135,
+203,
+144,
+211,
+131,
+218,
+224,
+154,
+136,
+178,
+239,
+80,
+229,
+49,
+87,
+219,
+159,
+77,
+64,
+242,
+72,
+167,
+239,
+141,
+4,
+0,
+237,
+141,
+166,
+214,
+36,
+247,
+165,
+183,
+207,
+197,
+70,
+82,
+182,
+171,
+25,
+159,
+18,
+169,
+85,
+187,
+146,
+62,
+216,
+253,
+227,
+233,
+77,
+238,
+185,
+41,
+144,
+152,
+131,
+54,
+198,
+226,
+110,
+53,
+180,
+79,
+141,
+33,
+79,
+93,
+240,
+196,
+2,
+94,
+133,
+172,
+28,
+109,
+148,
+235,
+203,
+112,
+18,
+170,
+118,
+69,
+172,
+126,
+118,
+184,
+190,
+141,
+223,
+248,
+215,
+62,
+152,
+119,
+201,
+136,
+138,
+62,
+128,
+189,
+244,
+161,
+79,
+67,
+36,
+255,
+20,
+100,
+153,
+223,
+200,
+214,
+190,
+111,
+144,
+107,
+240,
+189,
+168,
+105,
+219,
+197,
+104,
+234,
+55,
+90,
+55,
+21,
+49,
+58,
+121,
+186,
+83,
+87,
+165,
+69,
+110,
+213,
+174,
+164,
+255,
+255,
+85,
+242,
+202,
+47,
+8,
+29,
+143,
+29,
+17,
+229,
+31,
+4,
+164,
+238,
+114,
+199,
+144,
+167,
+174,
+241,
+196,
+66,
+78,
+15,
+78,
+213,
+102,
+165,
+91,
+143,
+166,
+168,
+233,
+103,
+175,
+17,
+123,
+128,
+23,
+34,
+130,
+127,
+1,
+125,
+69,
+101,
+166,
+135,
+240,
+75,
+99,
+17,
+136,
+143,
+194,
+105,
+206,
+11,
+61,
+71,
+127,
+159,
+134,
+39,
+244,
+121,
+161,
+109,
+23,
+163,
+41,
+187,
+106,
+24,
+8,
+23,
+70,
+158,
+67,
+209,
+39,
+0,
+90,
+181,
+243,
+208,
+110,
+173,
+164,
+33,
+110,
+222,
+173,
+143,
+29,
+17,
+197,
+164,
+13,
+150,
+26,
+178,
+138,
+171,
+154,
+88,
+173,
+190,
+172,
+136,
+16,
+128,
+192,
+32,
+39,
+129,
+60,
+45,
+124,
+62,
+4,
+189,
+70,
+236,
+33,
+63,
+181,
+57,
+186,
+15,
+254,
+19,
+18,
+85,
+47,
+180,
+162,
+77,
+23,
+163,
+41,
+123,
+234,
+176,
+173,
+167,
+206,
+38,
+21,
+241,
+9,
+128,
+86,
+237,
+60,
+180,
+246,
+171,
+248,
+169,
+0,
+218,
+182,
+199,
+149,
+79,
+71,
+182,
+128,
+224,
+177,
+181,
+47,
+105,
+211,
+74,
+0,
+32,
+142,
+103,
+251,
+81,
+80,
+18,
+35,
+129,
+91,
+191,
+172,
+205,
+188,
+193,
+104,
+218,
+192,
+233,
+167,
+207,
+135,
+224,
+136,
+190,
+4,
+0,
+121,
+66,
+145,
+25,
+44,
+38,
+31,
+225,
+49,
+129,
+150,
+2,
+160,
+139,
+209,
+148,
+221,
+175,
+31,
+135,
+42,
+216,
+116,
+176,
+238,
+69,
+133,
+50,
+175,
+109,
+187,
+2,
+143,
+103,
+145,
+39,
+109,
+25,
+240,
+191,
+104,
+112,
+255,
+149,
+199,
+142,
+136,
+98,
+20,
+224,
+196,
+6,
+60,
+45,
+154,
+10,
+128,
+45,
+156,
+182,
+83,
+145,
+149,
+235,
+21,
+228,
+43,
+166,
+57,
+56,
+6,
+66,
+93,
+225,
+92,
+171,
+232,
+67,
+240,
+46,
+122,
+138,
+216,
+163,
+239,
+217,
+234,
+127,
+190,
+21,
+147,
+247,
+168,
+163,
+234,
+197,
+7,
+180,
+253,
+56,
+18,
+94,
+123,
+153,
+170,
+178,
+138,
+246,
+75,
+59,
+215,
+127,
+126,
+29,
+189,
+211,
+174,
+139,
+209,
+212,
+78,
+133,
+1,
+123,
+53,
+185,
+13,
+198,
+126,
+168,
+34,
+54,
+86,
+187,
+2,
+15,
+107,
+47,
+255,
+243,
+208,
+123,
+45,
+225,
+83,
+122,
+236,
+136,
+36,
+191,
+180,
+39,
+58,
+193,
+9,
+82,
+170,
+198,
+1,
+213,
+2,
+96,
+57,
+224,
+115,
+250,
+188,
+109,
+92,
+134,
+199,
+16,
+229,
+227,
+49,
+68,
+202,
+112,
+237,
+233,
+39,
+228,
+62,
+4,
+174,
+242,
+124,
+126,
+221,
+123,
+104,
+113,
+205,
+143,
+40,
+255,
+7,
+0,
+111,
+78,
+193,
+113,
+139,
+170,
+23,
+31,
+208,
+214,
+198,
+19,
+60,
+162,
+170,
+172,
+162,
+253,
+122,
+206,
+245,
+87,
+171,
+163,
+119,
+218,
+117,
+202,
+89,
+135,
+248,
+155,
+95,
+142,
+40,
+11,
+167,
+33,
+166,
+172,
+239,
+214,
+186,
+147,
+203,
+6,
+80,
+219,
+118,
+90,
+239,
+166,
+245,
+10,
+18,
+118,
+180,
+56,
+118,
+116,
+38,
+195,
+121,
+248,
+45,
+2,
+127,
+0,
+172,
+27,
+246,
+164,
+198,
+30,
+156,
+241,
+178,
+23,
+114,
+234,
+51,
+15,
+17,
+118,
+135,
+33,
+6,
+58,
+255,
+139,
+41,
+0,
+144,
+237,
+148,
+85,
+56,
+119,
+10,
+186,
+210,
+244,
+194,
+0,
+199,
+55,
+108,
+179,
+153,
+14,
+208,
+25,
+192,
+5,
+84,
+4,
+243,
+40,
+92,
+167,
+173,
+0,
+88,
+150,
+124,
+105,
+180,
+91,
+89,
+89,
+69,
+123,
+155,
+171,
+189,
+209,
+30,
+145,
+33,
+228,
+172,
+139,
+13,
+36,
+104,
+10,
+4,
+154,
+11,
+211,
+254,
+184,
+50,
+4,
+193,
+126,
+251,
+99,
+13,
+206,
+61,
+84,
+218,
+79,
+68,
+188,
+222,
+87,
+236,
+24,
+101,
+152,
+113,
+45,
+90,
+10,
+128,
+203,
+145,
+229,
+247,
+54,
+136,
+86,
+253,
+162,
+192,
+235,
+180,
+18,
+0,
+218,
+254,
+121,
+136,
+192,
+153,
+137,
+6,
+201,
+240,
+149,
+121,
+218,
+109,
+133,
+236,
+229,
+231,
+18,
+96,
+47,
+80,
+104,
+59,
+30,
+115,
+214,
+89,
+135,
+153,
+218,
+156,
+135,
+74,
+31,
+237,
+216,
+113,
+113,
+130,
+51,
+94,
+135,
+18,
+9,
+153,
+60,
+206,
+228,
+221,
+52,
+216,
+106,
+182,
+189,
+216,
+26,
+136,
+59,
+166,
+53,
+222,
+88,
+136,
+44,
+233,
+206,
+69,
+114,
+215,
+85,
+38,
+59,
+208,
+9,
+103,
+131,
+23,
+238,
+2,
+76,
+15,
+184,
+102,
+39,
+1,
+160,
+60,
+62,
+172,
+60,
+110,
+69,
+77,
+138,
+125,
+101,
+37,
+215,
+125,
+130,
+234,
+116,
+232,
+3,
+171,
+3,
+198,
+89,
+206,
+58,
+114,
+167,
+168,
+187,
+8,
+252,
+138,
+16,
+233,
+216,
+113,
+113,
+67,
+140,
+241,
+218,
+242,
+122,
+149,
+136,
+113,
+161,
+13,
+200,
+227,
+243,
+89,
+239,
+170,
+39,
+201,
+205,
+14,
+161,
+102,
+201,
+139,
+104,
+96,
+207,
+66,
+206,
+154,
+207,
+1,
+46,
+108,
+112,
+131,
+27,
+21,
+202,
+215,
+118,
+38,
+217,
+55,
+107,
+120,
+216,
+201,
+126,
+39,
+185,
+103,
+222,
+64,
+89,
+201,
+117,
+91,
+61,
+92,
+122,
+202,
+89,
+215,
+7,
+144,
+92,
+132,
+0,
+95,
+105,
+208,
+38,
+202,
+177,
+99,
+108,
+208,
+62,
+6,
+67,
+171,
+140,
+87,
+30,
+62,
+222,
+241,
+58,
+238,
+1,
+252,
+93,
+111,
+236,
+100,
+228,
+11,
+7,
+226,
+219,
+157,
+33,
+129,
+53,
+190,
+10,
+172,
+80,
+195,
+99,
+115,
+228,
+120,
+100,
+38,
+226,
+156,
+83,
+27,
+103,
+223,
+247,
+64,
+245,
+250,
+54,
+237,
+118,
+93,
+86,
+160,
+231,
+233,
+75,
+157,
+141,
+134,
+127,
+246,
+149,
+245,
+1,
+250,
+203,
+89,
+119,
+157,
+254,
+191,
+113,
+100,
+28,
+15,
+191,
+213,
+180,
+253,
+156,
+38,
+3,
+159,
+8,
+199,
+142,
+125,
+128,
+246,
+49,
+24,
+26,
+103,
+188,
+42,
+225,
+179,
+216,
+10,
+0,
+251,
+213,
+127,
+174,
+254,
+134,
+134,
+58,
+128,
+150,
+215,
+29,
+241,
+64,
+17,
+205,
+179,
+21,
+70,
+103,
+81,
+177,
+100,
+101,
+164,
+194,
+239,
+163,
+101,
+101,
+227,
+9,
+218,
+239,
+89,
+136,
+9,
+46,
+52,
+136,
+140,
+19,
+185,
+31,
+157,
+143,
+29,
+27,
+92,
+43,
+56,
+47,
+2,
+45,
+99,
+48,
+40,
+109,
+163,
+140,
+87,
+37,
+60,
+22,
+91,
+1,
+96,
+131,
+118,
+188,
+64,
+127,
+15,
+91,
+0,
+172,
+171,
+191,
+173,
+179,
+195,
+21,
+212,
+156,
+121,
+146,
+31,
+249,
+29,
+85,
+85,
+54,
+158,
+224,
+60,
+143,
+198,
+145,
+113,
+122,
+232,
+75,
+235,
+99,
+199,
+134,
+215,
+105,
+148,
+23,
+161,
+227,
+181,
+130,
+51,
+94,
+77,
+40,
+144,
+107,
+125,
+207,
+71,
+210,
+101,
+5,
+11,
+0,
+58,
+56,
+141,
+56,
+3,
+126,
+37,
+242,
+175,
+222,
+109,
+132,
+217,
+143,
+239,
+133,
+232,
+26,
+150,
+169,
+42,
+27,
+79,
+112,
+158,
+71,
+227,
+200,
+56,
+227,
+17,
+52,
+204,
+139,
+176,
+56,
+3,
+120,
+1,
+146,
+165,
+249,
+78,
+68,
+7,
+243,
+32,
+178,
+157,
+252,
+70,
+9,
+125,
+20,
+189,
+134,
+101,
+182,
+22,
+185,
+59,
+171,
+53,
+105,
+60,
+139,
+138,
+104,
+49,
+158,
+142,
+180,
+113,
+26,
+65,
+7,
+192,
+251,
+201,
+131,
+58,
+116,
+138,
+36,
+60,
+158,
+225,
+8,
+128,
+198,
+145,
+113,
+198,
+35,
+104,
+144,
+23,
+161,
+203,
+135,
+102,
+172,
+3,
+9,
+125,
+103,
+183,
+225,
+243,
+17,
+155,
+11,
+155,
+113,
+219,
+235,
+250,
+75,
+36,
+189,
+134,
+203,
+112,
+5,
+196,
+189,
+213,
+77,
+181,
+253,
+40,
+146,
+130,
+107,
+224,
+40,
+205,
+105,
+215,
+58,
+86,
+157,
+35,
+0,
+102,
+59,
+215,
+236,
+100,
+170,
+218,
+7,
+144,
+147,
+141,
+63,
+170,
+144,
+156,
+141,
+40,
+58,
+39,
+35,
+22,
+96,
+3,
+251,
+73,
+231,
+94,
+26,
+125,
+213,
+156,
+118,
+141,
+34,
+227,
+180,
+189,
+222,
+120,
+2,
+237,
+131,
+169,
+142,
+105,
+193,
+129,
+164,
+147,
+183,
+167,
+71,
+191,
+64,
+77,
+168,
+17,
+5,
+252,
+22,
+84,
+40,
+178,
+137,
+160,
+215,
+240,
+49,
+93,
+74,
+59,
+243,
+8,
+249,
+106,
+224,
+54,
+26,
+90,
+63,
+17,
+16,
+171,
+206,
+25,
+184,
+23,
+0,
+219,
+59,
+15,
+98,
+224,
+11,
+56,
+90,
+0,
+118,
+37,
+95,
+157,
+216,
+140,
+173,
+55,
+145,
+167,
+151,
+58,
+204,
+211,
+166,
+171,
+0,
+104,
+27,
+118,
+122,
+113,
+22,
+0,
+109,
+189,
+19,
+27,
+11,
+142,
+182,
+239,
+193,
+161,
+9,
+94,
+206,
+147,
+39,
+208,
+253,
+119,
+248,
+211,
+24,
+209,
+62,
+190,
+94,
+67,
+59,
+116,
+60,
+34,
+157,
+172,
+251,
+107,
+35,
+229,
+19,
+1,
+177,
+234,
+138,
+15,
+26,
+201,
+84,
+11,
+226,
+71,
+62,
+38,
+220,
+30,
+201,
+131,
+78,
+126,
+169,
+80,
+190,
+58,
+240,
+73,
+60,
+130,
+177,
+237,
+132,
+108,
+59,
+240,
+34,
+92,
+207,
+98,
+158,
+14,
+166,
+179,
+245,
+93,
+84,
+157,
+194,
+52,
+254,
+178,
+182,
+189,
+191,
+154,
+123,
+168,
+243,
+78,
+108,
+44,
+56,
+186,
+244,
+147,
+134,
+203,
+121,
+68,
+225,
+13,
+99,
+196,
+110,
+196,
+24,
+51,
+242,
+20,
+0,
+216,
+68,
+127,
+151,
+133,
+116,
+110,
+29,
+171,
+206,
+247,
+160,
+201,
+67,
+72,
+159,
+67,
+172,
+160,
+135,
+35,
+175,
+217,
+52,
+181,
+182,
+53,
+138,
+121,
+69,
+131,
+107,
+88,
+12,
+91,
+0,
+88,
+204,
+67,
+38,
+227,
+57,
+192,
+158,
+148,
+196,
+246,
+115,
+232,
+109,
+214,
+224,
+171,
+16,
+133,
+156,
+197,
+69,
+148,
+164,
+254,
+102,
+20,
+190,
+172,
+37,
+253,
+104,
+27,
+76,
+181,
+84,
+112,
+116,
+120,
+15,
+141,
+151,
+243,
+228,
+199,
+171,
+3,
+17,
+164,
+70,
+13,
+218,
+161,
+227,
+245,
+255,
+214,
+231,
+218,
+151,
+157,
+167,
+83,
+172,
+58,
+223,
+131,
+70,
+190,
+172,
+54,
+208,
+231,
+126,
+145,
+239,
+171,
+77,
+106,
+109,
+187,
+2,
+186,
+140,
+26,
+115,
+104,
+167,
+141,
+197,
+176,
+5,
+64,
+217,
+68,
+190,
+20,
+207,
+177,
+170,
+175,
+159,
+72,
+210,
+137,
+221,
+201,
+183,
+56,
+7,
+148,
+244,
+117,
+216,
+95,
+214,
+40,
+65,
+81,
+29,
+126,
+85,
+110,
+205,
+109,
+223,
+67,
+227,
+229,
+60,
+185,
+123,
+121,
+155,
+15,
+76,
+41,
+66,
+121,
+89,
+134,
+199,
+2,
+219,
+162,
+199,
+103,
+202,
+227,
+120,
+36,
+20,
+180,
+205,
+246,
+251,
+27,
+79,
+187,
+78,
+78,
+35,
+101,
+15,
+26,
+209,
+7,
+44,
+66,
+190,
+190,
+47,
+109,
+116,
+51,
+229,
+215,
+106,
+155,
+90,
+251,
+185,
+228,
+89,
+102,
+108,
+222,
+185,
+186,
+120,
+122,
+22,
+163,
+182,
+5,
+96,
+112,
+34,
+127,
+183,
+73,
+63,
+117,
+76,
+0,
+220,
+212,
+240,
+30,
+250,
+248,
+178,
+182,
+254,
+208,
+208,
+206,
+173,
+185,
+109,
+63,
+27,
+47,
+231,
+201,
+87,
+77,
+219,
+54,
+104,
+99,
+97,
+5,
+126,
+55,
+7,
+33,
+135,
+225,
+28,
+242,
+227,
+192,
+69,
+78,
+249,
+36,
+60,
+103,
+243,
+116,
+116,
+26,
+169,
+121,
+208,
+54,
+118,
+253,
+77,
+68,
+8,
+132,
+64,
+135,
+212,
+218,
+200,
+151,
+237,
+235,
+140,
+60,
+33,
+249,
+95,
+217,
+75,
+115,
+104,
+70,
+93,
+7,
+64,
+197,
+68,
+174,
+105,
+183,
+187,
+29,
+19,
+13,
+239,
+161,
+143,
+47,
+107,
+219,
+96,
+170,
+93,
+221,
+154,
+155,
+246,
+179,
+241,
+114,
+30,
+177,
+244,
+132,
+6,
+89,
+172,
+171,
+222,
+91,
+43,
+32,
+190,
+241,
+127,
+67,
+150,
+222,
+118,
+73,
+50,
+13,
+56,
+29,
+217,
+67,
+150,
+37,
+88,
+28,
+147,
+78,
+35,
+125,
+1,
+9,
+172,
+241,
+254,
+194,
+160,
+218,
+217,
+67,
+215,
+234,
+5,
+117,
+24,
+120,
+165,
+215,
+163,
+98,
+34,
+215,
+180,
+219,
+77,
+235,
+158,
+40,
+233,
+235,
+48,
+191,
+172,
+109,
+131,
+169,
+182,
+21,
+28,
+109,
+251,
+217,
+102,
+57,
+127,
+176,
+182,
+57,
+191,
+65,
+155,
+210,
+247,
+22,
+5,
+202,
+252,
+248,
+0,
+186,
+49,
+233,
+52,
+210,
+55,
+244,
+30,
+109,
+16,
+200,
+41,
+158,
+250,
+126,
+95,
+80,
+131,
+235,
+81,
+49,
+145,
+107,
+218,
+157,
+160,
+117,
+255,
+242,
+212,
+13,
+251,
+203,
+218,
+54,
+152,
+106,
+91,
+193,
+81,
+213,
+207,
+23,
+87,
+180,
+107,
+179,
+156,
+95,
+151,
+60,
+143,
+193,
+33,
+56,
+241,
+26,
+145,
+20,
+110,
+187,
+86,
+244,
+111,
+212,
+5,
+192,
+208,
+156,
+70,
+186,
+160,
+237,
+192,
+171,
+225,
+249,
+82,
+109,
+214,
+232,
+203,
+218,
+7,
+170,
+174,
+71,
+245,
+68,
+30,
+104,
+135,
+56,
+84,
+125,
+158,
+92,
+119,
+240,
+78,
+79,
+187,
+62,
+190,
+172,
+85,
+19,
+171,
+109,
+48,
+213,
+182,
+130,
+195,
+222,
+187,
+47,
+252,
+247,
+59,
+42,
+218,
+53,
+94,
+206,
+107,
+187,
+247,
+145,
+219,
+220,
+204,
+67,
+156,
+192,
+102,
+233,
+239,
+255,
+120,
+232,
+75,
+223,
+119,
+20,
+40,
+243,
+227,
+3,
+105,
+135,
+226,
+52,
+210,
+5,
+53,
+3,
+175,
+106,
+192,
+110,
+128,
+132,
+151,
+222,
+160,
+80,
+254,
+52,
+114,
+39,
+150,
+43,
+43,
+174,
+55,
+106,
+2,
+128,
+176,
+137,
+108,
+97,
+149,
+73,
+215,
+49,
+50,
+6,
+196,
+129,
+37,
+215,
+107,
+251,
+101,
+109,
+59,
+177,
+218,
+6,
+83,
+109,
+43,
+56,
+172,
+137,
+173,
+47,
+252,
+247,
+209,
+21,
+237,
+26,
+47,
+231,
+157,
+182,
+155,
+35,
+185,
+13,
+239,
+65,
+182,
+18,
+51,
+144,
+147,
+167,
+15,
+121,
+104,
+7,
+222,
+247,
+98,
+5,
+106,
+34,
+215,
+208,
+208,
+17,
+194,
+121,
+96,
+93,
+194,
+78,
+63,
+128,
+104,
+121,
+175,
+36,
+15,
+213,
+52,
+11,
+216,
+186,
+226,
+122,
+195,
+22,
+0,
+77,
+39,
+114,
+17,
+179,
+144,
+19,
+143,
+147,
+80,
+159,
+251,
+146,
+118,
+109,
+191,
+172,
+173,
+38,
+150,
+214,
+55,
+254,
+208,
+208,
+94,
+112,
+216,
+163,
+204,
+98,
+248,
+239,
+247,
+144,
+239,
+243,
+125,
+237,
+26,
+47,
+231,
+219,
+192,
+243,
+222,
+6,
+16,
+227,
+58,
+189,
+130,
+134,
+185,
+231,
+11,
+109,
+27,
+57,
+66,
+56,
+207,
+165,
+75,
+216,
+233,
+71,
+145,
+175,
+198,
+227,
+136,
+31,
+192,
+49,
+192,
+38,
+53,
+215,
+27,
+182,
+0,
+176,
+8,
+157,
+200,
+173,
+250,
+73,
+251,
+47,
+107,
+171,
+137,
+213,
+5,
+180,
+19,
+28,
+175,
+113,
+238,
+195,
+134,
+255,
+182,
+17,
+160,
+190,
+133,
+90,
+250,
+149,
+92,
+175,
+209,
+114,
+190,
+229,
+61,
+89,
+196,
+57,
+6,
+28,
+13,
+208,
+49,
+247,
+60,
+13,
+28,
+33,
+156,
+7,
+54,
+148,
+164,
+142,
+109,
+39,
+214,
+176,
+175,
+215,
+161,
+93,
+219,
+47,
+107,
+235,
+137,
+53,
+108,
+0,
+111,
+64,
+220,
+227,
+167,
+105,
+191,
+174,
+65,
+183,
+60,
+168,
+0,
+172,
+104,
+27,
+188,
+156,
+111,
+217,
+183,
+161,
+142,
+175,
+94,
+64,
+156,
+220,
+243,
+65,
+142,
+16,
+73,
+0,
+196,
+109,
+167,
+109,
+219,
+230,
+55,
+104,
+61,
+177,
+198,
+27,
+144,
+128,
+172,
+179,
+233,
+47,
+65,
+73,
+52,
+59,
+128,
+149,
+129,
+207,
+34,
+182,
+223,
+143,
+35,
+75,
+151,
+59,
+145,
+163,
+174,
+210,
+188,
+238,
+5,
+30,
+63,
+69,
+246,
+63,
+191,
+8,
+164,
+239,
+148,
+123,
+190,
+9,
+70,
+81,
+0,
+148,
+46,
+209,
+208,
+8,
+202,
+145,
+175,
+55,
+52,
+1,
+144,
+80,
+15,
+196,
+106,
+116,
+145,
+10,
+188,
+82,
+33,
+64,
+190,
+69,
+216,
+190,
+170,
+204,
+169,
+139,
+46,
+0,
+174,
+115,
+152,
+62,
+142,
+132,
+8,
+179,
+150,
+128,
+15,
+17,
+96,
+3,
+79,
+238,
+241,
+52,
+51,
+74,
+167,
+34,
+162,
+70,
+0,
+148,
+30,
+63,
+69,
+184,
+94,
+21,
+62,
+223,
+195,
+245,
+146,
+0,
+24,
+67,
+0,
+222,
+77,
+158,
+133,
+250,
+218,
+10,
+186,
+187,
+138,
+239,
+193,
+87,
+230,
+212,
+69,
+23,
+0,
+123,
+0,
+63,
+193,
+201,
+59,
+142,
+36,
+147,
+188,
+64,
+47,
+116,
+106,
+0,
+143,
+35,
+145,
+229,
+78,
+200,
+254,
+29,
+90,
+68,
+191,
+173,
+153,
+200,
+85,
+202,
+188,
+86,
+199,
+79,
+139,
+59,
+22,
+87,
+1,
+64,
+131,
+64,
+163,
+67,
+234,
+207,
+165,
+148,
+88,
+84,
+106,
+189,
+61,
+213,
+90,
+167,
+170,
+204,
+169,
+27,
+206,
+123,
+3,
+94,
+168,
+23,
+122,
+44,
+50,
+95,
+104,
+17,
+253,
+182,
+131,
+0,
+104,
+125,
+252,
+180,
+56,
+99,
+49,
+22,
+0,
+149,
+129,
+70,
+145,
+232,
+87,
+7,
+33,
+39,
+37,
+115,
+144,
+237,
+238,
+161,
+212,
+132,
+190,
+111,
+216,
+135,
+157,
+145,
+21,
+192,
+1,
+122,
+141,
+210,
+108,
+201,
+72,
+252,
+5,
+112,
+76,
+238,
+125,
+101,
+78,
+221,
+208,
+4,
+192,
+202,
+118,
+178,
+70,
+230,
+107,
+209,
+40,
+250,
+109,
+7,
+1,
+48,
+244,
+227,
+167,
+197,
+25,
+250,
+184,
+46,
+215,
+255,
+175,
+173,
+19,
+238,
+110,
+68,
+195,
+127,
+123,
+69,
+187,
+224,
+88,
+12,
+200,
+10,
+244,
+100,
+100,
+85,
+248,
+36,
+240,
+59,
+2,
+130,
+196,
+16,
+16,
+104,
+84,
+199,
+195,
+34,
+36,
+120,
+201,
+151,
+201,
+147,
+167,
+252,
+182,
+142,
+127,
+40,
+144,
+143,
+217,
+124,
+228,
+68,
+228,
+103,
+84,
+56,
+180,
+33,
+39,
+6,
+211,
+234,
+202,
+156,
+58,
+139,
+126,
+143,
+1,
+17,
+141,
+45,
+212,
+36,
+208,
+68,
+206,
+203,
+33,
+48,
+96,
+165,
+115,
+3,
+141,
+162,
+223,
+118,
+16,
+0,
+227,
+230,
+248,
+105,
+60,
+64,
+159,
+219,
+61,
+72,
+26,
+180,
+41,
+250,
+123,
+33,
+162,
+60,
+190,
+180,
+164,
+77,
+112,
+44,
+6,
+157,
+252,
+54,
+83,
+213,
+249,
+72,
+128,
+218,
+121,
+200,
+74,
+174,
+82,
+8,
+16,
+16,
+104,
+20,
+73,
+152,
+242,
+170,
+66,
+217,
+121,
+68,
+254,
+208,
+133,
+2,
+241,
+124,
+189,
+163,
+174,
+204,
+169,
+171,
+69,
+140,
+78,
+173,
+64,
+238,
+240,
+241,
+165,
+26,
+218,
+87,
+148,
+77,
+218,
+154,
+27,
+104,
+20,
+253,
+214,
+105,
+215,
+38,
+160,
+68,
+47,
+199,
+79,
+180,
+76,
+87,
+165,
+180,
+65,
+95,
+68,
+242,
+56,
+141,
+62,
+188,
+172,
+77,
+191,
+187,
+64,
+175,
+59,
+31,
+17,
+164,
+255,
+3,
+222,
+132,
+38,
+74,
+197,
+241,
+11,
+112,
+232,
+27,
+197,
+98,
+64,
+143,
+17,
+113,
+50,
+60,
+35,
+66,
+124,
+62,
+112,
+82,
+79,
+247,
+116,
+61,
+48,
+169,
+15,
+222,
+227,
+14,
+72,
+162,
+208,
+203,
+245,
+37,
+92,
+74,
+69,
+22,
+92,
+196,
+2,
+236,
+159,
+74,
+91,
+155,
+161,
+69,
+219,
+88,
+180,
+141,
+126,
+59,
+148,
+227,
+188,
+16,
+208,
+62,
+93,
+85,
+163,
+232,
+68,
+72,
+172,
+185,
+67,
+157,
+103,
+240,
+123,
+224,
+67,
+68,
+136,
+149,
+208,
+20,
+78,
+31,
+30,
+194,
+217,
+82,
+85,
+208,
+55,
+138,
+197,
+160,
+207,
+99,
+96,
+43,
+1,
+252,
+133,
+10,
+101,
+90,
+91,
+32,
+62,
+19,
+139,
+128,
+157,
+98,
+243,
+30,
+119,
+64,
+210,
+45,
+93,
+175,
+47,
+248,
+106,
+52,
+174,
+89,
+5,
+189,
+85,
+162,
+205,
+2,
+158,
+31,
+120,
+141,
+86,
+19,
+121,
+140,
+10,
+128,
+198,
+233,
+170,
+104,
+25,
+157,
+72,
+219,
+90,
+84,
+42,
+128,
+60,
+253,
+170,
+92,
+153,
+208,
+192,
+191,
+194,
+233,
+195,
+103,
+171,
+232,
+218,
+66,
+251,
+112,
+139,
+167,
+252,
+12,
+60,
+251,
+98,
+58,
+172,
+144,
+144,
+192,
+174,
+243,
+129,
+61,
+99,
+222,
+195,
+184,
+5,
+18,
+204,
+16,
+224,
+6,
+106,
+164,
+59,
+146,
+4,
+19,
+100,
+73,
+61,
+96,
+176,
+80,
+209,
+174,
+15,
+1,
+16,
+253,
+60,
+191,
+47,
+208,
+45,
+58,
+81,
+168,
+0,
+104,
+180,
+50,
+161,
+129,
+127,
+133,
+211,
+135,
+94,
+146,
+175,
+146,
+7,
+134,
+117,
+21,
+196,
+47,
+71,
+156,
+144,
+188,
+71,
+210,
+180,
+88,
+33,
+1,
+223,
+70,
+20,
+140,
+111,
+9,
+236,
+215,
+146,
+218,
+230,
+38,
+196,
+232,
+237,
+33,
+42,
+182,
+122,
+228,
+130,
+125,
+131,
+50,
+154,
+49,
+7,
+242,
+176,
+87,
+219,
+212,
+208,
+109,
+133,
+44,
+155,
+230,
+1,
+219,
+53,
+188,
+70,
+91,
+1,
+48,
+225,
+207,
+243,
+27,
+8,
+128,
+54,
+43,
+147,
+32,
+255,
+138,
+170,
+247,
+87,
+66,
+223,
+232,
+11,
+13,
+172,
+135,
+248,
+22,
+44,
+2,
+206,
+5,
+206,
+68,
+4,
+218,
+163,
+192,
+179,
+107,
+174,
+85,
+251,
+124,
+116,
+34,
+255,
+82,
+39,
+114,
+208,
+170,
+85,
+219,
+125,
+67,
+121,
+47,
+66,
+244,
+70,
+183,
+0,
+191,
+175,
+160,
+183,
+31,
+211,
+198,
+201,
+68,
+201,
+243,
+100,
+222,
+83,
+65,
+211,
+40,
+194,
+117,
+232,
+133,
+237,
+36,
+27,
+80,
+230,
+20,
+232,
+78,
+87,
+186,
+111,
+182,
+184,
+70,
+233,
+0,
+98,
+140,
+156,
+231,
+59,
+125,
+44,
+53,
+89,
+174,
+24,
+212,
+79,
+33,
+70,
+95,
+74,
+174,
+217,
+203,
+25,
+48,
+1,
+254,
+21,
+85,
+239,
+175,
+162,
+77,
+163,
+47,
+52,
+34,
+4,
+78,
+35,
+215,
+145,
+156,
+74,
+128,
+89,
+122,
+200,
+243,
+65,
+182,
+18,
+51,
+129,
+111,
+34,
+251,
+127,
+247,
+95,
+105,
+106,
+58,
+242,
+120,
+153,
+95,
+112,
+202,
+202,
+66,
+174,
+175,
+134,
+156,
+70,
+52,
+122,
+78,
+78,
+251,
+255,
+105,
+91,
+111,
+162,
+91,
+90,
+68,
+184,
+142,
+10,
+231,
+230,
+26,
+101,
+12,
+210,
+182,
+165,
+3,
+136,
+49,
+114,
+158,
+239,
+244,
+177,
+106,
+9,
+105,
+17,
+124,
+30,
+75,
+0,
+2,
+251,
+53,
+106,
+198,
+59,
+85,
+239,
+175,
+65,
+219,
+190,
+4,
+88,
+45,
+255,
+154,
+199,
+255,
+137,
+138,
+118,
+214,
+205,
+183,
+46,
+148,
+252,
+81,
+228,
+113,
+1,
+138,
+152,
+26,
+112,
+15,
+171,
+146,
+155,
+226,
+15,
+196,
+23,
+164,
+131,
+14,
+201,
+69,
+87,
+103,
+28,
+59,
+1,
+163,
+90,
+9,
+214,
+224,
+96,
+99,
+204,
+91,
+141,
+49,
+47,
+55,
+198,
+220,
+13,
+220,
+108,
+140,
+89,
+195,
+24,
+179,
+158,
+49,
+230,
+219,
+198,
+152,
+47,
+27,
+99,
+158,
+214,
+150,
+57,
+34,
+205,
+247,
+51,
+198,
+236,
+229,
+20,
+79,
+7,
+238,
+50,
+198,
+252,
+57,
+203,
+178,
+50,
+251,
+253,
+221,
+179,
+44,
+187,
+174,
+225,
+229,
+174,
+51,
+198,
+244,
+226,
+55,
+161,
+247,
+49,
+191,
+164,
+250,
+229,
+89,
+150,
+85,
+234,
+25,
+22,
+119,
+100,
+89,
+214,
+56,
+225,
+12,
+146,
+164,
+198,
+158,
+134,
+205,
+171,
+33,
+127,
+194,
+24,
+115,
+184,
+49,
+102,
+127,
+253,
+253,
+75,
+45,
+51,
+198,
+152,
+233,
+1,
+151,
+219,
+198,
+24,
+147,
+25,
+99,
+174,
+206,
+178,
+204,
+103,
+202,
+252,
+87,
+173,
+223,
+42,
+203,
+178,
+73,
+218,
+191,
+173,
+141,
+49,
+167,
+107,
+93,
+187,
+163,
+97,
+100,
+95,
+52,
+27,
+56,
+60,
+128,
+246,
+30,
+149,
+80,
+3,
+38,
+187,
+1,
+109,
+75,
+191,
+32,
+140,
+210,
+121,
+190,
+182,
+63,
+217,
+233,
+219,
+44,
+196,
+168,
+228,
+94,
+253,
+253,
+231,
+138,
+251,
+8,
+254,
+154,
+181,
+105,
+211,
+166,
+61,
+13,
+150,
+220,
+52,
+223,
+163,
+151,
+190,
+191,
+88,
+253,
+111,
+139,
+62,
+248,
+35,
+123,
+255,
+219,
+125,
+15,
+39,
+176,
+47,
+141,
+158,
+19,
+98,
+57,
+8,
+145,
+34,
+8,
+53,
+185,
+176,
+117,
+65,
+172,
+61,
+107,
+69,
+156,
+127,
+64,
+38,
+224,
+250,
+78,
+249,
+166,
+136,
+107,
+240,
+238,
+189,
+118,
+54,
+50,
+144,
+100,
+36,
+22,
+135,
+224,
+164,
+196,
+2,
+214,
+199,
+227,
+206,
+217,
+102,
+176,
+117,
+29,
+160,
+77,
+219,
+135,
+210,
+211,
+76,
+96,
+180,
+26,
+216,
+109,
+250,
+63,
+22,
+248,
+3,
+63,
+208,
+127,
+22,
+71,
+217,
+178,
+192,
+190,
+52,
+21,
+0,
+183,
+234,
+191,
+202,
+208,
+120,
+209,
+65,
+179,
+21,
+192,
+218,
+136,
+253,
+183,
+197,
+253,
+228,
+81,
+97,
+64,
+189,
+253,
+198,
+11,
+200,
+163,
+231,
+94,
+220,
+160,
+77,
+227,
+193,
+214,
+117,
+128,
+54,
+109,
+223,
+7,
+253,
+48,
+5,
+0,
+13,
+61,
+251,
+186,
+62,
+223,
+64,
+222,
+161,
+167,
+31,
+173,
+159,
+83,
+95,
+125,
+114,
+177,
+68,
+177,
+32,
+203,
+178,
+189,
+179,
+44,
+123,
+122,
+150,
+101,
+159,
+169,
+107,
+156,
+101,
+217,
+84,
+35,
+123,
+141,
+195,
+141,
+49,
+83,
+140,
+236,
+197,
+151,
+48,
+198,
+92,
+108,
+140,
+249,
+156,
+49,
+102,
+219,
+166,
+29,
+26,
+101,
+88,
+101,
+75,
+173,
+9,
+239,
+68,
+71,
+150,
+227,
+182,
+33,
+92,
+238,
+0,
+99,
+204,
+242,
+198,
+152,
+169,
+198,
+152,
+104,
+65,
+84,
+18,
+186,
+43,
+1,
+77,
+150,
+101,
+15,
+25,
+99,
+62,
+171,
+255,
+198,
+59,
+236,
+17,
+211,
+141,
+45,
+218,
+94,
+75,
+201,
+118,
+176,
+141,
+194,
+41,
+65,
+128,
+216,
+34,
+124,
+220,
+136,
+2,
+109,
+199,
+44,
+203,
+238,
+26,
+229,
+46,
+45,
+86,
+24,
+90,
+72,
+174,
+50,
+32,
+249,
+6,
+239,
+48,
+34,
+225,
+175,
+204,
+178,
+204,
+119,
+228,
+81,
+171,
+212,
+43,
+78,
+178,
+54,
+109,
+140,
+49,
+118,
+207,
+239,
+77,
+131,
+94,
+131,
+54,
+26,
+253,
+36,
+52,
+234,
+241,
+27,
+99,
+204,
+195,
+198,
+152,
+183,
+182,
+56,
+101,
+73,
+168,
+193,
+168,
+11,
+0,
+211,
+108,
+121,
+215,
+102,
+146,
+53,
+105,
+51,
+199,
+136,
+16,
+88,
+174,
+142,
+208,
+131,
+49,
+117,
+12,
+184,
+184,
+32,
+203,
+178,
+168,
+193,
+52,
+19,
+2,
+129,
+132,
+8,
+251,
+15,
+240,
+120,
+143,
+215,
+168,
+13,
+220,
+160,
+116,
+67,
+81,
+180,
+33,
+102,
+179,
+0,
+123,
+213,
+83,
+15,
+183,
+111,
+218,
+238,
+29,
+12,
+106,
+233,
+63,
+136,
+115,
+90,
+17,
+227,
+122,
+125,
+42,
+209,
+198,
+59,
+255,
+166,
+10,
+55,
+52,
+206,
+4,
+145,
+82,
+220,
+199,
+232,
+147,
+139,
+1,
+37,
+160,
+50,
+220,
+223,
+24,
+243,
+43,
+99,
+204,
+43,
+141,
+49,
+247,
+55,
+232,
+64,
+211,
+7,
+110,
+151,
+119,
+219,
+141,
+145,
+229,
+221,
+213,
+250,
+119,
+151,
+74,
+170,
+81,
+0,
+98,
+216,
+115,
+134,
+49,
+230,
+11,
+78,
+241,
+251,
+141,
+49,
+39,
+25,
+99,
+134,
+103,
+254,
+153,
+208,
+20,
+183,
+234,
+223,
+49,
+55,
+166,
+140,
+41,
+17,
+0,
+198,
+152,
+125,
+245,
+239,
+39,
+178,
+44,
+123,
+97,
+9,
+77,
+103,
+100,
+89,
+182,
+105,
+150,
+101,
+107,
+103,
+89,
+118,
+117,
+61,
+245,
+80,
+96,
+195,
+65,
+189,
+17,
+248,
+46,
+35,
+227,
+179,
+173,
+5,
+188,
+125,
+148,
+250,
+101,
+178,
+44,
+91,
+144,
+149,
+99,
+66,
+91,
+245,
+89,
+216,
+21,
+146,
+83,
+180,
+127,
+200,
+10,
+169,
+103,
+28,
+235,
+244,
+229,
+102,
+196,
+132,
+189,
+214,
+20,
+120,
+84,
+225,
+124,
+209,
+155,
+250,
+246,
+143,
+153,
+37,
+93,
+219,
+62,
+145,
+59,
+56,
+129,
+156,
+61,
+223,
+64,
+30,
+154,
+42,
+74,
+150,
+214,
+190,
+159,
+87,
+215,
+235,
+141,
+197,
+247,
+25,
+192,
+115,
+40,
+17,
+147,
+28,
+158,
+161,
+91,
+128,
+12,
+216,
+95,
+199,
+209,
+108,
+196,
+122,
+213,
+27,
+50,
+109,
+88,
+125,
+114,
+81,
+167,
+4,
+12,
+138,
+239,
+215,
+4,
+208,
+74,
+59,
+63,
+76,
+236,
+98,
+140,
+249,
+146,
+49,
+102,
+79,
+99,
+204,
+250,
+198,
+24,
+171,
+132,
+186,
+195,
+24,
+83,
+26,
+213,
+53,
+161,
+30,
+192,
+59,
+140,
+49,
+110,
+34,
+213,
+253,
+129,
+179,
+140,
+49,
+167,
+103,
+89,
+214,
+41,
+22,
+95,
+150,
+101,
+11,
+140,
+216,
+198,
+143,
+41,
+100,
+89,
+134,
+17,
+255,
+149,
+131,
+71,
+187,
+47,
+62,
+140,
+230,
+41,
+192,
+176,
+142,
+205,
+26,
+181,
+201,
+178,
+108,
+190,
+49,
+230,
+123,
+198,
+152,
+239,
+57,
+194,
+106,
+165,
+44,
+203,
+234,
+28,
+56,
+142,
+163,
+36,
+33,
+74,
+150,
+101,
+91,
+213,
+180,
+93,
+236,
+65,
+174,
+195,
+112,
+241,
+126,
+253,
+247,
+114,
+99,
+76,
+218,
+198,
+140,
+2,
+70,
+83,
+0,
+12,
+235,
+216,
+44,
+198,
+81,
+91,
+101,
+108,
+63,
+69,
+155,
+229,
+236,
+132,
+17,
+26,
+99,
+245,
+11,
+221,
+20,
+139,
+155,
+125,
+198,
+128,
+0,
+96,
+100,
+18,
+133,
+97,
+186,
+249,
+134,
+160,
+141,
+208,
+104,
+211,
+198,
+24,
+19,
+246,
+178,
+59,
+14,
+136,
+94,
+117,
+0,
+125,
+46,
+185,
+19,
+22,
+51,
+0,
+203,
+3,
+47,
+3,
+254,
+165,
+10,
+133,
+191,
+53,
+104,
+27,
+172,
+212,
+25,
+150,
+210,
+172,
+111,
+69,
+214,
+88,
+71,
+27,
+165,
+24,
+45,
+237,
+12,
+198,
+2,
+144,
+0,
+26,
+199,
+106,
+191,
+79,
+243,
+212,
+15,
+96,
+52,
+250,
+233,
+244,
+103,
+105,
+228,
+68,
+224,
+78,
+26,
+4,
+240,
+232,
+179,
+67,
+22,
+55,
+2,
+95,
+1,
+130,
+131,
+106,
+36,
+1,
+48,
+254,
+209,
+70,
+96,
+140,
+21,
+0,
+239,
+69,
+162,
+83,
+221,
+133,
+68,
+225,
+169,
+18,
+0,
+87,
+17,
+51,
+115,
+78,
+75,
+0,
+27,
+58,
+125,
+26,
+181,
+227,
+101,
+215,
+14,
+224,
+127,
+70,
+246,
+202,
+235,
+25,
+99,
+94,
+104,
+196,
+60,
+55,
+97,
+130,
+160,
+15,
+59,
+3,
+224,
+37,
+200,
+209,
+151,
+215,
+156,
+151,
+6,
+97,
+200,
+107,
+176,
+185,
+49,
+230,
+95,
+198,
+152,
+16,
+107,
+187,
+247,
+103,
+89,
+182,
+149,
+79,
+199,
+226,
+147,
+124,
+109,
+251,
+76,
+189,
+11,
+243,
+221,
+198,
+152,
+43,
+141,
+49,
+119,
+26,
+99,
+46,
+15,
+232,
+119,
+255,
+0,
+86,
+68,
+242,
+145,
+1,
+252,
+179,
+65,
+187,
+224,
+175,
+109,
+197,
+87,
+166,
+234,
+161,
+7,
+243,
+239,
+210,
+70,
+219,
+5,
+199,
+210,
+71,
+76,
+152,
+255,
+3,
+236,
+209,
+228,
+26,
+19,
+5,
+192,
+31,
+144,
+184,
+118,
+231,
+251,
+132,
+0,
+13,
+194,
+144,
+55,
+184,
+38,
+84,
+175,
+0,
+74,
+207,
+202,
+201,
+227,
+56,
+218,
+73,
+238,
+27,
+139,
+65,
+125,
+166,
+38,
+57,
+233,
+152,
+5,
+176,
+142,
+243,
+176,
+86,
+10,
+108,
+19,
+60,
+217,
+28,
+218,
+54,
+65,
+52,
+135,
+33,
+0,
+130,
+99,
+233,
+147,
+39,
+79,
+1,
+248,
+98,
+13,
+223,
+37,
+144,
+40,
+67,
+143,
+35,
+65,
+83,
+14,
+68,
+98,
+204,
+21,
+233,
+62,
+15,
+92,
+134,
+132,
+230,
+126,
+20,
+248,
+59,
+240,
+188,
+38,
+247,
+48,
+86,
+128,
+100,
+198,
+61,
+205,
+190,
+239,
+18,
+154,
+160,
+48,
+228,
+13,
+174,
+9,
+45,
+5,
+128,
+67,
+91,
+23,
+146,
+174,
+178,
+207,
+4,
+250,
+184,
+116,
+5,
+18,
+54,
+124,
+54,
+240,
+75,
+79,
+221,
+47,
+144,
+237,
+208,
+79,
+219,
+48,
+182,
+216,
+176,
+33,
+125,
+223,
+58,
+128,
+94,
+133,
+134,
+182,
+107,
+20,
+75,
+31,
+201,
+42,
+3,
+240,
+64,
+13,
+223,
+47,
+34,
+81,
+139,
+191,
+160,
+255,
+230,
+227,
+137,
+62,
+139,
+164,
+146,
+62,
+20,
+120,
+63,
+176,
+59,
+146,
+120,
+226,
+162,
+10,
+190,
+149,
+202,
+36,
+74,
+80,
+255,
+36,
+226,
+1,
+73,
+45,
+87,
+26,
+98,
+142,
+128,
+48,
+228,
+13,
+174,
+5,
+61,
+11,
+128,
+186,
+62,
+19,
+144,
+156,
+180,
+105,
+159,
+74,
+218,
+219,
+240,
+125,
+3,
+238,
+235,
+78,
+221,
+147,
+109,
+24,
+55,
+234,
+88,
+147,
+201,
+214,
+132,
+214,
+211,
+166,
+20,
+49,
+174,
+211,
+6,
+192,
+243,
+235,
+6,
+139,
+210,
+93,
+11,
+252,
+213,
+249,
+253,
+87,
+60,
+166,
+197,
+158,
+118,
+135,
+81,
+145,
+177,
+150,
+26,
+101,
+18,
+178,
+162,
+25,
+248,
+231,
+161,
+179,
+193,
+80,
+127,
+94,
+211,
+159,
+208,
+231,
+191,
+51,
+178,
+2,
+56,
+64,
+175,
+57,
+20,
+43,
+74,
+237,
+78,
+239,
+2,
+32,
+6,
+154,
+244,
+169,
+164,
+253,
+145,
+200,
+10,
+224,
+23,
+158,
+58,
+187,
+58,
+56,
+178,
+247,
+142,
+53,
+153,
+108,
+195,
+154,
+152,
+195,
+66,
+232,
+96,
+65,
+210,
+79,
+29,
+230,
+252,
+62,
+12,
+24,
+176,
+179,
+64,
+146,
+178,
+254,
+12,
+177,
+29,
+159,
+129,
+198,
+134,
+175,
+224,
+107,
+87,
+0,
+141,
+226,
+193,
+123,
+248,
+172,
+6,
+220,
+167,
+183,
+242,
+158,
+10,
+186,
+80,
+129,
+50,
+3,
+89,
+229,
+76,
+209,
+251,
+25,
+138,
+82,
+121,
+34,
+9,
+128,
+24,
+24,
+11,
+1,
+65,
+38,
+10,
+22,
+153,
+145,
+150,
+112,
+101,
+158,
+152,
+191,
+49,
+18,
+19,
+254,
+48,
+99,
+204,
+100,
+99,
+204,
+206,
+250,
+207,
+11,
+53,
+93,
+30,
+136,
+162,
+212,
+20,
+89,
+150,
+61,
+134,
+164,
+150,
+250,
+147,
+49,
+230,
+112,
+224,
+239,
+89,
+150,
+13,
+88,
+41,
+102,
+89,
+22,
+116,
+60,
+156,
+101,
+217,
+10,
+93,
+251,
+52,
+150,
+225,
+8,
+135,
+141,
+139,
+113,
+17,
+171,
+234,
+198,
+26,
+202,
+6,
+161,
+117,
+2,
+170,
+76,
+13,
+150,
+208,
+8,
+183,
+24,
+99,
+54,
+113,
+126,
+63,
+207,
+228,
+190,
+226,
+46,
+182,
+54,
+198,
+28,
+159,
+101,
+217,
+215,
+178,
+44,
+251,
+189,
+49,
+102,
+152,
+97,
+161,
+207,
+48,
+198,
+220,
+100,
+140,
+89,
+219,
+24,
+19,
+39,
+207,
+92,
+194,
+168,
+0,
+248,
+152,
+174,
+46,
+94,
+92,
+69,
+87,
+38,
+0,
+172,
+212,
+122,
+83,
+192,
+133,
+92,
+30,
+115,
+3,
+251,
+183,
+56,
+225,
+169,
+136,
+73,
+192,
+186,
+21,
+116,
+71,
+27,
+99,
+182,
+3,
+246,
+3,
+246,
+51,
+198,
+108,
+103,
+114,
+95,
+113,
+23,
+119,
+24,
+99,
+182,
+69,
+148,
+128,
+223,
+51,
+198,
+188,
+173,
+174,
+3,
+177,
+150,
+146,
+234,
+185,
+102,
+253,
+233,
+247,
+41,
+188,
+219,
+113,
+1,
+181,
+91,
+40,
+221,
+194,
+76,
+32,
+172,
+84,
+248,
+27,
+14,
+196,
+178,
+202,
+226,
+250,
+26,
+218,
+245,
+148,
+110,
+33,
+1,
+199,
+134,
+14,
+223,
+96,
+141,
+126,
+0,
+207,
+159,
+43,
+207,
+63,
+4,
+208,
+238,
+66,
+158,
+179,
+109,
+149,
+166,
+215,
+42,
+225,
+121,
+182,
+242,
+59,
+23,
+209,
+14,
+15,
+152,
+206,
+34,
+126,
+225,
+223,
+36,
+63,
+6,
+252,
+14,
+254,
+99,
+192,
+215,
+144,
+251,
+142,
+159,
+13,
+236,
+90,
+183,
+23,
+141,
+185,
+151,
+68,
+108,
+65,
+108,
+142,
+197,
+215,
+117,
+229,
+55,
+86,
+208,
+228,
+25,
+17,
+118,
+10,
+80,
+202,
+47,
+244,
+90,
+49,
+223,
+155,
+135,
+247,
+55,
+149,
+119,
+80,
+218,
+115,
+31,
+131,
+119,
+2,
+23,
+227,
+81,
+84,
+57,
+52,
+75,
+3,
+39,
+233,
+133,
+74,
+143,
+170,
+10,
+109,
+106,
+209,
+176,
+159,
+59,
+107,
+179,
+251,
+129,
+213,
+43,
+232,
+50,
+68,
+35,
+237,
+34,
+150,
+0,
+120,
+58,
+98,
+62,
+125,
+99,
+155,
+123,
+136,
+112,
+253,
+168,
+3,
+9,
+248,
+183,
+242,
+59,
+48,
+6,
+191,
+177,
+128,
+38,
+207,
+136,
+197,
+67,
+0,
+28,
+162,
+188,
+223,
+87,
+69,
+87,
+170,
+4,
+204,
+178,
+236,
+12,
+51,
+232,
+191,
+109,
+153,
+223,
+103,
+140,
+185,
+215,
+136,
+217,
+240,
+218,
+70,
+162,
+233,
+238,
+23,
+210,
+177,
+152,
+238,
+148,
+72,
+250,
+114,
+155,
+193,
+232,
+179,
+89,
+150,
+61,
+90,
+66,
+183,
+188,
+145,
+96,
+30,
+239,
+50,
+18,
+247,
+111,
+99,
+211,
+102,
+105,
+84,
+142,
+21,
+140,
+49,
+47,
+50,
+242,
+60,
+102,
+26,
+89,
+198,
+143,
+103,
+156,
+103,
+140,
+121,
+181,
+49,
+166,
+242,
+28,
+59,
+97,
+76,
+35,
+104,
+11,
+208,
+118,
+143,
+55,
+199,
+136,
+221,
+245,
+211,
+140,
+49,
+103,
+25,
+99,
+94,
+155,
+249,
+51,
+152,
+246,
+141,
+221,
+141,
+49,
+207,
+52,
+198,
+220,
+108,
+140,
+249,
+99,
+5,
+221,
+95,
+140,
+76,
+254,
+11,
+141,
+236,
+189,
+99,
+251,
+116,
+159,
+98,
+140,
+249,
+128,
+17,
+13,
+250,
+218,
+89,
+150,
+85,
+42,
+94,
+198,
+1,
+172,
+0,
+171,
+210,
+105,
+36,
+140,
+50,
+144,
+179,
+126,
+128,
+123,
+60,
+213,
+43,
+234,
+223,
+74,
+1,
+208,
+234,
+24,
+48,
+203,
+178,
+32,
+11,
+193,
+62,
+129,
+36,
+77,
+180,
+230,
+183,
+135,
+168,
+2,
+171,
+12,
+63,
+54,
+198,
+220,
+99,
+140,
+249,
+120,
+150,
+101,
+243,
+104,
+224,
+233,
+24,
+208,
+143,
+149,
+141,
+49,
+175,
+215,
+159,
+95,
+201,
+178,
+172,
+77,
+82,
+145,
+177,
+134,
+135,
+244,
+239,
+26,
+163,
+218,
+139,
+132,
+58,
+188,
+74,
+255,
+254,
+213,
+83,
+103,
+39,
+254,
+138,
+158,
+186,
+167,
+48,
+158,
+237,
+0,
+94,
+105,
+140,
+217,
+192,
+200,
+145,
+165,
+215,
+76,
+215,
+34,
+203,
+178,
+179,
+140,
+172,
+84,
+44,
+150,
+46,
+163,
+109,
+129,
+167,
+38,
+73,
+150,
+101,
+247,
+70,
+228,
+59,
+154,
+120,
+68,
+255,
+174,
+54,
+170,
+189,
+72,
+40,
+5,
+176,
+170,
+17,
+175,
+93,
+99,
+140,
+249,
+181,
+135,
+164,
+217,
+22,
+0,
+152,
+171,
+203,
+137,
+168,
+174,
+137,
+52,
+243,
+174,
+219,
+20,
+201,
+208,
+123,
+175,
+246,
+103,
+10,
+146,
+173,
+216,
+103,
+225,
+182,
+173,
+254,
+189,
+34,
+32,
+94,
+95,
+159,
+88,
+172,
+66,
+68,
+41,
+150,
+209,
+191,
+211,
+70,
+181,
+23,
+9,
+85,
+216,
+198,
+200,
+216,
+187,
+186,
+100,
+251,
+221,
+120,
+11,
+48,
+221,
+24,
+179,
+186,
+137,
+255,
+210,
+223,
+102,
+140,
+89,
+214,
+136,
+146,
+236,
+82,
+35,
+82,
+235,
+185,
+70,
+246,
+238,
+69,
+28,
+98,
+196,
+16,
+230,
+116,
+35,
+6,
+41,
+27,
+26,
+73,
+12,
+185,
+145,
+49,
+230,
+141,
+5,
+218,
+109,
+244,
+239,
+121,
+145,
+251,
+155,
+144,
+191,
+155,
+135,
+71,
+181,
+23,
+139,
+57,
+58,
+42,
+196,
+223,
+160,
+127,
+15,
+45,
+169,
+111,
+188,
+5,
+152,
+102,
+74,
+4,
+0,
+226,
+110,
+248,
+97,
+99,
+204,
+113,
+89,
+150,
+237,
+19,
+90,
+167,
+56,
+203,
+72,
+236,
+187,
+201,
+250,
+123,
+178,
+145,
+32,
+8,
+87,
+122,
+104,
+63,
+100,
+228,
+185,
+60,
+117,
+244,
+8,
+60,
+215,
+248,
+77,
+93,
+173,
+143,
+245,
+120,
+215,
+184,
+143,
+69,
+88,
+247,
+227,
+74,
+15,
+199,
+113,
+138,
+147,
+81,
+223,
+133,
+113,
+30,
+120,
+117,
+71,
+35,
+6,
+123,
+167,
+150,
+212,
+55,
+51,
+4,
+2,
+174,
+211,
+45,
+192,
+241,
+158,
+186,
+16,
+183,
+195,
+168,
+202,
+47,
+224,
+105,
+192,
+235,
+17,
+191,
+235,
+223,
+122,
+234,
+109,
+178,
+142,
+183,
+182,
+224,
+109,
+209,
+217,
+14,
+0,
+216,
+76,
+121,
+205,
+235,
+202,
+171,
+67,
+31,
+162,
+158,
+39,
+3,
+103,
+41,
+191,
+178,
+175,
+203,
+184,
+3,
+30,
+84,
+208,
+14,
+197,
+14,
+160,
+79,
+56,
+91,
+250,
+202,
+36,
+36,
+197,
+45,
+128,
+49,
+254,
+45,
+192,
+137,
+70,
+190,
+242,
+191,
+241,
+212,
+157,
+96,
+140,
+249,
+168,
+254,
+141,
+130,
+194,
+131,
+63,
+215,
+24,
+227,
+139,
+184,
+99,
+39,
+175,
+247,
+236,
+127,
+136,
+216,
+65,
+255,
+250,
+236,
+250,
+199,
+29,
+144,
+19,
+146,
+109,
+245,
+231,
+57,
+163,
+216,
+149,
+168,
+8,
+89,
+110,
+147,
+91,
+161,
+214,
+158,
+18,
+85,
+241,
+27,
+11,
+161,
+195,
+179,
+44,
+91,
+182,
+158,
+202,
+1,
+226,
+159,
+14,
+61,
+89,
+127,
+53,
+145,
+138,
+192,
+14,
+136,
+133,
+223,
+17,
+218,
+230,
+32,
+15,
+205,
+227,
+90,
+183,
+181,
+143,
+71,
+96,
+95,
+58,
+173,
+0,
+16,
+147,
+93,
+139,
+82,
+143,
+189,
+190,
+17,
+243,
+139,
+131,
+248,
+32,
+128,
+132,
+189,
+90,
+166,
+190,
+197,
+226,
+131,
+38,
+171,
+132,
+197,
+14,
+72,
+8,
+104,
+144,
+204,
+192,
+125,
+240,
+111,
+53,
+72,
+129,
+11,
+241,
+68,
+147,
+1,
+110,
+85,
+126,
+141,
+179,
+174,
+70,
+20,
+0,
+143,
+33,
+230,
+210,
+239,
+236,
+194,
+167,
+43,
+34,
+11,
+128,
+75,
+149,
+215,
+119,
+99,
+244,
+45,
+97,
+108,
+35,
+116,
+11,
+48,
+20,
+0,
+171,
+100,
+89,
+246,
+132,
+243,
+123,
+73,
+99,
+204,
+51,
+140,
+63,
+71,
+225,
+253,
+70,
+78,
+7,
+188,
+17,
+103,
+135,
+129,
+44,
+203,
+22,
+171,
+115,
+114,
+196,
+113,
+228,
+53,
+70,
+18,
+194,
+44,
+54,
+251,
+255,
+132,
+114,
+184,
+166,
+192,
+211,
+10,
+127,
+71,
+3,
+83,
+129,
+51,
+144,
+212,
+220,
+95,
+55,
+198,
+92,
+96,
+100,
+130,
+255,
+202,
+67,
+107,
+247,
+107,
+111,
+240,
+212,
+77,
+24,
+48,
+210,
+243,
+176,
+52,
+238,
+94,
+0,
+159,
+149,
+141,
+49,
+71,
+233,
+207,
+207,
+186,
+130,
+56,
+97,
+2,
+128,
+220,
+125,
+176,
+151,
+36,
+5,
+33,
+203,
+84,
+224,
+32,
+196,
+163,
+110,
+38,
+18,
+106,
+106,
+50,
+18,
+76,
+115,
+32,
+40,
+6,
+240,
+70,
+229,
+55,
+151,
+134,
+153,
+107,
+98,
+109,
+1,
+198,
+2,
+128,
+183,
+235,
+189,
+60,
+94,
+79,
+93,
+201,
+199,
+134,
+131,
+111,
+30,
+67,
+46,
+97,
+252,
+3,
+216,
+87,
+7,
+192,
+182,
+61,
+241,
+143,
+182,
+79,
+85,
+126,
+203,
+34,
+145,
+87,
+1,
+118,
+107,
+217,
+151,
+113,
+43,
+0,
+128,
+187,
+145,
+248,
+245,
+243,
+244,
+94,
+14,
+24,
+237,
+62,
+37,
+140,
+99,
+144,
+135,
+16,
+10,
+201,
+174,
+210,
+134,
+127,
+84,
+1,
+160,
+60,
+247,
+87,
+158,
+147,
+98,
+241,
+28,
+47,
+64,
+148,
+160,
+243,
+144,
+64,
+158,
+95,
+247,
+173,
+146,
+18,
+18,
+198,
+12,
+122,
+18,
+0,
+43,
+34,
+201,
+51,
+0,
+106,
+67,
+103,
+37,
+36,
+36,
+140,
+18,
+250,
+16,
+0,
+202,
+247,
+67,
+202,
+247,
+238,
+241,
+188,
+164,
+79,
+72,
+24,
+85,
+32,
+94,
+119,
+179,
+129,
+195,
+235,
+169,
+91,
+241,
+15,
+22,
+0,
+84,
+164,
+60,
+42,
+161,
+63,
+82,
+121,
+255,
+174,
+123,
+79,
+19,
+18,
+38,
+32,
+200,
+109,
+250,
+123,
+57,
+254,
+105,
+40,
+0,
+122,
+241,
+47,
+72,
+72,
+72,
+24,
+9,
+215,
+14,
+224,
+68,
+35,
+161,
+190,
+134,
+146,
+194,
+169,
+6,
+39,
+24,
+233,
+75,
+52,
+255,
+130,
+132,
+132,
+132,
+81,
+68,
+95,
+58,
+128,
+132,
+132,
+132,
+132,
+132,
+132,
+132,
+137,
+0,
+93,
+69,
+148,
+165,
+3,
+111,
+156,
+84,
+36,
+33,
+97,
+34,
+99,
+220,
+165,
+126,
+74,
+72,
+72,
+136,
+135,
+36,
+0,
+18,
+18,
+38,
+48,
+122,
+21,
+0,
+85,
+138,
+63,
+231,
+168,
+111,
+251,
+62,
+251,
+144,
+144,
+144,
+80,
+142,
+209,
+92,
+1,
+60,
+92,
+248,
+155,
+144,
+144,
+48,
+100,
+140,
+5,
+1,
+240,
+72,
+177,
+194,
+177,
+74,
+60,
+98,
+200,
+125,
+74,
+72,
+152,
+80,
+24,
+77,
+1,
+96,
+39,
+190,
+111,
+5,
+176,
+155,
+145,
+192,
+140,
+31,
+30,
+94,
+119,
+18,
+18,
+38,
+30,
+70,
+123,
+5,
+48,
+61,
+203,
+178,
+185,
+158,
+58,
+107,
+149,
+232,
+139,
+66,
+156,
+144,
+144,
+16,
+9,
+163,
+153,
+27,
+240,
+97,
+227,
+89,
+254,
+27,
+99,
+76,
+150,
+101,
+123,
+27,
+99,
+246,
+30,
+110,
+119,
+18,
+18,
+18,
+162,
+98,
+152,
+230,
+191,
+201,
+16,
+40,
+33,
+161,
+57,
+146,
+29,
+64,
+66,
+194,
+4,
+70,
+18,
+0,
+9,
+9,
+19,
+24,
+73,
+0,
+36,
+36,
+76,
+96,
+36,
+1,
+144,
+144,
+48,
+129,
+145,
+4,
+64,
+66,
+194,
+4,
+198,
+184,
+19,
+0,
+73,
+219,
+159,
+144,
+16,
+15,
+227,
+78,
+0,
+36,
+36,
+36,
+196,
+67,
+18,
+0,
+9,
+9,
+19,
+24,
+73,
+0,
+36,
+36,
+76,
+96,
+36,
+1,
+144,
+144,
+48,
+117,
+14,
+169,
+49,
+0,
+0,
+2,
+74,
+73,
+68,
+65,
+84,
+129,
+145,
+4,
+64,
+66,
+194,
+4,
+70,
+175,
+206,
+64,
+89,
+150,
+101,
+125,
+242,
+79,
+72,
+72,
+232,
+134,
+180,
+2,
+72,
+72,
+152,
+192,
+72,
+2,
+32,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+33,
+225,
+255,
+219,
+131,
+3,
+2,
+0,
+0,
+0,
+0,
+33,
+253,
+95,
+221,
+17,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+0,
+208,
+17,
+112,
+180,
+144,
+16,
+164,
+2,
+78,
+0,
+0,
+0,
+0,
+73,
+69,
+78,
+68,
+174,
+66,
+96,
+130,
+};
diff --git a/scene/resources/default_theme/font_large.inc b/scene/resources/default_theme/font_large.inc
deleted file mode 100644
index e44d60d736..0000000000
--- a/scene/resources/default_theme/font_large.inc
+++ /dev/null
@@ -1,65741 +0,0 @@
-static const int _builtin_large_font_height=16;
-static const int _builtin_large_font_ascent=13;
-static const int _builtin_large_font_charcount=191;
-static const int _builtin_large_font_charrects[191][8]={
-/* charidx , ofs_x, ofs_y, size_x, size_y, valign, halign, advance */
-{224,122,104,8,11,2,0,8},
-{192,173,2,10,14,-1,0,10},
-{64,38,17,13,13,3,0,13},
-{96,138,131,4,2,2,0,5},
-{160,0,0,0,0,13,0,4},
-{32,0,0,0,0,13,0,4},
-{33,8,126,2,11,2,1,4},
-{225,110,95,8,11,2,0,8},
-{161,251,122,2,11,5,1,4},
-{193,159,2,10,14,-1,0,10},
-{65,72,29,10,11,2,0,10},
-{97,218,79,8,8,5,0,8},
-{98,14,63,8,11,2,0,9},
-{66,26,68,8,11,2,1,10},
-{226,98,95,8,11,2,0,8},
-{194,145,2,10,14,-1,0,10},
-{162,14,78,8,12,3,0,8},
-{34,21,128,5,4,2,0,5},
-{35,158,38,9,11,2,0,9},
-{67,67,47,9,11,2,0,10},
-{163,198,34,9,11,2,0,9},
-{195,2,17,10,15,-2,0,10},
-{227,26,83,8,12,1,0,8},
-{99,230,76,8,8,5,0,8},
-{100,245,47,8,11,2,0,9},
-{68,145,53,9,11,2,1,10},
-{228,86,93,8,11,2,0,8},
-{36,26,99,8,15,0,0,9},
-{196,131,17,10,14,-1,0,10},
-{164,44,34,10,11,3,0,11},
-{37,87,17,11,11,2,0,11},
-{69,2,51,8,11,2,1,9},
-{197,16,29,10,15,-2,0,10},
-{229,38,83,8,12,1,0,8},
-{165,211,34,9,11,2,0,9},
-{101,242,77,8,8,5,0,8},
-{38,201,2,10,11,2,0,10},
-{70,2,66,8,11,2,1,9},
-{198,2,2,15,11,2,-1,14},
-{166,239,114,2,13,2,1,4},
-{102,206,103,6,12,1,0,5},
-{230,55,2,13,8,5,0,13},
-{71,229,17,10,11,2,0,10},
-{103,197,50,8,11,5,0,9},
-{199,80,50,9,15,2,0,10},
-{167,132,53,9,14,2,0,9},
-{231,50,83,8,12,5,0,8},
-{39,193,128,3,4,2,0,3},
-{72,41,53,9,11,2,1,11},
-{104,209,49,8,11,2,0,9},
-{232,74,95,8,11,2,0,8},
-{40,120,134,5,15,1,0,5},
-{200,158,68,8,14,-1,1,9},
-{168,12,112,6,2,2,1,8},
-{73,207,119,3,11,2,1,4},
-{233,62,96,8,11,2,0,8},
-{41,129,134,5,15,1,0,5},
-{201,170,68,8,14,-1,1,9},
-{105,245,122,2,12,1,1,4},
-{169,71,14,12,11,2,0,12},
-{234,50,99,8,11,2,0,8},
-{106,170,128,4,15,1,-1,4},
-{202,182,80,8,14,-1,1,9},
-{42,2,93,7,8,2,0,7},
-{170,216,106,6,6,2,0,7},
-{74,242,62,8,11,2,0,8},
-{171,57,114,7,7,5,0,7},
-{43,230,64,8,8,4,0,8},
-{203,194,80,8,14,-1,1,9},
-{235,38,99,8,11,2,0,8},
-{107,221,49,8,11,2,0,8},
-{75,171,38,9,11,2,1,10},
-{44,200,123,3,4,11,0,3},
-{172,206,80,8,4,7,0,8},
-{204,111,134,5,14,-1,-1,4},
-{236,178,128,4,11,2,-1,4},
-{108,2,123,2,11,2,1,4},
-{76,112,119,7,11,2,1,8},
-{173,39,129,5,2,8,0,5},
-{45,30,128,5,2,8,0,5},
-{109,21,17,13,8,5,0,13},
-{205,93,126,5,14,-1,0,4},
-{237,102,120,5,11,2,0,4},
-{77,87,2,11,11,2,1,13},
-{46,221,122,2,2,11,1,4},
-{110,86,69,8,8,5,0,9},
-{174,55,14,12,11,2,0,12},
-{206,2,105,6,14,-1,0,4},
-{238,186,113,6,11,2,-1,4},
-{78,184,50,9,11,2,1,11},
-{175,35,118,7,2,1,0,7},
-{111,62,68,8,8,5,0,9},
-{47,226,106,6,12,2,0,6},
-{207,246,104,6,14,-1,-1,4},
-{239,176,113,6,11,2,-1,4},
-{79,229,2,10,11,2,0,10},
-{176,12,118,5,4,2,0,6},
-{208,187,17,10,11,2,0,10},
-{240,106,50,9,11,2,0,9},
-{80,28,53,9,11,2,1,10},
-{48,206,65,8,11,2,0,9},
-{112,182,65,8,11,5,0,9},
-{177,98,65,8,10,3,0,8},
-{241,98,79,8,12,1,0,9},
-{81,215,2,10,13,2,0,10},
-{209,54,49,9,15,-2,1,11},
-{113,194,65,8,11,5,0,9},
-{49,75,129,5,11,2,1,9},
-{178,196,113,6,6,2,0,6},
-{114,156,110,6,8,5,0,5},
-{50,170,53,8,11,2,0,9},
-{210,58,29,10,14,-1,0,10},
-{242,170,86,8,11,2,0,9},
-{82,15,48,9,11,2,1,10},
-{179,166,101,6,7,2,0,6},
-{115,14,94,8,8,5,0,8},
-{51,158,53,8,11,2,0,9},
-{211,184,32,10,14,-1,0,10},
-{243,182,98,8,11,2,0,9},
-{83,2,36,9,11,2,0,9},
-{180,48,129,5,2,2,0,5},
-{116,66,129,5,10,3,0,5},
-{52,119,53,9,11,2,0,9},
-{212,170,20,10,14,-1,0,10},
-{244,194,98,8,11,2,0,9},
-{84,224,32,9,11,2,0,9},
-{85,187,2,10,11,2,0,10},
-{213,30,34,10,15,-2,0,10},
-{245,62,80,8,12,1,0,9},
-{117,2,81,8,8,5,0,9},
-{53,110,68,8,11,2,0,9},
-{181,123,119,7,11,5,1,9},
-{86,117,2,10,11,2,0,10},
-{246,206,88,8,11,2,0,9},
-{214,156,20,10,14,-1,0,10},
-{182,134,116,7,11,2,0,8},
-{54,93,50,9,11,2,0,9},
-{118,146,83,8,8,5,0,8},
-{87,21,2,13,11,2,0,13},
-{55,122,71,8,11,2,0,9},
-{247,134,104,8,8,4,0,9},
-{119,102,2,11,8,5,0,11},
-{215,233,47,8,7,4,0,8},
-{183,227,122,2,2,7,1,4},
-{88,243,17,10,11,2,0,10},
-{216,201,17,10,13,1,0,10},
-{56,134,71,8,11,2,0,9},
-{248,74,69,8,10,4,0,9},
-{120,110,83,8,8,5,0,8},
-{184,146,128,4,4,13,0,4},
-{121,218,64,8,11,5,0,8},
-{89,243,2,10,11,2,0,9},
-{249,50,68,8,11,2,0,9},
-{217,142,35,10,14,-1,0,10},
-{57,146,68,8,11,2,0,9},
-{185,186,128,3,6,2,0,4},
-{90,237,32,9,11,2,0,9},
-{250,38,68,8,11,2,0,9},
-{218,128,35,10,14,-1,0,10},
-{58,14,126,2,8,5,1,4},
-{122,86,81,8,8,5,0,8},
-{186,236,104,6,6,2,0,7},
-{123,57,125,5,15,1,0,5},
-{219,114,29,10,14,-1,0,10},
-{91,154,128,4,14,1,0,4},
-{251,218,91,8,11,2,0,9},
-{59,214,119,3,10,5,0,4},
-{187,79,110,7,7,5,0,7},
-{220,100,32,10,14,-1,0,10},
-{124,233,122,2,13,2,1,4},
-{92,90,110,7,12,2,0,6},
-{252,230,88,8,11,2,0,9},
-{188,131,2,10,11,2,1,11},
-{60,145,116,7,8,5,0,8},
-{125,84,126,5,15,1,0,5},
-{221,86,32,10,14,-1,0,9},
-{93,162,122,4,14,1,0,4},
-{253,122,86,8,14,2,0,8},
-{189,102,14,11,11,2,1,12},
-{61,24,118,7,6,5,1,9},
-{222,158,86,8,11,2,1,9},
-{254,68,111,7,14,2,1,9},
-{190,38,2,13,11,2,0,13},
-{62,74,83,8,8,5,0,8},
-{94,101,110,7,6,2,0,6},
-{126,117,17,10,4,7,0,10},
-{223,146,95,8,11,2,1,9},
-{255,134,86,8,14,2,0,8},
-{191,242,89,8,11,5,0,8},
-{63,46,114,7,11,2,0,7},
-{95,13,106,7,2,13,0,7},
-};
-static const int _builtin_large_font_kerning_pair_count=0;
-static const int _builtin_large_font_kerning_pairs[1][3]={
-{0,0,0}
-};
-static const int _builtin_large_font_img_width=256;
-static const int _builtin_large_font_img_height=256;
-static const unsigned char _builtin_large_font_img_data[131072]={
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,59,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-255,151,
-255,255,
-255,36,
-0,0,
-0,0,
-255,58,
-255,255,
-255,110,
-0,0,
-0,0,
-0,0,
-255,239,
-255,202,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,134,
-255,237,
-255,244,
-255,177,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,44,
-255,181,
-255,238,
-255,236,
-255,175,
-255,61,
-255,173,
-255,236,
-255,231,
-255,161,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,255,
-255,163,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,131,
-255,255,
-255,248,
-0,0,
-0,0,
-0,0,
-0,0,
-255,153,
-255,255,
-255,21,
-0,0,
-255,50,
-255,255,
-255,93,
-0,0,
-0,0,
-255,232,
-255,197,
-0,0,
-0,0,
-0,0,
-0,0,
-255,184,
-255,255,
-255,37,
-0,0,
-0,0,
-0,0,
-0,0,
-255,162,
-255,255,
-255,59,
-0,0,
-0,0,
-0,0,
-0,0,
-255,77,
-255,227,
-255,238,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,111,
-255,243,
-255,150,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,229,
-255,186,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,212,
-255,208,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,131,
-255,230,
-255,241,
-255,170,
-255,17,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,49,
-255,181,
-255,242,
-255,246,
-255,196,
-255,74,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,49,
-255,181,
-255,242,
-255,246,
-255,196,
-255,74,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,166,
-255,255,
-255,74,
-0,0,
-0,0,
-0,0,
-255,13,
-255,241,
-255,231,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,201,
-255,203,
-255,255,
-255,196,
-255,112,
-255,112,
-255,112,
-255,112,
-255,35,
-0,0,
-0,0,
-0,0,
-0,0,
-255,92,
-255,255,
-255,84,
-0,0,
-0,0,
-255,119,
-255,255,
-255,171,
-0,0,
-0,0,
-255,32,
-255,255,
-255,143,
-0,0,
-0,0,
-0,0,
-0,0,
-255,14,
-255,164,
-255,80,
-255,71,
-255,255,
-255,76,
-0,0,
-255,1,
-255,180,
-255,51,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,231,
-255,246,
-255,134,
-255,133,
-255,249,
-255,255,
-255,238,
-255,129,
-255,138,
-255,248,
-255,185,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,236,
-255,241,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-255,217,
-255,234,
-255,248,
-0,0,
-0,0,
-0,0,
-0,0,
-255,84,
-255,255,
-255,73,
-0,0,
-255,118,
-255,249,
-255,160,
-0,0,
-255,27,
-255,255,
-255,127,
-0,0,
-0,0,
-0,0,
-0,0,
-255,96,
-255,255,
-255,112,
-0,0,
-0,0,
-0,0,
-255,2,
-255,235,
-255,225,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,150,
-255,248,
-0,0,
-0,0,
-255,1,
-255,180,
-255,51,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,128,
-255,230,
-255,60,
-255,205,
-255,172,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,193,
-255,190,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,33,
-255,225,
-255,146,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,92,
-255,255,
-255,180,
-255,132,
-255,250,
-255,153,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,57,
-255,246,
-255,240,
-255,149,
-255,142,
-255,226,
-255,254,
-255,101,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,57,
-255,246,
-255,240,
-255,149,
-255,142,
-255,226,
-255,254,
-255,101,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,37,
-255,252,
-255,182,
-0,0,
-0,0,
-0,0,
-255,108,
-255,255,
-255,109,
-0,0,
-0,0,
-0,0,
-26,0,
-0,0,
-26,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,89,
-255,253,
-255,73,
-255,255,
-255,157,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,255,
-255,132,
-0,0,
-0,0,
-255,180,
-255,213,
-255,232,
-0,0,
-0,0,
-255,79,
-255,255,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,216,
-255,255,
-255,201,
-255,3,
-0,0,
-255,100,
-255,213,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,108,
-255,79,
-0,0,
-0,0,
-255,176,
-255,255,
-255,98,
-0,0,
-0,0,
-255,158,
-255,255,
-255,22,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,204,
-255,213,
-255,79,
-0,0,
-0,0,
-0,0,
-255,48,
-255,237,
-255,178,
-255,248,
-0,0,
-0,0,
-0,0,
-0,0,
-255,17,
-255,253,
-255,125,
-0,0,
-255,186,
-255,147,
-255,227,
-0,0,
-255,77,
-255,255,
-255,58,
-0,0,
-0,0,
-0,0,
-0,0,
-255,15,
-255,248,
-255,188,
-0,0,
-0,0,
-0,0,
-255,56,
-255,255,
-255,138,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,112,
-255,248,
-0,0,
-0,0,
-255,100,
-255,213,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,146,
-255,255,
-255,25,
-0,0,
-255,194,
-255,191,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,210,
-255,250,
-255,44,
-0,0,
-0,0,
-255,19,
-255,227,
-255,245,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,210,
-255,250,
-255,44,
-0,0,
-0,0,
-255,19,
-255,227,
-255,245,
-255,21,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,158,
-255,254,
-255,37,
-0,0,
-255,1,
-255,216,
-255,226,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,223,
-255,168,
-255,25,
-255,255,
-255,166,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,231,
-255,180,
-0,0,
-255,2,
-255,239,
-255,90,
-255,254,
-255,37,
-0,0,
-255,127,
-255,255,
-255,25,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,37,
-255,251,
-255,89,
-255,20,
-255,236,
-255,62,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,110,
-255,213,
-255,245,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,54,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,212,
-255,129,
-255,165,
-0,0,
-0,0,
-0,0,
-255,134,
-255,158,
-255,182,
-255,248,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,201,
-255,177,
-255,7,
-255,245,
-255,28,
-255,238,
-255,39,
-255,127,
-255,240,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,175,
-255,249,
-255,13,
-0,0,
-0,0,
-255,132,
-255,255,
-255,50,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,112,
-255,248,
-0,0,
-255,20,
-255,236,
-255,62,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,37,
-255,255,
-255,227,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,37,
-255,255,
-255,227,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,37,
-255,255,
-255,227,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,100,
-255,255,
-255,80,
-255,71,
-255,246,
-255,87,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,255,
-255,176,
-0,0,
-0,0,
-0,0,
-0,0,
-255,119,
-255,255,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,255,
-255,176,
-0,0,
-0,0,
-0,0,
-0,0,
-255,119,
-255,255,
-255,93,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,31,
-255,249,
-255,144,
-0,0,
-255,71,
-255,255,
-255,101,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,118,
-255,254,
-255,45,
-255,15,
-255,255,
-255,175,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,173,
-255,229,
-0,0,
-255,46,
-255,251,
-255,12,
-255,212,
-255,99,
-0,0,
-255,174,
-255,222,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,33,
-255,192,
-255,74,
-255,58,
-255,251,
-255,94,
-255,159,
-255,160,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,92,
-255,255,
-255,188,
-255,69,
-255,56,
-255,187,
-255,255,
-255,115,
-255,64,
-255,64,
-255,64,
-255,64,
-255,14,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,221,
-255,45,
-255,242,
-255,8,
-0,0,
-0,0,
-255,219,
-255,74,
-255,190,
-255,248,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,131,
-255,229,
-255,66,
-255,211,
-0,0,
-255,172,
-255,107,
-255,177,
-255,175,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,87,
-255,255,
-255,83,
-0,0,
-0,0,
-255,207,
-255,217,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,112,
-255,248,
-0,0,
-255,159,
-255,160,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,128,
-255,240,
-255,255,
-255,63,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,128,
-255,240,
-255,255,
-255,63,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,128,
-255,240,
-255,255,
-255,63,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,206,
-255,241,
-255,237,
-255,82,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,255,
-255,140,
-0,0,
-0,0,
-0,0,
-0,0,
-255,81,
-255,255,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,255,
-255,140,
-0,0,
-0,0,
-0,0,
-0,0,
-255,81,
-255,255,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,149,
-255,240,
-255,11,
-255,181,
-255,220,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,240,
-255,177,
-0,0,
-255,6,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,114,
-255,255,
-255,21,
-255,107,
-255,202,
-0,0,
-255,149,
-255,160,
-0,0,
-255,222,
-255,163,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,143,
-255,238,
-255,241,
-255,160,
-255,67,
-255,237,
-255,21,
-0,0,
-255,1,
-255,182,
-255,255,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-255,148,
-255,255,
-255,52,
-0,0,
-0,0,
-255,183,
-255,255,
-255,133,
-0,0,
-0,0,
-0,0,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,229,
-0,0,
-255,216,
-255,81,
-0,0,
-255,50,
-255,239,
-255,6,
-255,198,
-255,248,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,62,
-255,255,
-255,159,
-255,143,
-0,0,
-255,104,
-255,174,
-255,227,
-255,105,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,244,
-255,158,
-0,0,
-255,27,
-255,255,
-255,129,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,112,
-255,248,
-255,61,
-255,237,
-255,21,
-255,1,
-255,182,
-255,255,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,219,
-255,144,
-255,213,
-255,153,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,219,
-255,144,
-255,213,
-255,153,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,219,
-255,144,
-255,213,
-255,153,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,97,
-255,248,
-255,216,
-255,235,
-255,25,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,64,
-255,255,
-255,136,
-0,0,
-0,0,
-0,0,
-0,0,
-255,76,
-255,255,
-255,124,
-0,0,
-0,0,
-0,0,
-0,0,
-255,64,
-255,255,
-255,136,
-0,0,
-0,0,
-0,0,
-0,0,
-255,76,
-255,255,
-255,124,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,246,
-255,141,
-255,254,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,147,
-255,255,
-255,185,
-255,148,
-255,148,
-255,255,
-255,223,
-255,112,
-255,112,
-255,112,
-255,80,
-0,0,
-27,0,
-0,0,
-62,5,
-0,0,
-0,0,
-255,56,
-255,255,
-255,69,
-255,168,
-255,140,
-0,0,
-255,86,
-255,221,
-255,14,
-255,254,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,212,
-255,102,
-0,0,
-0,0,
-255,121,
-255,246,
-255,255,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-255,101,
-255,255,
-255,182,
-255,100,
-255,174,
-255,255,
-255,243,
-255,252,
-255,153,
-255,114,
-255,163,
-255,194,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,237,
-0,0,
-255,132,
-255,167,
-0,0,
-255,136,
-255,162,
-0,0,
-255,205,
-255,248,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,243,
-255,250,
-255,74,
-0,0,
-255,35,
-255,245,
-255,255,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,166,
-255,232,
-255,1,
-255,102,
-255,255,
-255,41,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,212,
-255,102,
-0,0,
-255,121,
-255,246,
-255,255,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,54,
-255,255,
-255,62,
-255,132,
-255,237,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,54,
-255,255,
-255,62,
-255,132,
-255,237,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,54,
-255,255,
-255,62,
-255,132,
-255,237,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-255,50,
-255,253,
-255,141,
-255,24,
-255,233,
-255,185,
-255,1,
-255,152,
-255,225,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,255,
-255,140,
-0,0,
-0,0,
-0,0,
-0,0,
-255,81,
-255,255,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,255,
-255,140,
-0,0,
-0,0,
-0,0,
-0,0,
-255,81,
-255,255,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,141,
-255,255,
-255,213,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,38,
-255,250,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,208,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,247,
-255,117,
-255,229,
-255,77,
-0,0,
-255,24,
-255,255,
-255,87,
-255,255,
-255,45,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,118,
-255,198,
-255,1,
-0,0,
-255,62,
-255,236,
-255,119,
-255,255,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,142,
-255,233,
-255,247,
-255,207,
-255,94,
-255,32,
-255,170,
-255,239,
-255,249,
-255,210,
-255,111,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-255,48,
-255,243,
-255,9,
-255,221,
-255,78,
-0,0,
-255,208,
-255,248,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,179,
-255,250,
-255,11,
-0,0,
-0,0,
-255,222,
-255,222,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,78,
-255,255,
-255,53,
-255,177,
-255,209,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,118,
-255,198,
-255,1,
-255,62,
-255,236,
-255,119,
-255,255,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,145,
-255,233,
-255,2,
-255,51,
-255,255,
-255,77,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,145,
-255,233,
-255,2,
-255,51,
-255,255,
-255,77,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,145,
-255,233,
-255,2,
-255,51,
-255,255,
-255,77,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,253,
-255,206,
-0,0,
-0,0,
-0,0,
-0,0,
-255,143,
-255,255,
-255,61,
-0,0,
-0,0,
-0,0,
-0,0,
-255,127,
-255,255,
-255,71,
-0,0,
-255,73,
-255,254,
-255,114,
-255,219,
-255,171,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,255,
-255,176,
-0,0,
-0,0,
-0,0,
-0,0,
-255,118,
-255,255,
-255,91,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,255,
-255,176,
-0,0,
-0,0,
-0,0,
-0,0,
-255,118,
-255,255,
-255,93,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,68,
-255,255,
-255,133,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,176,
-255,255,
-255,46,
-0,0,
-0,0,
-0,0,
-255,231,
-255,219,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,195,
-255,200,
-255,253,
-255,17,
-0,0,
-0,0,
-255,217,
-255,196,
-255,240,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,30,
-255,241,
-255,47,
-0,0,
-255,21,
-255,229,
-255,101,
-255,98,
-255,255,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-255,219,
-255,135,
-255,242,
-255,7,
-0,0,
-255,208,
-255,248,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,239,
-255,134,
-255,244,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,30,
-255,241,
-255,47,
-255,21,
-255,229,
-255,101,
-255,98,
-255,255,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,232,
-255,154,
-0,0,
-0,0,
-255,225,
-255,167,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,232,
-255,154,
-0,0,
-0,0,
-255,225,
-255,167,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,232,
-255,154,
-0,0,
-0,0,
-255,225,
-255,167,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,247,
-255,29,
-0,0,
-0,0,
-255,5,
-255,212,
-255,253,
-255,22,
-0,0,
-0,0,
-0,0,
-0,0,
-255,108,
-255,255,
-255,112,
-0,0,
-0,0,
-255,146,
-255,254,
-255,249,
-255,49,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,211,
-255,250,
-255,42,
-0,0,
-0,0,
-255,16,
-255,223,
-255,244,
-255,19,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,211,
-255,250,
-255,42,
-0,0,
-0,0,
-255,16,
-255,223,
-255,246,
-255,21,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,68,
-255,255,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,62,
-255,255,
-255,186,
-0,0,
-0,0,
-0,0,
-0,0,
-255,222,
-255,240,
-255,112,
-255,112,
-255,112,
-255,112,
-255,85,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,136,
-255,255,
-255,209,
-0,0,
-0,0,
-0,0,
-255,154,
-255,255,
-255,183,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,97,
-255,138,
-0,0,
-0,0,
-255,101,
-255,255,
-255,255,
-255,255,
-255,255,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-255,135,
-255,252,
-255,166,
-0,0,
-0,0,
-255,208,
-255,248,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,157,
-255,238,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,97,
-255,138,
-0,0,
-255,101,
-255,255,
-255,255,
-255,255,
-255,255,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,71,
-255,255,
-255,171,
-255,124,
-255,124,
-255,209,
-255,245,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,71,
-255,255,
-255,171,
-255,124,
-255,124,
-255,209,
-255,245,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,71,
-255,255,
-255,171,
-255,124,
-255,124,
-255,209,
-255,245,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,86,
-255,255,
-255,227,
-255,131,
-255,123,
-255,206,
-255,255,
-255,146,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,238,
-255,245,
-255,135,
-255,133,
-255,231,
-255,236,
-255,253,
-255,64,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,59,
-255,247,
-255,239,
-255,145,
-255,137,
-255,223,
-255,255,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,59,
-255,247,
-255,239,
-255,145,
-255,137,
-255,223,
-255,255,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,68,
-255,255,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,203,
-255,255,
-255,70,
-0,0,
-0,0,
-0,0,
-0,0,
-255,213,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,77,
-255,255,
-255,147,
-0,0,
-0,0,
-0,0,
-255,91,
-255,255,
-255,125,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,88,
-255,255,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-255,50,
-255,255,
-255,82,
-0,0,
-0,0,
-255,208,
-255,248,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,68,
-255,255,
-255,200,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,88,
-255,255,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,162,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,162,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,162,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,63,
-255,187,
-255,235,
-255,240,
-255,202,
-255,95,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,48,
-255,185,
-255,239,
-255,236,
-255,147,
-255,22,
-255,236,
-255,227,
-255,17,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,51,
-255,183,
-255,243,
-255,246,
-255,203,
-255,253,
-255,213,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,51,
-255,183,
-255,243,
-255,246,
-255,198,
-255,78,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,68,
-255,255,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,243,
-255,160,
-0,0,
-0,0,
-0,0,
-255,1,
-255,234,
-255,182,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,243,
-255,160,
-0,0,
-0,0,
-0,0,
-255,1,
-255,234,
-255,182,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,243,
-255,160,
-0,0,
-0,0,
-0,0,
-255,1,
-255,234,
-255,182,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,90,
-255,251,
-255,178,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,103,
-255,205,
-255,246,
-255,239,
-255,179,
-255,57,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,103,
-255,205,
-255,246,
-255,239,
-255,179,
-255,57,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,77,
-255,227,
-255,238,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,88,
-255,255,
-255,88,
-0,0,
-0,0,
-0,0,
-0,0,
-255,164,
-255,251,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-255,88,
-255,255,
-255,88,
-0,0,
-0,0,
-0,0,
-0,0,
-255,164,
-255,251,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-255,88,
-255,255,
-255,88,
-0,0,
-0,0,
-0,0,
-0,0,
-255,164,
-255,251,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,68,
-255,19,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,176,
-255,184,
-255,58,
-255,9,
-255,18,
-255,92,
-255,223,
-255,99,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,176,
-255,184,
-255,58,
-255,9,
-255,18,
-255,92,
-255,223,
-255,99,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,150,
-255,248,
-0,0,
-0,0,
-255,1,
-255,180,
-255,51,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,179,
-255,253,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-255,92,
-255,255,
-255,106,
-0,0,
-0,0,
-0,0,
-0,0,
-255,179,
-255,253,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-255,92,
-255,255,
-255,106,
-0,0,
-0,0,
-0,0,
-0,0,
-255,179,
-255,253,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-255,92,
-255,255,
-255,106,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-97,0,
-0,0,
-92,182,
-72,0,
-99,5,
-0,0,
-0,0,
-255,132,
-255,161,
-255,85,
-255,255,
-255,254,
-255,225,
-255,92,
-255,25,
-255,220,
-255,51,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,161,
-255,10,
-255,158,
-255,240,
-255,222,
-255,84,
-255,25,
-255,220,
-255,51,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,112,
-255,248,
-0,0,
-0,0,
-255,100,
-255,213,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-0,0,
-0,0,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,169,
-255,168,
-255,234,
-255,235,
-255,113,
-255,41,
-255,199,
-255,246,
-255,196,
-255,37,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,19,
-255,133,
-255,211,
-255,245,
-255,245,
-255,212,
-255,135,
-255,19,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,227,
-255,12,
-255,84,
-255,200,
-0,0,
-255,50,
-255,249,
-255,6,
-255,79,
-255,173,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,227,
-255,12,
-255,124,
-255,195,
-255,18,
-255,74,
-255,245,
-255,8,
-255,79,
-255,173,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,110,
-255,234,
-255,233,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,112,
-255,248,
-0,0,
-255,20,
-255,236,
-255,62,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,64,
-255,220,
-255,242,
-255,159,
-255,18,
-0,0,
-255,35,
-255,153,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,102,
-255,124,
-0,0,
-255,34,
-255,128,
-255,66,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,156,
-255,255,
-255,255,
-255,255,
-255,240,
-255,181,
-255,55,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,74,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,54,
-255,185,
-255,243,
-255,238,
-255,197,
-255,78,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,255,
-255,204,
-255,1,
-0,0,
-0,0,
-255,66,
-255,255,
-255,206,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,151,
-255,255,
-255,172,
-255,62,
-255,240,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,255,
-255,167,
-255,132,
-255,239,
-255,254,
-255,223,
-255,140,
-255,155,
-255,255,
-255,193,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,54,
-255,233,
-255,172,
-255,64,
-255,19,
-255,19,
-255,59,
-255,161,
-255,228,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,67,
-255,165,
-0,0,
-255,84,
-255,200,
-0,0,
-255,57,
-255,243,
-255,6,
-255,5,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,67,
-255,165,
-0,0,
-255,193,
-255,95,
-0,0,
-0,0,
-255,117,
-255,15,
-255,5,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,254,
-255,70,
-255,78,
-255,252,
-255,27,
-0,0,
-255,158,
-255,76,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,112,
-255,248,
-0,0,
-255,159,
-255,160,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,228,
-255,201,
-255,148,
-255,245,
-255,228,
-255,113,
-255,187,
-255,229,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,248,
-0,0,
-255,68,
-255,255,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,156,
-255,255,
-255,133,
-255,109,
-255,143,
-255,238,
-255,250,
-255,74,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,49,
-255,181,
-255,242,
-255,240,
-255,189,
-255,133,
-255,195,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,248,
-255,237,
-255,137,
-255,125,
-255,216,
-255,255,
-255,102,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,167,
-255,255,
-255,90,
-0,0,
-255,2,
-255,206,
-255,254,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,243,
-255,34,
-255,118,
-255,238,
-255,157,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,192,
-0,0,
-0,0,
-255,126,
-255,255,
-255,130,
-0,0,
-0,0,
-255,201,
-255,253,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,27,
-255,235,
-255,122,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,210,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-255,86,
-255,141,
-0,0,
-255,84,
-255,255,
-255,255,
-255,255,
-255,145,
-0,0,
-0,0,
-255,225,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-255,86,
-255,141,
-0,0,
-255,211,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,225,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,249,
-0,0,
-255,1,
-255,255,
-255,61,
-255,68,
-255,233,
-255,17,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,112,
-255,248,
-255,61,
-255,237,
-255,21,
-255,114,
-255,232,
-255,241,
-255,147,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-255,14,
-255,173,
-255,35,
-0,0,
-255,39,
-255,196,
-255,254,
-255,242,
-255,74,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,156,
-255,255,
-255,44,
-0,0,
-0,0,
-255,34,
-255,243,
-255,230,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,57,
-255,246,
-255,240,
-255,149,
-255,141,
-255,229,
-255,255,
-255,123,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,208,
-255,250,
-255,41,
-0,0,
-0,0,
-255,16,
-255,235,
-255,224,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,242,
-255,223,
-255,7,
-255,95,
-255,255,
-255,155,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,184,
-0,0,
-0,0,
-255,97,
-255,255,
-255,104,
-0,0,
-0,0,
-255,173,
-255,255,
-255,26,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,156,
-255,190,
-0,0,
-0,0,
-255,131,
-255,239,
-255,242,
-255,167,
-255,24,
-255,3,
-255,224,
-255,74,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,166,
-0,0,
-255,84,
-255,200,
-0,0,
-255,43,
-255,250,
-255,10,
-255,5,
-255,227,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,166,
-0,0,
-255,193,
-255,95,
-0,0,
-0,0,
-255,117,
-255,13,
-255,5,
-255,227,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,252,
-255,82,
-255,87,
-255,251,
-255,33,
-255,218,
-255,93,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,212,
-255,102,
-255,20,
-255,219,
-255,100,
-255,90,
-255,255,
-255,50,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,14,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,37,
-255,255,
-255,227,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,102,
-255,124,
-0,0,
-255,34,
-255,128,
-255,66,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,111,
-255,243,
-255,150,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,156,
-255,255,
-255,44,
-0,0,
-0,0,
-0,0,
-255,146,
-255,255,
-255,67,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,210,
-255,250,
-255,44,
-0,0,
-0,0,
-255,124,
-255,255,
-255,244,
-255,19,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,255,
-255,181,
-0,0,
-0,0,
-0,0,
-0,0,
-255,73,
-255,99,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,112,
-255,255,
-255,125,
-255,227,
-255,236,
-255,19,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,37,
-255,255,
-255,227,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,184,
-0,0,
-0,0,
-255,96,
-255,255,
-255,104,
-0,0,
-0,0,
-255,172,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,244,
-255,79,
-0,0,
-255,100,
-255,246,
-255,90,
-255,61,
-255,255,
-255,58,
-0,0,
-255,151,
-255,139,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,227,
-255,12,
-255,84,
-255,200,
-0,0,
-255,1,
-255,252,
-255,34,
-255,81,
-255,170,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,227,
-255,12,
-255,126,
-255,194,
-255,18,
-255,71,
-255,245,
-255,6,
-255,81,
-255,170,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,100,
-255,222,
-255,222,
-255,97,
-255,127,
-255,191,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,118,
-255,198,
-255,1,
-0,0,
-0,0,
-0,0,
-255,113,
-255,248,
-255,27,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,128,
-255,240,
-255,255,
-255,63,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,248,
-0,0,
-255,68,
-255,255,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,128,
-255,230,
-255,60,
-255,205,
-255,172,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,156,
-255,255,
-255,44,
-0,0,
-0,0,
-0,0,
-255,104,
-255,255,
-255,98,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,255,
-255,176,
-0,0,
-0,0,
-255,27,
-255,227,
-255,139,
-255,255,
-255,91,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,46,
-255,255,
-255,150,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,209,
-255,255,
-255,255,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,128,
-255,240,
-255,255,
-255,63,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,184,
-0,0,
-0,0,
-255,96,
-255,255,
-255,104,
-0,0,
-0,0,
-255,172,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-255,52,
-255,255,
-255,16,
-0,0,
-255,220,
-255,153,
-0,0,
-255,42,
-255,255,
-255,34,
-0,0,
-255,120,
-255,165,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,161,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,220,
-255,49,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,161,
-255,11,
-255,161,
-255,241,
-255,223,
-255,86,
-255,25,
-255,220,
-255,49,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,242,
-255,41,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,30,
-255,241,
-255,47,
-0,0,
-0,0,
-0,0,
-255,118,
-255,246,
-255,78,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,219,
-255,144,
-255,213,
-255,153,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,255,
-255,255,
-255,255,
-255,16,
-0,0,
-255,96,
-255,255,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,255,
-255,140,
-0,0,
-0,0,
-255,166,
-255,110,
-255,80,
-255,255,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,48,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,112,
-255,255,
-255,245,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,219,
-255,144,
-255,213,
-255,153,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,184,
-0,0,
-0,0,
-255,96,
-255,255,
-255,104,
-0,0,
-0,0,
-255,172,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-255,78,
-255,244,
-0,0,
-255,23,
-255,255,
-255,91,
-0,0,
-255,66,
-255,255,
-255,10,
-0,0,
-255,125,
-255,160,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,176,
-255,184,
-255,58,
-255,8,
-255,17,
-255,91,
-255,222,
-255,96,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,176,
-255,184,
-255,58,
-255,8,
-255,17,
-255,91,
-255,222,
-255,96,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,185,
-255,134,
-255,77,
-255,218,
-255,230,
-255,123,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,97,
-255,138,
-0,0,
-0,0,
-255,4,
-255,155,
-255,244,
-255,78,
-255,16,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,54,
-255,255,
-255,62,
-255,132,
-255,237,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,49,
-255,181,
-255,242,
-255,246,
-255,196,
-255,74,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,49,
-255,181,
-255,242,
-255,246,
-255,196,
-255,74,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,47,
-255,181,
-255,255,
-255,97,
-255,64,
-255,4,
-0,0,
-255,104,
-255,255,
-255,99,
-0,0,
-0,0,
-0,0,
-0,0,
-255,64,
-255,255,
-255,136,
-0,0,
-255,60,
-255,211,
-255,4,
-255,76,
-255,255,
-255,124,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,46,
-255,255,
-255,150,
-0,0,
-0,0,
-255,200,
-255,255,
-255,255,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,228,
-255,212,
-255,253,
-255,130,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,54,
-255,255,
-255,62,
-255,132,
-255,237,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,184,
-0,0,
-0,0,
-255,96,
-255,255,
-255,104,
-0,0,
-0,0,
-255,172,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-255,77,
-255,243,
-0,0,
-255,45,
-255,255,
-255,73,
-0,0,
-255,89,
-255,243,
-0,0,
-0,0,
-255,180,
-255,113,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,104,
-255,206,
-255,247,
-255,240,
-255,179,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,104,
-255,206,
-255,247,
-255,240,
-255,179,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,86,
-255,222,
-255,16,
-255,243,
-255,107,
-255,60,
-255,249,
-255,53,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,255,
-255,255,
-255,255,
-255,255,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,145,
-255,233,
-255,2,
-255,51,
-255,255,
-255,77,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,57,
-255,246,
-255,240,
-255,149,
-255,142,
-255,226,
-255,254,
-255,101,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,57,
-255,246,
-255,240,
-255,149,
-255,142,
-255,226,
-255,254,
-255,101,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,156,
-255,255,
-255,44,
-0,0,
-0,0,
-0,0,
-255,146,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-255,60,
-255,255,
-255,139,
-255,2,
-255,206,
-255,66,
-0,0,
-255,81,
-255,255,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,255,
-255,185,
-0,0,
-0,0,
-255,65,
-255,84,
-255,199,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,138,
-255,255,
-255,61,
-255,167,
-255,248,
-255,37,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,145,
-255,233,
-255,2,
-255,51,
-255,255,
-255,77,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,47,
-255,255,
-255,21,
-255,17,
-255,250,
-255,162,
-255,71,
-255,198,
-255,247,
-255,19,
-255,91,
-255,236,
-255,17,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,14,
-255,229,
-255,75,
-255,33,
-255,255,
-255,25,
-0,0,
-255,221,
-255,93,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,232,
-255,154,
-0,0,
-0,0,
-255,225,
-255,167,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,210,
-255,250,
-255,44,
-0,0,
-0,0,
-255,19,
-255,227,
-255,245,
-255,21,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,210,
-255,250,
-255,44,
-0,0,
-0,0,
-255,19,
-255,227,
-255,245,
-255,21,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,156,
-255,255,
-255,44,
-0,0,
-0,0,
-255,32,
-255,242,
-255,232,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-255,33,
-255,255,
-255,174,
-255,104,
-255,172,
-0,0,
-0,0,
-255,118,
-255,255,
-255,93,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,205,
-255,252,
-255,52,
-0,0,
-0,0,
-0,0,
-255,172,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,41,
-255,250,
-255,188,
-0,0,
-255,41,
-255,253,
-255,185,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,232,
-255,154,
-0,0,
-0,0,
-255,225,
-255,167,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,231,
-255,104,
-0,0,
-255,115,
-255,240,
-255,218,
-255,67,
-255,194,
-255,248,
-255,200,
-255,55,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,70,
-255,164,
-0,0,
-255,8,
-255,245,
-255,100,
-255,48,
-255,248,
-255,57,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,71,
-255,255,
-255,171,
-255,124,
-255,124,
-255,209,
-255,245,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,255,
-255,176,
-0,0,
-0,0,
-0,0,
-0,0,
-255,119,
-255,255,
-255,93,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,255,
-255,176,
-0,0,
-0,0,
-0,0,
-0,0,
-255,119,
-255,255,
-255,93,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,156,
-255,255,
-255,133,
-255,108,
-255,141,
-255,237,
-255,250,
-255,77,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,209,
-255,250,
-255,228,
-255,31,
-0,0,
-255,16,
-255,223,
-255,246,
-255,21,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,55,
-255,245,
-255,244,
-255,145,
-255,113,
-255,147,
-255,242,
-255,240,
-255,17,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,189,
-255,255,
-255,58,
-0,0,
-0,0,
-255,165,
-255,255,
-255,86,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,71,
-255,255,
-255,171,
-255,124,
-255,124,
-255,209,
-255,245,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,114,
-255,234,
-255,34,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,86,
-255,227,
-255,239,
-255,134,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,162,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,255,
-255,140,
-0,0,
-0,0,
-0,0,
-0,0,
-255,81,
-255,255,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,255,
-255,140,
-0,0,
-0,0,
-0,0,
-0,0,
-255,81,
-255,255,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,156,
-255,255,
-255,255,
-255,255,
-255,241,
-255,183,
-255,57,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,57,
-255,248,
-255,240,
-255,139,
-255,137,
-255,223,
-255,255,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,44,
-255,174,
-255,239,
-255,249,
-255,226,
-255,158,
-255,35,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,87,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-255,39,
-255,252,
-255,228,
-255,13,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,162,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,162,
-255,235,
-255,114,
-255,41,
-255,21,
-255,44,
-255,111,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,243,
-255,160,
-0,0,
-0,0,
-0,0,
-255,1,
-255,234,
-255,182,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,64,
-255,255,
-255,136,
-0,0,
-0,0,
-0,0,
-0,0,
-255,76,
-255,255,
-255,124,
-0,0,
-0,0,
-0,0,
-0,0,
-255,64,
-255,255,
-255,136,
-0,0,
-0,0,
-0,0,
-0,0,
-255,76,
-255,255,
-255,124,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,46,
-255,222,
-255,179,
-255,241,
-255,246,
-255,198,
-255,78,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,243,
-255,160,
-0,0,
-0,0,
-0,0,
-255,1,
-255,234,
-255,182,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,116,
-255,212,
-255,113,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,84,
-255,184,
-255,236,
-255,249,
-255,225,
-255,167,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,212,
-255,208,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,37,
-255,255,
-255,227,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,111,
-255,243,
-255,150,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,88,
-255,255,
-255,88,
-0,0,
-0,0,
-0,0,
-0,0,
-255,164,
-255,251,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,255,
-255,140,
-0,0,
-0,0,
-0,0,
-0,0,
-255,81,
-255,255,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,255,
-255,140,
-0,0,
-0,0,
-0,0,
-0,0,
-255,81,
-255,255,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,86,
-255,64,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,88,
-255,255,
-255,88,
-0,0,
-0,0,
-0,0,
-0,0,
-255,164,
-255,251,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,230,
-255,62,
-255,230,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,33,
-255,225,
-255,146,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,128,
-255,240,
-255,255,
-255,63,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,128,
-255,230,
-255,60,
-255,205,
-255,172,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,179,
-255,253,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-255,92,
-255,255,
-255,106,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,255,
-255,176,
-0,0,
-0,0,
-0,0,
-0,0,
-255,118,
-255,255,
-255,93,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,255,
-255,176,
-0,0,
-0,0,
-0,0,
-0,0,
-255,118,
-255,255,
-255,93,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,179,
-255,253,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-255,92,
-255,255,
-255,106,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,152,
-255,245,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,219,
-255,144,
-255,213,
-255,153,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,211,
-255,250,
-255,42,
-0,0,
-0,0,
-255,16,
-255,223,
-255,246,
-255,21,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,211,
-255,250,
-255,42,
-0,0,
-0,0,
-255,16,
-255,223,
-255,246,
-255,21,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,49,
-255,181,
-255,242,
-255,246,
-255,196,
-255,74,
-0,0,
-0,0,
-72,0,
-74,182,
-72,0,
-25,5,
-0,0,
-0,0,
-255,54,
-255,255,
-255,62,
-255,132,
-255,237,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,229,
-255,186,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,102,
-255,124,
-0,0,
-255,34,
-255,128,
-255,66,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,59,
-255,247,
-255,239,
-255,145,
-255,137,
-255,223,
-255,255,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,59,
-255,247,
-255,239,
-255,145,
-255,137,
-255,223,
-255,255,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,229,
-255,186,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,196,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-255,80,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,37,
-255,255,
-255,227,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,57,
-255,246,
-255,240,
-255,149,
-255,142,
-255,226,
-255,254,
-255,101,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,145,
-255,233,
-255,2,
-255,51,
-255,255,
-255,77,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,193,
-255,190,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,248,
-0,0,
-255,68,
-255,255,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,51,
-255,183,
-255,243,
-255,246,
-255,198,
-255,78,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,51,
-255,183,
-255,243,
-255,246,
-255,198,
-255,78,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,193,
-255,190,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,82,
-255,108,
-255,108,
-255,188,
-255,255,
-255,142,
-255,108,
-255,108,
-255,48,
-0,0,
-0,0,
-0,0,
-0,0,
-255,33,
-255,108,
-255,108,
-255,108,
-255,108,
-255,135,
-255,255,
-255,214,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,128,
-255,240,
-255,255,
-255,63,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-0,0,
-0,0,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,210,
-255,250,
-255,44,
-0,0,
-0,0,
-255,19,
-255,227,
-255,245,
-255,21,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,232,
-255,154,
-0,0,
-0,0,
-255,225,
-255,167,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,38,
-255,183,
-255,241,
-255,229,
-255,148,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,146,
-255,255,
-255,110,
-0,0,
-0,0,
-0,0,
-255,87,
-255,255,
-255,166,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,140,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,175,
-255,254,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,219,
-255,144,
-255,213,
-255,153,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,151,
-255,255,
-255,172,
-255,62,
-255,240,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,23,
-255,224,
-255,121,
-255,141,
-255,222,
-255,243,
-255,199,
-255,90,
-255,195,
-255,155,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,255,
-255,176,
-0,0,
-0,0,
-0,0,
-0,0,
-255,119,
-255,255,
-255,93,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,71,
-255,255,
-255,171,
-255,124,
-255,124,
-255,209,
-255,245,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,166,
-255,255,
-255,74,
-0,0,
-0,0,
-0,0,
-255,13,
-255,241,
-255,231,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,229,
-255,186,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,212,
-255,208,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,49,
-255,181,
-255,242,
-255,246,
-255,196,
-255,74,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,219,
-255,246,
-255,130,
-255,165,
-255,255,
-255,151,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,28,
-255,249,
-255,228,
-255,7,
-0,0,
-255,1,
-255,210,
-255,254,
-255,43,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,140,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,81,
-255,255,
-255,153,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,99,
-255,205,
-255,243,
-255,229,
-255,170,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,54,
-255,255,
-255,62,
-255,132,
-255,237,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,243,
-255,34,
-255,118,
-255,238,
-255,157,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,163,
-255,255,
-255,238,
-255,134,
-255,107,
-255,173,
-255,255,
-255,251,
-255,76,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,255,
-255,140,
-0,0,
-0,0,
-0,0,
-0,0,
-255,81,
-255,255,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,162,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,37,
-255,252,
-255,182,
-0,0,
-0,0,
-0,0,
-255,108,
-255,255,
-255,109,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,193,
-255,190,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,33,
-255,225,
-255,146,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,57,
-255,246,
-255,240,
-255,149,
-255,142,
-255,226,
-255,254,
-255,101,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,59,
-255,255,
-255,144,
-0,0,
-0,0,
-255,208,
-255,211,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,152,
-255,255,
-255,104,
-0,0,
-255,81,
-255,255,
-255,174,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,140,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,14,
-255,228,
-255,231,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,137,
-255,255,
-255,194,
-255,119,
-255,138,
-255,239,
-255,240,
-255,37,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,145,
-255,233,
-255,2,
-255,51,
-255,255,
-255,77,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,145,
-255,238,
-255,32,
-0,0,
-0,0,
-0,0,
-255,119,
-255,254,
-255,41,
-0,0,
-0,0,
-0,0,
-0,0,
-255,64,
-255,255,
-255,136,
-0,0,
-0,0,
-0,0,
-0,0,
-255,76,
-255,255,
-255,124,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,243,
-255,160,
-0,0,
-0,0,
-0,0,
-255,1,
-255,234,
-255,182,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,158,
-255,254,
-255,37,
-0,0,
-255,1,
-255,216,
-255,226,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,210,
-255,250,
-255,44,
-0,0,
-0,0,
-255,19,
-255,227,
-255,245,
-255,21,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,83,
-255,255,
-255,115,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,251,
-255,224,
-255,5,
-255,205,
-255,255,
-255,50,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,140,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,149,
-255,255,
-255,86,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,242,
-255,225,
-255,4,
-0,0,
-0,0,
-255,71,
-255,255,
-255,142,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,232,
-255,154,
-0,0,
-0,0,
-255,225,
-255,167,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,49,
-255,181,
-255,242,
-255,246,
-255,196,
-255,74,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,234,
-255,126,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,228,
-255,129,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,255,
-255,140,
-0,0,
-0,0,
-0,0,
-0,0,
-255,81,
-255,255,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,88,
-255,255,
-255,88,
-0,0,
-0,0,
-0,0,
-0,0,
-255,164,
-255,251,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,31,
-255,249,
-255,144,
-0,0,
-255,71,
-255,255,
-255,101,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,136,
-255,179,
-0,0,
-255,169,
-255,144,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-255,24,
-255,237,
-255,241,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,255,
-255,176,
-0,0,
-0,0,
-0,0,
-0,0,
-255,119,
-255,255,
-255,93,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,74,
-255,255,
-255,126,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,159,
-255,255,
-255,170,
-255,255,
-255,182,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,140,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,56,
-255,253,
-255,181,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,231,
-255,234,
-255,17,
-0,0,
-0,0,
-255,5,
-255,64,
-255,41,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,71,
-255,255,
-255,171,
-255,124,
-255,124,
-255,209,
-255,245,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,57,
-255,246,
-255,240,
-255,149,
-255,142,
-255,226,
-255,254,
-255,101,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,255,
-255,87,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,191,
-255,158,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,255,
-255,176,
-0,0,
-0,0,
-0,0,
-0,0,
-255,118,
-255,255,
-255,93,
-0,0,
-0,0,
-0,0,
-0,0,
-255,179,
-255,253,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-255,92,
-255,255,
-255,106,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,149,
-255,240,
-255,11,
-255,181,
-255,220,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,253,
-255,206,
-0,0,
-0,0,
-0,0,
-0,0,
-255,143,
-255,255,
-255,61,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,184,
-255,129,
-0,0,
-255,218,
-255,96,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-255,177,
-255,255,
-255,95,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,255,
-255,140,
-0,0,
-0,0,
-0,0,
-0,0,
-255,81,
-255,255,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,104,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,37,
-255,252,
-255,255,
-255,255,
-255,58,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,140,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,211,
-255,244,
-255,31,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,117,
-255,255,
-255,230,
-255,128,
-255,41,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,162,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,210,
-255,250,
-255,44,
-0,0,
-0,0,
-255,19,
-255,227,
-255,245,
-255,21,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,235,
-255,127,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,229,
-255,130,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,211,
-255,250,
-255,42,
-0,0,
-0,0,
-255,16,
-255,223,
-255,246,
-255,21,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,246,
-255,141,
-255,254,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,247,
-255,29,
-0,0,
-0,0,
-255,5,
-255,212,
-255,253,
-255,22,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,232,
-255,80,
-255,13,
-255,254,
-255,48,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-255,92,
-255,255,
-255,173,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,64,
-255,255,
-255,136,
-0,0,
-0,0,
-0,0,
-0,0,
-255,76,
-255,255,
-255,124,
-0,0,
-0,0,
-0,0,
-0,0,
-255,43,
-255,139,
-255,255,
-255,193,
-255,108,
-255,108,
-255,38,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,140,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,123,
-255,255,
-255,114,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,87,
-255,213,
-255,255,
-255,255,
-255,200,
-255,54,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,243,
-255,160,
-0,0,
-0,0,
-0,0,
-255,1,
-255,234,
-255,182,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,255,
-255,176,
-0,0,
-0,0,
-0,0,
-0,0,
-255,119,
-255,255,
-255,93,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,147,
-255,237,
-255,30,
-0,0,
-0,0,
-0,0,
-255,116,
-255,254,
-255,43,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,59,
-255,247,
-255,239,
-255,145,
-255,137,
-255,223,
-255,255,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,141,
-255,255,
-255,213,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,86,
-255,255,
-255,227,
-255,131,
-255,123,
-255,206,
-255,255,
-255,146,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,156,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-255,25,
-255,238,
-255,230,
-255,19,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,255,
-255,140,
-0,0,
-0,0,
-0,0,
-0,0,
-255,81,
-255,255,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,55,
-255,255,
-255,146,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,106,
-255,108,
-255,163,
-255,255,
-255,168,
-255,108,
-255,108,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,140,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,247,
-255,244,
-255,111,
-255,108,
-255,108,
-255,108,
-255,108,
-255,35,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,46,
-255,136,
-255,243,
-255,250,
-255,51,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,88,
-255,255,
-255,88,
-0,0,
-0,0,
-0,0,
-0,0,
-255,164,
-255,251,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,255,
-255,140,
-0,0,
-0,0,
-0,0,
-0,0,
-255,81,
-255,255,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,192,
-255,255,
-255,237,
-255,132,
-255,106,
-255,171,
-255,255,
-255,255,
-255,112,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,51,
-255,183,
-255,243,
-255,246,
-255,198,
-255,78,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,68,
-255,255,
-255,133,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,253,
-255,206,
-0,0,
-0,0,
-0,0,
-0,0,
-255,143,
-255,255,
-255,61,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,63,
-255,187,
-255,235,
-255,240,
-255,202,
-255,95,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,44,
-255,104,
-255,242,
-255,44,
-255,133,
-255,216,
-255,44,
-255,26,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-255,178,
-255,255,
-255,72,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,255,
-255,176,
-0,0,
-0,0,
-0,0,
-0,0,
-255,118,
-255,255,
-255,93,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,84,
-255,255,
-255,105,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,140,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,92,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,23,
-255,84,
-255,39,
-0,0,
-0,0,
-0,0,
-255,66,
-255,255,
-255,154,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,179,
-255,253,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-255,92,
-255,255,
-255,106,
-0,0,
-0,0,
-0,0,
-0,0,
-255,64,
-255,255,
-255,136,
-0,0,
-0,0,
-0,0,
-0,0,
-255,76,
-255,255,
-255,124,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,190,
-255,88,
-255,142,
-255,223,
-255,243,
-255,200,
-255,87,
-255,163,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,68,
-255,255,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,247,
-255,29,
-0,0,
-0,0,
-255,5,
-255,212,
-255,253,
-255,22,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,109,
-255,205,
-0,0,
-255,143,
-255,173,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,255,
-255,255,
-255,255,
-255,183,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,211,
-255,250,
-255,42,
-0,0,
-0,0,
-255,16,
-255,223,
-255,246,
-255,21,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,189,
-255,255,
-255,123,
-255,108,
-255,108,
-255,108,
-255,108,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,106,
-255,108,
-255,163,
-255,255,
-255,168,
-255,108,
-255,108,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,48,
-255,255,
-255,172,
-0,0,
-0,0,
-0,0,
-255,45,
-255,255,
-255,170,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,255,
-255,140,
-0,0,
-0,0,
-0,0,
-0,0,
-255,81,
-255,255,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,68,
-255,255,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,86,
-255,255,
-255,227,
-255,131,
-255,123,
-255,206,
-255,255,
-255,146,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,148,
-255,167,
-0,0,
-255,181,
-255,135,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,248,
-255,136,
-255,214,
-255,252,
-255,65,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,59,
-255,247,
-255,239,
-255,145,
-255,137,
-255,223,
-255,255,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,72,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,96,
-255,255,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,177,
-255,255,
-255,180,
-255,115,
-255,125,
-255,222,
-255,254,
-255,75,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,255,
-255,176,
-0,0,
-0,0,
-0,0,
-0,0,
-255,118,
-255,255,
-255,93,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,68,
-255,255,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,63,
-255,187,
-255,235,
-255,240,
-255,202,
-255,95,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,253,
-255,206,
-0,0,
-0,0,
-0,0,
-0,0,
-255,143,
-255,255,
-255,61,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,253,
-255,206,
-0,0,
-0,0,
-0,0,
-0,0,
-255,143,
-255,255,
-255,61,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,144,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-255,38,
-255,242,
-255,232,
-255,26,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,51,
-255,183,
-255,243,
-255,246,
-255,198,
-255,78,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,103,
-255,204,
-255,242,
-255,236,
-255,188,
-255,69,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,211,
-255,250,
-255,42,
-0,0,
-0,0,
-255,16,
-255,223,
-255,246,
-255,21,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,247,
-255,29,
-0,0,
-0,0,
-255,5,
-255,212,
-255,253,
-255,22,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,247,
-255,29,
-0,0,
-0,0,
-255,5,
-255,212,
-255,253,
-255,22,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,40,
-255,245,
-255,99,
-255,57,
-255,255,
-255,69,
-255,40,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-255,88,
-255,255,
-255,195,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,59,
-255,247,
-255,239,
-255,145,
-255,137,
-255,223,
-255,255,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,60,
-255,191,
-255,245,
-255,234,
-255,187,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,86,
-255,255,
-255,227,
-255,131,
-255,123,
-255,206,
-255,255,
-255,146,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,86,
-255,255,
-255,227,
-255,131,
-255,123,
-255,206,
-255,255,
-255,146,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,255,
-255,23,
-255,66,
-255,243,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-255,150,
-255,255,
-255,143,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,173,
-255,43,
-0,0,
-0,0,
-255,58,
-255,165,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,64,
-255,255,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,255,
-255,255,
-255,255,
-255,243,
-255,206,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,51,
-255,183,
-255,243,
-255,246,
-255,198,
-255,78,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,250,
-255,232,
-255,133,
-255,131,
-255,227,
-255,254,
-255,81,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,63,
-255,187,
-255,235,
-255,240,
-255,202,
-255,95,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,63,
-255,187,
-255,235,
-255,240,
-255,202,
-255,95,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,83,
-255,229,
-0,0,
-255,115,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-255,7,
-255,205,
-255,255,
-255,85,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,38,
-255,234,
-255,232,
-255,39,
-255,55,
-255,241,
-255,225,
-255,27,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,64,
-255,255,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,246,
-255,108,
-255,108,
-255,120,
-255,210,
-255,255,
-255,103,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-0,0,
-0,0,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,250,
-255,38,
-0,0,
-0,0,
-255,29,
-255,247,
-255,206,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,180,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,46,
-255,237,
-255,230,
-255,240,
-255,227,
-255,34,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,64,
-255,255,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-255,20,
-255,253,
-255,192,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,151,
-255,255,
-255,172,
-255,62,
-255,240,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,30,
-255,255,
-255,180,
-0,0,
-0,0,
-0,0,
-0,0,
-255,147,
-255,170,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,60,
-255,191,
-255,245,
-255,234,
-255,187,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,46,
-255,182,
-255,243,
-255,240,
-255,182,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,163,
-255,193,
-255,103,
-255,157,
-255,141,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,255,
-255,53,
-0,0,
-0,0,
-0,0,
-255,72,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,181,
-255,246,
-255,219,
-255,104,
-255,251,
-255,144,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,180,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,95,
-255,255,
-255,255,
-255,74,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,28,
-255,185,
-255,247,
-255,216,
-255,121,
-255,255,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-255,15,
-255,252,
-255,191,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,243,
-255,34,
-255,118,
-255,238,
-255,157,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,53,
-255,255,
-255,147,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,250,
-255,232,
-255,133,
-255,131,
-255,227,
-255,254,
-255,81,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,48,
-255,244,
-255,243,
-255,142,
-255,128,
-255,144,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,117,
-255,253,
-255,255,
-255,211,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,255,
-255,191,
-0,0,
-0,0,
-0,0,
-255,72,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,186,
-255,255,
-255,171,
-255,137,
-255,231,
-255,255,
-255,144,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,180,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,46,
-255,236,
-255,232,
-255,241,
-255,227,
-255,34,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,190,
-255,255,
-255,168,
-255,139,
-255,235,
-255,255,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,246,
-255,108,
-255,108,
-255,108,
-255,108,
-255,108,
-255,33,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,246,
-255,108,
-255,108,
-255,120,
-255,204,
-255,244,
-255,64,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,56,
-255,255,
-255,144,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,250,
-255,38,
-0,0,
-0,0,
-255,29,
-255,247,
-255,206,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,191,
-255,255,
-255,65,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,51,
-255,201,
-255,83,
-255,174,
-255,255,
-255,94,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,242,
-255,207,
-255,74,
-0,0,
-0,0,
-255,72,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,183,
-0,0,
-0,0,
-255,70,
-255,255,
-255,144,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,181,
-255,132,
-255,240,
-255,229,
-255,117,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,184,
-0,0,
-255,8,
-255,216,
-255,249,
-255,52,
-0,0,
-0,0,
-0,0,
-0,0,
-255,38,
-255,234,
-255,234,
-255,42,
-255,58,
-255,243,
-255,225,
-255,27,
-0,0,
-0,0,
-0,0,
-0,0,
-255,41,
-255,255,
-255,180,
-0,0,
-0,0,
-255,79,
-255,255,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,167,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,255,
-255,255,
-255,255,
-255,246,
-255,209,
-255,100,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-255,72,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,255,
-255,53,
-0,0,
-0,0,
-0,0,
-255,72,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-255,53,
-255,255,
-255,147,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,30,
-255,255,
-255,180,
-0,0,
-0,0,
-0,0,
-0,0,
-255,147,
-255,170,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,253,
-255,207,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,37,
-255,255,
-255,200,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,88,
-255,255,
-255,204,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,130,
-255,218,
-255,247,
-255,226,
-255,160,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,255,
-255,255,
-255,254,
-255,232,
-255,160,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,163,
-255,232,
-255,239,
-255,186,
-255,48,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,154,
-255,226,
-255,242,
-255,194,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-255,72,
-255,210,
-255,2,
-0,0,
-255,72,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-255,81,
-255,255,
-255,115,
-0,0,
-0,0,
-255,56,
-255,255,
-255,144,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,251,
-255,176,
-255,128,
-255,224,
-255,255,
-255,62,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,184,
-0,0,
-255,140,
-255,255,
-255,114,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,177,
-255,45,
-0,0,
-0,0,
-255,61,
-255,168,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-255,81,
-255,255,
-255,114,
-0,0,
-0,0,
-255,64,
-255,255,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-255,11,
-255,136,
-255,255,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,246,
-255,108,
-255,108,
-255,118,
-255,202,
-255,255,
-255,115,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-255,72,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,255,
-255,191,
-0,0,
-0,0,
-0,0,
-255,72,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-255,30,
-255,255,
-255,181,
-0,0,
-0,0,
-0,0,
-0,0,
-255,144,
-255,163,
-0,0,
-0,0,
-0,0,
-0,0,
-255,53,
-255,255,
-255,147,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,255,
-255,195,
-255,170,
-255,236,
-255,227,
-255,132,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,27,
-255,167,
-255,231,
-255,233,
-255,148,
-255,235,
-255,253,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,15,
-255,231,
-255,255,
-255,204,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,168,
-255,255,
-255,173,
-255,116,
-255,158,
-255,253,
-255,223,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,246,
-255,108,
-255,112,
-255,158,
-255,251,
-255,233,
-255,34,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,210,
-255,250,
-255,144,
-255,127,
-255,237,
-255,235,
-255,23,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,209,
-255,251,
-255,149,
-255,126,
-255,237,
-255,242,
-255,31,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-255,192,
-255,96,
-0,0,
-255,72,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-255,90,
-255,255,
-255,108,
-0,0,
-0,0,
-255,56,
-255,255,
-255,144,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,190,
-0,0,
-0,0,
-255,78,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,184,
-255,57,
-255,253,
-255,181,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,90,
-255,255,
-255,107,
-0,0,
-0,0,
-255,64,
-255,255,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-255,5,
-255,250,
-255,204,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-255,9,
-255,231,
-255,234,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-255,72,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,242,
-255,207,
-255,74,
-0,0,
-0,0,
-255,72,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,250,
-255,39,
-0,0,
-0,0,
-255,26,
-255,246,
-255,202,
-0,0,
-0,0,
-0,0,
-0,0,
-255,56,
-255,255,
-255,144,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,254,
-255,161,
-255,113,
-255,192,
-255,255,
-255,122,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,220,
-255,250,
-255,141,
-255,110,
-255,163,
-255,253,
-255,255,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,150,
-255,240,
-255,252,
-255,204,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,249,
-255,207,
-0,0,
-0,0,
-0,0,
-255,150,
-255,255,
-255,67,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-255,78,
-255,255,
-255,182,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,45,
-255,240,
-255,140,
-0,0,
-0,0,
-255,106,
-255,255,
-255,96,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,255,
-255,145,
-0,0,
-0,0,
-255,97,
-255,255,
-255,111,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-255,56,
-255,225,
-255,8,
-255,72,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-255,54,
-255,255,
-255,165,
-0,0,
-0,0,
-255,70,
-255,255,
-255,144,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,180,
-0,0,
-0,0,
-255,48,
-255,255,
-255,151,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,255,
-255,255,
-255,254,
-255,31,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,55,
-255,255,
-255,163,
-0,0,
-0,0,
-255,79,
-255,255,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,156,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,219,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-255,186,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-255,72,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-255,72,
-255,210,
-255,2,
-0,0,
-255,72,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,250,
-255,234,
-255,134,
-255,127,
-255,223,
-255,254,
-255,76,
-0,0,
-0,0,
-0,0,
-0,0,
-255,53,
-255,255,
-255,147,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,39,
-255,255,
-255,167,
-0,0,
-0,0,
-255,10,
-255,238,
-255,223,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,96,
-255,255,
-255,123,
-0,0,
-0,0,
-0,0,
-255,182,
-255,255,
-255,19,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,55,
-255,253,
-255,107,
-255,248,
-255,204,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,226,
-255,242,
-255,64,
-0,0,
-0,0,
-255,16,
-255,40,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-255,202,
-255,253,
-255,14,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,83,
-255,255,
-255,115,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,104,
-255,41,
-0,0,
-0,0,
-255,75,
-255,255,
-255,124,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-255,175,
-255,117,
-255,72,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,205,
-255,255,
-255,162,
-255,135,
-255,230,
-255,255,
-255,144,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,180,
-0,0,
-0,0,
-255,48,
-255,255,
-255,152,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,214,
-255,151,
-255,255,
-255,145,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,208,
-255,254,
-255,159,
-255,139,
-255,235,
-255,255,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,246,
-255,108,
-255,108,
-255,108,
-255,108,
-255,65,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-255,227,
-255,232,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-255,7,
-255,229,
-255,234,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-255,72,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-255,192,
-255,96,
-0,0,
-255,72,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,59,
-255,189,
-255,244,
-255,246,
-255,195,
-255,71,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,30,
-255,255,
-255,181,
-0,0,
-0,0,
-0,0,
-0,0,
-255,144,
-255,163,
-0,0,
-0,0,
-0,0,
-0,0,
-255,23,
-255,255,
-255,177,
-0,0,
-0,0,
-0,0,
-255,205,
-255,248,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,135,
-255,255,
-255,66,
-0,0,
-0,0,
-0,0,
-255,196,
-255,254,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,208,
-255,197,
-255,1,
-255,248,
-255,204,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,93,
-255,255,
-255,255,
-255,225,
-255,146,
-255,55,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-255,160,
-255,255,
-255,42,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,183,
-255,247,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,173,
-255,255,
-255,52,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-255,41,
-255,235,
-255,89,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,35,
-255,189,
-255,248,
-255,222,
-255,126,
-255,255,
-255,143,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,180,
-0,0,
-0,0,
-255,48,
-255,255,
-255,152,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,184,
-255,2,
-255,196,
-255,254,
-255,64,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,38,
-255,193,
-255,248,
-255,222,
-255,112,
-255,255,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-255,184,
-255,255,
-255,51,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,246,
-255,108,
-255,108,
-255,117,
-255,198,
-255,255,
-255,118,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-255,56,
-255,225,
-255,8,
-255,72,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,250,
-255,39,
-0,0,
-0,0,
-255,26,
-255,246,
-255,202,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,221,
-255,237,
-255,14,
-0,0,
-255,15,
-255,243,
-255,211,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,105,
-255,255,
-255,124,
-0,0,
-0,0,
-255,28,
-255,247,
-255,199,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,115,
-255,249,
-255,41,
-0,0,
-255,248,
-255,204,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,219,
-255,234,
-255,142,
-255,210,
-255,255,
-255,255,
-255,166,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-255,152,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,255,
-255,255,
-255,254,
-255,85,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,101,
-255,255,
-255,153,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-255,158,
-255,209,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,93,
-255,255,
-255,113,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,180,
-0,0,
-0,0,
-255,48,
-255,255,
-255,152,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,184,
-0,0,
-255,38,
-255,247,
-255,222,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,255,
-255,255,
-255,255,
-255,247,
-255,210,
-255,103,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,246,
-255,108,
-255,108,
-255,108,
-255,108,
-255,149,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-255,175,
-255,117,
-255,72,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,250,
-255,234,
-255,134,
-255,127,
-255,223,
-255,254,
-255,76,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,92,
-255,255,
-255,207,
-255,122,
-255,200,
-255,255,
-255,95,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,221,
-255,251,
-255,153,
-255,124,
-255,221,
-255,251,
-255,62,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,30,
-255,244,
-255,126,
-0,0,
-0,0,
-255,248,
-255,204,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,69,
-255,255,
-255,136,
-0,0,
-0,0,
-255,43,
-255,192,
-255,255,
-255,91,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-255,160,
-255,255,
-255,43,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,14,
-255,104,
-255,117,
-255,216,
-255,236,
-255,37,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,72,
-255,251,
-255,197,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-255,29,
-255,248,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,71,
-255,195,
-255,144,
-255,152,
-255,240,
-255,243,
-255,33,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,180,
-0,0,
-0,0,
-255,48,
-255,255,
-255,152,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,184,
-0,0,
-0,0,
-255,116,
-255,255,
-255,153,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,246,
-255,108,
-255,108,
-255,108,
-255,108,
-255,108,
-255,38,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-255,72,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-255,41,
-255,235,
-255,89,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,59,
-255,189,
-255,244,
-255,246,
-255,195,
-255,71,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,91,
-255,214,
-255,247,
-255,213,
-255,98,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,21,
-255,155,
-255,226,
-255,248,
-255,197,
-255,63,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,140,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,39,
-255,255,
-255,215,
-255,52,
-0,0,
-0,0,
-255,79,
-255,255,
-255,125,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-255,202,
-255,253,
-255,15,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,4,
-255,1,
-0,0,
-0,0,
-255,57,
-255,255,
-255,144,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,53,
-255,244,
-255,215,
-255,19,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-255,140,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,62,
-255,195,
-255,241,
-255,237,
-255,187,
-255,55,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-255,72,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-255,158,
-255,209,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,255,
-255,148,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,62,
-255,112,
-255,112,
-255,112,
-255,112,
-255,251,
-255,226,
-255,112,
-255,17,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,253,
-255,255,
-255,219,
-255,142,
-255,210,
-255,245,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-255,75,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,84,
-255,255,
-255,124,
-0,0,
-0,0,
-255,62,
-255,255,
-255,152,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,234,
-255,226,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-255,72,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-255,29,
-255,248,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,65,
-255,255,
-255,74,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,248,
-255,204,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,43,
-255,135,
-255,218,
-255,255,
-255,255,
-255,152,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,246,
-255,108,
-255,112,
-255,157,
-255,251,
-255,235,
-255,37,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,236,
-255,245,
-255,140,
-255,123,
-255,225,
-255,253,
-255,62,
-0,0,
-0,0,
-0,0,
-0,0,
-255,17,
-255,220,
-255,255,
-255,148,
-255,108,
-255,108,
-255,108,
-255,94,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,120,
-255,255,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-255,72,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-255,140,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,14,
-255,220,
-255,228,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,248,
-255,204,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,9,
-255,32,
-255,14,
-0,0,
-0,0,
-255,58,
-255,223,
-255,255,
-255,33,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,255,
-255,255,
-255,254,
-255,233,
-255,161,
-255,31,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,173,
-255,235,
-255,240,
-255,192,
-255,66,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,52,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,224,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,120,
-255,255,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,61,
-255,8,
-0,0,
-0,0,
-0,0,
-89,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,255,
-255,154,
-0,0,
-0,0,
-0,0,
-255,152,
-255,255,
-255,53,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,178,
-255,255,
-255,50,
-0,0,
-0,0,
-255,158,
-255,255,
-255,73,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,174,
-255,248,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,120,
-255,255,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,143,
-255,185,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,221,
-255,254,
-255,163,
-255,115,
-255,149,
-255,251,
-255,223,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,155,
-255,182,
-255,241,
-255,227,
-255,102,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,28,
-255,185,
-255,247,
-255,218,
-255,113,
-255,255,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,135,
-255,231,
-255,248,
-255,196,
-255,52,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,86,
-255,255,
-255,119,
-0,0,
-0,0,
-255,227,
-255,231,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,180,
-255,255,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,120,
-255,255,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,189,
-255,152,
-255,245,
-255,229,
-255,109,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,176,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,147,
-255,223,
-255,248,
-255,229,
-255,164,
-255,34,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,255,
-255,177,
-255,134,
-255,232,
-255,255,
-255,58,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,190,
-255,255,
-255,161,
-255,131,
-255,232,
-255,255,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,127,
-255,255,
-255,171,
-255,125,
-255,231,
-255,238,
-255,17,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,241,
-255,189,
-0,0,
-255,40,
-255,255,
-255,142,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,180,
-255,255,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,120,
-255,255,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,246,
-255,108,
-255,108,
-255,108,
-255,108,
-255,108,
-255,38,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,255,
-255,174,
-255,130,
-255,225,
-255,255,
-255,63,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,176,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,196,
-0,0,
-0,0,
-255,63,
-255,255,
-255,164,
-0,0,
-0,0,
-0,0,
-0,0,
-255,41,
-255,255,
-255,178,
-0,0,
-0,0,
-255,87,
-255,255,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,242,
-255,204,
-0,0,
-0,0,
-255,73,
-255,255,
-255,122,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,158,
-255,248,
-255,9,
-255,109,
-255,255,
-255,49,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,128,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,208,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,120,
-255,255,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,201,
-0,0,
-0,0,
-255,52,
-255,255,
-255,169,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,255,
-255,255,
-255,254,
-255,229,
-255,171,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,229,
-255,186,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,212,
-255,208,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,148,
-255,233,
-255,248,
-255,201,
-255,65,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,76,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,73,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,15,
-255,152,
-255,230,
-255,244,
-255,179,
-255,35,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,212,
-255,208,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,229,
-255,186,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-255,244,
-255,204,
-0,0,
-0,0,
-0,0,
-0,0,
-255,81,
-255,255,
-255,114,
-0,0,
-0,0,
-255,80,
-255,255,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,35,
-255,255,
-255,151,
-0,0,
-0,0,
-255,17,
-255,255,
-255,165,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,255,
-255,72,
-255,178,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,80,
-255,160,
-255,160,
-255,227,
-255,255,
-255,163,
-255,160,
-255,130,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,120,
-255,255,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-255,243,
-255,208,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,246,
-255,108,
-255,109,
-255,144,
-255,246,
-255,230,
-255,19,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,193,
-255,190,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,33,
-255,225,
-255,146,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,165,
-255,255,
-255,164,
-255,125,
-255,227,
-255,249,
-255,39,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,188,
-255,17,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,159,
-255,159,
-255,243,
-255,231,
-255,129,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,116,
-255,116,
-255,212,
-255,240,
-255,116,
-255,116,
-255,47,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,99,
-255,255,
-255,161,
-255,136,
-255,136,
-255,136,
-255,53,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,190,
-255,254,
-255,154,
-255,133,
-255,243,
-255,222,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,33,
-255,225,
-255,146,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,193,
-255,190,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-255,237,
-255,214,
-0,0,
-0,0,
-0,0,
-0,0,
-255,90,
-255,255,
-255,107,
-0,0,
-0,0,
-255,80,
-255,255,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,58,
-255,255,
-255,140,
-0,0,
-0,0,
-255,4,
-255,255,
-255,190,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,227,
-255,144,
-255,242,
-255,119,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,180,
-255,255,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,44,
-255,9,
-0,0,
-0,0,
-255,121,
-255,255,
-255,77,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-255,236,
-255,218,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-255,122,
-255,255,
-255,87,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,37,
-255,255,
-255,177,
-0,0,
-0,0,
-255,51,
-255,255,
-255,160,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,149,
-255,234,
-255,247,
-255,223,
-255,170,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,253,
-255,180,
-255,127,
-255,221,
-255,255,
-255,71,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,176,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,255,
-255,34,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,56,
-255,255,
-255,159,
-0,0,
-0,0,
-255,97,
-255,255,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,192,
-0,0,
-0,0,
-255,39,
-255,255,
-255,178,
-0,0,
-0,0,
-0,0,
-0,0,
-255,55,
-255,255,
-255,162,
-0,0,
-0,0,
-255,87,
-255,255,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,60,
-255,255,
-255,140,
-0,0,
-0,0,
-255,4,
-255,255,
-255,192,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,138,
-255,239,
-255,253,
-255,27,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,180,
-255,255,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,111,
-255,255,
-255,85,
-0,0,
-0,0,
-255,165,
-255,255,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,160,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,201,
-0,0,
-0,0,
-255,34,
-255,255,
-255,182,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-255,93,
-255,255,
-255,107,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,172,
-0,0,
-0,0,
-255,52,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,172,
-0,0,
-0,0,
-255,52,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-255,83,
-255,255,
-255,112,
-0,0,
-0,0,
-0,0,
-255,240,
-255,206,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,165,
-255,255,
-255,165,
-255,131,
-255,255,
-255,248,
-255,48,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,193,
-0,0,
-0,0,
-255,76,
-255,255,
-255,129,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,176,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,150,
-255,255,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,128,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,224,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,9,
-255,138,
-255,226,
-255,243,
-255,195,
-255,59,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,93,
-255,255,
-255,104,
-0,0,
-0,0,
-255,38,
-255,255,
-255,145,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,255,
-255,163,
-255,123,
-255,219,
-255,255,
-255,76,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,208,
-255,254,
-255,152,
-255,129,
-255,231,
-255,255,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,58,
-255,255,
-255,140,
-0,0,
-0,0,
-255,4,
-255,255,
-255,190,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,46,
-255,255,
-255,188,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,143,
-255,204,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,37,
-255,246,
-255,231,
-255,125,
-255,151,
-255,253,
-255,197,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,246,
-255,108,
-255,108,
-255,108,
-255,108,
-255,67,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,255,
-255,174,
-255,127,
-255,216,
-255,255,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-255,30,
-255,199,
-255,244,
-255,31,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,172,
-0,0,
-0,0,
-255,52,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,172,
-0,0,
-0,0,
-255,52,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-255,83,
-255,255,
-255,112,
-0,0,
-0,0,
-0,0,
-255,241,
-255,206,
-0,0,
-0,0,
-0,0,
-0,0,
-255,37,
-255,255,
-255,178,
-0,0,
-255,115,
-255,196,
-255,255,
-255,164,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,180,
-0,0,
-0,0,
-255,52,
-255,255,
-255,147,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,176,
-255,249,
-255,187,
-255,243,
-255,215,
-255,91,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,54,
-255,108,
-255,108,
-255,108,
-255,108,
-255,119,
-255,251,
-255,190,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,145,
-255,255,
-255,175,
-255,126,
-255,238,
-255,243,
-255,31,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,255,
-255,145,
-0,0,
-0,0,
-255,39,
-255,255,
-255,170,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,246,
-255,108,
-255,108,
-255,108,
-255,108,
-255,108,
-255,33,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,246,
-255,108,
-255,108,
-255,108,
-255,108,
-255,108,
-255,33,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,195,
-255,161,
-255,239,
-255,232,
-255,118,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,38,
-255,193,
-255,248,
-255,213,
-255,144,
-255,255,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,35,
-255,255,
-255,152,
-0,0,
-0,0,
-255,17,
-255,255,
-255,166,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,69,
-255,255,
-255,95,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,63,
-255,194,
-255,241,
-255,232,
-255,160,
-255,22,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,153,
-255,183,
-255,241,
-255,233,
-255,122,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,255,
-255,255,
-255,255,
-255,255,
-255,254,
-255,102,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,172,
-0,0,
-0,0,
-255,52,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,172,
-0,0,
-0,0,
-255,52,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-255,38,
-255,255,
-255,176,
-0,0,
-0,0,
-255,51,
-255,255,
-255,161,
-0,0,
-0,0,
-0,0,
-0,0,
-255,83,
-255,255,
-255,112,
-255,11,
-255,227,
-255,31,
-255,239,
-255,213,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,180,
-0,0,
-0,0,
-255,52,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,112,
-255,112,
-255,112,
-255,112,
-255,112,
-255,112,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,201,
-255,255,
-255,150,
-255,126,
-255,227,
-255,255,
-255,63,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,155,
-255,239,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,232,
-255,228,
-255,2,
-0,0,
-255,103,
-255,255,
-255,106,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,218,
-255,250,
-255,137,
-255,115,
-255,219,
-255,255,
-255,172,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,80,
-255,255,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,243,
-255,205,
-0,0,
-0,0,
-255,70,
-255,255,
-255,124,
-0,0,
-0,0,
-0,0,
-0,0,
-255,15,
-255,132,
-255,233,
-255,230,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,245,
-255,84,
-255,84,
-255,91,
-255,176,
-255,253,
-255,85,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,172,
-0,0,
-0,0,
-255,52,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,172,
-0,0,
-0,0,
-255,52,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,167,
-255,255,
-255,163,
-255,125,
-255,227,
-255,250,
-255,41,
-0,0,
-0,0,
-0,0,
-0,0,
-255,90,
-255,255,
-255,110,
-255,120,
-255,150,
-0,0,
-255,241,
-255,206,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,180,
-0,0,
-0,0,
-255,52,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,58,
-255,69,
-0,0,
-0,0,
-255,57,
-255,255,
-255,161,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,67,
-255,255,
-255,96,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,247,
-255,207,
-0,0,
-0,0,
-255,75,
-255,255,
-255,123,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,35,
-255,179,
-255,238,
-255,231,
-255,129,
-255,255,
-255,171,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,80,
-255,255,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,130,
-255,255,
-255,171,
-255,124,
-255,228,
-255,241,
-255,19,
-0,0,
-0,0,
-0,0,
-0,0,
-255,50,
-255,247,
-255,214,
-255,57,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-255,7,
-255,246,
-255,201,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,255,
-255,173,
-0,0,
-0,0,
-255,52,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,255,
-255,173,
-0,0,
-0,0,
-255,52,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,151,
-255,235,
-255,249,
-255,203,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,43,
-255,255,
-255,184,
-255,228,
-255,27,
-255,49,
-255,255,
-255,161,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,180,
-0,0,
-0,0,
-255,52,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,8,
-0,0,
-0,0,
-255,8,
-255,255,
-255,189,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,199,
-255,208,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,167,
-255,253,
-255,72,
-255,16,
-255,180,
-255,251,
-255,46,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,58,
-255,255,
-255,155,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,80,
-255,255,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,136,
-255,232,
-255,249,
-255,199,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-255,10,
-255,247,
-255,200,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,251,
-255,199,
-0,0,
-0,0,
-255,67,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,251,
-255,199,
-0,0,
-0,0,
-255,67,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,178,
-255,255,
-255,214,
-255,123,
-255,226,
-255,250,
-255,41,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,180,
-0,0,
-0,0,
-255,52,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,239,
-255,203,
-0,0,
-0,0,
-255,51,
-255,255,
-255,158,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,63,
-255,255,
-255,101,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,201,
-255,255,
-255,255,
-255,254,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,151,
-255,255,
-255,97,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,156,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,156,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,14,
-255,156,
-255,236,
-255,242,
-255,189,
-255,47,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,246,
-255,108,
-255,108,
-255,117,
-255,200,
-255,255,
-255,115,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,254,
-255,151,
-255,140,
-255,229,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,254,
-255,151,
-255,140,
-255,229,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,23,
-255,246,
-255,235,
-255,249,
-255,203,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,157,
-255,255,
-255,166,
-255,121,
-255,221,
-255,253,
-255,52,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,151,
-255,255,
-255,26,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,144,
-255,252,
-255,153,
-255,120,
-255,216,
-255,232,
-255,43,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,53,
-255,147,
-255,114,
-255,163,
-255,255,
-255,213,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,246,
-255,108,
-255,108,
-255,108,
-255,108,
-255,65,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,246,
-255,108,
-255,108,
-255,108,
-255,108,
-255,65,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,176,
-255,255,
-255,156,
-255,125,
-255,234,
-255,233,
-255,19,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,142,
-255,235,
-255,240,
-255,186,
-255,42,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,71,
-255,164,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,255,
-255,255,
-255,255,
-255,245,
-255,211,
-255,111,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,35,
-255,190,
-255,246,
-255,220,
-255,87,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,35,
-255,190,
-255,246,
-255,220,
-255,87,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,97,
-255,136,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,139,
-255,226,
-255,244,
-255,203,
-255,72,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,229,
-255,215,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,43,
-255,255,
-255,157,
-0,0,
-0,0,
-255,28,
-255,255,
-255,174,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,63,
-255,214,
-255,248,
-255,236,
-255,159,
-255,21,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,43,
-255,255,
-255,164,
-0,0,
-0,0,
-255,92,
-255,252,
-255,79,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,150,
-255,255,
-255,155,
-255,125,
-255,234,
-255,227,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,112,
-255,255,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-0,0,
-0,0,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,170,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,56,
-255,255,
-255,154,
-0,0,
-0,0,
-255,25,
-255,255,
-255,187,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,163,
-255,233,
-255,242,
-255,188,
-255,46,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,89,
-255,255,
-255,106,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,27,
-255,253,
-255,175,
-0,0,
-0,0,
-255,104,
-255,255,
-255,78,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,150,
-255,241,
-255,255,
-255,212,
-255,69,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-0,0,
-0,0,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,151,
-255,255,
-255,172,
-255,62,
-255,240,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,69,
-255,255,
-255,129,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,221,
-255,251,
-255,149,
-255,119,
-255,211,
-255,255,
-255,105,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,246,
-255,108,
-255,108,
-255,108,
-255,108,
-255,108,
-255,38,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,246,
-255,108,
-255,108,
-255,108,
-255,108,
-255,108,
-255,38,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,111,
-255,243,
-255,150,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,102,
-255,124,
-0,0,
-255,34,
-255,128,
-255,66,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,197,
-255,248,
-255,129,
-255,120,
-255,237,
-255,229,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-255,89,
-255,255,
-255,106,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,71,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,109,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,172,
-0,0,
-0,0,
-255,52,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,167,
-255,255,
-255,155,
-255,110,
-255,222,
-255,248,
-255,33,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,151,
-255,255,
-255,172,
-255,62,
-255,240,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,76,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,224,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,243,
-255,34,
-255,118,
-255,238,
-255,157,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,100,
-255,255,
-255,99,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,167,
-255,231,
-255,246,
-255,211,
-255,106,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,128,
-255,230,
-255,60,
-255,205,
-255,172,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,248,
-0,0,
-255,68,
-255,255,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,64,
-255,64,
-255,64,
-255,64,
-255,145,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,90,
-255,68,
-0,0,
-0,0,
-255,145,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-0,0,
-255,44,
-255,255,
-255,162,
-0,0,
-0,0,
-255,69,
-255,196,
-255,62,
-0,0,
-0,0,
-0,0,
-0,0,
-255,73,
-255,255,
-255,173,
-255,76,
-255,76,
-255,76,
-255,76,
-255,33,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,172,
-0,0,
-0,0,
-255,52,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,254,
-255,181,
-0,0,
-0,0,
-255,68,
-255,240,
-255,97,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,243,
-255,34,
-255,118,
-255,238,
-255,157,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,33,
-255,112,
-255,112,
-255,112,
-255,196,
-255,255,
-255,150,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,108,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,68,
-255,193,
-255,239,
-255,255,
-255,255,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,178,
-255,254,
-255,155,
-255,123,
-255,229,
-255,234,
-255,21,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,254,
-255,203,
-0,0,
-0,0,
-0,0,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,172,
-0,0,
-0,0,
-255,52,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-255,71,
-255,255,
-255,126,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-0,0,
-0,0,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,116,
-255,212,
-255,113,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,14,
-255,156,
-255,236,
-255,242,
-255,189,
-255,47,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,125,
-255,22,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,49,
-255,248,
-255,209,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,159,
-255,159,
-255,243,
-255,231,
-255,129,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,95,
-255,255,
-255,149,
-0,0,
-255,15,
-255,239,
-255,231,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,151,
-255,255,
-255,53,
-0,0,
-0,0,
-255,141,
-255,255,
-255,63,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,40,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-255,37,
-255,249,
-255,210,
-255,55,
-255,28,
-255,152,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,158,
-255,237,
-255,243,
-255,185,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,156,
-255,255,
-255,184,
-255,118,
-255,150,
-255,221,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,172,
-0,0,
-0,0,
-255,52,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-255,71,
-255,255,
-255,125,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,151,
-255,255,
-255,172,
-255,62,
-255,240,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,230,
-255,62,
-255,230,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,176,
-255,255,
-255,156,
-255,125,
-255,234,
-255,233,
-255,19,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,148,
-255,233,
-255,248,
-255,201,
-255,65,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,248,
-255,160,
-255,49,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,218,
-255,244,
-255,39,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,253,
-255,180,
-255,127,
-255,221,
-255,255,
-255,71,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,189,
-255,247,
-255,24,
-255,124,
-255,255,
-255,86,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,60,
-255,255,
-255,119,
-0,0,
-0,0,
-255,206,
-255,227,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,246,
-255,108,
-255,108,
-255,108,
-255,108,
-255,108,
-255,33,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,246,
-255,108,
-255,108,
-255,108,
-255,108,
-255,108,
-255,33,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,92,
-255,255,
-255,107,
-0,0,
-0,0,
-255,172,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,141,
-255,230,
-255,250,
-255,222,
-255,132,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,255,
-255,173,
-0,0,
-0,0,
-255,52,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-255,30,
-255,254,
-255,178,
-0,0,
-0,0,
-255,46,
-255,180,
-255,74,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,243,
-255,34,
-255,118,
-255,238,
-255,157,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,152,
-255,245,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,43,
-255,255,
-255,164,
-0,0,
-0,0,
-255,92,
-255,252,
-255,79,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,165,
-255,255,
-255,164,
-255,125,
-255,227,
-255,249,
-255,39,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,57,
-255,151,
-255,237,
-255,255,
-255,194,
-255,84,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,165,
-255,255,
-255,94,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,193,
-0,0,
-0,0,
-255,76,
-255,255,
-255,129,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,247,
-255,150,
-255,236,
-255,181,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,224,
-255,185,
-0,0,
-255,17,
-255,253,
-255,139,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,52,
-255,255,
-255,215,
-255,117,
-255,176,
-255,252,
-255,255,
-255,65,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,251,
-255,199,
-0,0,
-0,0,
-255,67,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,172,
-255,255,
-255,149,
-255,104,
-255,213,
-255,249,
-255,39,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,89,
-255,255,
-255,106,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,37,
-255,255,
-255,177,
-0,0,
-0,0,
-255,51,
-255,255,
-255,160,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,87,
-255,231,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,100,
-255,255,
-255,160,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,180,
-0,0,
-0,0,
-255,52,
-255,255,
-255,147,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,122,
-255,255,
-255,245,
-255,31,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,229,
-255,186,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,102,
-255,124,
-0,0,
-255,34,
-255,128,
-255,66,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,135,
-255,245,
-255,6,
-255,80,
-255,255,
-255,49,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,220,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,212,
-255,208,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,118,
-255,230,
-255,245,
-255,170,
-255,123,
-255,255,
-255,98,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,254,
-255,151,
-255,140,
-255,229,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,154,
-255,242,
-255,255,
-255,209,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,163,
-255,233,
-255,242,
-255,188,
-255,46,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,163,
-255,233,
-255,242,
-255,188,
-255,46,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,89,
-255,255,
-255,106,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,83,
-255,255,
-255,112,
-0,0,
-0,0,
-0,0,
-255,240,
-255,206,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,49,
-255,144,
-255,234,
-255,255,
-255,189,
-255,31,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,246,
-255,250,
-255,119,
-255,108,
-255,108,
-255,108,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,180,
-0,0,
-0,0,
-255,52,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,137,
-255,251,
-255,249,
-255,42,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,193,
-255,190,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,248,
-0,0,
-255,68,
-255,255,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,45,
-255,255,
-255,62,
-255,145,
-255,215,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,220,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,33,
-255,225,
-255,146,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,35,
-255,190,
-255,246,
-255,220,
-255,87,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,112,
-255,255,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,197,
-255,248,
-255,129,
-255,120,
-255,237,
-255,229,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,197,
-255,248,
-255,129,
-255,120,
-255,237,
-255,229,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-255,44,
-255,255,
-255,162,
-0,0,
-0,0,
-255,69,
-255,196,
-255,62,
-0,0,
-0,0,
-0,0,
-0,0,
-255,83,
-255,255,
-255,112,
-0,0,
-0,0,
-0,0,
-255,241,
-255,206,
-0,0,
-0,0,
-0,0,
-0,0,
-255,9,
-255,209,
-255,255,
-255,245,
-255,154,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,96,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,180,
-0,0,
-0,0,
-255,52,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,48,
-255,251,
-255,123,
-255,216,
-255,196,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,210,
-255,129,
-255,210,
-255,125,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,255,
-255,255,
-255,253,
-255,223,
-255,149,
-255,17,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,156,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,156,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,102,
-255,124,
-0,0,
-255,34,
-255,128,
-255,66,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,102,
-255,124,
-0,0,
-255,34,
-255,128,
-255,66,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,78,
-255,180,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,90,
-255,68,
-0,0,
-0,0,
-255,145,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,90,
-255,68,
-0,0,
-0,0,
-255,145,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,178,
-255,254,
-255,155,
-255,123,
-255,229,
-255,234,
-255,21,
-0,0,
-0,0,
-0,0,
-0,0,
-255,38,
-255,255,
-255,176,
-0,0,
-0,0,
-255,51,
-255,255,
-255,161,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,226,
-255,119,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,180,
-0,0,
-0,0,
-255,52,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,203,
-255,240,
-255,14,
-255,96,
-255,255,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,178,
-255,255,
-255,50,
-0,0,
-0,0,
-255,158,
-255,255,
-255,73,
-0,0,
-0,0,
-0,0,
-0,0,
-255,178,
-255,255,
-255,50,
-0,0,
-0,0,
-255,158,
-255,255,
-255,73,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,120,
-255,203,
-255,254,
-255,35,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,235,
-255,108,
-255,110,
-255,161,
-255,255,
-255,196,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,148,
-255,233,
-255,248,
-255,201,
-255,65,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,246,
-255,108,
-255,108,
-255,108,
-255,108,
-255,65,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,246,
-255,108,
-255,108,
-255,108,
-255,108,
-255,65,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,248,
-0,0,
-255,68,
-255,255,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,248,
-0,0,
-255,68,
-255,255,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,255,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,68,
-255,193,
-255,239,
-255,255,
-255,255,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,68,
-255,193,
-255,239,
-255,255,
-255,255,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,158,
-255,237,
-255,243,
-255,185,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,167,
-255,255,
-255,163,
-255,125,
-255,227,
-255,250,
-255,41,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,180,
-0,0,
-0,0,
-255,52,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-255,114,
-255,255,
-255,133,
-0,0,
-255,4,
-255,224,
-255,240,
-255,25,
-0,0,
-0,0,
-0,0,
-0,0,
-255,86,
-255,255,
-255,119,
-0,0,
-0,0,
-255,227,
-255,231,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-255,86,
-255,255,
-255,119,
-0,0,
-0,0,
-255,227,
-255,231,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,30,
-255,254,
-255,201,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,220,
-0,0,
-0,0,
-0,0,
-255,157,
-255,255,
-255,62,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,165,
-255,255,
-255,164,
-255,125,
-255,227,
-255,249,
-255,39,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,143,
-255,180,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,37,
-255,249,
-255,210,
-255,55,
-255,28,
-255,152,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-255,37,
-255,249,
-255,210,
-255,55,
-255,28,
-255,152,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,255,
-255,148,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,151,
-255,235,
-255,249,
-255,203,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,241,
-255,189,
-0,0,
-255,40,
-255,255,
-255,142,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,241,
-255,189,
-0,0,
-255,40,
-255,255,
-255,142,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,220,
-0,0,
-0,0,
-0,0,
-255,102,
-255,255,
-255,96,
-0,0,
-0,0,
-0,0,
-0,0,
-255,37,
-255,255,
-255,177,
-0,0,
-0,0,
-255,51,
-255,255,
-255,160,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,148,
-255,233,
-255,248,
-255,201,
-255,65,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,111,
-255,243,
-255,150,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,172,
-0,0,
-0,0,
-255,52,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,92,
-255,255,
-255,107,
-0,0,
-0,0,
-255,172,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-255,92,
-255,255,
-255,107,
-0,0,
-0,0,
-255,172,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,65,
-255,255,
-255,74,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,158,
-255,248,
-255,9,
-255,109,
-255,255,
-255,49,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,158,
-255,248,
-255,9,
-255,109,
-255,255,
-255,49,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,220,
-0,0,
-0,0,
-0,0,
-255,155,
-255,255,
-255,62,
-0,0,
-0,0,
-0,0,
-0,0,
-255,83,
-255,255,
-255,112,
-0,0,
-0,0,
-0,0,
-255,240,
-255,206,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,246,
-255,108,
-255,108,
-255,108,
-255,108,
-255,108,
-255,38,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,246,
-255,108,
-255,108,
-255,108,
-255,108,
-255,108,
-255,38,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,165,
-255,255,
-255,164,
-255,125,
-255,227,
-255,249,
-255,39,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,128,
-255,230,
-255,60,
-255,205,
-255,172,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,172,
-0,0,
-0,0,
-255,52,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,205,
-255,249,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,84,
-255,235,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,52,
-255,255,
-255,215,
-255,117,
-255,176,
-255,252,
-255,255,
-255,65,
-0,0,
-0,0,
-0,0,
-0,0,
-255,52,
-255,255,
-255,215,
-255,117,
-255,176,
-255,252,
-255,255,
-255,65,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,14,
-255,220,
-255,228,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,102,
-255,124,
-0,0,
-255,34,
-255,128,
-255,66,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,255,
-255,72,
-255,178,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,255,
-255,72,
-255,178,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,235,
-255,108,
-255,110,
-255,160,
-255,254,
-255,196,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-255,83,
-255,255,
-255,112,
-0,0,
-0,0,
-0,0,
-255,241,
-255,206,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-255,37,
-255,255,
-255,177,
-0,0,
-0,0,
-255,51,
-255,255,
-255,160,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,172,
-0,0,
-0,0,
-255,52,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,65,
-255,252,
-255,187,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-0,0,
-255,75,
-255,225,
-0,0,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,47,
-255,187,
-255,241,
-255,234,
-255,167,
-255,25,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,118,
-255,230,
-255,245,
-255,170,
-255,123,
-255,255,
-255,98,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,118,
-255,230,
-255,245,
-255,170,
-255,123,
-255,255,
-255,98,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,61,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,248,
-0,0,
-255,68,
-255,255,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,227,
-255,144,
-255,242,
-255,119,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,227,
-255,144,
-255,242,
-255,119,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,255,
-255,255,
-255,254,
-255,224,
-255,150,
-255,17,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,38,
-255,255,
-255,176,
-0,0,
-0,0,
-255,51,
-255,255,
-255,161,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,83,
-255,255,
-255,112,
-0,0,
-0,0,
-0,0,
-255,240,
-255,206,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,172,
-0,0,
-0,0,
-255,52,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,172,
-0,0,
-0,0,
-255,52,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,246,
-255,214,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,152,
-255,192,
-255,137,
-255,223,
-255,111,
-255,221,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,234,
-255,226,
-255,99,
-255,122,
-255,251,
-255,193,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,212,
-255,208,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,111,
-255,243,
-255,150,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,229,
-255,186,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,138,
-255,239,
-255,253,
-255,27,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,138,
-255,239,
-255,253,
-255,27,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,128,
-255,223,
-255,244,
-255,193,
-255,48,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,220,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,167,
-255,255,
-255,163,
-255,125,
-255,227,
-255,250,
-255,41,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,83,
-255,255,
-255,112,
-0,0,
-0,0,
-0,0,
-255,241,
-255,206,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,172,
-0,0,
-0,0,
-255,52,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,255,
-255,173,
-0,0,
-0,0,
-255,52,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,224,
-255,238,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,70,
-255,168,
-255,245,
-255,255,
-255,231,
-255,150,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,199,
-255,28,
-0,0,
-255,101,
-255,133,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,229,
-255,186,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,33,
-255,225,
-255,146,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,163,
-255,233,
-255,242,
-255,188,
-255,46,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,128,
-255,230,
-255,60,
-255,205,
-255,172,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,193,
-255,190,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,46,
-255,255,
-255,188,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,46,
-255,255,
-255,188,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,129,
-255,255,
-255,180,
-255,130,
-255,247,
-255,226,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,220,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,151,
-255,235,
-255,249,
-255,203,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,38,
-255,255,
-255,176,
-0,0,
-0,0,
-255,51,
-255,255,
-255,161,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,172,
-0,0,
-0,0,
-255,52,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,251,
-255,199,
-0,0,
-0,0,
-255,67,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-255,58,
-255,255,
-255,145,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,19,
-255,233,
-255,255,
-255,110,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,116,
-255,245,
-255,255,
-255,221,
-255,138,
-255,19,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,193,
-255,190,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,197,
-255,248,
-255,129,
-255,120,
-255,237,
-255,229,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,69,
-255,255,
-255,95,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,69,
-255,255,
-255,95,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,223,
-255,233,
-255,5,
-0,0,
-255,165,
-255,255,
-255,21,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,167,
-255,255,
-255,163,
-255,125,
-255,227,
-255,250,
-255,41,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,172,
-0,0,
-0,0,
-255,52,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,254,
-255,151,
-255,140,
-255,229,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-255,53,
-255,255,
-255,151,
-0,0,
-0,0,
-255,141,
-255,208,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,166,
-255,217,
-255,121,
-255,244,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,14,
-255,80,
-255,161,
-255,253,
-255,209,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,142,
-255,235,
-255,240,
-255,186,
-255,42,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,90,
-255,68,
-0,0,
-0,0,
-255,145,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,163,
-255,233,
-255,242,
-255,188,
-255,46,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,163,
-255,233,
-255,242,
-255,188,
-255,46,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,15,
-255,132,
-255,233,
-255,230,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,15,
-255,132,
-255,233,
-255,230,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,253,
-255,198,
-0,0,
-255,6,
-255,224,
-255,225,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,229,
-255,186,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,111,
-255,243,
-255,150,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,151,
-255,235,
-255,249,
-255,203,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,255,
-255,173,
-0,0,
-0,0,
-255,52,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,35,
-255,190,
-255,246,
-255,220,
-255,87,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,221,
-255,249,
-255,149,
-255,155,
-255,253,
-255,207,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,163,
-255,67,
-255,4,
-255,191,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,51,
-255,168,
-255,65,
-0,0,
-0,0,
-255,174,
-255,255,
-255,22,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,17,
-255,156,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,102,
-255,124,
-0,0,
-255,34,
-255,128,
-255,66,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,111,
-255,243,
-255,150,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,142,
-255,235,
-255,240,
-255,186,
-255,42,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,150,
-255,255,
-255,155,
-255,125,
-255,234,
-255,227,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,68,
-255,193,
-255,239,
-255,255,
-255,255,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,197,
-255,248,
-255,129,
-255,120,
-255,237,
-255,229,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,197,
-255,248,
-255,129,
-255,120,
-255,237,
-255,229,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-255,50,
-255,247,
-255,214,
-255,57,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,50,
-255,247,
-255,214,
-255,57,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,196,
-0,0,
-255,93,
-255,255,
-255,113,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,193,
-255,190,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,128,
-255,230,
-255,60,
-255,205,
-255,172,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,251,
-255,199,
-0,0,
-0,0,
-255,67,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,182,
-255,239,
-255,237,
-255,171,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,239,
-255,222,
-255,103,
-255,108,
-255,238,
-255,216,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,28,
-255,255,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,248,
-0,0,
-255,68,
-255,255,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,128,
-255,230,
-255,60,
-255,205,
-255,172,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,150,
-255,255,
-255,155,
-255,125,
-255,234,
-255,227,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-255,27,
-255,253,
-255,175,
-0,0,
-0,0,
-255,104,
-255,255,
-255,78,
-0,0,
-0,0,
-0,0,
-0,0,
-255,37,
-255,249,
-255,210,
-255,55,
-255,28,
-255,152,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,90,
-255,68,
-0,0,
-0,0,
-255,145,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,90,
-255,68,
-0,0,
-0,0,
-255,145,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,196,
-0,0,
-255,110,
-255,255,
-255,118,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,254,
-255,151,
-255,140,
-255,229,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,52,
-255,188,
-255,240,
-255,237,
-255,175,
-255,34,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,127,
-255,228,
-255,255,
-255,215,
-255,86,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,27,
-255,253,
-255,175,
-0,0,
-0,0,
-255,104,
-255,255,
-255,78,
-0,0,
-0,0,
-0,0,
-0,0,
-255,71,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,109,
-0,0,
-0,0,
-0,0,
-0,0,
-255,92,
-255,255,
-255,107,
-0,0,
-0,0,
-255,172,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,68,
-255,193,
-255,239,
-255,255,
-255,255,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,68,
-255,193,
-255,239,
-255,255,
-255,255,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,196,
-0,0,
-255,14,
-255,212,
-255,252,
-255,99,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,134,
-255,237,
-255,244,
-255,177,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,148,
-255,233,
-255,248,
-255,201,
-255,65,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,148,
-255,233,
-255,248,
-255,201,
-255,65,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,35,
-255,190,
-255,246,
-255,220,
-255,87,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,119,
-255,255,
-255,188,
-255,124,
-255,220,
-255,254,
-255,58,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,142,
-255,235,
-255,240,
-255,186,
-255,42,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,142,
-255,235,
-255,240,
-255,186,
-255,42,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,71,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,109,
-0,0,
-0,0,
-0,0,
-0,0,
-255,73,
-255,255,
-255,173,
-255,76,
-255,76,
-255,76,
-255,76,
-255,33,
-0,0,
-0,0,
-0,0,
-0,0,
-255,52,
-255,255,
-255,215,
-255,117,
-255,176,
-255,252,
-255,255,
-255,65,
-0,0,
-0,0,
-0,0,
-0,0,
-255,37,
-255,249,
-255,210,
-255,55,
-255,28,
-255,152,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-255,37,
-255,249,
-255,210,
-255,55,
-255,28,
-255,152,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,196,
-0,0,
-0,0,
-255,17,
-255,198,
-255,255,
-255,72,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,14,
-255,164,
-255,80,
-255,71,
-255,255,
-255,76,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,165,
-255,255,
-255,164,
-255,125,
-255,227,
-255,249,
-255,39,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,165,
-255,255,
-255,164,
-255,125,
-255,227,
-255,249,
-255,39,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,201,
-255,249,
-255,9,
-0,0,
-255,57,
-255,255,
-255,154,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,150,
-255,255,
-255,155,
-255,125,
-255,234,
-255,227,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,150,
-255,255,
-255,155,
-255,125,
-255,234,
-255,227,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-255,73,
-255,255,
-255,173,
-255,76,
-255,76,
-255,76,
-255,76,
-255,33,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,254,
-255,203,
-0,0,
-0,0,
-0,0,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,118,
-255,230,
-255,245,
-255,170,
-255,123,
-255,255,
-255,98,
-0,0,
-0,0,
-0,0,
-0,0,
-255,92,
-255,255,
-255,107,
-0,0,
-0,0,
-255,172,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-255,92,
-255,255,
-255,107,
-0,0,
-0,0,
-255,172,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-255,53,
-255,255,
-255,152,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,216,
-255,255,
-255,201,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,37,
-255,255,
-255,177,
-0,0,
-0,0,
-255,51,
-255,255,
-255,160,
-0,0,
-0,0,
-0,0,
-0,0,
-255,37,
-255,255,
-255,177,
-0,0,
-0,0,
-255,51,
-255,255,
-255,160,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,99,
-255,223,
-255,247,
-255,64,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,197,
-255,252,
-255,22,
-0,0,
-255,8,
-255,108,
-255,76,
-0,0,
-0,0,
-0,0,
-0,0,
-255,27,
-255,253,
-255,175,
-0,0,
-0,0,
-255,104,
-255,255,
-255,78,
-0,0,
-0,0,
-0,0,
-0,0,
-255,27,
-255,253,
-255,175,
-0,0,
-0,0,
-255,104,
-255,255,
-255,78,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,254,
-255,203,
-0,0,
-0,0,
-0,0,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,156,
-255,255,
-255,184,
-255,118,
-255,150,
-255,221,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,52,
-255,255,
-255,215,
-255,117,
-255,176,
-255,252,
-255,255,
-255,65,
-0,0,
-0,0,
-0,0,
-0,0,
-255,52,
-255,255,
-255,215,
-255,117,
-255,176,
-255,252,
-255,255,
-255,65,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,212,
-255,208,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,110,
-255,160,
-255,15,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,196,
-255,61,
-255,161,
-255,116,
-255,191,
-255,255,
-255,103,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,37,
-255,251,
-255,89,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,83,
-255,255,
-255,112,
-0,0,
-0,0,
-0,0,
-255,240,
-255,206,
-0,0,
-0,0,
-0,0,
-0,0,
-255,83,
-255,255,
-255,112,
-0,0,
-0,0,
-0,0,
-255,240,
-255,206,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,45,
-255,253,
-255,219,
-255,124,
-255,25,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,54,
-255,207,
-255,244,
-255,187,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-255,102,
-255,124,
-0,0,
-255,34,
-255,128,
-255,66,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,111,
-255,243,
-255,150,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,104,
-255,255,
-255,218,
-255,91,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,71,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,109,
-0,0,
-0,0,
-0,0,
-0,0,
-255,71,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,109,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,156,
-255,255,
-255,184,
-255,118,
-255,150,
-255,221,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,141,
-255,230,
-255,250,
-255,222,
-255,132,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,118,
-255,230,
-255,245,
-255,170,
-255,123,
-255,255,
-255,98,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,118,
-255,230,
-255,245,
-255,170,
-255,123,
-255,255,
-255,98,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,33,
-255,225,
-255,146,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,176,
-255,255,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,196,
-255,79,
-255,224,
-255,249,
-255,227,
-255,134,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,184,
-255,66,
-255,44,
-255,250,
-255,96,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,83,
-255,255,
-255,112,
-0,0,
-0,0,
-0,0,
-255,241,
-255,206,
-0,0,
-0,0,
-0,0,
-0,0,
-255,83,
-255,255,
-255,112,
-0,0,
-0,0,
-0,0,
-255,241,
-255,206,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,106,
-255,255,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,225,
-255,142,
-255,32,
-255,181,
-255,180,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,248,
-0,0,
-255,68,
-255,255,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,128,
-255,230,
-255,60,
-255,205,
-255,172,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,188,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,104,
-255,235,
-255,255,
-255,227,
-255,85,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,73,
-255,255,
-255,173,
-255,76,
-255,76,
-255,76,
-255,76,
-255,33,
-0,0,
-0,0,
-0,0,
-0,0,
-255,73,
-255,255,
-255,173,
-255,76,
-255,76,
-255,76,
-255,76,
-255,33,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,141,
-255,230,
-255,250,
-255,222,
-255,132,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,151,
-255,245,
-255,247,
-255,168,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,38,
-255,255,
-255,176,
-0,0,
-0,0,
-255,51,
-255,255,
-255,161,
-0,0,
-0,0,
-0,0,
-0,0,
-255,38,
-255,255,
-255,176,
-0,0,
-0,0,
-255,51,
-255,255,
-255,161,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,255,
-255,76,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,79,
-255,219,
-255,246,
-255,185,
-255,15,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,238,
-255,171,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,255,
-255,44,
-0,0,
-255,89,
-255,236,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,102,
-255,104,
-255,104,
-255,104,
-255,104,
-255,104,
-255,76,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,98,
-255,227,
-255,255,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,254,
-255,203,
-0,0,
-0,0,
-0,0,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,254,
-255,203,
-0,0,
-0,0,
-0,0,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,163,
-255,233,
-255,242,
-255,188,
-255,46,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,232,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,167,
-255,255,
-255,163,
-255,125,
-255,227,
-255,250,
-255,41,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,167,
-255,255,
-255,163,
-255,125,
-255,227,
-255,250,
-255,41,
-0,0,
-0,0,
-0,0,
-0,0,
-255,176,
-255,255,
-255,255,
-255,255,
-255,232,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,90,
-255,88,
-255,35,
-255,215,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,79,
-255,255,
-255,81,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,255,
-255,44,
-0,0,
-255,89,
-255,237,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,96,
-255,51,
-0,0,
-0,0,
-255,40,
-255,255,
-255,175,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,156,
-255,255,
-255,184,
-255,118,
-255,150,
-255,221,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,156,
-255,255,
-255,184,
-255,118,
-255,150,
-255,221,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,197,
-255,248,
-255,129,
-255,120,
-255,237,
-255,229,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-255,72,
-255,140,
-255,140,
-255,140,
-255,140,
-255,140,
-255,140,
-255,126,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,151,
-255,235,
-255,249,
-255,203,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,151,
-255,235,
-255,249,
-255,203,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,55,
-255,165,
-255,255,
-255,132,
-255,72,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,103,
-255,227,
-255,254,
-255,255,
-255,143,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,168,
-255,240,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,226,
-255,139,
-255,28,
-255,178,
-255,183,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,31,
-255,255,
-255,177,
-0,0,
-0,0,
-255,26,
-255,255,
-255,180,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,141,
-255,230,
-255,250,
-255,222,
-255,132,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,141,
-255,230,
-255,250,
-255,222,
-255,132,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,90,
-255,68,
-0,0,
-0,0,
-255,145,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,255,
-255,76,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,253,
-255,97,
-255,1,
-255,184,
-255,144,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,245,
-255,158,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,56,
-255,208,
-255,244,
-255,191,
-255,33,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,194,
-255,255,
-255,162,
-255,122,
-255,208,
-255,255,
-255,99,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,28,
-255,103,
-255,4,
-255,28,
-255,103,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,168,
-255,250,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,161,
-255,246,
-255,17,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,68,
-255,193,
-255,239,
-255,255,
-255,255,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,176,
-255,255,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,209,
-255,173,
-255,174,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,255,
-255,76,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,21,
-255,255,
-255,94,
-255,61,
-255,237,
-255,145,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,92,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,158,
-255,237,
-255,255,
-255,219,
-255,111,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,204,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,206,
-255,135,
-255,3,
-255,206,
-255,135,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,73,
-255,255,
-255,110,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,247,
-255,254,
-255,113,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,37,
-255,249,
-255,210,
-255,55,
-255,28,
-255,152,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,110,
-255,160,
-255,15,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,219,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,255,
-255,76,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,139,
-255,243,
-255,198,
-255,173,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,181,
-255,231,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,102,
-255,124,
-0,0,
-255,34,
-255,128,
-255,66,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,64,
-255,232,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,204,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,53,
-255,251,
-255,70,
-255,53,
-255,251,
-255,70,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,231,
-255,205,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,115,
-255,243,
-255,169,
-255,217,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,92,
-255,255,
-255,107,
-0,0,
-0,0,
-255,172,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,255,
-255,76,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,19,
-255,250,
-255,145,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,248,
-0,0,
-255,68,
-255,255,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,27,
-255,97,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,204,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,208,
-0,0,
-255,188,
-255,208,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,139,
-255,255,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,219,
-255,155,
-255,57,
-255,255,
-255,67,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,52,
-255,255,
-255,215,
-255,117,
-255,176,
-255,252,
-255,255,
-255,65,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,102,
-255,124,
-0,0,
-255,34,
-255,128,
-255,66,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,111,
-255,243,
-255,150,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,114,
-255,232,
-255,241,
-255,148,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,255,
-255,76,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,105,
-255,255,
-255,55,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,101,
-255,215,
-255,246,
-255,218,
-255,113,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,27,
-255,104,
-255,30,
-255,104,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,207,
-255,143,
-255,244,
-255,232,
-255,117,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,53,
-255,251,
-255,68,
-255,53,
-255,251,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,44,
-255,255,
-255,139,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,69,
-255,255,
-255,55,
-0,0,
-255,209,
-255,172,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,118,
-255,230,
-255,245,
-255,170,
-255,123,
-255,255,
-255,98,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,248,
-0,0,
-255,68,
-255,255,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-255,128,
-255,230,
-255,60,
-255,205,
-255,172,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,219,
-255,100,
-255,89,
-255,255,
-255,51,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,255,
-255,76,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,194,
-255,220,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,172,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,81,
-255,255,
-255,213,
-255,134,
-255,206,
-255,255,
-255,99,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,195,
-255,145,
-255,195,
-255,141,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,255,
-255,185,
-255,132,
-255,224,
-255,255,
-255,77,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,206,
-255,133,
-255,3,
-255,206,
-255,133,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,205,
-255,230,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,45,
-255,80,
-0,0,
-0,0,
-255,46,
-255,79,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,114,
-255,247,
-255,26,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,254,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,172,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,123,
-255,208,
-255,36,
-0,0,
-255,25,
-255,255,
-255,180,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,133,
-255,226,
-255,145,
-255,226,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,214,
-255,1,
-0,0,
-255,44,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-255,28,
-255,103,
-255,4,
-255,28,
-255,103,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,110,
-255,255,
-255,73,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,173,
-255,232,
-255,255,
-255,255,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,63,
-255,91,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,245,
-255,76,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,118,
-255,255,
-255,42,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,172,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,255,
-255,186,
-0,0,
-0,0,
-0,0,
-0,0,
-255,21,
-255,251,
-255,141,
-255,251,
-255,119,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,204,
-0,0,
-0,0,
-0,0,
-255,225,
-255,224,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,250,
-255,168,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,226,
-255,255,
-255,255,
-255,255,
-255,255,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,90,
-255,204,
-255,255,
-255,152,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,165,
-255,245,
-255,85,
-255,28,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,207,
-255,208,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,172,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,88,
-255,235,
-255,210,
-255,38,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,116,
-255,124,
-255,124,
-255,124,
-255,124,
-255,124,
-255,46,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,40,
-255,40,
-255,40,
-255,40,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,143,
-255,255,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,131,
-255,226,
-255,143,
-255,226,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,204,
-0,0,
-0,0,
-0,0,
-255,217,
-255,234,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,176,
-255,247,
-255,15,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,95,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-255,15,
-255,117,
-255,227,
-255,255,
-255,217,
-255,120,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,244,
-255,244,
-255,244,
-255,244,
-255,76,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,172,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,241,
-255,49,
-255,120,
-255,170,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,96,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,114,
-255,255,
-255,175,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,195,
-255,145,
-255,195,
-255,141,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,211,
-0,0,
-0,0,
-255,24,
-255,250,
-255,198,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,81,
-255,255,
-255,102,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,216,
-0,0,
-0,0,
-255,12,
-255,255,
-255,188,
-0,0,
-0,0,
-0,0,
-0,0,
-255,129,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-255,136,
-255,255,
-255,200,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,224,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,172,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,238,
-255,70,
-255,134,
-255,165,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,59,
-255,255,
-255,184,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,27,
-255,104,
-255,30,
-255,104,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,255,
-255,171,
-255,121,
-255,210,
-255,255,
-255,96,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,236,
-255,197,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,229,
-255,186,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,216,
-0,0,
-0,0,
-255,12,
-255,255,
-255,188,
-0,0,
-0,0,
-0,0,
-0,0,
-255,99,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-255,71,
-255,219,
-255,255,
-255,208,
-255,111,
-255,19,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,157,
-255,160,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,76,
-255,212,
-255,189,
-255,31,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,122,
-255,255,
-255,77,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,210,
-255,149,
-255,236,
-255,235,
-255,132,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,147,
-255,255,
-255,37,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,193,
-255,190,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,216,
-0,0,
-0,0,
-255,12,
-255,255,
-255,188,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,234,
-255,255,
-255,255,
-255,255,
-255,255,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,81,
-255,195,
-255,255,
-255,249,
-255,114,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,172,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,96,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,204,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,216,
-0,0,
-0,0,
-255,12,
-255,255,
-255,188,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,48,
-255,195,
-255,249,
-255,255,
-255,255,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,53,
-255,168,
-255,147,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,232,
-255,255,
-255,255,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,157,
-255,160,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-255,184,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,172,
-0,0,
-0,0,
-0,0,
-0,0,
-255,120,
-255,106,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,112,
-255,120,
-255,120,
-255,120,
-255,120,
-255,120,
-255,45,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,92,
-255,180,
-255,53,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,204,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,218,
-0,0,
-0,0,
-255,12,
-255,255,
-255,188,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,97,
-255,255,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,90,
-255,207,
-255,255,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,168,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,224,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-255,162,
-255,183,
-0,0,
-0,0,
-0,0,
-0,0,
-255,184,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,172,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-255,175,
-255,152,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,76,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,204,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,243,
-255,6,
-0,0,
-255,24,
-255,255,
-255,188,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,84,
-255,255,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,176,
-255,255,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,153,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,184,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,172,
-0,0,
-0,0,
-0,0,
-0,0,
-255,15,
-255,13,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,139,
-255,145,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,255,
-255,179,
-255,127,
-255,209,
-255,255,
-255,188,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,84,
-255,255,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,176,
-255,255,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,83,
-255,254,
-255,45,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,168,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,184,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,172,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-255,224,
-255,232,
-0,0,
-0,0,
-0,0,
-0,0,
-255,224,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,151,
-255,248,
-255,71,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,144,
-255,139,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,229,
-255,186,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,241,
-255,221,
-255,247,
-255,192,
-255,245,
-255,188,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,84,
-255,255,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,176,
-255,255,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,108,
-255,151,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,153,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,184,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,172,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-255,224,
-255,232,
-0,0,
-0,0,
-0,0,
-0,0,
-255,157,
-255,160,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,248,
-255,167,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,71,
-255,249,
-255,151,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,193,
-255,190,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,216,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,176,
-255,255,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-255,83,
-255,254,
-255,45,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,184,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-255,224,
-255,232,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,60,
-255,255,
-255,96,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,255,
-255,255,
-255,255,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,37,
-255,255,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,166,
-255,249,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,246,
-255,108,
-255,108,
-255,108,
-255,108,
-255,91,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,216,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,255,
-255,148,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,255,
-255,244,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,176,
-255,255,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,116,
-255,112,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,212,
-255,208,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,94,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-255,108,
-255,151,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,184,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-255,224,
-255,232,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,60,
-255,255,
-255,96,
-0,0,
-0,0,
-0,0,
-0,0,
-255,54,
-255,112,
-255,112,
-255,112,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,255,
-255,255,
-255,255,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,229,
-255,186,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,44,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,147,
-255,236,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,15,
-255,76,
-255,141,
-255,206,
-255,65,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,128,
-255,255,
-255,41,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,216,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,216,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,65,
-255,255,
-255,74,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,217,
-255,95,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,176,
-255,255,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,232,
-255,224,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,33,
-255,225,
-255,146,
-0,0,
-0,0,
-0,0,
-0,0,
-255,92,
-255,255,
-255,248,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,184,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-255,224,
-255,232,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,216,
-255,48,
-255,255,
-255,46,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,54,
-255,112,
-255,112,
-255,112,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,193,
-255,190,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,52,
-255,255,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,160,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,176,
-255,255,
-255,255,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,14,
-255,220,
-255,228,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,192,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,176,
-255,255,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,14,
-255,14,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,125,
-255,248,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,205,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,184,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-255,224,
-255,232,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,111,
-255,101,
-255,40,
-255,174,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,150,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,255,
-255,255,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-255,55,
-255,80,
-255,170,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,116,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,212,
-255,208,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,61,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,192,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,176,
-255,255,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,112,
-255,248,
-0,0,
-0,0,
-0,0,
-0,0,
-255,117,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,184,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-255,224,
-255,232,
-0,0,
-0,0,
-0,0,
-0,0,
-255,157,
-255,160,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,152,
-255,255,
-255,146,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,190,
-255,255,
-255,107,
-255,46,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,53,
-255,255,
-255,150,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,33,
-255,225,
-255,146,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,192,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,176,
-255,255,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,236,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,112,
-255,248,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,184,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,224,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,53,
-255,198,
-255,244,
-255,31,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,160,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,135,
-255,255,
-255,156,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,192,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,176,
-255,255,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,236,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,106,
-255,236,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,184,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,62,
-255,255,
-255,112,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,160,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,28,
-255,240,
-255,198,
-255,54,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,212,
-255,208,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,67,
-255,174,
-0,0,
-0,0,
-0,0,
-0,0,
-255,163,
-255,79,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,192,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,90,
-255,207,
-255,255,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,236,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,184,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,161,
-255,166,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,44,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,160,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,108,
-255,255,
-255,65,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,33,
-255,225,
-255,146,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,50,
-255,246,
-255,110,
-0,0,
-0,0,
-0,0,
-0,0,
-255,94,
-255,250,
-255,65,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,192,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,232,
-255,255,
-255,255,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,236,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,224,
-255,232,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,39,
-255,255,
-255,130,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,158,
-255,255,
-255,41,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,211,
-255,180,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,172,
-255,225,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,192,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,236,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,252,
-255,162,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,127,
-255,255,
-255,176,
-255,67,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,127,
-255,255,
-255,43,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,86,
-255,255,
-255,55,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,46,
-255,255,
-255,109,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,192,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,236,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,162,
-255,245,
-255,64,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,23,
-255,195,
-255,248,
-255,136,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,160,
-255,252,
-255,14,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,174,
-255,233,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,224,
-255,200,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,192,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,236,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,144,
-255,147,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-255,62,
-255,245,
-255,162,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,229,
-255,181,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,168,
-255,251,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,192,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,236,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,145,
-255,144,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,161,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,147,
-255,255,
-255,34,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,217,
-255,95,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,228,
-255,226,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,255,
-255,147,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,131,
-255,255,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,255,
-255,244,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,64,
-255,148,
-255,255,
-255,171,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,161,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,147,
-255,255,
-255,34,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,134,
-255,246,
-255,186,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,230,
-255,181,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,167,
-255,251,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,174,
-255,233,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,201,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,86,
-255,255,
-255,54,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,110,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,212,
-255,179,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,163,
-255,226,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,51,
-255,247,
-255,103,
-0,0,
-0,0,
-0,0,
-0,0,
-255,87,
-255,249,
-255,65,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,67,
-255,176,
-0,0,
-0,0,
-0,0,
-0,0,
-255,163,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-46,0,
-0,0,
-142,4,
-0,0,
-160,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,207,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,52,
-0,0,
-0,0,
-0,0,
-0,0,
-255,147,
-255,255,
-255,73,
-0,0,
-0,0,
-0,0,
-255,217,
-255,235,
-255,1,
-0,0,
-0,0,
-255,50,
-255,255,
-255,171,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,154,
-255,227,
-255,248,
-255,210,
-255,82,
-255,84,
-255,215,
-255,248,
-255,217,
-255,119,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,201,
-255,128,
-255,231,
-255,247,
-255,183,
-255,20,
-255,110,
-255,228,
-255,237,
-255,149,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,58,
-255,177,
-255,237,
-255,247,
-255,211,
-255,119,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,147,
-255,255,
-255,54,
-0,0,
-0,0,
-255,222,
-255,202,
-0,0,
-0,0,
-255,74,
-255,255,
-255,127,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,20,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,20,
-255,15,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,109,
-255,152,
-255,26,
-0,0,
-255,142,
-255,144,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,15,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,43,
-255,7,
-0,0,
-255,39,
-255,27,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,109,
-255,152,
-255,26,
-0,0,
-255,142,
-255,144,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,181,
-255,255,
-255,74,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,255,
-255,223,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,151,
-255,229,
-255,249,
-255,220,
-255,132,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,31,
-255,61,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,65,
-255,223,
-255,242,
-255,43,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,93,
-255,255,
-255,255,
-255,255,
-255,159,
-255,140,
-255,140,
-255,140,
-255,140,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-255,90,
-255,255,
-255,125,
-0,0,
-0,0,
-255,26,
-255,255,
-255,255,
-255,46,
-0,0,
-0,0,
-255,101,
-255,255,
-255,113,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,197,
-255,255,
-255,190,
-255,145,
-255,230,
-255,255,
-255,255,
-255,205,
-255,144,
-255,198,
-255,255,
-255,126,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,254,
-255,219,
-255,158,
-255,226,
-255,255,
-255,214,
-255,225,
-255,154,
-255,223,
-255,255,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,110,
-255,225,
-255,95,
-255,21,
-255,8,
-255,52,
-255,169,
-255,202,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,82,
-255,255,
-255,108,
-0,0,
-255,36,
-255,255,
-255,253,
-255,18,
-0,0,
-255,126,
-255,255,
-255,61,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,230,
-255,221,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,15,
-255,200,
-255,247,
-255,42,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,184,
-255,255,
-255,44,
-0,0,
-255,240,
-255,244,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,95,
-255,249,
-255,223,
-255,38,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,138,
-255,255,
-255,220,
-255,92,
-255,188,
-255,139,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,184,
-255,255,
-255,44,
-0,0,
-255,240,
-255,244,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,95,
-255,255,
-255,152,
-0,0,
-0,0,
-0,0,
-0,0,
-255,112,
-255,255,
-255,137,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,223,
-255,255,
-255,199,
-255,158,
-255,212,
-255,255,
-255,201,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,151,
-255,229,
-255,247,
-255,214,
-255,123,
-255,198,
-255,99,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,28,
-255,145,
-255,255,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-26,0,
-0,0,
-26,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,224,
-255,240,
-255,201,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,177,
-0,0,
-0,0,
-255,91,
-255,255,
-255,255,
-255,112,
-0,0,
-0,0,
-255,153,
-255,255,
-255,55,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,183,
-255,173,
-255,1,
-0,0,
-255,87,
-255,255,
-255,222,
-255,6,
-0,0,
-255,5,
-255,234,
-255,227,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,241,
-255,15,
-0,0,
-255,47,
-255,255,
-255,248,
-255,27,
-0,0,
-255,43,
-255,255,
-255,200,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,72,
-255,218,
-255,23,
-255,88,
-255,221,
-255,238,
-255,158,
-255,8,
-255,132,
-255,183,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,253,
-255,162,
-0,0,
-255,105,
-255,247,
-255,254,
-255,85,
-0,0,
-255,178,
-255,245,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,179,
-255,215,
-255,26,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,15,
-255,200,
-255,207,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,111,
-255,245,
-255,70,
-255,144,
-255,234,
-255,47,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,233,
-255,64,
-255,81,
-255,219,
-255,216,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,15,
-255,249,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-255,190,
-255,255,
-255,51,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,162,
-255,255,
-255,133,
-0,0,
-0,0,
-255,3,
-255,162,
-255,255,
-255,134,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,223,
-255,255,
-255,199,
-255,157,
-255,213,
-255,255,
-255,246,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,84,
-255,255,
-255,44,
-0,0,
-0,0,
-255,107,
-255,143,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,116,
-255,255,
-255,126,
-255,173,
-255,255,
-255,57,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,230,
-255,229,
-0,0,
-0,0,
-255,156,
-255,241,
-255,220,
-255,177,
-0,0,
-0,0,
-255,204,
-255,247,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,68,
-255,192,
-255,237,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,232,
-0,0,
-0,0,
-255,3,
-255,254,
-255,231,
-0,0,
-0,0,
-255,2,
-255,254,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,209,
-255,62,
-255,39,
-255,247,
-255,78,
-255,38,
-255,213,
-255,117,
-255,1,
-255,203,
-255,67,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,206,
-255,216,
-0,0,
-255,175,
-255,181,
-255,205,
-255,154,
-0,0,
-255,230,
-255,185,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,255,
-255,72,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,151,
-255,229,
-255,249,
-255,220,
-255,133,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,178,
-255,255,
-255,51,
-0,0,
-0,0,
-255,16,
-255,251,
-255,220,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,248,
-255,236,
-255,7,
-0,0,
-0,0,
-0,0,
-255,19,
-255,249,
-255,232,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,162,
-255,255,
-255,133,
-0,0,
-0,0,
-255,13,
-255,241,
-255,255,
-255,134,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,84,
-255,255,
-255,44,
-0,0,
-255,32,
-255,242,
-255,66,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,17,
-255,238,
-255,236,
-255,13,
-255,162,
-255,255,
-255,67,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,173,
-255,255,
-255,25,
-0,0,
-255,221,
-255,178,
-255,152,
-255,239,
-255,3,
-255,6,
-255,249,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,49,
-255,250,
-255,239,
-255,114,
-255,80,
-255,132,
-255,255,
-255,211,
-255,88,
-255,88,
-255,88,
-255,88,
-255,88,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,232,
-0,0,
-0,0,
-0,0,
-255,252,
-255,232,
-0,0,
-0,0,
-0,0,
-255,252,
-255,236,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,217,
-0,0,
-255,123,
-255,183,
-0,0,
-0,0,
-255,107,
-255,136,
-0,0,
-255,102,
-255,149,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,140,
-255,254,
-255,18,
-255,240,
-255,108,
-255,132,
-255,223,
-255,26,
-255,255,
-255,119,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,255,
-255,72,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,255,
-255,72,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,54,
-255,255,
-255,255,
-255,160,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,255,
-255,72,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,255,
-255,72,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,223,
-255,255,
-255,199,
-255,158,
-255,212,
-255,255,
-255,203,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,92,
-255,255,
-255,129,
-0,0,
-0,0,
-255,89,
-255,255,
-255,133,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,39,
-255,255,
-255,194,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,215,
-255,255,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,248,
-255,236,
-255,7,
-0,0,
-0,0,
-255,129,
-255,180,
-255,249,
-255,231,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,84,
-255,255,
-255,44,
-0,0,
-255,187,
-255,152,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,138,
-255,255,
-255,118,
-0,0,
-255,152,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,144,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,115,
-255,255,
-255,76,
-255,30,
-255,255,
-255,112,
-255,86,
-255,255,
-255,53,
-255,51,
-255,255,
-255,138,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,129,
-255,255,
-255,113,
-0,0,
-0,0,
-255,76,
-255,255,
-255,220,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,232,
-0,0,
-0,0,
-0,0,
-255,252,
-255,232,
-0,0,
-0,0,
-0,0,
-255,252,
-255,236,
-0,0,
-0,0,
-0,0,
-0,0,
-255,70,
-255,173,
-0,0,
-255,152,
-255,154,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,58,
-255,185,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,75,
-255,255,
-255,124,
-255,255,
-255,36,
-255,59,
-255,255,
-255,115,
-255,255,
-255,54,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,54,
-255,255,
-255,255,
-255,160,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,54,
-255,255,
-255,255,
-255,160,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,143,
-255,254,
-255,205,
-255,240,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,54,
-255,255,
-255,255,
-255,160,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,54,
-255,255,
-255,255,
-255,160,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,162,
-255,255,
-255,133,
-0,0,
-0,0,
-255,3,
-255,162,
-255,255,
-255,137,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,247,
-255,206,
-0,0,
-0,0,
-255,166,
-255,255,
-255,47,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,48,
-255,255,
-255,180,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,200,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-255,39,
-255,255,
-255,194,
-0,0,
-0,0,
-255,28,
-255,237,
-255,30,
-255,211,
-255,255,
-255,17,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,84,
-255,255,
-255,44,
-255,99,
-255,226,
-255,13,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,30,
-255,247,
-255,232,
-255,10,
-0,0,
-255,141,
-255,255,
-255,180,
-255,140,
-255,140,
-255,140,
-255,78,
-0,0,
-0,0,
-225,4,
-0,0,
-92,182,
-0,0,
-255,57,
-255,255,
-255,128,
-255,95,
-255,255,
-255,45,
-255,21,
-255,254,
-255,118,
-255,103,
-255,255,
-255,81,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,102,
-0,0,
-0,0,
-255,132,
-255,255,
-255,255,
-255,67,
-0,0,
-0,0,
-255,2,
-255,15,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,232,
-0,0,
-0,0,
-0,0,
-255,252,
-255,232,
-0,0,
-0,0,
-0,0,
-255,252,
-255,236,
-0,0,
-0,0,
-0,0,
-0,0,
-255,70,
-255,174,
-0,0,
-255,152,
-255,154,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,59,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,251,
-255,236,
-255,220,
-0,0,
-255,3,
-255,238,
-255,230,
-255,240,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,143,
-255,254,
-255,205,
-255,240,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,143,
-255,254,
-255,205,
-255,240,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,230,
-255,197,
-255,99,
-255,255,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,143,
-255,254,
-255,205,
-255,240,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,143,
-255,254,
-255,205,
-255,240,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,248,
-255,236,
-255,7,
-0,0,
-0,0,
-0,0,
-255,19,
-255,249,
-255,232,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,175,
-255,255,
-255,28,
-255,4,
-255,239,
-255,216,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,48,
-255,255,
-255,180,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,200,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-255,48,
-255,255,
-255,180,
-0,0,
-0,0,
-255,164,
-255,132,
-0,0,
-255,200,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,239,
-255,72,
-255,89,
-255,221,
-255,246,
-255,193,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,161,
-255,255,
-255,224,
-255,176,
-255,176,
-255,217,
-255,255,
-255,97,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,248,
-255,180,
-255,160,
-255,233,
-255,1,
-0,0,
-255,210,
-255,184,
-255,154,
-255,255,
-255,23,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,59,
-255,255,
-255,231,
-255,129,
-255,175,
-255,255,
-255,219,
-255,255,
-255,242,
-255,155,
-255,144,
-255,216,
-255,158,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,232,
-0,0,
-0,0,
-0,0,
-255,252,
-255,232,
-0,0,
-0,0,
-0,0,
-255,252,
-255,236,
-0,0,
-0,0,
-0,0,
-0,0,
-255,33,
-255,218,
-0,0,
-255,123,
-255,183,
-0,0,
-0,0,
-255,109,
-255,133,
-0,0,
-255,103,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,199,
-255,255,
-255,148,
-0,0,
-0,0,
-255,169,
-255,255,
-255,178,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,230,
-255,197,
-255,99,
-255,255,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,230,
-255,197,
-255,99,
-255,255,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,255,
-255,114,
-255,20,
-255,252,
-255,168,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,230,
-255,197,
-255,99,
-255,255,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,230,
-255,197,
-255,99,
-255,255,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,39,
-255,255,
-255,194,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,215,
-255,255,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,89,
-255,255,
-255,105,
-255,65,
-255,255,
-255,129,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,39,
-255,255,
-255,195,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,216,
-255,255,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-255,48,
-255,255,
-255,180,
-0,0,
-255,54,
-255,228,
-255,11,
-0,0,
-255,200,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,178,
-255,160,
-255,9,
-255,247,
-255,153,
-255,62,
-255,247,
-255,141,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,46,
-255,253,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,107,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,198,
-255,232,
-255,225,
-255,168,
-0,0,
-0,0,
-255,144,
-255,244,
-255,211,
-255,221,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,99,
-255,219,
-255,249,
-255,220,
-255,128,
-255,8,
-255,89,
-255,206,
-255,248,
-255,241,
-255,185,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,232,
-0,0,
-0,0,
-0,0,
-255,252,
-255,232,
-0,0,
-0,0,
-0,0,
-255,252,
-255,236,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,207,
-255,63,
-255,40,
-255,247,
-255,76,
-255,37,
-255,212,
-255,116,
-255,1,
-255,204,
-255,65,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,133,
-255,255,
-255,76,
-0,0,
-0,0,
-255,96,
-255,255,
-255,112,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,255,
-255,114,
-255,20,
-255,252,
-255,168,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,255,
-255,114,
-255,20,
-255,252,
-255,168,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,155,
-255,255,
-255,31,
-0,0,
-255,190,
-255,245,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,255,
-255,114,
-255,20,
-255,252,
-255,168,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,255,
-255,114,
-255,20,
-255,252,
-255,168,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,48,
-255,255,
-255,180,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,200,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,246,
-255,183,
-255,142,
-255,255,
-255,43,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,248,
-255,237,
-255,7,
-0,0,
-0,0,
-0,0,
-255,18,
-255,249,
-255,232,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,37,
-255,255,
-255,191,
-0,0,
-255,198,
-255,96,
-0,0,
-0,0,
-255,216,
-255,255,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,90,
-255,230,
-255,17,
-0,0,
-0,0,
-0,0,
-255,49,
-255,253,
-255,112,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,184,
-255,255,
-255,98,
-0,0,
-0,0,
-0,0,
-255,111,
-255,255,
-255,118,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,140,
-255,255,
-255,255,
-255,102,
-0,0,
-0,0,
-255,78,
-255,255,
-255,255,
-255,164,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,71,
-255,219,
-255,23,
-255,90,
-255,222,
-255,239,
-255,161,
-255,9,
-255,132,
-255,182,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,155,
-255,255,
-255,31,
-0,0,
-255,190,
-255,245,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,155,
-255,255,
-255,31,
-0,0,
-255,190,
-255,245,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,238,
-255,203,
-0,0,
-0,0,
-255,107,
-255,255,
-255,88,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,155,
-255,255,
-255,31,
-0,0,
-255,190,
-255,245,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,155,
-255,255,
-255,31,
-0,0,
-255,190,
-255,245,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,48,
-255,255,
-255,180,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,200,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,172,
-255,246,
-255,216,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,162,
-255,255,
-255,131,
-0,0,
-0,0,
-255,2,
-255,157,
-255,255,
-255,139,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,245,
-255,236,
-255,96,
-255,204,
-255,1,
-0,0,
-255,18,
-255,249,
-255,233,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,235,
-255,80,
-0,0,
-0,0,
-0,0,
-255,89,
-255,243,
-255,156,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,67,
-255,255,
-255,226,
-255,5,
-0,0,
-0,0,
-0,0,
-255,100,
-255,255,
-255,194,
-255,136,
-255,136,
-255,136,
-255,136,
-255,93,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,83,
-255,255,
-255,255,
-255,35,
-0,0,
-0,0,
-255,15,
-255,252,
-255,255,
-255,106,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,111,
-255,225,
-255,95,
-255,20,
-255,7,
-255,52,
-255,169,
-255,203,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,238,
-255,203,
-0,0,
-0,0,
-255,107,
-255,255,
-255,88,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,238,
-255,203,
-0,0,
-0,0,
-255,107,
-255,255,
-255,88,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,78,
-255,255,
-255,210,
-255,152,
-255,152,
-255,171,
-255,255,
-255,176,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,238,
-255,203,
-0,0,
-0,0,
-255,107,
-255,255,
-255,88,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,238,
-255,203,
-0,0,
-0,0,
-255,107,
-255,255,
-255,88,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,39,
-255,255,
-255,195,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,216,
-255,255,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,86,
-255,255,
-255,255,
-255,125,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,23,
-255,223,
-255,255,
-255,198,
-255,157,
-255,210,
-255,255,
-255,235,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,159,
-255,255,
-255,250,
-255,61,
-0,0,
-255,2,
-255,157,
-255,255,
-255,137,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,87,
-255,160,
-0,0,
-0,0,
-255,3,
-255,149,
-255,254,
-255,143,
-255,36,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,204,
-255,255,
-255,109,
-0,0,
-0,0,
-0,0,
-0,0,
-255,89,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,176,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,255,
-255,225,
-0,0,
-0,0,
-0,0,
-0,0,
-255,201,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,59,
-255,178,
-255,238,
-255,248,
-255,212,
-255,120,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,78,
-255,255,
-255,210,
-255,152,
-255,152,
-255,171,
-255,255,
-255,176,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,78,
-255,255,
-255,210,
-255,152,
-255,152,
-255,171,
-255,255,
-255,176,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,167,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,248,
-255,15,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,78,
-255,255,
-255,210,
-255,152,
-255,152,
-255,171,
-255,255,
-255,176,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,78,
-255,255,
-255,210,
-255,152,
-255,152,
-255,171,
-255,255,
-255,176,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,248,
-255,237,
-255,7,
-0,0,
-0,0,
-0,0,
-255,18,
-255,249,
-255,233,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,244,
-255,255,
-255,39,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,23,
-255,152,
-255,230,
-255,250,
-255,222,
-255,219,
-255,255,
-255,143,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,229,
-255,255,
-255,193,
-255,155,
-255,210,
-255,255,
-255,204,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,255,
-255,255,
-255,255,
-255,172,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,167,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,248,
-255,15,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,167,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,248,
-255,15,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,245,
-255,205,
-0,0,
-0,0,
-0,0,
-0,0,
-255,113,
-255,255,
-255,96,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,167,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,248,
-255,15,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,167,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,248,
-255,15,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,162,
-255,255,
-255,131,
-0,0,
-0,0,
-255,2,
-255,157,
-255,255,
-255,137,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,17,
-255,200,
-255,255,
-255,91,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,30,
-255,236,
-255,152,
-255,227,
-255,249,
-255,222,
-255,135,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,106,
-255,228,
-255,248,
-255,208,
-255,63,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,58,
-255,177,
-255,237,
-255,247,
-255,211,
-255,119,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,82,
-255,222,
-255,240,
-255,158,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,245,
-255,205,
-0,0,
-0,0,
-0,0,
-0,0,
-255,113,
-255,255,
-255,96,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,245,
-255,205,
-0,0,
-0,0,
-0,0,
-0,0,
-255,113,
-255,255,
-255,96,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,90,
-255,255,
-255,127,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,245,
-255,205,
-0,0,
-0,0,
-0,0,
-0,0,
-255,113,
-255,255,
-255,96,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,245,
-255,205,
-0,0,
-0,0,
-0,0,
-0,0,
-255,113,
-255,255,
-255,96,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,23,
-255,223,
-255,255,
-255,198,
-255,157,
-255,210,
-255,255,
-255,204,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,105,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,79,
-255,91,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,189,
-255,122,
-255,57,
-255,230,
-255,168,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,110,
-255,225,
-255,95,
-255,21,
-255,8,
-255,52,
-255,169,
-255,202,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,245,
-255,129,
-255,63,
-255,240,
-255,105,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,90,
-255,255,
-255,127,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,90,
-255,255,
-255,127,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,179,
-255,255,
-255,50,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,215,
-255,251,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-255,90,
-255,255,
-255,127,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,90,
-255,255,
-255,127,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,23,
-255,152,
-255,230,
-255,250,
-255,222,
-255,135,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,180,
-255,255,
-255,243,
-255,45,
-0,0,
-0,0,
-0,0,
-255,107,
-255,143,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,72,
-255,218,
-255,43,
-255,255,
-255,255,
-255,243,
-255,178,
-255,18,
-255,132,
-255,183,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,53,
-255,255,
-255,30,
-0,0,
-255,186,
-255,152,
-0,0,
-255,45,
-255,198,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,179,
-255,255,
-255,50,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,215,
-255,251,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-255,179,
-255,255,
-255,50,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,215,
-255,251,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,179,
-255,255,
-255,50,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,215,
-255,251,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-255,179,
-255,255,
-255,50,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,215,
-255,251,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,15,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,76,
-255,177,
-255,232,
-255,250,
-255,233,
-255,180,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,21,
-255,206,
-255,183,
-0,0,
-0,0,
-255,32,
-255,242,
-255,66,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,209,
-255,62,
-255,20,
-255,255,
-255,38,
-255,23,
-255,185,
-255,137,
-255,1,
-255,203,
-255,67,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,223,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-255,30,
-255,255,
-255,69,
-255,6,
-255,219,
-255,129,
-255,3,
-255,203,
-255,133,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,255,
-255,255,
-255,248,
-255,209,
-255,111,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,43,
-255,7,
-0,0,
-255,39,
-255,27,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,95,
-255,249,
-255,223,
-255,38,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,164,
-255,239,
-255,123,
-255,50,
-255,30,
-255,49,
-255,116,
-255,232,
-255,162,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,224,
-255,126,
-255,57,
-255,213,
-255,189,
-0,0,
-0,0,
-255,187,
-255,152,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,217,
-0,0,
-255,20,
-255,255,
-255,28,
-255,20,
-255,183,
-255,134,
-0,0,
-255,102,
-255,149,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,255,
-255,58,
-0,0,
-0,0,
-0,0,
-0,0,
-255,55,
-255,255,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,152,
-255,248,
-255,234,
-255,223,
-255,25,
-255,120,
-255,213,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,181,
-255,136,
-255,156,
-255,223,
-255,255,
-255,176,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,138,
-255,255,
-255,220,
-255,92,
-255,188,
-255,139,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,111,
-255,245,
-255,70,
-255,144,
-255,234,
-255,47,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,154,
-255,222,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,221,
-255,122,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,118,
-255,228,
-255,246,
-255,196,
-255,44,
-0,0,
-255,99,
-255,226,
-255,13,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,70,
-255,173,
-0,0,
-255,20,
-255,255,
-255,255,
-255,255,
-255,240,
-255,22,
-0,0,
-255,58,
-255,185,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,251,
-255,248,
-255,147,
-0,0,
-0,0,
-0,0,
-0,0,
-255,144,
-255,249,
-255,250,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,43,
-255,61,
-255,10,
-255,39,
-255,244,
-255,55,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,96,
-0,0,
-0,0,
-255,12,
-255,190,
-255,255,
-255,108,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-255,196,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,233,
-255,64,
-255,81,
-255,219,
-255,216,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,63,
-255,253,
-255,53,
-0,0,
-255,49,
-255,206,
-255,250,
-255,214,
-255,93,
-0,0,
-255,75,
-255,241,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,239,
-255,72,
-0,0,
-255,127,
-255,255,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,70,
-255,174,
-0,0,
-255,20,
-255,255,
-255,38,
-255,21,
-255,196,
-255,121,
-0,0,
-255,59,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,251,
-255,173,
-255,233,
-255,3,
-0,0,
-0,0,
-255,2,
-255,231,
-255,175,
-255,248,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,196,
-255,140,
-255,16,
-255,63,
-255,34,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,163,
-255,255,
-255,115,
-0,0,
-0,0,
-0,0,
-0,0,
-255,135,
-255,255,
-255,146,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,96,
-0,0,
-0,0,
-0,0,
-255,43,
-255,255,
-255,210,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-255,196,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,151,
-255,229,
-255,249,
-255,220,
-255,133,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,178,
-255,177,
-0,0,
-255,12,
-255,232,
-255,191,
-255,68,
-255,173,
-255,222,
-0,0,
-255,2,
-255,234,
-255,77,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,178,
-255,160,
-0,0,
-255,77,
-255,249,
-255,255,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,33,
-255,218,
-0,0,
-255,20,
-255,255,
-255,28,
-0,0,
-255,141,
-255,161,
-0,0,
-255,103,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,86,
-255,255,
-255,71,
-0,0,
-0,0,
-255,67,
-255,255,
-255,85,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,111,
-255,218,
-255,59,
-255,238,
-255,231,
-255,250,
-255,114,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,82,
-255,212,
-255,245,
-255,199,
-255,50,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,38,
-255,252,
-255,227,
-255,5,
-0,0,
-0,0,
-255,14,
-255,240,
-255,246,
-255,25,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,38,
-255,201,
-255,246,
-255,189,
-255,48,
-0,0,
-0,0,
-255,107,
-255,93,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,108,
-0,0,
-0,0,
-0,0,
-0,0,
-255,196,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-0,0,
-0,0,
-0,0,
-255,143,
-255,255,
-255,173,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,96,
-0,0,
-0,0,
-0,0,
-0,0,
-255,241,
-255,253,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-255,196,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,151,
-255,229,
-255,249,
-255,220,
-255,133,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,223,
-255,255,
-255,199,
-255,158,
-255,212,
-255,255,
-255,203,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,245,
-255,94,
-0,0,
-255,118,
-255,252,
-255,25,
-0,0,
-255,158,
-255,201,
-0,0,
-0,0,
-255,191,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,90,
-255,230,
-255,17,
-255,40,
-255,239,
-255,103,
-255,255,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,207,
-255,63,
-255,20,
-255,255,
-255,28,
-0,0,
-255,130,
-255,177,
-255,1,
-255,204,
-255,65,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,21,
-255,239,
-255,160,
-0,0,
-0,0,
-255,157,
-255,240,
-255,19,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,33,
-255,243,
-255,61,
-255,166,
-255,189,
-255,1,
-255,106,
-255,246,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,250,
-255,202,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,43,
-255,251,
-255,229,
-255,148,
-255,235,
-255,230,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,161,
-255,255,
-255,95,
-0,0,
-0,0,
-255,117,
-255,255,
-255,142,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,199,
-255,235,
-255,164,
-255,239,
-255,248,
-255,122,
-255,87,
-255,243,
-255,136,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,235,
-255,16,
-0,0,
-0,0,
-0,0,
-255,196,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-0,0,
-0,0,
-255,71,
-255,254,
-255,224,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,184,
-255,255,
-255,255,
-255,255,
-255,255,
-255,104,
-0,0,
-0,0,
-255,220,
-255,255,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-255,196,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,223,
-255,255,
-255,199,
-255,158,
-255,212,
-255,255,
-255,203,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,162,
-255,255,
-255,133,
-0,0,
-0,0,
-255,3,
-255,162,
-255,255,
-255,137,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,43,
-255,255,
-255,43,
-0,0,
-255,187,
-255,205,
-0,0,
-0,0,
-255,180,
-255,179,
-0,0,
-0,0,
-255,178,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,235,
-255,80,
-255,14,
-255,216,
-255,151,
-255,56,
-255,255,
-255,125,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,71,
-255,219,
-255,23,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,182,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,23,
-255,155,
-255,241,
-255,8,
-255,7,
-255,239,
-255,156,
-255,20,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,148,
-0,0,
-255,189,
-255,150,
-0,0,
-255,66,
-255,255,
-255,17,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,232,
-255,29,
-255,188,
-255,63,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,113,
-255,255,
-255,89,
-0,0,
-255,105,
-255,255,
-255,51,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,251,
-255,211,
-255,1,
-255,6,
-255,229,
-255,245,
-255,22,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,217,
-255,87,
-0,0,
-255,28,
-255,193,
-255,255,
-255,255,
-255,224,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,255,
-255,141,
-0,0,
-0,0,
-0,0,
-255,196,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-0,0,
-255,21,
-255,231,
-255,251,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,60,
-255,172,
-255,255,
-255,148,
-255,84,
-255,34,
-0,0,
-0,0,
-255,220,
-255,255,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-255,196,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,162,
-255,255,
-255,133,
-0,0,
-0,0,
-255,3,
-255,162,
-255,255,
-255,137,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,248,
-255,236,
-255,7,
-0,0,
-0,0,
-0,0,
-255,19,
-255,249,
-255,232,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,67,
-255,255,
-255,20,
-0,0,
-255,232,
-255,169,
-0,0,
-0,0,
-255,202,
-255,157,
-0,0,
-0,0,
-255,197,
-255,111,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,87,
-255,160,
-0,0,
-255,89,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,76,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,111,
-255,225,
-255,95,
-255,20,
-255,7,
-255,52,
-255,169,
-255,203,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,32,
-255,64,
-255,255,
-255,83,
-255,80,
-255,255,
-255,64,
-255,28,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,199,
-255,12,
-0,0,
-255,143,
-255,218,
-255,52,
-255,153,
-255,225,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,244,
-255,190,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,110,
-255,255,
-255,106,
-0,0,
-255,163,
-255,249,
-255,21,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,158,
-255,255,
-255,75,
-255,99,
-255,255,
-255,138,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,60,
-255,77,
-255,15,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,183,
-255,249,
-255,36,
-0,0,
-0,0,
-255,196,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-0,0,
-255,178,
-255,255,
-255,118,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,96,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,253,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,248,
-255,236,
-255,7,
-0,0,
-0,0,
-0,0,
-255,19,
-255,249,
-255,232,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,39,
-255,255,
-255,194,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,215,
-255,255,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,67,
-255,255,
-255,19,
-0,0,
-255,234,
-255,171,
-0,0,
-0,0,
-255,225,
-255,138,
-0,0,
-255,18,
-255,245,
-255,52,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,59,
-255,178,
-255,238,
-255,248,
-255,212,
-255,120,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-255,1,
-255,226,
-255,173,
-255,170,
-255,226,
-255,1,
-255,32,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,19,
-255,178,
-255,244,
-255,213,
-255,59,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,245,
-255,227,
-255,180,
-255,254,
-255,107,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,251,
-255,195,
-255,216,
-255,243,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,55,
-255,239,
-255,175,
-0,0,
-0,0,
-255,196,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-255,105,
-255,255,
-255,184,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,96,
-0,0,
-0,0,
-0,0,
-255,41,
-255,255,
-255,211,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,152,
-255,136,
-255,136,
-255,136,
-255,136,
-255,227,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,39,
-255,255,
-255,194,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,215,
-255,255,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,48,
-255,255,
-255,180,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,200,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,47,
-255,255,
-255,43,
-0,0,
-255,181,
-255,239,
-255,90,
-255,151,
-255,245,
-255,173,
-255,33,
-255,174,
-255,180,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-0,0,
-255,137,
-255,248,
-255,246,
-255,137,
-0,0,
-255,32,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,255,
-255,72,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,159,
-255,255,
-255,254,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,156,
-255,255,
-255,255,
-255,134,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-255,113,
-255,255,
-255,64,
-0,0,
-255,196,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,255,
-255,255,
-255,252,
-255,27,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,96,
-0,0,
-0,0,
-255,10,
-255,186,
-255,255,
-255,112,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-255,196,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,48,
-255,255,
-255,180,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,200,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,48,
-255,255,
-255,180,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,200,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,247,
-255,101,
-0,0,
-255,42,
-255,214,
-255,240,
-255,134,
-255,74,
-255,236,
-255,239,
-255,162,
-255,17,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-16,0,
-0,0,
-26,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-0,0,
-255,45,
-255,255,
-255,255,
-255,45,
-0,0,
-255,32,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,54,
-255,255,
-255,255,
-255,160,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,130,
-255,255,
-255,238,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,33,
-255,255,
-255,245,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-255,5,
-255,219,
-255,206,
-255,2,
-255,196,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,176,
-255,203,
-255,255,
-255,134,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,178,
-255,132,
-255,151,
-255,220,
-255,255,
-255,182,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-255,196,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,48,
-255,255,
-255,180,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,200,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,39,
-255,255,
-255,195,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,216,
-255,255,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,167,
-255,206,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-0,0,
-0,0,
-255,210,
-255,209,
-0,0,
-0,0,
-255,32,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,143,
-255,254,
-255,205,
-255,240,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,59,
-255,255,
-255,199,
-255,17,
-255,211,
-255,253,
-255,63,
-255,27,
-255,255,
-255,122,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,224,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-0,0,
-255,80,
-255,255,
-255,97,
-255,196,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-255,18,
-255,230,
-255,253,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,255,
-255,255,
-255,248,
-255,211,
-255,115,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-255,196,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,39,
-255,255,
-255,195,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,216,
-255,255,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,248,
-255,237,
-255,7,
-0,0,
-0,0,
-0,0,
-255,18,
-255,249,
-255,233,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,38,
-255,247,
-255,139,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,230,
-255,197,
-255,99,
-255,255,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,121,
-255,255,
-255,114,
-0,0,
-255,40,
-255,244,
-255,228,
-255,134,
-255,255,
-255,75,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,224,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,27,
-255,160,
-255,234,
-255,249,
-255,220,
-255,136,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-0,0,
-0,0,
-255,191,
-255,230,
-255,208,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-0,0,
-255,77,
-255,255,
-255,222,
-255,13,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-255,196,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,248,
-255,237,
-255,7,
-0,0,
-0,0,
-0,0,
-255,18,
-255,249,
-255,233,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,162,
-255,255,
-255,131,
-0,0,
-0,0,
-255,2,
-255,157,
-255,255,
-255,137,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,77,
-255,247,
-255,191,
-255,87,
-255,46,
-255,51,
-255,95,
-255,101,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,65,
-255,223,
-255,242,
-255,43,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,15,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,255,
-255,114,
-255,20,
-255,252,
-255,168,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,93,
-255,255,
-255,159,
-0,0,
-0,0,
-255,92,
-255,255,
-255,255,
-255,216,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,224,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,227,
-255,255,
-255,184,
-255,148,
-255,209,
-255,255,
-255,200,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-0,0,
-0,0,
-255,49,
-255,253,
-255,255,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-0,0,
-0,0,
-255,161,
-255,255,
-255,159,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-255,196,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,162,
-255,255,
-255,131,
-0,0,
-0,0,
-255,2,
-255,157,
-255,255,
-255,137,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,23,
-255,223,
-255,255,
-255,198,
-255,157,
-255,210,
-255,255,
-255,204,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,149,
-255,219,
-255,247,
-255,238,
-255,201,
-255,99,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,28,
-255,145,
-255,255,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-49,0,
-0,0,
-79,182,
-72,0,
-79,182,
-72,0,
-48,5,
-0,0,
-48,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,14,
-255,207,
-255,136,
-255,96,
-255,210,
-255,249,
-255,228,
-255,135,
-255,77,
-255,237,
-255,65,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,155,
-255,255,
-255,31,
-0,0,
-255,190,
-255,245,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,223,
-255,255,
-255,177,
-255,138,
-255,174,
-255,252,
-255,255,
-255,169,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,224,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,166,
-255,255,
-255,121,
-0,0,
-0,0,
-255,2,
-255,181,
-255,255,
-255,87,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-0,0,
-0,0,
-0,0,
-255,157,
-255,255,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-0,0,
-0,0,
-255,16,
-255,229,
-255,255,
-255,82,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,23,
-255,223,
-255,255,
-255,198,
-255,157,
-255,210,
-255,255,
-255,204,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,23,
-255,152,
-255,230,
-255,250,
-255,222,
-255,135,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,84,
-255,255,
-255,44,
-0,0,
-0,0,
-255,107,
-255,143,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,174,
-255,255,
-255,255,
-255,180,
-255,123,
-255,153,
-255,246,
-255,255,
-255,231,
-255,37,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,238,
-255,203,
-0,0,
-0,0,
-255,107,
-255,255,
-255,88,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,30,
-255,165,
-255,229,
-255,246,
-255,216,
-255,139,
-255,180,
-255,255,
-255,127,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,248,
-255,239,
-255,7,
-0,0,
-0,0,
-0,0,
-255,86,
-255,244,
-255,129,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-0,0,
-0,0,
-0,0,
-255,25,
-255,243,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-0,0,
-0,0,
-0,0,
-255,74,
-255,255,
-255,236,
-255,25,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,23,
-255,152,
-255,230,
-255,250,
-255,222,
-255,135,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,84,
-255,255,
-255,44,
-0,0,
-255,32,
-255,242,
-255,66,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,255,
-255,72,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,151,
-255,229,
-255,249,
-255,220,
-255,133,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,87,
-255,255,
-255,108,
-0,0,
-0,0,
-0,0,
-255,46,
-255,245,
-255,166,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,78,
-255,255,
-255,210,
-255,152,
-255,152,
-255,171,
-255,255,
-255,176,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,255,
-255,200,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,43,
-255,7,
-0,0,
-255,39,
-255,27,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,20,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,84,
-255,255,
-255,44,
-0,0,
-255,187,
-255,152,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,54,
-255,255,
-255,255,
-255,160,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,223,
-255,255,
-255,199,
-255,158,
-255,212,
-255,255,
-255,203,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,193,
-255,201,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,127,
-255,250,
-255,17,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,167,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,248,
-255,15,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,44,
-255,255,
-255,188,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,138,
-255,255,
-255,220,
-255,92,
-255,188,
-255,139,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,230,
-255,221,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,84,
-255,255,
-255,44,
-255,99,
-255,226,
-255,13,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,143,
-255,254,
-255,205,
-255,240,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,162,
-255,255,
-255,133,
-0,0,
-0,0,
-255,3,
-255,162,
-255,255,
-255,137,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,238,
-255,136,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,255,
-255,57,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,245,
-255,205,
-0,0,
-0,0,
-0,0,
-0,0,
-255,113,
-255,255,
-255,96,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,44,
-255,255,
-255,188,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,233,
-255,64,
-255,81,
-255,219,
-255,216,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,179,
-255,215,
-255,26,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,155,
-255,231,
-255,247,
-255,215,
-255,140,
-255,17,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,20,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,20,
-255,15,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,239,
-255,72,
-0,0,
-255,127,
-255,255,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,230,
-255,197,
-255,99,
-255,255,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,248,
-255,236,
-255,7,
-0,0,
-0,0,
-0,0,
-255,19,
-255,249,
-255,232,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,239,
-255,137,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,63,
-255,255,
-255,57,
-0,0,
-0,0,
-0,0,
-0,0,
-255,90,
-255,255,
-255,127,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,27,
-255,160,
-255,234,
-255,249,
-255,220,
-255,136,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,255,
-255,200,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,226,
-255,255,
-255,192,
-255,147,
-255,198,
-255,255,
-255,218,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,91,
-255,200,
-255,239,
-255,237,
-255,197,
-255,81,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,230,
-255,221,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,15,
-255,200,
-255,247,
-255,42,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,178,
-255,160,
-0,0,
-255,77,
-255,249,
-255,255,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,255,
-255,114,
-255,20,
-255,252,
-255,168,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,39,
-255,255,
-255,194,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,215,
-255,255,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,194,
-255,202,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,129,
-255,250,
-255,17,
-0,0,
-0,0,
-0,0,
-0,0,
-255,179,
-255,255,
-255,50,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,215,
-255,251,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,255,
-255,144,
-0,0,
-0,0,
-0,0,
-255,2,
-255,218,
-255,252,
-255,48,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,227,
-255,255,
-255,184,
-255,148,
-255,209,
-255,255,
-255,200,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,248,
-255,239,
-255,7,
-0,0,
-0,0,
-0,0,
-255,84,
-255,240,
-255,127,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,64,
-255,186,
-255,233,
-255,248,
-255,208,
-255,103,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,108,
-0,0,
-0,0,
-0,0,
-0,0,
-255,196,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,163,
-255,255,
-255,115,
-0,0,
-0,0,
-0,0,
-0,0,
-255,135,
-255,255,
-255,146,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,165,
-255,255,
-255,131,
-0,0,
-0,0,
-0,0,
-255,156,
-255,255,
-255,109,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,255,
-255,234,
-255,13,
-0,0,
-0,0,
-0,0,
-255,200,
-255,255,
-255,111,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,125,
-255,255,
-255,229,
-255,150,
-255,158,
-255,244,
-255,255,
-255,99,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,179,
-255,215,
-255,26,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,15,
-255,200,
-255,207,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,90,
-255,230,
-255,17,
-255,40,
-255,239,
-255,103,
-255,255,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,155,
-255,255,
-255,31,
-0,0,
-255,190,
-255,245,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,48,
-255,255,
-255,180,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,200,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,97,
-255,255,
-255,108,
-0,0,
-0,0,
-0,0,
-255,45,
-255,245,
-255,175,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,214,
-255,245,
-255,20,
-0,0,
-0,0,
-255,88,
-255,255,
-255,142,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,166,
-255,255,
-255,121,
-0,0,
-0,0,
-255,2,
-255,181,
-255,255,
-255,87,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,166,
-255,255,
-255,122,
-0,0,
-0,0,
-255,1,
-255,175,
-255,255,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,89,
-255,254,
-255,238,
-255,154,
-255,146,
-255,220,
-255,255,
-255,143,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,102,
-255,136,
-255,136,
-255,173,
-255,255,
-255,205,
-255,136,
-255,136,
-255,136,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,235,
-255,16,
-0,0,
-0,0,
-0,0,
-255,196,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,38,
-255,252,
-255,227,
-255,5,
-0,0,
-0,0,
-255,14,
-255,240,
-255,246,
-255,25,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,246,
-255,240,
-255,8,
-0,0,
-0,0,
-0,0,
-255,42,
-255,156,
-255,90,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,163,
-255,255,
-255,129,
-0,0,
-0,0,
-255,84,
-255,255,
-255,210,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,232,
-255,252,
-255,26,
-0,0,
-0,0,
-255,61,
-255,255,
-255,201,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,235,
-255,80,
-255,14,
-255,216,
-255,151,
-255,56,
-255,255,
-255,125,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,238,
-255,203,
-0,0,
-0,0,
-255,107,
-255,255,
-255,88,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,48,
-255,255,
-255,180,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,200,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-255,14,
-255,207,
-255,255,
-255,255,
-255,179,
-255,122,
-255,152,
-255,245,
-255,255,
-255,247,
-255,65,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,254,
-255,132,
-0,0,
-255,1,
-255,210,
-255,227,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,248,
-255,239,
-255,7,
-0,0,
-0,0,
-0,0,
-255,86,
-255,244,
-255,129,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,227,
-255,255,
-255,183,
-255,143,
-255,201,
-255,255,
-255,196,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,211,
-255,255,
-255,45,
-0,0,
-0,0,
-255,10,
-255,221,
-255,254,
-255,25,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,80,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,255,
-255,141,
-0,0,
-0,0,
-0,0,
-255,196,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,161,
-255,255,
-255,95,
-0,0,
-0,0,
-255,117,
-255,255,
-255,142,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,30,
-255,255,
-255,202,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,242,
-255,243,
-255,22,
-255,4,
-255,218,
-255,255,
-255,62,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,251,
-255,15,
-0,0,
-0,0,
-255,1,
-255,91,
-255,79,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,151,
-255,229,
-255,249,
-255,220,
-255,133,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,151,
-255,229,
-255,249,
-255,220,
-255,133,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,87,
-255,160,
-0,0,
-255,89,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,76,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,78,
-255,255,
-255,210,
-255,152,
-255,152,
-255,171,
-255,255,
-255,176,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,39,
-255,255,
-255,195,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,216,
-255,255,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,172,
-255,95,
-255,98,
-255,214,
-255,250,
-255,229,
-255,137,
-255,48,
-255,204,
-255,37,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,156,
-255,239,
-255,14,
-255,78,
-255,255,
-255,81,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,255,
-255,200,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,158,
-255,233,
-255,250,
-255,221,
-255,135,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,231,
-255,253,
-255,14,
-0,0,
-0,0,
-0,0,
-255,79,
-255,124,
-255,27,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,80,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,183,
-255,249,
-255,36,
-0,0,
-0,0,
-255,196,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,251,
-255,211,
-255,1,
-255,6,
-255,229,
-255,245,
-255,22,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,255,
-255,192,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,114,
-255,255,
-255,147,
-255,106,
-255,255,
-255,165,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,165,
-255,255,
-255,211,
-255,100,
-255,22,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,223,
-255,255,
-255,199,
-255,158,
-255,212,
-255,255,
-255,203,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,223,
-255,255,
-255,199,
-255,158,
-255,212,
-255,255,
-255,203,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,167,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,248,
-255,15,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,248,
-255,237,
-255,7,
-0,0,
-0,0,
-0,0,
-255,18,
-255,249,
-255,233,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,234,
-255,120,
-255,200,
-255,179,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,44,
-255,255,
-255,188,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,249,
-255,158,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,159,
-255,255,
-255,193,
-255,54,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,80,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,55,
-255,239,
-255,175,
-0,0,
-0,0,
-255,196,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,158,
-255,255,
-255,75,
-255,99,
-255,255,
-255,138,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,255,
-255,192,
-0,0,
-0,0,
-255,112,
-255,255,
-255,255,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,213,
-255,250,
-255,235,
-255,242,
-255,26,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,68,
-255,255,
-255,255,
-255,255,
-255,253,
-255,187,
-255,66,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,162,
-255,255,
-255,133,
-0,0,
-0,0,
-255,3,
-255,162,
-255,255,
-255,137,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,162,
-255,255,
-255,133,
-0,0,
-0,0,
-255,3,
-255,162,
-255,255,
-255,137,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,245,
-255,205,
-0,0,
-0,0,
-0,0,
-0,0,
-255,113,
-255,255,
-255,96,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,162,
-255,255,
-255,131,
-0,0,
-0,0,
-255,2,
-255,157,
-255,255,
-255,137,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,137,
-255,221,
-255,245,
-255,213,
-255,110,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,255,
-255,255,
-255,246,
-255,255,
-255,255,
-255,255,
-255,140,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,44,
-255,255,
-255,188,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,82,
-255,255,
-255,106,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,14,
-255,172,
-255,255,
-255,255,
-255,220,
-255,127,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,80,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-255,113,
-255,255,
-255,64,
-0,0,
-255,196,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,251,
-255,195,
-255,216,
-255,243,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,255,
-255,203,
-0,0,
-0,0,
-255,47,
-255,108,
-255,133,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,67,
-255,255,
-255,255,
-255,119,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,237,
-255,234,
-255,66,
-255,121,
-255,214,
-255,255,
-255,255,
-255,103,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,248,
-255,236,
-255,7,
-0,0,
-0,0,
-0,0,
-255,19,
-255,249,
-255,232,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,248,
-255,236,
-255,7,
-0,0,
-0,0,
-0,0,
-255,19,
-255,249,
-255,232,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,90,
-255,255,
-255,127,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,23,
-255,223,
-255,255,
-255,198,
-255,157,
-255,210,
-255,255,
-255,204,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,195,
-255,146,
-255,218,
-255,255,
-255,121,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,125,
-255,136,
-255,151,
-255,255,
-255,227,
-255,136,
-255,136,
-255,74,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,255,
-255,200,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,254,
-255,134,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,56,
-255,150,
-255,235,
-255,255,
-255,238,
-255,71,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,80,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-255,5,
-255,219,
-255,206,
-255,2,
-255,196,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,156,
-255,255,
-255,255,
-255,134,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,245,
-255,242,
-255,9,
-0,0,
-0,0,
-0,0,
-255,44,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,102,
-255,255,
-255,255,
-255,154,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,59,
-255,255,
-255,173,
-0,0,
-0,0,
-0,0,
-255,92,
-255,252,
-255,237,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,39,
-255,255,
-255,194,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,215,
-255,255,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-255,39,
-255,255,
-255,194,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,215,
-255,255,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,179,
-255,255,
-255,50,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,215,
-255,251,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,23,
-255,152,
-255,230,
-255,250,
-255,222,
-255,135,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,39,
-255,255,
-255,203,
-255,1,
-0,0,
-255,21,
-255,251,
-255,221,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,248,
-255,239,
-255,7,
-0,0,
-0,0,
-0,0,
-255,84,
-255,240,
-255,127,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,188,
-255,251,
-255,53,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,101,
-255,252,
-255,237,
-255,13,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,80,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-0,0,
-255,80,
-255,255,
-255,97,
-255,196,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,33,
-255,255,
-255,245,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,159,
-255,255,
-255,141,
-0,0,
-0,0,
-0,0,
-255,51,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,235,
-255,242,
-255,211,
-255,253,
-255,51,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,255,
-255,231,
-255,33,
-0,0,
-0,0,
-0,0,
-255,215,
-255,255,
-255,14,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,48,
-255,255,
-255,180,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,200,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-255,48,
-255,255,
-255,180,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,200,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,32,
-255,20,
-0,0,
-0,0,
-0,0,
-255,239,
-255,243,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,140,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,166,
-255,255,
-255,122,
-0,0,
-0,0,
-255,1,
-255,175,
-255,255,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,118,
-255,42,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,33,
-255,148,
-255,96,
-0,0,
-0,0,
-0,0,
-0,0,
-255,172,
-255,255,
-255,63,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,80,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-0,0,
-0,0,
-255,191,
-255,230,
-255,208,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,224,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,218,
-255,255,
-255,199,
-255,141,
-255,155,
-255,234,
-255,255,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,145,
-255,255,
-255,126,
-255,71,
-255,255,
-255,199,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,156,
-255,255,
-255,249,
-255,172,
-255,88,
-255,73,
-255,252,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,48,
-255,255,
-255,180,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,200,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-255,48,
-255,255,
-255,180,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,200,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,20,
-255,15,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,98,
-255,255,
-255,155,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,125,
-255,136,
-255,151,
-255,255,
-255,227,
-255,136,
-255,136,
-255,74,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,227,
-255,255,
-255,183,
-255,143,
-255,201,
-255,255,
-255,196,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,23,
-255,253,
-255,226,
-255,17,
-0,0,
-0,0,
-255,3,
-255,204,
-255,255,
-255,53,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,80,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-0,0,
-0,0,
-255,49,
-255,253,
-255,255,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,224,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,17,
-255,142,
-255,224,
-255,250,
-255,235,
-255,183,
-255,74,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,42,
-255,251,
-255,234,
-255,12,
-0,0,
-255,192,
-255,255,
-255,96,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,96,
-255,208,
-255,255,
-255,255,
-255,255,
-255,244,
-255,38,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,39,
-255,255,
-255,195,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,216,
-255,255,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-255,39,
-255,255,
-255,195,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,216,
-255,255,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,15,
-255,200,
-255,247,
-255,42,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,255,
-255,255,
-255,184,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,158,
-255,233,
-255,250,
-255,221,
-255,135,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,130,
-255,255,
-255,232,
-255,154,
-255,142,
-255,206,
-255,255,
-255,192,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,80,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-0,0,
-0,0,
-0,0,
-255,157,
-255,255,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,224,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,187,
-255,255,
-255,111,
-0,0,
-0,0,
-255,56,
-255,255,
-255,232,
-255,15,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,43,
-255,139,
-255,244,
-255,255,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,248,
-255,237,
-255,7,
-0,0,
-0,0,
-0,0,
-255,18,
-255,249,
-255,233,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,248,
-255,237,
-255,7,
-0,0,
-0,0,
-0,0,
-255,18,
-255,249,
-255,233,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,15,
-255,200,
-255,207,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,122,
-255,135,
-255,205,
-255,253,
-255,107,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,70,
-255,184,
-255,232,
-255,244,
-255,212,
-255,120,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,80,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-0,0,
-0,0,
-0,0,
-255,25,
-255,243,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,224,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,81,
-255,255,
-255,224,
-255,6,
-0,0,
-0,0,
-0,0,
-255,176,
-255,255,
-255,144,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,19,
-255,88,
-255,55,
-0,0,
-0,0,
-0,0,
-255,65,
-255,255,
-255,195,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,162,
-255,255,
-255,131,
-0,0,
-0,0,
-255,2,
-255,157,
-255,255,
-255,137,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,162,
-255,255,
-255,131,
-0,0,
-0,0,
-255,2,
-255,157,
-255,255,
-255,137,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,110,
-255,215,
-255,246,
-255,218,
-255,121,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,19,
-255,150,
-255,231,
-255,247,
-255,212,
-255,69,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,23,
-255,237,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,231,
-255,243,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,211,
-255,6,
-0,0,
-0,0,
-255,63,
-255,255,
-255,190,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,23,
-255,223,
-255,255,
-255,198,
-255,157,
-255,210,
-255,255,
-255,204,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,23,
-255,223,
-255,255,
-255,198,
-255,157,
-255,210,
-255,255,
-255,204,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,114,
-255,255,
-255,222,
-255,148,
-255,217,
-255,255,
-255,137,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,15,
-255,216,
-255,255,
-255,193,
-255,149,
-255,188,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,174,
-255,255,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,128,
-255,221,
-255,246,
-255,212,
-255,96,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,56,
-255,29,
-0,0,
-0,0,
-0,0,
-255,193,
-255,255,
-255,37,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,194,
-255,255,
-255,216,
-255,147,
-255,158,
-255,240,
-255,255,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,23,
-255,152,
-255,230,
-255,250,
-255,222,
-255,135,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,23,
-255,152,
-255,230,
-255,250,
-255,222,
-255,135,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,208,
-255,255,
-255,33,
-0,0,
-255,21,
-255,249,
-255,234,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,143,
-255,255,
-255,136,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,88,
-255,255,
-255,246,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,160,
-255,255,
-255,184,
-255,132,
-255,212,
-255,255,
-255,77,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,255,
-255,183,
-0,0,
-0,0,
-255,13,
-255,235,
-255,250,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,123,
-255,211,
-255,244,
-255,237,
-255,193,
-255,78,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,227,
-255,252,
-255,3,
-0,0,
-0,0,
-255,232,
-255,251,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,232,
-255,247,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,235,
-255,203,
-255,165,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,154,
-255,160,
-255,2,
-0,0,
-255,55,
-255,255,
-255,159,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,214,
-255,255,
-255,187,
-255,142,
-255,215,
-255,255,
-255,141,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,43,
-255,7,
-0,0,
-255,39,
-255,27,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,150,
-255,255,
-255,119,
-255,11,
-255,96,
-255,255,
-255,173,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,14,
-255,255,
-255,224,
-255,135,
-255,222,
-255,247,
-255,188,
-255,37,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,171,
-255,244,
-255,37,
-255,160,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,166,
-255,228,
-255,253,
-255,255,
-255,255,
-255,183,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,21,
-255,146,
-255,224,
-255,245,
-255,210,
-255,104,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,20,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,136,
-255,225,
-255,248,
-255,214,
-255,111,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,138,
-255,255,
-255,220,
-255,92,
-255,188,
-255,139,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,109,
-255,152,
-255,26,
-0,0,
-255,142,
-255,144,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,149,
-255,237,
-255,238,
-255,184,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,98,
-255,216,
-255,249,
-255,221,
-255,111,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,109,
-255,152,
-255,26,
-0,0,
-255,142,
-255,144,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,109,
-255,152,
-255,26,
-0,0,
-255,142,
-255,144,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,110,
-255,213,
-255,135,
-255,108,
-255,208,
-255,33,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,244,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,173,
-255,255,
-255,255,
-255,255,
-255,188,
-255,14,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,255,
-255,210,
-255,133,
-255,179,
-255,255,
-255,216,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,85,
-255,255,
-255,98,
-0,0,
-255,160,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,221,
-255,252,
-255,111,
-255,50,
-255,87,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,230,
-255,221,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,172,
-255,255,
-255,201,
-255,147,
-255,221,
-255,255,
-255,119,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,233,
-255,64,
-255,81,
-255,219,
-255,216,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,184,
-255,255,
-255,44,
-0,0,
-255,240,
-255,244,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,144,
-255,255,
-255,195,
-255,163,
-255,253,
-255,229,
-255,13,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,95,
-255,255,
-255,223,
-255,150,
-255,216,
-255,255,
-255,115,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,184,
-255,255,
-255,44,
-0,0,
-255,240,
-255,244,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,184,
-255,255,
-255,44,
-0,0,
-255,240,
-255,244,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,73,
-255,237,
-255,255,
-255,255,
-255,75,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,244,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,84,
-255,246,
-255,216,
-255,148,
-255,208,
-255,250,
-255,101,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,223,
-255,10,
-0,0,
-0,0,
-255,175,
-255,255,
-255,81,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,234,
-255,171,
-0,0,
-0,0,
-255,160,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,255,
-255,169,
-0,0,
-0,0,
-255,49,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,179,
-255,215,
-255,26,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,42,
-255,255,
-255,205,
-255,2,
-0,0,
-255,26,
-255,250,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,249,
-255,229,
-255,4,
-0,0,
-255,148,
-255,255,
-255,88,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,250,
-255,27,
-0,0,
-255,16,
-255,241,
-255,237,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,19,
-255,206,
-255,118,
-255,97,
-255,255,
-255,205,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,244,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,74,
-255,250,
-255,7,
-255,62,
-255,255,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,88,
-255,214,
-255,248,
-255,215,
-255,94,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,116,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,240,
-255,229,
-255,11,
-0,0,
-255,5,
-255,214,
-255,249,
-255,26,
-0,0,
-0,0,
-0,0,
-0,0,
-255,19,
-255,255,
-255,210,
-0,0,
-0,0,
-0,0,
-255,101,
-255,255,
-255,124,
-0,0,
-0,0,
-0,0,
-0,0,
-255,131,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,180,
-0,0,
-0,0,
-0,0,
-0,0,
-255,75,
-255,255,
-255,161,
-0,0,
-0,0,
-255,141,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,48,
-255,164,
-255,94,
-0,0,
-0,0,
-0,0,
-255,225,
-255,254,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,195,
-255,114,
-255,228,
-255,243,
-255,180,
-255,26,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,220,
-0,0,
-0,0,
-0,0,
-255,208,
-255,255,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,41,
-255,255,
-255,180,
-0,0,
-0,0,
-255,55,
-255,136,
-255,61,
-0,0,
-0,0,
-0,0,
-0,0,
-255,23,
-255,255,
-255,204,
-0,0,
-0,0,
-0,0,
-255,181,
-255,255,
-255,46,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,109,
-255,219,
-255,249,
-255,222,
-255,119,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,128,
-255,221,
-255,246,
-255,212,
-255,96,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,194,
-255,255,
-255,59,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,244,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,255,
-255,255,
-255,254,
-255,225,
-255,167,
-255,35,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,126,
-255,206,
-0,0,
-255,114,
-255,222,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,63,
-255,255,
-255,233,
-255,151,
-255,234,
-255,254,
-255,64,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,136,
-255,136,
-255,136,
-255,136,
-255,136,
-255,207,
-255,255,
-255,82,
-0,0,
-0,0,
-0,0,
-0,0,
-255,51,
-255,255,
-255,178,
-0,0,
-0,0,
-0,0,
-255,154,
-255,255,
-255,74,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,247,
-255,238,
-255,2,
-0,0,
-0,0,
-255,106,
-255,255,
-255,126,
-0,0,
-0,0,
-0,0,
-0,0,
-255,71,
-255,136,
-255,136,
-255,136,
-255,136,
-255,211,
-255,255,
-255,167,
-255,95,
-0,0,
-0,0,
-0,0,
-0,0,
-255,21,
-255,244,
-255,250,
-255,154,
-255,185,
-255,248,
-255,255,
-255,191,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,128,
-255,221,
-255,246,
-255,212,
-255,96,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,30,
-255,253,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,250,
-255,226,
-255,153,
-255,206,
-255,255,
-255,176,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,220,
-0,0,
-0,0,
-0,0,
-255,208,
-255,255,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,52,
-255,255,
-255,177,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,44,
-255,255,
-255,185,
-0,0,
-0,0,
-0,0,
-255,161,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,120,
-255,255,
-255,219,
-255,151,
-255,215,
-255,255,
-255,136,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,160,
-255,255,
-255,184,
-255,132,
-255,212,
-255,255,
-255,77,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,144,
-255,230,
-255,249,
-255,192,
-255,167,
-255,255,
-255,124,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,244,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,152,
-255,136,
-255,138,
-255,178,
-255,254,
-255,240,
-255,34,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,178,
-255,154,
-0,0,
-255,166,
-255,170,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,182,
-255,255,
-255,63,
-0,0,
-255,90,
-255,255,
-255,137,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,37,
-255,245,
-255,173,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,31,
-255,255,
-255,225,
-255,7,
-0,0,
-255,2,
-255,208,
-255,255,
-255,54,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,180,
-255,255,
-255,85,
-0,0,
-0,0,
-255,188,
-255,255,
-255,71,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,160,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,75,
-255,214,
-255,248,
-255,200,
-255,63,
-255,251,
-255,229,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,160,
-255,255,
-255,184,
-255,132,
-255,212,
-255,255,
-255,77,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,178,
-255,255,
-255,91,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,241,
-255,23,
-0,0,
-255,9,
-255,241,
-255,248,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,220,
-0,0,
-0,0,
-0,0,
-255,208,
-255,255,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,44,
-255,255,
-255,187,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,48,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-255,160,
-255,255,
-255,72,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,244,
-255,239,
-255,18,
-0,0,
-255,14,
-255,231,
-255,250,
-255,23,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,154,
-255,160,
-255,2,
-0,0,
-255,55,
-255,255,
-255,159,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,189,
-255,255,
-255,198,
-255,129,
-255,159,
-255,248,
-255,255,
-255,150,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,244,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-0,0,
-0,0,
-0,0,
-255,126,
-255,255,
-255,142,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-0,0,
-255,224,
-255,251,
-255,2,
-0,0,
-255,84,
-255,255,
-255,134,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,197,
-255,234,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,179,
-255,255,
-255,209,
-255,142,
-255,200,
-255,255,
-255,200,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,48,
-255,246,
-255,247,
-255,156,
-255,184,
-255,255,
-255,196,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,160,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,154,
-255,160,
-255,2,
-0,0,
-255,55,
-255,255,
-255,159,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,127,
-255,255,
-255,167,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,228,
-0,0,
-0,0,
-0,0,
-255,210,
-255,255,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,220,
-0,0,
-0,0,
-0,0,
-255,208,
-255,255,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-255,92,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,200,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,48,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-255,160,
-255,255,
-255,72,
-0,0,
-0,0,
-0,0,
-0,0,
-255,67,
-255,255,
-255,167,
-0,0,
-0,0,
-0,0,
-255,152,
-255,255,
-255,82,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,166,
-255,228,
-255,253,
-255,255,
-255,255,
-255,183,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,68,
-255,255,
-255,201,
-255,3,
-0,0,
-0,0,
-255,91,
-255,255,
-255,156,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,244,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-0,0,
-0,0,
-0,0,
-255,59,
-255,255,
-255,174,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,60,
-255,82,
-255,255,
-255,103,
-255,70,
-255,255,
-255,115,
-255,64,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,244,
-0,0,
-0,0,
-255,184,
-255,255,
-255,54,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,79,
-255,255,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,128,
-255,217,
-255,246,
-255,221,
-255,141,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,52,
-255,189,
-255,246,
-255,238,
-255,158,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,160,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,166,
-255,228,
-255,253,
-255,255,
-255,255,
-255,183,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,93,
-255,255,
-255,202,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,228,
-0,0,
-0,0,
-0,0,
-255,208,
-255,255,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,220,
-0,0,
-0,0,
-0,0,
-255,208,
-255,255,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-255,48,
-255,146,
-255,255,
-255,234,
-255,136,
-255,136,
-255,106,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,45,
-255,255,
-255,185,
-0,0,
-0,0,
-0,0,
-255,161,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-255,85,
-255,255,
-255,144,
-0,0,
-0,0,
-0,0,
-255,128,
-255,255,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,221,
-255,252,
-255,111,
-255,50,
-255,87,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,255,
-255,115,
-0,0,
-0,0,
-0,0,
-255,76,
-255,255,
-255,152,
-0,0,
-0,0,
-0,0,
-0,0,
-255,243,
-255,244,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,227,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-0,0,
-0,0,
-0,0,
-255,121,
-255,255,
-255,142,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,255,
-255,15,
-255,45,
-255,255,
-255,31,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,244,
-0,0,
-255,28,
-255,255,
-255,208,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,205,
-255,233,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,221,
-255,252,
-255,111,
-255,50,
-255,87,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,65,
-255,249,
-255,222,
-255,23,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,228,
-0,0,
-0,0,
-0,0,
-255,208,
-255,255,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,253,
-255,224,
-0,0,
-0,0,
-0,0,
-255,208,
-255,255,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,255,
-255,207,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,204,
-0,0,
-0,0,
-0,0,
-255,180,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-0,0,
-255,67,
-255,255,
-255,165,
-0,0,
-0,0,
-0,0,
-255,151,
-255,255,
-255,82,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,255,
-255,169,
-0,0,
-0,0,
-255,49,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,125,
-255,255,
-255,113,
-0,0,
-0,0,
-0,0,
-255,110,
-255,255,
-255,126,
-0,0,
-0,0,
-0,0,
-0,0,
-255,231,
-255,254,
-255,10,
-0,0,
-0,0,
-0,0,
-255,26,
-255,255,
-255,214,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,152,
-255,136,
-255,137,
-255,175,
-255,254,
-255,241,
-255,35,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,103,
-255,229,
-0,0,
-255,87,
-255,243,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,244,
-0,0,
-255,38,
-255,255,
-255,219,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,45,
-255,255,
-255,153,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,255,
-255,169,
-0,0,
-0,0,
-255,49,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,41,
-255,239,
-255,238,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,228,
-0,0,
-0,0,
-0,0,
-255,208,
-255,255,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,227,
-255,249,
-255,15,
-0,0,
-255,16,
-255,230,
-255,255,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,57,
-255,255,
-255,161,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,221,
-255,250,
-255,26,
-0,0,
-255,13,
-255,240,
-255,239,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,245,
-255,237,
-255,15,
-0,0,
-255,11,
-255,229,
-255,251,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-255,75,
-255,255,
-255,161,
-0,0,
-0,0,
-255,141,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,255,
-255,203,
-255,5,
-0,0,
-255,9,
-255,211,
-255,255,
-255,49,
-0,0,
-0,0,
-0,0,
-0,0,
-255,175,
-255,255,
-255,104,
-0,0,
-0,0,
-0,0,
-255,125,
-255,255,
-255,156,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,255,
-255,255,
-255,254,
-255,227,
-255,169,
-255,37,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,136,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,156,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,244,
-0,0,
-0,0,
-255,189,
-255,255,
-255,171,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,127,
-255,255,
-255,83,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-70,0,
-0,0,
-79,182,
-72,0,
-79,182,
-72,0,
-112,5,
-0,0,
-112,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,151,
-255,73,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,75,
-255,255,
-255,161,
-0,0,
-0,0,
-255,141,
-255,255,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,223,
-255,255,
-255,186,
-255,132,
-255,132,
-255,132,
-255,132,
-255,53,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,228,
-0,0,
-0,0,
-0,0,
-255,208,
-255,255,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,144,
-255,255,
-255,206,
-255,148,
-255,217,
-255,249,
-255,255,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,180,
-255,255,
-255,168,
-255,132,
-255,132,
-255,132,
-255,132,
-255,109,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,98,
-255,255,
-255,221,
-255,145,
-255,211,
-255,255,
-255,121,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,123,
-255,255,
-255,215,
-255,146,
-255,211,
-255,255,
-255,142,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,21,
-255,244,
-255,250,
-255,154,
-255,185,
-255,248,
-255,255,
-255,191,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,178,
-255,255,
-255,208,
-255,145,
-255,210,
-255,255,
-255,150,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,46,
-255,243,
-255,254,
-255,177,
-255,141,
-255,188,
-255,255,
-255,235,
-255,33,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,31,
-255,60,
-255,212,
-255,161,
-255,60,
-255,200,
-255,173,
-255,60,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,244,
-0,0,
-0,0,
-255,18,
-255,207,
-255,255,
-255,152,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,194,
-255,255,
-255,25,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,216,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,21,
-255,244,
-255,250,
-255,154,
-255,185,
-255,248,
-255,255,
-255,191,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,228,
-0,0,
-0,0,
-0,0,
-255,208,
-255,255,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,161,
-255,238,
-255,236,
-255,137,
-255,165,
-255,255,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,224,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,99,
-255,216,
-255,250,
-255,223,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,112,
-255,220,
-255,250,
-255,224,
-255,123,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,75,
-255,214,
-255,248,
-255,200,
-255,63,
-255,251,
-255,229,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,130,
-255,224,
-255,250,
-255,220,
-255,116,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,42,
-255,169,
-255,235,
-255,251,
-255,229,
-255,158,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,235,
-255,96,
-0,0,
-255,219,
-255,112,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,244,
-0,0,
-0,0,
-0,0,
-255,21,
-255,233,
-255,254,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,238,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,20,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,20,
-255,15,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,109,
-255,219,
-255,249,
-255,222,
-255,119,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,89,
-255,210,
-255,255,
-255,238,
-255,149,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,75,
-255,214,
-255,248,
-255,200,
-255,63,
-255,251,
-255,229,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,56,
-255,7,
-255,252,
-255,72,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,244,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,255,
-255,201,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,230,
-255,221,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,15,
-255,200,
-255,247,
-255,42,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,120,
-255,255,
-255,219,
-255,151,
-255,215,
-255,255,
-255,136,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,74,
-255,255,
-255,235,
-255,152,
-255,205,
-255,255,
-255,167,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,60,
-255,255,
-255,16,
-255,44,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,244,
-255,12,
-255,210,
-255,147,
-255,167,
-255,255,
-255,218,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,56,
-255,255,
-255,174,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,179,
-255,215,
-255,26,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,15,
-255,200,
-255,207,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,244,
-255,239,
-255,18,
-0,0,
-255,14,
-255,231,
-255,250,
-255,23,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,171,
-255,255,
-255,71,
-0,0,
-255,6,
-255,225,
-255,254,
-255,21,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,244,
-255,34,
-255,208,
-255,244,
-255,238,
-255,181,
-255,39,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,67,
-255,255,
-255,167,
-0,0,
-0,0,
-0,0,
-255,152,
-255,255,
-255,82,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,186,
-255,255,
-255,47,
-0,0,
-0,0,
-255,114,
-255,168,
-255,34,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,244,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,244,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-255,85,
-255,255,
-255,144,
-0,0,
-0,0,
-0,0,
-255,128,
-255,255,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,126,
-255,255,
-255,187,
-255,26,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,85,
-255,188,
-255,82,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,19,
-255,40,
-255,14,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,20,
-255,15,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,224,
-255,255,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,129,
-255,119,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,123,
-255,226,
-255,249,
-255,209,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,15,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,244,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,244,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-255,67,
-255,255,
-255,165,
-0,0,
-0,0,
-0,0,
-255,151,
-255,255,
-255,82,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,9,
-255,187,
-255,255,
-255,250,
-255,162,
-255,41,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,109,
-255,152,
-255,26,
-0,0,
-255,142,
-255,144,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,220,
-0,0,
-0,0,
-0,0,
-255,208,
-255,255,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,116,
-255,255,
-255,112,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,255,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,250,
-255,202,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,15,
-255,200,
-255,247,
-255,42,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,224,
-255,255,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,112,
-255,219,
-255,249,
-255,220,
-255,245,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,143,
-255,255,
-255,213,
-255,152,
-255,231,
-255,255,
-255,86,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,95,
-255,249,
-255,223,
-255,38,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,244,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,244,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,245,
-255,237,
-255,15,
-0,0,
-255,11,
-255,229,
-255,251,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,88,
-255,202,
-255,255,
-255,248,
-255,89,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,184,
-255,255,
-255,44,
-0,0,
-255,240,
-255,244,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,220,
-0,0,
-0,0,
-0,0,
-255,208,
-255,255,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,255,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,232,
-255,29,
-255,188,
-255,63,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,15,
-255,200,
-255,207,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,224,
-255,255,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,123,
-255,255,
-255,219,
-255,147,
-255,229,
-255,255,
-255,131,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,252,
-255,232,
-255,13,
-0,0,
-255,39,
-255,253,
-255,217,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,111,
-255,245,
-255,70,
-255,144,
-255,234,
-255,47,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,255,
-255,255,
-255,250,
-255,219,
-255,146,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,15,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,244,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,244,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,123,
-255,255,
-255,215,
-255,146,
-255,211,
-255,255,
-255,142,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,78,
-255,248,
-255,243,
-255,17,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,220,
-0,0,
-0,0,
-0,0,
-255,208,
-255,255,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,255,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,244,
-255,190,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,224,
-255,255,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,245,
-255,239,
-255,18,
-255,16,
-255,237,
-255,235,
-255,249,
-255,19,
-0,0,
-0,0,
-0,0,
-0,0,
-255,80,
-255,255,
-255,157,
-0,0,
-0,0,
-0,0,
-255,205,
-255,255,
-255,23,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,20,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,255,
-255,152,
-255,136,
-255,141,
-255,198,
-255,255,
-255,214,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,128,
-255,221,
-255,246,
-255,212,
-255,96,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,195,
-255,114,
-255,228,
-255,243,
-255,180,
-255,26,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,95,
-255,249,
-255,223,
-255,38,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,244,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,244,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,255,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-};
diff --git a/scene/resources/default_theme/font_lodpi.inc b/scene/resources/default_theme/font_lodpi.inc
new file mode 100644
index 0000000000..8eae45a8a7
--- /dev/null
+++ b/scene/resources/default_theme/font_lodpi.inc
@@ -0,0 +1,13115 @@
+static const int _lodpi_font_height=14;
+static const int _lodpi_font_ascent=11;
+static const int _lodpi_font_charcount=191;
+static const int _lodpi_font_charrects[191][8]={
+/* charidx , ofs_x, ofs_y, size_x, size_y, valign, halign, advance */
+{64,72,34,10,11,1,1,12},
+{224,85,180,5,11,0,1,7},
+{192,32,16,11,13,-2,-1,9},
+{96,2,216,3,2,0,3,8},
+{160,1734439808,0,0,0,11,0,4},
+{32,0,0,0,0,11,0,4},
+{33,65,234,2,10,1,1,4},
+{225,112,169,5,11,0,1,7},
+{193,17,16,11,13,-2,-1,9},
+{161,2,222,2,11,3,1,4},
+{65,2,16,11,10,1,-1,9},
+{97,76,188,5,8,3,1,7},
+{98,102,165,6,11,0,1,8},
+{226,72,143,6,11,0,1,7},
+{194,113,2,11,13,-2,-1,9},
+{66,46,109,7,10,1,1,9},
+{162,12,136,6,10,1,1,8},
+{34,49,187,5,4,1,1,6},
+{35,78,66,8,10,1,0,9},
+{163,22,167,6,10,1,1,8},
+{195,53,2,11,14,-3,-1,9},
+{227,2,155,6,12,-1,1,7},
+{67,68,115,7,10,1,1,8},
+{99,40,179,5,8,3,1,7},
+{228,121,169,5,11,0,1,7},
+{196,98,2,11,13,-2,-1,9},
+{36,102,137,6,12,0,1,8},
+{100,82,150,6,11,0,1,8},
+{68,90,66,8,10,1,1,10},
+{164,14,79,8,7,3,0,8},
+{37,2,30,10,10,1,1,12},
+{69,29,191,5,10,1,1,7},
+{165,79,98,7,10,1,0,8},
+{229,20,196,5,12,-1,1,7},
+{197,83,2,11,12,-1,-1,9},
+{101,32,124,6,8,3,1,8},
+{38,67,49,9,10,1,1,10},
+{70,101,105,6,10,1,1,7},
+{198,21,2,12,10,1,-1,12},
+{166,95,228,2,14,0,3,7},
+{102,2,201,5,11,0,0,4},
+{230,58,34,10,8,3,1,12},
+{71,66,65,8,10,1,1,10},
+{231,2,186,5,11,3,1,7},
+{199,57,97,7,13,1,1,8},
+{103,13,107,7,11,3,1,7},
+{167,112,131,6,11,0,0,7},
+{39,119,219,2,4,1,1,3},
+{72,54,65,8,10,1,1,10},
+{232,62,143,6,11,0,1,8},
+{200,47,195,5,13,-2,1,7},
+{40,93,212,4,12,1,1,4},
+{104,72,158,6,11,0,1,8},
+{168,77,217,4,2,0,2,8},
+{73,38,191,5,10,1,0,5},
+{169,44,34,10,10,1,1,12},
+{233,52,142,6,11,0,1,8},
+{201,56,197,5,13,-2,1,7},
+{41,51,226,3,12,1,0,4},
+{105,109,213,3,11,0,0,4},
+{106,101,213,4,14,0,-1,4},
+{74,92,195,5,13,1,-2,3},
+{202,65,202,5,13,-2,1,7},
+{42,108,80,7,6,0,0,8},
+{170,29,205,4,5,1,0,5},
+{234,12,181,6,11,0,1,8},
+{171,22,181,5,6,4,1,7},
+{43,101,94,7,7,3,0,8},
+{107,112,92,7,11,0,1,7},
+{203,83,200,5,13,-2,1,7},
+{235,2,171,6,11,0,1,8},
+{75,102,66,8,10,1,1,8},
+{44,107,231,2,3,9,1,4},
+{172,2,104,7,4,6,0,8},
+{108,113,228,2,11,0,1,4},
+{204,101,196,5,13,-2,0,5},
+{236,30,214,3,11,0,0,4},
+{76,22,124,6,10,1,1,7},
+{173,16,229,3,2,7,1,5},
+{45,123,201,3,2,7,1,5},
+{109,68,2,11,8,3,1,13},
+{205,11,211,5,13,-2,0,5},
+{237,37,214,3,11,0,1,4},
+{77,62,20,10,10,1,1,12},
+{46,101,231,2,2,9,1,4},
+{110,111,107,6,8,3,1,8},
+{206,20,212,5,13,-2,0,5},
+{238,11,196,5,11,0,-1,4},
+{174,30,33,10,10,1,1,12},
+{78,2,79,8,10,1,1,10},
+{175,35,111,7,1,-1,0,7},
+{111,102,153,6,8,3,1,8},
+{207,119,184,5,13,-2,0,5},
+{239,69,219,4,11,0,0,4},
+{79,41,66,9,10,1,1,11},
+{47,90,105,7,10,1,-1,5},
+{176,61,219,4,4,1,1,6},
+{112,32,150,6,11,3,1,8},
+{240,82,165,6,11,0,1,8},
+{208,86,33,9,10,1,0,10},
+{80,52,128,6,10,1,1,8},
+{48,42,135,6,10,1,1,8},
+{177,46,97,7,8,3,0,8},
+{113,22,152,6,11,3,1,8},
+{241,2,112,6,12,-1,1,8},
+{81,15,59,9,13,1,1,11},
+{209,74,80,8,14,-3,1,10},
+{49,45,212,4,10,1,2,8},
+{178,58,187,5,6,1,0,5},
+{114,85,217,4,8,3,1,5},
+{210,2,62,9,13,-2,1,11},
+{242,62,165,6,11,0,1,8},
+{82,35,97,7,10,1,1,8},
+{50,57,114,7,10,1,1,8},
+{179,53,214,4,6,1,0,5},
+{115,112,146,6,8,3,0,7},
+{211,106,49,9,13,-2,1,11},
+{243,52,172,6,11,0,1,8},
+{83,24,96,7,10,1,0,7},
+{51,22,138,6,10,1,1,8},
+{180,9,228,3,2,0,3,8},
+{116,67,188,5,10,1,0,5},
+{212,93,49,9,13,-2,1,11},
+{244,42,164,6,11,0,1,8},
+{84,13,93,7,10,1,0,7},
+{52,24,110,7,10,1,1,8},
+{53,92,119,6,10,1,1,8},
+{85,114,66,8,10,1,1,10},
+{213,2,44,9,14,-3,1,11},
+{117,42,123,6,8,3,1,8},
+{181,2,140,6,11,3,1,8},
+{245,12,165,6,12,-1,1,8},
+{54,82,121,6,10,1,1,8},
+{86,76,18,10,10,1,-1,8},
+{246,72,173,6,11,0,1,8},
+{214,80,49,9,13,-2,1,11},
+{182,68,98,7,13,0,1,9},
+{118,15,47,9,8,3,-1,7},
+{55,72,129,6,10,1,1,8},
+{87,2,2,15,10,1,-1,13},
+{119,37,2,12,8,3,-1,10},
+{247,90,94,7,7,3,0,8},
+{215,2,93,7,7,3,0,8},
+{183,77,223,2,2,5,1,4},
+{56,62,129,6,10,1,1,8},
+{88,90,19,10,10,1,-1,8},
+{216,99,33,9,12,0,1,11},
+{248,2,128,6,8,3,1,8},
+{120,119,80,7,8,3,0,7},
+{184,116,212,3,3,11,0,3},
+{89,28,65,9,10,1,-1,7},
+{217,38,80,8,13,-2,1,10},
+{249,52,157,6,11,0,1,8},
+{121,112,33,9,11,3,-1,7},
+{57,12,122,6,10,1,1,8},
+{185,23,229,3,6,1,0,5},
+{218,26,79,8,13,-2,1,10},
+{250,42,149,6,11,0,1,8},
+{90,32,136,6,10,1,1,8},
+{122,112,119,6,8,3,1,7},
+{58,89,229,2,8,3,1,4},
+{186,37,205,4,5,1,0,5},
+{219,50,80,8,13,-2,1,10},
+{91,58,227,3,12,1,1,4},
+{123,103,180,5,12,1,0,5},
+{251,12,150,6,11,0,1,8},
+{59,71,234,2,9,3,1,4},
+{187,31,181,5,6,4,1,7},
+{188,16,33,10,10,1,0,10},
+{124,83,229,2,14,0,3,7},
+{220,62,79,8,13,-2,1,10},
+{252,92,133,6,11,0,1,8},
+{92,97,80,7,10,1,-1,5},
+{60,92,153,6,7,3,1,8},
+{189,47,20,11,10,1,0,10},
+{253,28,47,9,14,0,-1,7},
+{221,54,48,9,13,-2,-1,7},
+{93,44,226,3,12,1,0,4},
+{125,110,196,5,12,1,0,5},
+{61,79,112,7,5,4,0,8},
+{190,104,19,10,10,1,0,10},
+{222,32,165,6,10,1,1,8},
+{254,102,119,6,14,0,1,8},
+{62,112,158,6,7,3,1,8},
+{94,86,80,7,6,1,0,7},
+{126,62,158,6,3,5,1,8},
+{223,82,135,6,11,0,1,8},
+{255,41,48,9,14,0,-1,7},
+{191,94,180,5,11,3,0,6},
+{63,74,202,5,10,1,0,6},
+{95,92,148,6,1,12,0,6},
+};
+static const int _lodpi_font_kerning_pair_count=0;
+static const int _lodpi_font_kerning_pairs[1][3]={
+{0,0,0},
+};
+static const int _lodpi_font_img_width=128;
+static const int _lodpi_font_img_height=256;
+static const int _lodpi_font_img_data_size=12909;
+static const unsigned char _lodpi_font_img_data[12909]={
+137,
+80,
+78,
+71,
+13,
+10,
+26,
+10,
+0,
+0,
+0,
+13,
+73,
+72,
+68,
+82,
+0,
+0,
+0,
+128,
+0,
+0,
+1,
+0,
+8,
+6,
+0,
+0,
+0,
+123,
+249,
+126,
+167,
+0,
+0,
+32,
+0,
+73,
+68,
+65,
+84,
+120,
+156,
+237,
+157,
+119,
+184,
+30,
+85,
+181,
+255,
+191,
+59,
+128,
+8,
+210,
+155,
+82,
+77,
+232,
+221,
+2,
+210,
+164,
+132,
+26,
+154,
+5,
+164,
+131,
+63,
+224,
+98,
+65,
+4,
+68,
+46,
+8,
+42,
+23,
+84,
+80,
+41,
+94,
+16,
+21,
+17,
+197,
+10,
+22,
+80,
+17,
+21,
+4,
+5,
+65,
+16,
+41,
+42,
+185,
+116,
+19,
+106,
+128,
+80,
+46,
+32,
+33,
+148,
+208,
+18,
+62,
+191,
+63,
+214,
+122,
+115,
+230,
+204,
+217,
+51,
+179,
+103,
+222,
+121,
+223,
+115,
+146,
+123,
+190,
+207,
+115,
+158,
+51,
+101,
+237,
+50,
+243,
+174,
+217,
+123,
+237,
+213,
+182,
+52,
+138,
+81,
+140,
+98,
+20,
+2,
+150,
+3,
+222,
+0,
+54,
+207,
+93,
+255,
+32,
+134,
+247,
+231,
+174,
+111,
+237,
+244,
+203,
+38,
+212,
+61,
+31,
+48,
+149,
+2,
+68,
+232,
+87,
+242,
+91,
+107,
+102,
+174,
+253,
+28,
+184,
+58,
+115,
+190,
+178,
+211,
+172,
+88,
+243,
+57,
+199,
+84,
+220,
+7,
+216,
+17,
+184,
+21,
+120,
+21,
+184,
+23,
+216,
+9,
+56,
+192,
+143,
+103,
+0,
+55,
+1,
+235,
+36,
+180,
+245,
+117,
+224,
+122,
+224,
+244,
+58,
+125,
+244,
+178,
+247,
+0,
+239,
+4,
+222,
+13,
+220,
+85,
+179,
+236,
+55,
+253,
+57,
+190,
+89,
+69,
+59,
+251,
+101,
+132,
+16,
+30,
+151,
+116,
+171,
+164,
+157,
+114,
+52,
+59,
+74,
+186,
+94,
+210,
+118,
+185,
+235,
+59,
+73,
+250,
+123,
+8,
+225,
+137,
+132,
+62,
+237,
+39,
+233,
+113,
+73,
+11,
+248,
+249,
+206,
+126,
+188,
+64,
+230,
+218,
+108,
+132,
+16,
+30,
+145,
+116,
+175,
+164,
+205,
+252,
+129,
+230,
+149,
+180,
+161,
+164,
+21,
+129,
+133,
+156,
+108,
+115,
+73,
+147,
+67,
+8,
+143,
+150,
+53,
+12,
+28,
+9,
+76,
+3,
+206,
+4,
+198,
+74,
+186,
+49,
+161,
+191,
+103,
+75,
+58,
+76,
+210,
+242,
+178,
+103,
+191,
+88,
+210,
+17,
+146,
+118,
+151,
+52,
+78,
+210,
+51,
+146,
+190,
+157,
+80,
+207,
+102,
+33,
+132,
+45,
+37,
+109,
+157,
+64,
+155,
+199,
+204,
+204,
+241,
+172,
+212,
+66,
+192,
+119,
+37,
+45,
+41,
+105,
+13,
+73,
+75,
+251,
+121,
+114,
+225,
+19,
+128,
+137,
+185,
+107,
+15,
+1,
+59,
+3,
+255,
+202,
+93,
+191,
+11,
+248,
+108,
+98,
+189,
+119,
+2,
+251,
+250,
+49,
+64,
+158,
+153,
+98,
+101,
+206,
+1,
+206,
+247,
+227,
+109,
+128,
+75,
+129,
+31,
+117,
+70,
+34,
+224,
+188,
+20,
+14,
+7,
+110,
+241,
+209,
+226,
+76,
+224,
+57,
+224,
+136,
+10,
+122,
+128,
+79,
+100,
+206,
+215,
+205,
+247,
+217,
+71,
+136,
+23,
+18,
+218,
+190,
+223,
+203,
+222,
+93,
+69,
+59,
+34,
+0,
+172,
+159,
+29,
+214,
+129,
+53,
+128,
+71,
+252,
+120,
+42,
+176,
+188,
+31,
+175,
+232,
+15,
+182,
+118,
+66,
+157,
+59,
+1,
+143,
+250,
+87,
+92,
+135,
+1,
+62,
+216,
+121,
+113,
+192,
+89,
+192,
+97,
+192,
+65,
+192,
+185,
+126,
+237,
+110,
+114,
+211,
+82,
+65,
+61,
+165,
+67,
+126,
+132,
+30,
+96,
+219,
+204,
+249,
+88,
+191,
+54,
+54,
+115,
+109,
+115,
+24,
+58,
+117,
+69,
+234,
+186,
+12,
+248,
+53,
+240,
+251,
+58,
+125,
+240,
+178,
+59,
+121,
+187,
+249,
+17,
+185,
+167,
+101,
+59,
+95,
+252,
+193,
+126,
+124,
+100,
+230,
+43,
+252,
+17,
+112,
+144,
+31,
+127,
+28,
+184,
+47,
+177,
+190,
+107,
+128,
+207,
+100,
+206,
+135,
+160,
+160,
+220,
+162,
+192,
+107,
+254,
+255,
+62,
+76,
+46,
+88,
+14,
+120,
+16,
+88,
+204,
+239,
+45,
+146,
+216,
+135,
+228,
+23,
+226,
+116,
+155,
+103,
+206,
+59,
+12,
+176,
+66,
+230,
+90,
+37,
+3,
+0,
+227,
+128,
+151,
+252,
+99,
+121,
+41,
+203,
+64,
+137,
+125,
+238,
+134,
+121,
+26,
+151,
+21,
+112,
+54,
+112,
+177,
+31,
+255,
+1,
+216,
+211,
+143,
+247,
+7,
+46,
+244,
+227,
+75,
+129,
+175,
+37,
+212,
+245,
+110,
+224,
+5,
+96,
+177,
+204,
+53,
+252,
+7,
+121,
+115,
+231,
+175,
+164,
+252,
+77,
+192,
+129,
+192,
+29,
+153,
+107,
+119,
+0,
+7,
+3,
+55,
+212,
+120,
+166,
+228,
+23,
+210,
+34,
+3,
+156,
+14,
+252,
+218,
+143,
+47,
+1,
+78,
+171,
+209,
+223,
+198,
+204,
+211,
+45,
+227,
+9,
+216,
+22,
+19,
+154,
+22,
+0,
+158,
+7,
+22,
+247,
+235,
+111,
+5,
+30,
+199,
+36,
+250,
+231,
+201,
+173,
+22,
+10,
+234,
+250,
+121,
+236,
+139,
+39,
+97,
+10,
+240,
+242,
+39,
+3,
+55,
+0,
+95,
+201,
+92,
+59,
+195,
+25,
+227,
+164,
+196,
+58,
+106,
+189,
+144,
+54,
+24,
+192,
+25,
+251,
+25,
+96,
+15,
+63,
+223,
+195,
+207,
+11,
+153,
+61,
+87,
+190,
+27,
+230,
+105,
+92,
+182,
+83,
+193,
+188,
+206,
+0,
+31,
+7,
+110,
+206,
+221,
+187,
+29,
+27,
+9,
+158,
+162,
+122,
+57,
+53,
+22,
+27,
+166,
+215,
+206,
+126,
+237,
+53,
+25,
+96,
+75,
+167,
+223,
+44,
+115,
+109,
+187,
+252,
+181,
+138,
+58,
+106,
+189,
+144,
+150,
+24,
+224,
+64,
+255,
+72,
+22,
+240,
+243,
+55,
+3,
+211,
+129,
+3,
+19,
+250,
+219,
+152,
+121,
+186,
+101,
+188,
+108,
+69,
+63,
+195,
+164,
+231,
+47,
+230,
+174,
+127,
+205,
+191,
+190,
+31,
+36,
+212,
+113,
+54,
+240,
+219,
+200,
+117,
+72,
+156,
+2,
+186,
+69,
+107,
+47,
+164,
+126,
+187,
+127,
+39,
+142,
+91,
+18,
+202,
+118,
+195,
+60,
+141,
+203,
+230,
+43,
+218,
+219,
+59,
+252,
+222,
+220,
+245,
+9,
+126,
+253,
+3,
+21,
+229,
+23,
+7,
+94,
+4,
+198,
+71,
+238,
+13,
+65,
+173,
+206,
+213,
+64,
+107,
+47,
+164,
+94,
+155,
+239,
+1,
+102,
+97,
+43,
+168,
+236,
+200,
+183,
+154,
+95,
+223,
+176,
+162,
+124,
+55,
+204,
+211,
+184,
+236,
+92,
+137,
+225,
+120,
+33,
+216,
+106,
+233,
+55,
+5,
+247,
+46,
+5,
+126,
+88,
+82,
+182,
+49,
+243,
+116,
+203,
+120,
+115,
+29,
+134,
+227,
+133,
+0,
+75,
+2,
+47,
+3,
+91,
+21,
+220,
+223,
+214,
+239,
+47,
+89,
+112,
+191,
+27,
+230,
+105,
+92,
+118,
+174,
+196,
+156,
+246,
+66,
+186,
+97,
+158,
+110,
+25,
+111,
+174,
+195,
+232,
+11,
+105,
+1,
+116,
+163,
+78,
+180,
+242,
+75,
+1,
+255,
+11,
+252,
+180,
+102,
+185,
+159,
+123,
+185,
+165,
+154,
+180,
+59,
+138,
+150,
+64,
+55,
+234,
+68,
+43,
+127,
+5,
+166,
+195,
+175,
+171,
+139,
+159,
+7,
+51,
+163,
+254,
+161,
+73,
+187,
+163,
+104,
+1,
+116,
+171,
+78,
+156,
+139,
+1,
+44,
+3,
+188,
+14,
+108,
+19,
+185,
+183,
+131,
+223,
+91,
+102,
+56,
+250,
+214,
+4,
+69,
+95,
+231,
+39,
+36,
+93,
+233,
+182,
+246,
+63,
+250,
+121,
+50,
+186,
+153,
+62,
+186,
+157,
+122,
+122,
+141,
+16,
+194,
+83,
+146,
+174,
+146,
+180,
+103,
+228,
+246,
+158,
+146,
+254,
+228,
+52,
+131,
+0,
+44,
+136,
+57,
+121,
+124,
+46,
+114,
+239,
+72,
+191,
+183,
+96,
+228,
+222,
+217,
+152,
+129,
+238,
+62,
+224,
+204,
+204,
+245,
+177,
+152,
+133,
+54,
+201,
+32,
+150,
+12,
+90,
+208,
+158,
+117,
+51,
+125,
+212,
+41,
+235,
+194,
+222,
+143,
+129,
+215,
+114,
+215,
+43,
+95,
+142,
+51,
+217,
+171,
+184,
+173,
+35,
+119,
+239,
+77,
+192,
+211,
+80,
+104,
+169,
+220,
+215,
+229,
+148,
+121,
+50,
+215,
+230,
+245,
+50,
+251,
+148,
+180,
+185,
+30,
+102,
+28,
+219,
+58,
+115,
+109,
+99,
+204,
+79,
+97,
+221,
+130,
+50,
+107,
+250,
+180,
+184,
+46,
+240,
+104,
+230,
+250,
+133,
+192,
+167,
+138,
+218,
+106,
+12,
+186,
+212,
+158,
+117,
+51,
+125,
+212,
+45,
+11,
+252,
+2,
+179,
+77,
+204,
+200,
+93,
+175,
+124,
+57,
+206,
+0,
+55,
+147,
+113,
+254,
+200,
+220,
+219,
+3,
+184,
+177,
+132,
+1,
+22,
+244,
+119,
+180,
+77,
+230,
+218,
+118,
+217,
+247,
+86,
+210,
+238,
+199,
+128,
+39,
+129,
+101,
+157,
+129,
+31,
+6,
+62,
+86,
+81,
+230,
+58,
+103,
+174,
+143,
+248,
+249,
+187,
+48,
+103,
+147,
+55,
+149,
+149,
+107,
+4,
+186,
+212,
+158,
+49,
+12,
+150,
+44,
+96,
+102,
+230,
+56,
+233,
+229,
+248,
+51,
+29,
+79,
+206,
+224,
+229,
+247,
+254,
+0,
+28,
+81,
+196,
+0,
+78,
+243,
+35,
+220,
+57,
+197,
+207,
+207,
+3,
+126,
+148,
+216,
+223,
+95,
+96,
+190,
+130,
+127,
+0,
+126,
+145,
+88,
+102,
+89,
+224,
+223,
+126,
+252,
+39,
+220,
+195,
+170,
+85,
+208,
+189,
+30,
+123,
+88,
+44,
+89,
+57,
+6,
+72,
+122,
+57,
+206,
+0,
+219,
+98,
+243,
+235,
+26,
+153,
+235,
+203,
+3,
+255,
+196,
+220,
+208,
+202,
+24,
+96,
+59,
+124,
+26,
+240,
+191,
+167,
+200,
+120,
+18,
+85,
+180,
+189,
+48,
+54,
+69,
+61,
+69,
+197,
+28,
+142,
+59,
+189,
+2,
+107,
+97,
+158,
+85,
+219,
+99,
+14,
+171,
+1,
+27,
+253,
+94,
+43,
+43,
+95,
+11,
+116,
+169,
+61,
+99,
+152,
+44,
+89,
+29,
+6,
+200,
+188,
+156,
+147,
+128,
+73,
+216,
+240,
+26,
+157,
+10,
+156,
+1,
+182,
+195,
+124,
+14,
+190,
+156,
+185,
+254,
+121,
+224,
+112,
+191,
+87,
+198,
+0,
+99,
+128,
+199,
+156,
+81,
+182,
+246,
+31,
+52,
+105,
+201,
+235,
+31,
+218,
+116,
+108,
+154,
+27,
+178,
+154,
+200,
+209,
+222,
+130,
+9,
+128,
+119,
+2,
+239,
+243,
+231,
+219,
+14,
+88,
+221,
+127,
+175,
+25,
+101,
+229,
+147,
+65,
+11,
+218,
+51,
+134,
+201,
+146,
+5,
+204,
+244,
+47,
+162,
+243,
+114,
+54,
+197,
+28,
+90,
+22,
+3,
+166,
+23,
+148,
+233,
+48,
+192,
+106,
+206,
+40,
+99,
+188,
+142,
+187,
+49,
+107,
+102,
+41,
+3,
+120,
+29,
+103,
+96,
+186,
+142,
+179,
+73,
+116,
+253,
+118,
+198,
+254,
+23,
+240,
+73,
+224,
+88,
+108,
+4,
+90,
+168,
+186,
+164,
+4,
+236,
+7,
+252,
+17,
+152,
+31,
+184,
+26,
+120,
+27,
+240,
+122,
+74,
+217,
+158,
+131,
+97,
+182,
+100,
+117,
+94,
+78,
+238,
+218,
+4,
+224,
+138,
+2,
+122,
+112,
+199,
+20,
+76,
+224,
+219,
+22,
+24,
+143,
+207,
+201,
+137,
+12,
+240,
+14,
+108,
+249,
+54,
+25,
+88,
+191,
+170,
+143,
+94,
+230,
+76,
+224,
+42,
+103,
+182,
+121,
+128,
+127,
+0,
+149,
+46,
+230,
+216,
+202,
+228,
+126,
+44,
+86,
+224,
+28,
+6,
+166,
+202,
+153,
+85,
+101,
+251,
+2,
+134,
+209,
+146,
+149,
+125,
+57,
+153,
+107,
+155,
+2,
+215,
+82,
+108,
+121,
+203,
+50,
+192,
+161,
+216,
+114,
+242,
+2,
+96,
+123,
+191,
+86,
+201,
+0,
+78,
+119,
+59,
+112,
+123,
+21,
+157,
+211,
+110,
+9,
+60,
+75,
+38,
+152,
+5,
+243,
+196,
+126,
+149,
+204,
+210,
+176,
+160,
+236,
+81,
+192,
+5,
+126,
+252,
+47,
+108,
+138,
+155,
+228,
+207,
+49,
+188,
+90,
+83,
+134,
+217,
+146,
+149,
+125,
+57,
+126,
+190,
+13,
+112,
+17,
+176,
+112,
+73,
+153,
+44,
+3,
+44,
+14,
+252,
+219,
+95,
+236,
+24,
+191,
+150,
+196,
+0,
+169,
+0,
+222,
+2,
+60,
+64,
+68,
+166,
+193,
+228,
+144,
+7,
+129,
+183,
+20,
+148,
+93,
+4,
+147,
+55,
+198,
+70,
+238,
+141,
+140,
+17,
+96,
+184,
+16,
+123,
+57,
+206,
+48,
+247,
+101,
+190,
+146,
+141,
+34,
+229,
+102,
+51,
+128,
+159,
+255,
+146,
+140,
+11,
+92,
+219,
+12,
+48,
+226,
+1,
+108,
+229,
+28,
+122,
+47,
+176,
+113,
+230,
+250,
+242,
+152,
+144,
+212,
+174,
+202,
+113,
+20,
+35,
+11,
+152,
+20,
+190,
+13,
+166,
+139,
+191,
+46,
+115,
+253,
+7,
+192,
+145,
+195,
+217,
+183,
+81,
+244,
+1,
+216,
+154,
+244,
+45,
+192,
+66,
+248,
+210,
+9,
+211,
+63,
+223,
+75,
+47,
+84,
+142,
+163,
+24,
+89,
+192,
+140,
+20,
+29,
+6,
+120,
+222,
+175,
+93,
+78,
+137,
+113,
+195,
+105,
+26,
+27,
+100,
+156,
+110,
+39,
+204,
+0,
+116,
+149,
+255,
+93,
+6,
+76,
+232,
+254,
+137,
+134,
+31,
+12,
+198,
+12,
+44,
+170,
+233,
+68,
+42,
+236,
+5,
+5,
+117,
+189,
+189,
+224,
+250,
+82,
+190,
+138,
+200,
+135,
+245,
+111,
+130,
+197,
+101,
+44,
+157,
+218,
+192,
+13,
+153,
+41,
+224,
+111,
+216,
+154,
+248,
+159,
+152,
+150,
+107,
+136,
+108,
+144,
+41,
+215,
+141,
+65,
+230,
+100,
+224,
+123,
+89,
+9,
+31,
+88,
+218,
+175,
+149,
+70,
+254,
+212,
+101,
+28,
+111,
+107,
+50,
+240,
+138,
+255,
+159,
+0,
+124,
+26,
+51,
+204,
+60,
+5,
+156,
+75,
+196,
+28,
+155,
+41,
+191,
+14,
+240,
+83,
+23,
+56,
+159,
+198,
+150,
+157,
+167,
+149,
+49,
+184,
+255,
+240,
+157,
+24,
+136,
+177,
+192,
+7,
+48,
+101,
+213,
+223,
+139,
+218,
+194,
+116,
+254,
+223,
+243,
+118,
+94,
+5,
+166,
+248,
+52,
+252,
+34,
+176,
+92,
+65,
+153,
+139,
+240,
+24,
+206,
+204,
+181,
+115,
+113,
+187,
+74,
+18,
+128,
+205,
+48,
+201,
+249,
+126,
+96,
+139,
+140,
+76,
+16,
+149,
+13,
+34,
+229,
+107,
+25,
+100,
+128,
+93,
+24,
+80,
+186,
+128,
+169,
+70,
+31,
+7,
+142,
+245,
+107,
+223,
+43,
+250,
+65,
+155,
+48,
+14,
+102,
+194,
+125,
+15,
+182,
+228,
+251,
+152,
+127,
+145,
+147,
+176,
+105,
+110,
+37,
+255,
+0,
+162,
+241,
+142,
+192,
+110,
+254,
+110,
+246,
+194,
+109,
+19,
+152,
+99,
+200,
+119,
+252,
+171,
+142,
+46,
+55,
+253,
+185,
+182,
+203,
+93,
+91,
+8,
+91,
+242,
+157,
+16,
+161,
+95,
+10,
+19,
+184,
+127,
+131,
+41,
+153,
+22,
+1,
+54,
+192,
+84,
+228,
+143,
+20,
+49,
+27,
+3,
+150,
+200,
+5,
+253,
+124,
+126,
+44,
+186,
+107,
+151,
+24,
+125,
+37,
+128,
+125,
+112,
+229,
+2,
+17,
+217,
+160,
+160,
+76,
+45,
+131,
+12,
+230,
+50,
+182,
+148,
+31,
+131,
+169,
+53,
+87,
+195,
+194,
+211,
+23,
+244,
+31,
+244,
+178,
+72,
+185,
+44,
+227,
+172,
+4,
+252,
+197,
+31,
+246,
+119,
+126,
+173,
+144,
+113,
+50,
+117,
+204,
+139,
+105,
+24,
+63,
+150,
+185,
+182,
+7,
+240,
+112,
+132,
+118,
+172,
+191,
+252,
+149,
+10,
+234,
+186,
+144,
+140,
+45,
+33,
+119,
+111,
+8,
+3,
+248,
+245,
+207,
+17,
+201,
+250,
+1,
+252,
+183,
+51,
+229,
+152,
+28,
+237,
+3,
+152,
+138,
+250,
+11,
+5,
+237,
+4,
+103,
+170,
+255,
+231,
+231,
+123,
+249,
+199,
+52,
+79,
+140,
+190,
+20,
+152,
+86,
+237,
+94,
+92,
+181,
+73,
+68,
+54,
+40,
+40,
+151,
+55,
+200,
+148,
+90,
+171,
+24,
+156,
+238,
+5,
+224,
+67,
+192,
+113,
+152,
+110,
+188,
+163,
+140,
+185,
+42,
+82,
+46,
+203,
+56,
+191,
+195,
+244,
+241,
+99,
+112,
+61,
+64,
+9,
+227,
+172,
+128,
+133,
+188,
+61,
+236,
+127,
+49,
+188,
+17,
+41,
+247,
+117,
+224,
+56,
+63,
+94,
+13,
+83,
+27,
+79,
+197,
+134,
+230,
+21,
+48,
+245,
+245,
+189,
+145,
+114,
+67,
+144,
+185,
+247,
+65,
+224,
+229,
+72,
+153,
+201,
+157,
+182,
+252,
+124,
+93,
+76,
+167,
+177,
+165,
+191,
+155,
+59,
+242,
+101,
+50,
+180,
+159,
+7,
+174,
+241,
+227,
+203,
+129,
+83,
+139,
+104,
+75,
+1,
+124,
+138,
+140,
+93,
+27,
+147,
+7,
+182,
+198,
+101,
+131,
+146,
+114,
+121,
+131,
+76,
+169,
+181,
+42,
+194,
+0,
+87,
+96,
+115,
+241,
+58,
+153,
+235,
+49,
+6,
+200,
+150,
+123,
+14,
+88,
+61,
+66,
+19,
+43,
+247,
+103,
+204,
+211,
+104,
+17,
+103,
+24,
+176,
+16,
+184,
+172,
+237,
+97,
+136,
+233,
+25,
+251,
+34,
+215,
+246,
+227,
+107,
+128,
+195,
+252,
+248,
+85,
+44,
+98,
+122,
+12,
+240,
+74,
+164,
+92,
+39,
+16,
+118,
+167,
+124,
+221,
+192,
+238,
+192,
+139,
+145,
+50,
+175,
+0,
+123,
+249,
+241,
+188,
+152,
+12,
+118,
+150,
+159,
+239,
+89,
+244,
+46,
+253,
+254,
+114,
+152,
+208,
+183,
+14,
+230,
+151,
+184,
+70,
+17,
+109,
+33,
+252,
+229,
+60,
+202,
+96,
+93,
+245,
+32,
+217,
+160,
+162,
+124,
+178,
+181,
+202,
+127,
+240,
+37,
+253,
+24,
+167,
+61,
+16,
+56,
+207,
+175,
+45,
+69,
+252,
+75,
+206,
+51,
+192,
+106,
+17,
+154,
+24,
+3,
+188,
+4,
+236,
+234,
+199,
+227,
+188,
+205,
+83,
+202,
+158,
+199,
+105,
+95,
+102,
+96,
+110,
+125,
+9,
+120,
+59,
+54,
+26,
+130,
+141,
+150,
+139,
+3,
+79,
+23,
+148,
+133,
+248,
+20,
+240,
+37,
+224,
+214,
+200,
+245,
+87,
+24,
+200,
+199,
+112,
+2,
+54,
+34,
+116,
+204,
+227,
+123,
+17,
+25,
+53,
+114,
+229,
+127,
+135,
+77,
+191,
+133,
+31,
+106,
+207,
+64,
+77,
+107,
+21,
+102,
+219,
+254,
+185,
+31,
+119,
+24,
+32,
+96,
+158,
+50,
+155,
+96,
+115,
+249,
+16,
+199,
+208,
+28,
+227,
+252,
+22,
+243,
+34,
+26,
+195,
+192,
+180,
+80,
+196,
+56,
+147,
+176,
+233,
+226,
+173,
+216,
+84,
+112,
+163,
+51,
+208,
+222,
+206,
+16,
+239,
+5,
+118,
+143,
+148,
+123,
+9,
+88,
+212,
+143,
+31,
+194,
+134,
+227,
+29,
+176,
+17,
+96,
+25,
+44,
+140,
+254,
+226,
+130,
+103,
+28,
+194,
+0,
+94,
+230,
+73,
+224,
+63,
+35,
+244,
+147,
+49,
+47,
+165,
+245,
+48,
+33,
+117,
+211,
+204,
+189,
+227,
+129,
+59,
+99,
+237,
+228,
+222,
+41,
+184,
+235,
+88,
+95,
+65,
+3,
+107,
+21,
+240,
+85,
+44,
+16,
+36,
+43,
+205,
+47,
+133,
+45,
+45,
+79,
+46,
+40,
+147,
+101,
+156,
+149,
+176,
+37,
+224,
+52,
+60,
+137,
+85,
+9,
+227,
+108,
+143,
+205,
+253,
+211,
+129,
+111,
+97,
+67,
+236,
+209,
+126,
+237,
+117,
+108,
+78,
+143,
+249,
+7,
+78,
+196,
+163,
+156,
+177,
+161,
+123,
+138,
+63,
+215,
+4,
+224,
+127,
+48,
+225,
+108,
+229,
+130,
+190,
+130,
+77,
+1,
+11,
+96,
+242,
+194,
+1,
+152,
+176,
+118,
+13,
+145,
+21,
+18,
+230,
+91,
+112,
+15,
+54,
+141,
+158,
+150,
+185,
+62,
+143,
+51,
+71,
+244,
+157,
+100,
+232,
+118,
+114,
+134,
+45,
+52,
+130,
+245,
+4,
+116,
+97,
+173,
+242,
+31,
+244,
+10,
+108,
+202,
+184,
+218,
+143,
+75,
+151,
+47,
+77,
+24,
+167,
+41,
+128,
+255,
+44,
+98,
+224,
+132,
+178,
+89,
+60,
+143,
+45,
+169,
+143,
+2,
+230,
+43,
+160,
+95,
+6,
+147,
+222,
+95,
+198,
+150,
+172,
+11,
+99,
+115,
+250,
+149,
+206,
+116,
+67,
+150,
+129,
+206,
+28,
+11,
+97,
+194,
+232,
+93,
+192,
+25,
+77,
+250,
+58,
+199,
+161,
+9,
+227,
+52,
+108,
+103,
+62,
+255,
+98,
+127,
+69,
+198,
+117,
+219,
+127,
+172,
+86,
+29,
+51,
+177,
+21,
+204,
+115,
+152,
+101,
+242,
+49,
+76,
+168,
+155,
+234,
+35,
+86,
+52,
+84,
+206,
+71,
+150,
+87,
+188,
+220,
+15,
+128,
+249,
+219,
+236,
+147,
+168,
+25,
+218,
+53,
+55,
+194,
+153,
+224,
+211,
+152,
+84,
+62,
+13,
+243,
+29,
+120,
+0,
+23,
+88,
+91,
+110,
+43,
+26,
+31,
+208,
+55,
+144,
+203,
+172,
+73,
+196,
+109,
+122,
+20,
+115,
+15,
+98,
+95,
+247,
+254,
+146,
+54,
+240,
+227,
+219,
+36,
+213,
+138,
+238,
+29,
+197,
+28,
+142,
+58,
+67,
+190,
+207,
+89,
+175,
+145,
+243,
+184,
+193,
+194,
+157,
+94,
+45,
+154,
+183,
+114,
+180,
+141,
+194,
+200,
+71,
+209,
+3,
+48,
+216,
+18,
+213,
+17,
+64,
+190,
+77,
+137,
+73,
+17,
+211,
+174,
+125,
+35,
+119,
+237,
+219,
+20,
+172,
+141,
+35,
+229,
+107,
+133,
+145,
+211,
+48,
+139,
+246,
+40,
+163,
+85,
+128,
+1,
+75,
+212,
+165,
+12,
+88,
+162,
+214,
+243,
+31,
+248,
+62,
+92,
+25,
+18,
+41,
+183,
+11,
+166,
+194,
+237,
+228,
+2,
+126,
+147,
+11,
+73,
+61,
+177,
+233,
+99,
+214,
+183,
+14,
+3,
+36,
+121,
+227,
+122,
+185,
+36,
+70,
+195,
+20,
+66,
+19,
+49,
+69,
+204,
+237,
+84,
+104,
+63,
+115,
+101,
+107,
+51,
+39,
+53,
+82,
+187,
+231,
+202,
+181,
+203,
+208,
+152,
+37,
+234,
+94,
+114,
+22,
+36,
+76,
+203,
+54,
+153,
+98,
+139,
+215,
+60,
+62,
+98,
+236,
+226,
+231,
+187,
+59,
+35,
+69,
+95,
+52,
+109,
+57,
+48,
+244,
+8,
+152,
+54,
+243,
+84,
+96,
+9,
+76,
+115,
+152,
+148,
+19,
+217,
+203,
+214,
+98,
+78,
+224,
+187,
+152,
+86,
+114,
+117,
+76,
+135,
+145,
+156,
+218,
+189,
+238,
+200,
+153,
+82,
+225,
+32,
+75,
+84,
+238,
+222,
+241,
+101,
+28,
+141,
+41,
+102,
+126,
+230,
+199,
+191,
+161,
+192,
+108,
+153,
+161,
+175,
+229,
+192,
+208,
+132,
+105,
+176,
+168,
+160,
+105,
+228,
+220,
+176,
+49,
+83,
+247,
+179,
+37,
+35,
+218,
+11,
+25,
+102,
+222,
+139,
+2,
+61,
+255,
+92,
+7,
+50,
+150,
+168,
+200,
+189,
+82,
+67,
+4,
+102,
+38,
+157,
+142,
+185,
+135,
+205,
+160,
+192,
+118,
+158,
+161,
+175,
+237,
+192,
+80,
+151,
+105,
+252,
+254,
+137,
+152,
+118,
+44,
+100,
+174,
+221,
+70,
+196,
+25,
+35,
+115,
+255,
+39,
+152,
+61,
+98,
+2,
+166,
+149,
+59,
+172,
+236,
+89,
+188,
+76,
+19,
+217,
+169,
+47,
+101,
+146,
+209,
+13,
+3,
+56,
+205,
+95,
+49,
+15,
+153,
+63,
+150,
+209,
+57,
+109,
+109,
+7,
+134,
+134,
+76,
+179,
+136,
+127,
+237,
+239,
+243,
+243,
+157,
+177,
+136,
+227,
+178,
+128,
+145,
+245,
+48,
+211,
+246,
+27,
+192,
+222,
+9,
+207,
+82,
+91,
+118,
+234,
+87,
+153,
+90,
+192,
+116,
+205,
+199,
+23,
+220,
+75,
+177,
+68,
+29,
+236,
+47,
+46,
+150,
+58,
+37,
+70,
+95,
+203,
+129,
+161,
+9,
+211,
+100,
+218,
+185,
+193,
+143,
+255,
+74,
+193,
+52,
+231,
+247,
+223,
+235,
+12,
+115,
+54,
+166,
+233,
+251,
+25,
+3,
+206,
+41,
+135,
+19,
+113,
+200,
+160,
+129,
+236,
+212,
+175,
+50,
+181,
+128,
+37,
+130,
+190,
+47,
+210,
+64,
+146,
+37,
+170,
+65,
+123,
+181,
+29,
+24,
+234,
+50,
+141,
+211,
+45,
+236,
+95,
+253,
+103,
+49,
+169,
+57,
+26,
+126,
+229,
+180,
+119,
+0,
+95,
+242,
+227,
+149,
+24,
+112,
+200,
+92,
+206,
+153,
+237,
+195,
+145,
+50,
+181,
+101,
+167,
+126,
+149,
+169,
+133,
+204,
+16,
+115,
+21,
+230,
+138,
+148,
+181,
+68,
+117,
+63,
+196,
+196,
+219,
+172,
+229,
+192,
+208,
+132,
+105,
+188,
+220,
+113,
+24,
+134,
+216,
+224,
+115,
+116,
+47,
+2,
+187,
+101,
+206,
+87,
+198,
+28,
+100,
+94,
+0,
+190,
+95,
+80,
+166,
+246,
+212,
+217,
+175,
+50,
+41,
+200,
+238,
+26,
+246,
+140,
+164,
+77,
+36,
+77,
+145,
+244,
+39,
+73,
+255,
+150,
+101,
+8,
+123,
+80,
+182,
+251,
+85,
+161,
+67,
+104,
+23,
+248,
+158,
+164,
+237,
+37,
+37,
+165,
+109,
+245,
+157,
+205,
+174,
+148,
+116,
+150,
+108,
+199,
+178,
+201,
+137,
+237,
+116,
+148,
+82,
+67,
+210,
+215,
+231,
+112,
+163,
+164,
+227,
+176,
+101,
+220,
+56,
+73,
+155,
+202,
+118,
+239,
+154,
+79,
+210,
+180,
+196,
+182,
+230,
+40,
+204,
+155,
+61,
+241,
+45,
+224,
+62,
+218,
+199,
+246,
+103,
+74,
+154,
+33,
+233,
+162,
+26,
+101,
+190,
+39,
+233,
+119,
+170,
+215,
+207,
+212,
+32,
+207,
+131,
+36,
+125,
+93,
+198,
+248,
+11,
+73,
+154,
+36,
+233,
+11,
+146,
+110,
+146,
+116,
+45,
+240,
+74,
+8,
+33,
+191,
+130,
+152,
+34,
+41,
+234,
+16,
+226,
+215,
+239,
+143,
+92,
+239,
+87,
+153,
+222,
+131,
+226,
+165,
+73,
+52,
+89,
+34,
+93,
+58,
+48,
+208,
+192,
+235,
+133,
+129,
+93,
+63,
+86,
+173,
+211,
+86,
+98,
+221,
+181,
+101,
+167,
+126,
+149,
+233,
+57,
+40,
+95,
+154,
+60,
+64,
+102,
+179,
+168,
+76,
+153,
+218,
+14,
+12,
+45,
+48,
+77,
+47,
+25,
+160,
+182,
+236,
+212,
+175,
+50,
+61,
+7,
+189,
+94,
+154,
+12,
+212,
+215,
+91,
+175,
+151,
+46,
+145,
+25,
+5,
+31,
+167,
+190,
+82,
+167,
+167,
+101,
+154,
+62,
+80,
+82,
+198,
+110,
+122,
+189,
+52,
+25,
+197,
+240,
+128,
+196,
+140,
+221,
+244,
+104,
+105,
+50,
+138,
+254,
+97,
+222,
+216,
+197,
+16,
+194,
+44,
+73,
+71,
+181,
+80,
+127,
+123,
+73,
+12,
+71,
+209,
+19,
+12,
+50,
+37,
+82,
+223,
+216,
+48,
+69,
+229,
+75,
+147,
+41,
+249,
+139,
+52,
+180,
+210,
+213,
+133,
+11,
+125,
+177,
+168,
+156,
+194,
+220,
+63,
+152,
+47,
+195,
+49,
+152,
+63,
+192,
+75,
+152,
+98,
+232,
+110,
+160,
+141,
+143,
+97,
+100,
+163,
+66,
+162,
+47,
+146,
+76,
+171,
+150,
+38,
+255,
+85,
+208,
+86,
+19,
+43,
+93,
+45,
+230,
+172,
+203,
+0,
+254,
+227,
+95,
+135,
+5,
+101,
+236,
+224,
+140,
+250,
+86,
+224,
+253,
+177,
+122,
+114,
+253,
+122,
+202,
+143,
+151,
+6,
+30,
+47,
+233,
+79,
+7,
+149,
+201,
+34,
+98,
+253,
+199,
+98,
+45,
+175,
+35,
+30,
+195,
+56,
+147,
+248,
+30,
+6,
+105,
+201,
+174,
+104,
+102,
+160,
+40,
+91,
+154,
+220,
+73,
+65,
+6,
+76,
+106,
+90,
+233,
+26,
+50,
+103,
+93,
+6,
+56,
+14,
+75,
+252,
+80,
+107,
+4,
+2,
+118,
+197,
+147,
+81,
+98,
+219,
+202,
+71,
+211,
+220,
+123,
+127,
+146,
+147,
+69,
+228,
+251,
+15,
+124,
+25,
+27,
+153,
+138,
+114,
+4,
+212,
+122,
+222,
+14,
+178,
+83,
+192,
+174,
+146,
+190,
+239,
+243,
+255,
+108,
+132,
+16,
+222,
+144,
+169,
+106,
+135,
+108,
+22,
+25,
+81,
+31,
+79,
+147,
+116,
+151,
+164,
+151,
+36,
+109,
+17,
+66,
+24,
+18,
+1,
+235,
+229,
+158,
+151,
+244,
+223,
+146,
+58,
+43,
+136,
+207,
+74,
+58,
+35,
+132,
+240,
+66,
+65,
+63,
+63,
+43,
+233,
+85,
+73,
+31,
+10,
+33,
+220,
+30,
+66,
+120,
+62,
+132,
+112,
+167,
+108,
+131,
+134,
+55,
+36,
+125,
+166,
+160,
+92,
+29,
+236,
+39,
+233,
+188,
+6,
+42,
+239,
+13,
+36,
+77,
+140,
+28,
+199,
+240,
+122,
+8,
+225,
+149,
+16,
+194,
+148,
+16,
+194,
+111,
+37,
+109,
+37,
+105,
+41,
+73,
+71,
+151,
+53,
+0,
+28,
+42,
+105,
+15,
+73,
+59,
+250,
+187,
+107,
+31,
+180,
+36,
+209,
+99,
+86,
+186,
+137,
+249,
+145,
+36,
+66,
+87,
+199,
+74,
+215,
+196,
+122,
+86,
+138,
+8,
+253,
+12,
+96,
+191,
+148,
+103,
+116,
+250,
+231,
+252,
+111,
+38,
+102,
+44,
+26,
+116,
+92,
+208,
+159,
+58,
+201,
+34,
+240,
+175,
+247,
+3,
+62,
+250,
+69,
+115,
+4,
+37,
+212,
+159,
+60,
+2,
+180,
+133,
+79,
+75,
+90,
+69,
+210,
+37,
+148,
+36,
+67,
+242,
+175,
+253,
+12,
+73,
+95,
+145,
+116,
+122,
+8,
+225,
+165,
+146,
+58,
+223,
+46,
+233,
+161,
+130,
+123,
+15,
+122,
+123,
+49,
+236,
+44,
+105,
+129,
+220,
+223,
+206,
+69,
+93,
+146,
+217,
+38,
+102,
+163,
+140,
+97,
+66,
+8,
+139,
+133,
+16,
+22,
+147,
+244,
+164,
+164,
+181,
+252,
+248,
+127,
+37,
+173,
+238,
+199,
+169,
+184,
+167,
+164,
+255,
+235,
+75,
+250,
+153,
+108,
+116,
+28,
+146,
+189,
+164,
+13,
+100,
+25,
+96,
+138,
+90,
+48,
+54,
+132,
+16,
+238,
+149,
+89,
+248,
+222,
+144,
+84,
+149,
+201,
+58,
+213,
+74,
+215,
+20,
+157,
+33,
+119,
+246,
+95,
+73,
+159,
+30,
+148,
+148,
+207,
+53,
+80,
+198,
+48,
+194,
+118,
+20,
+39,
+132,
+48,
+21,
+75,
+224,
+52,
+203,
+13,
+106,
+117,
+48,
+70,
+210,
+172,
+130,
+123,
+235,
+203,
+166,
+166,
+147,
+128,
+229,
+107,
+214,
+155,
+220,
+120,
+7,
+151,
+73,
+58,
+36,
+63,
+116,
+251,
+249,
+193,
+146,
+46,
+77,
+173,
+52,
+132,
+240,
+247,
+16,
+194,
+110,
+33,
+132,
+170,
+60,
+182,
+169,
+86,
+186,
+41,
+234,
+189,
+37,
+236,
+18,
+73,
+135,
+146,
+145,
+176,
+203,
+24,
+198,
+135,
+249,
+127,
+73,
+90,
+214,
+143,
+39,
+75,
+90,
+174,
+51,
+53,
+212,
+104,
+247,
+157,
+94,
+54,
+134,
+11,
+93,
+86,
+184,
+72,
+210,
+79,
+200,
+172,
+154,
+34,
+152,
+37,
+51,
+91,
+231,
+241,
+38,
+229,
+70,
+182,
+44,
+178,
+12,
+112,
+170,
+19,
+95,
+73,
+70,
+162,
+151,
+116,
+185,
+211,
+69,
+51,
+104,
+245,
+9,
+173,
+49,
+103,
+9,
+206,
+144,
+9,
+175,
+127,
+194,
+178,
+164,
+45,
+138,
+173,
+74,
+162,
+95,
+158,
+15,
+243,
+231,
+72,
+58,
+209,
+143,
+207,
+148,
+116,
+82,
+102,
+106,
+168,
+4,
+102,
+49,
+253,
+152,
+108,
+152,
+47,
+195,
+103,
+36,
+173,
+36,
+233,
+216,
+18,
+154,
+123,
+37,
+189,
+59,
+114,
+125,
+35,
+191,
+151,
+212,
+161,
+254,
+24,
+27,
+6,
+218,
+75,
+178,
+210,
+209,
+204,
+122,
+86,
+91,
+40,
+194,
+188,
+154,
+191,
+137,
+101,
+5,
+155,
+233,
+130,
+225,
+189,
+20,
+236,
+235,
+227,
+237,
+79,
+240,
+227,
+203,
+40,
+217,
+234,
+206,
+251,
+83,
+39,
+89,
+196,
+160,
+254,
+99,
+233,
+239,
+95,
+6,
+54,
+200,
+211,
+250,
+253,
+61,
+48,
+167,
+217,
+3,
+253,
+119,
+124,
+27,
+112,
+144,
+11,
+165,
+251,
+23,
+245,
+107,
+142,
+65,
+191,
+153,
+51,
+177,
+79,
+79,
+116,
+218,
+247,
+227,
+183,
+149,
+208,
+102,
+145,
+146,
+44,
+98,
+8,
+3,
+99,
+241,
+23,
+147,
+41,
+78,
+43,
+255,
+62,
+44,
+132,
+253,
+101,
+103,
+222,
+155,
+129,
+15,
+117,
+243,
+140,
+163,
+24,
+197,
+40,
+70,
+49,
+138,
+185,
+31,
+62,
+231,
+220,
+157,
+159,
+147,
+42,
+132,
+166,
+43,
+124,
+94,
+126,
+210,
+231,
+230,
+239,
+2,
+151,
+39,
+180,
+53,
+98,
+66,
+181,
+105,
+24,
+110,
+62,
+183,
+32,
+175,
+9,
+92,
+84,
+210,
+49,
+53,
+202,
+63,
+41,
+105,
+89,
+73,
+107,
+75,
+90,
+75,
+210,
+91,
+252,
+90,
+21,
+46,
+144,
+45,
+125,
+134,
+4,
+90,
+228,
+65,
+162,
+119,
+82,
+174,
+76,
+157,
+144,
+235,
+236,
+26,
+185,
+72,
+33,
+83,
+214,
+86,
+85,
+184,
+249,
+10,
+152,
+89,
+121,
+205,
+18,
+154,
+206,
+190,
+73,
+235,
+213,
+108,
+187,
+52,
+112,
+21,
+203,
+99,
+124,
+117,
+238,
+218,
+159,
+201,
+236,
+175,
+148,
+189,
+1,
+240,
+31,
+46,
+161,
+142,
+203,
+92,
+47,
+27,
+1,
+30,
+3,
+86,
+201,
+156,
+47,
+82,
+213,
+169,
+186,
+32,
+209,
+59,
+41,
+67,
+223,
+56,
+228,
+58,
+177,
+254,
+90,
+57,
+148,
+128,
+243,
+49,
+251,
+72,
+105,
+194,
+12,
+108,
+207,
+133,
+115,
+203,
+104,
+156,
+110,
+33,
+6,
+194,
+213,
+254,
+234,
+255,
+3,
+17,
+203,
+171,
+255,
+30,
+15,
+2,
+255,
+225,
+231,
+135,
+96,
+206,
+186,
+67,
+173,
+174,
+206,
+0,
+91,
+250,
+131,
+93,
+158,
+185,
+94,
+198,
+0,
+79,
+144,
+73,
+146,
+136,
+173,
+207,
+163,
+241,
+244,
+116,
+107,
+175,
+110,
+25,
+77,
+251,
+131,
+237,
+228,
+185,
+178,
+191,
+167,
+231,
+128,
+35,
+74,
+104,
+215,
+240,
+23,
+62,
+63,
+102,
+30,
+127,
+103,
+9,
+237,
+70,
+216,
+154,
+189,
+106,
+131,
+141,
+19,
+48,
+179,
+245,
+79,
+49,
+31,
+138,
+159,
+98,
+9,
+58,
+190,
+88,
+64,
+191,
+137,
+223,
+127,
+167,
+255,
+31,
+178,
+231,
+67,
+135,
+16,
+108,
+139,
+182,
+133,
+176,
+112,
+168,
+78,
+170,
+215,
+50,
+6,
+248,
+1,
+150,
+174,
+117,
+49,
+255,
+241,
+127,
+82,
+244,
+197,
+121,
+253,
+117,
+236,
+243,
+181,
+126,
+160,
+6,
+244,
+181,
+250,
+147,
+185,
+95,
+39,
+135,
+210,
+175,
+128,
+143,
+250,
+241,
+190,
+68,
+82,
+216,
+230,
+232,
+255,
+9,
+28,
+94,
+65,
+179,
+8,
+182,
+165,
+252,
+49,
+216,
+212,
+114,
+180,
+159,
+23,
+250,
+49,
+96,
+142,
+39,
+51,
+136,
+56,
+232,
+228,
+31,
+38,
+184,
+13,
+255,
+40,
+73,
+103,
+71,
+135,
+138,
+193,
+120,
+171,
+164,
+103,
+100,
+170,
+198,
+251,
+100,
+115,
+104,
+105,
+110,
+128,
+26,
+152,
+39,
+210,
+191,
+54,
+233,
+107,
+193,
+25,
+230,
+110,
+111,
+39,
+123,
+189,
+136,
+193,
+54,
+148,
+244,
+46,
+13,
+132,
+189,
+93,
+36,
+105,
+53,
+96,
+147,
+146,
+102,
+206,
+145,
+52,
+36,
+93,
+109,
+22,
+238,
+15,
+48,
+77,
+246,
+27,
+29,
+44,
+179,
+190,
+78,
+171,
+240,
+99,
+24,
+39,
+233,
+89,
+255,
+63,
+8,
+209,
+23,
+22,
+66,
+248,
+181,
+44,
+69,
+220,
+41,
+42,
+49,
+36,
+132,
+16,
+118,
+9,
+33,
+28,
+18,
+66,
+88,
+38,
+132,
+240,
+182,
+16,
+194,
+193,
+33,
+132,
+29,
+203,
+30,
+96,
+14,
+71,
+29,
+33,
+249,
+84,
+73,
+167,
+116,
+12,
+98,
+238,
+88,
+243,
+21,
+73,
+101,
+177,
+18,
+191,
+144,
+244,
+54,
+42,
+118,
+17,
+149,
+180,
+177,
+164,
+137,
+33,
+132,
+95,
+74,
+186,
+69,
+210,
+123,
+139,
+8,
+49,
+175,
+171,
+237,
+36,
+189,
+71,
+210,
+14,
+120,
+198,
+244,
+24,
+225,
+160,
+33,
+17,
+203,
+160,
+253,
+60,
+182,
+189,
+74,
+215,
+115,
+116,
+131,
+41,
+96,
+36,
+210,
+215,
+18,
+146,
+155,
+0,
+115,
+205,
+251,
+101,
+75,
+117,
+45,
+137,
+201,
+105,
+157,
+233,
+124,
+79,
+63,
+95,
+162,
+67,
+83,
+56,
+100,
+134,
+16,
+30,
+146,
+244,
+85,
+73,
+95,
+106,
+163,
+51,
+115,
+9,
+238,
+151,
+116,
+190,
+164,
+111,
+245,
+176,
+141,
+115,
+37,
+189,
+159,
+130,
+13,
+162,
+106,
+226,
+219,
+146,
+238,
+8,
+33,
+252,
+74,
+146,
+124,
+196,
+184,
+211,
+175,
+75,
+170,
+158,
+51,
+191,
+38,
+11,
+19,
+111,
+3,
+141,
+236,
+213,
+61,
+68,
+147,
+254,
+204,
+39,
+233,
+68,
+73,
+235,
+119,
+190,
+170,
+182,
+17,
+66,
+184,
+95,
+210,
+181,
+50,
+51,
+113,
+183,
+117,
+237,
+29,
+66,
+152,
+144,
+187,
+182,
+67,
+8,
+97,
+246,
+86,
+128,
+217,
+252,
+0,
+33,
+132,
+112,
+117,
+142,
+248,
+245,
+16,
+194,
+58,
+33,
+132,
+50,
+71,
+132,
+84,
+212,
+181,
+87,
+215,
+253,
+129,
+234,
+210,
+55,
+177,
+159,
+215,
+21,
+146,
+155,
+226,
+28,
+73,
+31,
+197,
+115,
+47,
+206,
+21,
+160,
+166,
+189,
+26,
+83,
+209,
+126,
+62,
+114,
+253,
+11,
+46,
+141,
+119,
+75,
+95,
+183,
+63,
+121,
+25,
+233,
+114,
+44,
+151,
+208,
+248,
+54,
+101,
+128,
+185,
+26,
+212,
+176,
+87,
+55,
+248,
+129,
+106,
+59,
+68,
+212,
+236,
+79,
+158,
+1,
+90,
+21,
+146,
+71,
+17,
+65,
+157,
+31,
+168,
+9,
+125,
+205,
+190,
+12,
+89,
+53,
+96,
+46,
+237,
+79,
+14,
+39,
+3,
+120,
+191,
+54,
+175,
+166,
+76,
+171,
+108,
+173,
+252,
+57,
+17,
+71,
+68,
+74,
+208,
+74,
+71,
+70,
+32,
+10,
+24,
+96,
+62,
+204,
+130,
+58,
+231,
+51,
+0,
+176,
+10,
+166,
+99,
+222,
+193,
+207,
+183,
+33,
+183,
+143,
+95,
+134,
+182,
+179,
+207,
+222,
+26,
+222,
+129,
+181,
+41,
+216,
+119,
+111,
+20,
+67,
+129,
+109,
+170,
+149,
+36,
+88,
+99,
+6,
+173,
+168,
+219,
+152,
+223,
+111,
+117,
+4,
+216,
+210,
+153,
+224,
+243,
+254,
+127,
+124,
+5,
+253,
+88,
+239,
+64,
+235,
+169,
+87,
+230,
+102,
+164,
+254,
+248,
+78,
+75,
+217,
+135,
+149,
+101,
+0,
+204,
+225,
+244,
+38,
+114,
+41,
+117,
+235,
+118,
+238,
+24,
+175,
+52,
+154,
+53,
+52,
+71,
+155,
+196,
+0,
+88,
+46,
+225,
+171,
+49,
+227,
+197,
+19,
+152,
+141,
+255,
+255,
+252,
+94,
+68,
+41,
+72,
+101,
+0,
+44,
+136,
+247,
+55,
+192,
+239,
+105,
+178,
+103,
+176,
+87,
+182,
+149,
+127,
+249,
+157,
+72,
+217,
+237,
+43,
+232,
+83,
+25,
+224,
+70,
+44,
+217,
+243,
+50,
+152,
+229,
+234,
+160,
+146,
+135,
+129,
+129,
+125,
+252,
+206,
+1,
+22,
+79,
+232,
+119,
+233,
+48,
+233,
+52,
+75,
+97,
+142,
+34,
+83,
+177,
+56,
+200,
+135,
+40,
+216,
+45,
+188,
+23,
+192,
+220,
+192,
+99,
+136,
+109,
+33,
+123,
+97,
+1,
+237,
+175,
+34,
+180,
+96,
+91,
+204,
+125,
+195,
+191,
+254,
+232,
+182,
+244,
+41,
+29,
+28,
+135,
+205,
+249,
+219,
+248,
+249,
+22,
+126,
+190,
+86,
+73,
+153,
+84,
+6,
+120,
+153,
+34,
+35,
+196,
+96,
+58,
+48,
+223,
+249,
+133,
+49,
+251,
+248,
+157,
+120,
+26,
+250,
+132,
+114,
+101,
+95,
+201,
+34,
+152,
+59,
+245,
+213,
+152,
+235,
+215,
+226,
+254,
+124,
+177,
+212,
+175,
+11,
+3,
+23,
+224,
+210,
+125,
+22,
+17,
+218,
+107,
+129,
+255,
+206,
+93,
+59,
+25,
+207,
+77,
+156,
+187,
+62,
+134,
+220,
+62,
+197,
+254,
+55,
+36,
+225,
+21,
+38,
+92,
+118,
+238,
+131,
+5,
+169,
+188,
+153,
+8,
+147,
+251,
+253,
+142,
+7,
+212,
+16,
+121,
+173,
+22,
+200,
+24,
+57,
+252,
+188,
+40,
+104,
+177,
+115,
+63,
+149,
+1,
+238,
+33,
+205,
+219,
+5,
+6,
+175,
+181,
+247,
+7,
+42,
+85,
+209,
+9,
+12,
+112,
+10,
+230,
+189,
+84,
+24,
+172,
+154,
+161,
+61,
+39,
+247,
+187,
+79,
+194,
+116,
+10,
+147,
+34,
+180,
+91,
+96,
+211,
+90,
+103,
+43,
+219,
+249,
+253,
+163,
+121,
+127,
+69,
+27,
+109,
+203,
+0,
+191,
+194,
+188,
+160,
+174,
+168,
+83,
+119,
+215,
+168,
+193,
+0,
+59,
+99,
+27,
+62,
+92,
+71,
+137,
+61,
+60,
+194,
+0,
+31,
+6,
+162,
+193,
+150,
+212,
+27,
+38,
+239,
+166,
+98,
+19,
+139,
+12,
+237,
+99,
+185,
+250,
+238,
+242,
+235,
+81,
+135,
+81,
+44,
+215,
+241,
+201,
+126,
+124,
+176,
+51,
+123,
+233,
+143,
+64,
+15,
+86,
+1,
+216,
+200,
+245,
+16,
+240,
+233,
+148,
+122,
+91,
+65,
+42,
+3,
+56,
+237,
+234,
+152,
+144,
+50,
+139,
+200,
+208,
+235,
+52,
+48,
+48,
+5,
+108,
+140,
+165,
+145,
+249,
+66,
+1,
+109,
+157,
+97,
+242,
+21,
+96,
+159,
+88,
+61,
+17,
+218,
+153,
+53,
+25,
+96,
+19,
+204,
+71,
+112,
+17,
+108,
+47,
+225,
+131,
+83,
+218,
+105,
+11,
+29,
+6,
+240,
+227,
+205,
+49,
+5,
+216,
+187,
+250,
+213,
+120,
+237,
+101,
+32,
+182,
+15,
+79,
+52,
+214,
+63,
+242,
+53,
+31,
+153,
+88,
+39,
+148,
+15,
+147,
+175,
+144,
+176,
+249,
+131,
+211,
+78,
+175,
+195,
+0,
+126,
+239,
+114,
+76,
+250,
+158,
+74,
+36,
+206,
+175,
+151,
+200,
+50,
+128,
+159,
+127,
+5,
+155,
+182,
+10,
+19,
+110,
+12,
+43,
+176,
+164,
+75,
+209,
+52,
+39,
+254,
+48,
+219,
+249,
+241,
+223,
+129,
+66,
+239,
+155,
+220,
+8,
+112,
+169,
+143,
+26,
+69,
+35,
+192,
+36,
+224,
+115,
+137,
+253,
+251,
+83,
+42,
+3,
+48,
+48,
+250,
+228,
+177,
+66,
+74,
+91,
+35,
+10,
+184,
+85,
+43,
+134,
+46,
+235,
+93,
+10,
+51,
+208,
+44,
+141,
+249,
+200,
+95,
+6,
+252,
+174,
+128,
+54,
+203,
+0,
+187,
+97,
+75,
+209,
+162,
+68,
+83,
+117,
+100,
+128,
+51,
+177,
+249,
+177,
+242,
+235,
+196,
+146,
+80,
+61,
+156,
+194,
+0,
+126,
+61,
+59,
+13,
+237,
+196,
+156,
+170,
+13,
+37,
+190,
+76,
+89,
+180,
+5,
+6,
+88,
+28,
+219,
+170,
+165,
+147,
+71,
+231,
+18,
+10,
+162,
+104,
+115,
+12,
+16,
+48,
+225,
+45,
+233,
+203,
+173,
+232,
+195,
+210,
+152,
+167,
+243,
+223,
+176,
+53,
+243,
+34,
+216,
+178,
+183,
+72,
+22,
+121,
+51,
+176,
+1,
+176,
+97,
+25,
+3,
+208,
+197,
+8,
+224,
+12,
+254,
+40,
+17,
+165,
+77,
+65,
+157,
+253,
+183,
+55,
+116,
+30,
+176,
+143,
+237,
+205,
+102,
+0,
+63,
+255,
+48,
+45,
+37,
+143,
+4,
+150,
+7,
+190,
+143,
+133,
+176,
+205,
+194,
+76,
+185,
+215,
+38,
+148,
+235,
+201,
+8,
+128,
+229,
+58,
+40,
+202,
+163,
+56,
+187,
+174,
+236,
+95,
+74,
+189,
+173,
+2,
+155,
+103,
+135,
+36,
+71,
+192,
+180,
+121,
+127,
+241,
+151,
+217,
+193,
+227,
+100,
+156,
+13,
+71,
+50,
+128,
+139,
+129,
+75,
+18,
+105,
+43,
+133,
+64,
+191,
+63,
+136,
+121,
+43,
+104,
+87,
+199,
+150,
+197,
+149,
+35,
+97,
+66,
+155,
+187,
+96,
+59,
+156,
+206,
+192,
+130,
+86,
+214,
+79,
+233,
+67,
+87,
+192,
+134,
+244,
+147,
+252,
+248,
+68,
+224,
+250,
+158,
+55,
+218,
+34,
+176,
+41,
+33,
+41,
+223,
+94,
+42,
+3,
+212,
+108,
+255,
+44,
+160,
+112,
+151,
+148,
+154,
+12,
+48,
+25,
+155,
+170,
+150,
+193,
+132,
+225,
+222,
+255,
+22,
+206,
+109,
+219,
+250,
+241,
+182,
+68,
+244,
+217,
+125,
+232,
+67,
+22,
+47,
+99,
+243,
+233,
+197,
+84,
+107,
+47,
+255,
+138,
+173,
+48,
+62,
+153,
+216,
+78,
+171,
+12,
+128,
+89,
+236,
+166,
+1,
+91,
+149,
+208,
+68,
+81,
+64,
+247,
+137,
+204,
+249,
+142,
+64,
+81,
+178,
+205,
+40,
+154,
+90,
+228,
+238,
+151,
+244,
+65,
+31,
+242,
+63,
+168,
+226,
+44,
+87,
+131,
+128,
+205,
+233,
+80,
+18,
+35,
+87,
+19,
+157,
+60,
+128,
+111,
+147,
+101,
+50,
+93,
+82,
+210,
+144,
+85,
+64,
+22,
+33,
+132,
+45,
+66,
+8,
+27,
+133,
+16,
+206,
+105,
+169,
+15,
+117,
+177,
+159,
+164,
+199,
+66,
+8,
+215,
+85,
+208,
+197,
+114,
+28,
+198,
+144,
+117,
+96,
+125,
+81,
+182,
+215,
+81,
+111,
+225,
+67,
+206,
+52,
+204,
+106,
+55,
+145,
+4,
+205,
+19,
+176,
+32,
+166,
+217,
+123,
+190,
+136,
+1,
+48,
+189,
+122,
+244,
+47,
+66,
+59,
+100,
+152,
+196,
+36,
+235,
+178,
+132,
+147,
+195,
+14,
+204,
+101,
+173,
+116,
+244,
+169,
+57,
+5,
+100,
+149,
+64,
+155,
+199,
+70,
+138,
+50,
+148,
+186,
+29,
+3,
+99,
+60,
+164,
+105,
+16,
+66,
+8,
+255,
+196,
+214,
+212,
+107,
+132,
+16,
+30,
+76,
+108,
+235,
+51,
+178,
+221,
+184,
+10,
+99,
+223,
+66,
+8,
+141,
+184,
+23,
+83,
+254,
+140,
+149,
+237,
+36,
+86,
+103,
+7,
+178,
+174,
+128,
+57,
+204,
+68,
+87,
+18,
+49,
+87,
+122,
+44,
+50,
+119,
+13,
+73,
+63,
+233,
+109,
+207,
+26,
+130,
+26,
+177,
+239,
+88,
+122,
+179,
+14,
+158,
+164,
+68,
+213,
+138,
+45,
+193,
+158,
+192,
+148,
+66,
+111,
+180,
+49,
+5,
+20,
+76,
+147,
+23,
+208,
+212,
+25,
+162,
+89,
+31,
+138,
+76,
+188,
+209,
+37,
+27,
+233,
+57,
+0,
+250,
+54,
+2,
+228,
+101,
+128,
+253,
+101,
+25,
+175,
+37,
+11,
+14,
+141,
+166,
+112,
+1,
+206,
+145,
+101,
+239,
+92,
+213,
+255,
+206,
+85,
+121,
+34,
+201,
+175,
+74,
+58,
+199,
+179,
+139,
+183,
+105,
+174,
+236,
+204,
+147,
+11,
+75,
+26,
+47,
+11,
+234,
+248,
+122,
+164,
+191,
+27,
+98,
+186,
+250,
+233,
+88,
+130,
+234,
+139,
+40,
+73,
+233,
+150,
+138,
+16,
+194,
+27,
+249,
+84,
+180,
+153,
+148,
+180,
+249,
+62,
+44,
+41,
+105,
+47,
+101,
+194,
+178,
+70,
+28,
+72,
+116,
+211,
+242,
+121,
+121,
+163,
+204,
+249,
+38,
+20,
+164,
+71,
+197,
+52,
+111,
+143,
+227,
+198,
+9,
+231,
+218,
+182,
+70,
+128,
+188,
+12,
+176,
+63,
+240,
+108,
+132,
+246,
+66,
+204,
+81,
+99,
+101,
+108,
+13,
+126,
+45,
+5,
+121,
+253,
+157,
+62,
+201,
+123,
+136,
+30,
+169,
+207,
+135,
+5,
+222,
+239,
+36,
+165,
+2,
+102,
+207,
+62,
+210,
+143,
+23,
+244,
+23,
+28,
+141,
+104,
+5,
+110,
+192,
+44,
+84,
+171,
+250,
+31,
+152,
+255,
+126,
+87,
+201,
+143,
+11,
+24,
+224,
+96,
+224,
+177,
+132,
+178,
+239,
+163,
+216,
+32,
+85,
+199,
+123,
+168,
+214,
+20,
+48,
+162,
+225,
+47,
+52,
+73,
+169,
+224,
+95,
+252,
+173,
+152,
+243,
+196,
+67,
+88,
+166,
+176,
+168,
+22,
+176,
+232,
+11,
+1,
+254,
+210,
+66,
+127,
+59,
+234,
+210,
+69,
+49,
+143,
+230,
+251,
+129,
+51,
+19,
+202,
+126,
+130,
+72,
+184,
+152,
+223,
+75,
+246,
+30,
+154,
+171,
+224,
+47,
+180,
+43,
+165,
+66,
+141,
+118,
+218,
+22,
+2,
+103,
+98,
+185,
+120,
+78,
+166,
+98,
+83,
+73,
+44,
+5,
+206,
+125,
+192,
+199,
+11,
+238,
+39,
+123,
+15,
+205,
+85,
+240,
+23,
+185,
+109,
+230,
+188,
+182,
+68,
+89,
+163,
+157,
+182,
+20,
+65,
+117,
+219,
+158,
+199,
+71,
+182,
+223,
+80,
+224,
+146,
+69,
+13,
+239,
+161,
+134,
+125,
+56,
+44,
+50,
+26,
+198,
+18,
+85,
+64,
+66,
+192,
+7,
+240,
+59,
+76,
+86,
+153,
+138,
+9,
+184,
+93,
+233,
+1,
+94,
+173,
+83,
+184,
+9,
+90,
+10,
+53,
+175,
+13,
+76,
+192,
+253,
+129,
+164,
+197,
+101,
+123,
+239,
+148,
+189,
+168,
+94,
+10,
+113,
+75,
+73,
+186,
+66,
+82,
+214,
+219,
+169,
+82,
+110,
+41,
+66,
+8,
+97,
+182,
+3,
+42,
+240,
+99,
+21,
+107,
+12,
+163,
+152,
+123,
+226,
+207,
+75,
+224,
+95,
+251,
+119,
+100,
+75,
+214,
+9,
+33,
+132,
+178,
+253,
+143,
+166,
+168,
+120,
+11,
+151,
+170,
+118,
+86,
+150,
+229,
+1,
+218,
+82,
+166,
+150,
+30,
+31,
+66,
+184,
+41,
+71,
+182,
+148,
+164,
+7,
+61,
+17,
+68,
+107,
+0,
+54,
+147,
+244,
+33,
+89,
+194,
+206,
+100,
+212,
+182,
+5,
+96,
+82,
+242,
+143,
+128,
+127,
+99,
+10,
+160,
+202,
+8,
+162,
+17,
+128,
+111,
+200,
+244,
+4,
+71,
+200,
+146,
+48,
+117,
+86,
+36,
+177,
+156,
+124,
+127,
+144,
+37,
+103,
+168,
+229,
+219,
+135,
+101,
+50,
+189,
+78,
+54,
+122,
+76,
+144,
+237,
+115,
+116,
+103,
+132,
+116,
+41,
+217,
+222,
+66,
+41,
+216,
+4,
+19,
+204,
+103,
+96,
+249,
+0,
+163,
+242,
+141,
+143,
+110,
+223,
+146,
+244,
+213,
+16,
+194,
+163,
+117,
+250,
+157,
+173,
+100,
+208,
+156,
+83,
+36,
+3,
+0,
+223,
+193,
+44,
+106,
+171,
+57,
+205,
+35,
+192,
+1,
+141,
+26,
+237,
+65,
+255,
+74,
+202,
+198,
+240,
+145,
+8,
+109,
+45,
+239,
+161,
+76,
+185,
+255,
+194,
+54,
+131,
+172,
+218,
+45,
+237,
+50,
+204,
+59,
+234,
+53,
+76,
+63,
+242,
+109,
+34,
+153,
+70,
+188,
+127,
+183,
+97,
+190,
+23,
+107,
+98,
+130,
+235,
+23,
+10,
+234,
+60,
+212,
+239,
+247,
+126,
+87,
+117,
+239,
+244,
+142,
+153,
+243,
+143,
+18,
+89,
+46,
+22,
+9,
+55,
+5,
+117,
+158,
+128,
+229,
+3,
+126,
+26,
+56,
+151,
+226,
+141,
+20,
+187,
+82,
+123,
+166,
+130,
+6,
+222,
+67,
+88,
+46,
+130,
+74,
+247,
+53,
+44,
+115,
+215,
+170,
+216,
+82,
+123,
+107,
+204,
+97,
+245,
+194,
+8,
+29,
+120,
+138,
+87,
+63,
+255,
+52,
+241,
+76,
+39,
+75,
+98,
+163,
+241,
+46,
+169,
+207,
+215,
+21,
+48,
+117,
+234,
+123,
+51,
+231,
+59,
+0,
+67,
+146,
+20,
+166,
+50,
+0,
+176,
+31,
+166,
+88,
+90,
+23,
+88,
+9,
+83,
+28,
+197,
+180,
+110,
+125,
+99,
+128,
+38,
+192,
+252,
+29,
+191,
+136,
+133,
+179,
+189,
+128,
+69,
+233,
+84,
+42,
+187,
+176,
+61,
+25,
+103,
+68,
+174,
+67,
+38,
+95,
+32,
+166,
+188,
+26,
+34,
+164,
+99,
+35,
+114,
+105,
+6,
+210,
+50,
+52,
+241,
+7,
+184,
+94,
+210,
+17,
+62,
+52,
+190,
+93,
+182,
+251,
+103,
+179,
+128,
+68,
+195,
+17,
+146,
+190,
+22,
+66,
+184,
+43,
+132,
+240,
+136,
+76,
+151,
+191,
+103,
+23,
+245,
+13,
+23,
+22,
+146,
+180,
+181,
+164,
+221,
+36,
+173,
+40,
+233,
+101,
+153,
+141,
+164,
+10,
+243,
+73,
+122,
+170,
+224,
+222,
+152,
+220,
+113,
+140,
+225,
+63,
+42,
+105,
+51,
+6,
+150,
+130,
+83,
+233,
+165,
+91,
+186,
+127,
+165,
+87,
+98,
+246,
+128,
+59,
+157,
+235,
+159,
+137,
+208,
+165,
+142,
+0,
+207,
+50,
+20,
+67,
+76,
+208,
+145,
+17,
+96,
+251,
+17,
+54,
+2,
+188,
+64,
+38,
+0,
+22,
+83,
+31,
+199,
+70,
+198,
+227,
+125,
+180,
+91,
+26,
+139,
+198,
+190,
+15,
+56,
+37,
+66,
+7,
+158,
+103,
+216,
+207,
+143,
+161,
+7,
+251,
+25,
+204,
+230,
+48,
+76,
+175,
+125,
+134,
+255,
+32,
+79,
+99,
+33,
+221,
+135,
+228,
+11,
+132,
+16,
+30,
+9,
+33,
+236,
+24,
+66,
+88,
+40,
+132,
+176,
+158,
+164,
+87,
+148,
+186,
+45,
+89,
+113,
+31,
+246,
+209,
+96,
+207,
+151,
+216,
+136,
+242,
+146,
+6,
+123,
+187,
+172,
+17,
+171,
+44,
+195,
+68,
+179,
+48,
+19,
+244,
+55,
+72,
+8,
+49,
+111,
+1,
+119,
+201,
+190,
+252,
+14,
+22,
+146,
+121,
+232,
+228,
+241,
+30,
+217,
+40,
+58,
+85,
+210,
+121,
+146,
+126,
+36,
+41,
+154,
+233,
+91,
+210,
+145,
+152,
+0,
+184,
+150,
+164,
+195,
+212,
+75,
+63,
+2,
+224,
+63,
+157,
+27,
+215,
+198,
+50,
+91,
+19,
+99,
+128,
+72,
+185,
+137,
+192,
+137,
+145,
+235,
+169,
+35,
+192,
+45,
+120,
+112,
+101,
+5,
+221,
+13,
+152,
+6,
+111,
+25,
+76,
+58,
+159,
+28,
+27,
+1,
+188,
+221,
+78,
+124,
+225,
+38,
+152,
+106,
+247,
+231,
+17,
+186,
+113,
+88,
+166,
+243,
+206,
+30,
+192,
+151,
+18,
+217,
+159,
+55,
+50,
+58,
+81,
+208,
+238,
+129,
+152,
+13,
+97,
+75,
+108,
+133,
+116,
+3,
+240,
+157,
+170,
+231,
+42,
+121,
+94,
+128,
+207,
+96,
+246,
+141,
+151,
+177,
+125,
+7,
+122,
+23,
+118,
+134,
+5,
+54,
+30,
+229,
+199,
+215,
+96,
+214,
+176,
+91,
+34,
+116,
+243,
+99,
+238,
+226,
+75,
+98,
+142,
+35,
+83,
+137,
+108,
+221,
+86,
+131,
+1,
+246,
+194,
+156,
+80,
+62,
+4,
+172,
+136,
+229,
+5,
+216,
+45,
+66,
+247,
+78,
+103,
+182,
+87,
+48,
+139,
+229,
+174,
+37,
+12,
+144,
+141,
+45,
+56,
+0,
+152,
+22,
+161,
+187,
+25,
+11,
+169,
+30,
+135,
+229,
+71,
+250,
+5,
+112,
+107,
+132,
+110,
+213,
+220,
+223,
+215,
+40,
+112,
+148,
+193,
+150,
+130,
+79,
+97,
+82,
+249,
+15,
+169,
+200,
+253,
+95,
+6,
+127,
+142,
+118,
+114,
+255,
+36,
+54,
+56,
+29,
+147,
+52,
+183,
+193,
+252,
+214,
+118,
+45,
+120,
+113,
+27,
+97,
+107,
+216,
+255,
+197,
+162,
+124,
+242,
+251,
+237,
+118,
+232,
+146,
+24,
+192,
+105,
+63,
+130,
+133,
+99,
+205,
+116,
+134,
+250,
+84,
+23,
+207,
+145,
+103,
+128,
+168,
+137,
+24,
+155,
+179,
+179,
+50,
+197,
+150,
+84,
+24,
+191,
+48,
+91,
+194,
+20,
+122,
+104,
+43,
+200,
+180,
+149,
+204,
+0,
+152,
+60,
+52,
+209,
+71,
+138,
+169,
+36,
+140,
+168,
+177,
+74,
+166,
+97,
+67,
+231,
+141,
+152,
+37,
+240,
+3,
+68,
+156,
+43,
+106,
+212,
+7,
+67,
+163,
+91,
+74,
+211,
+184,
+180,
+129,
+76,
+187,
+139,
+49,
+32,
+100,
+157,
+29,
+161,
+251,
+33,
+240,
+107,
+204,
+58,
+184,
+16,
+230,
+49,
+84,
+234,
+41,
+12,
+236,
+141,
+41,
+137,
+122,
+174,
+66,
+175,
+201,
+0,
+79,
+98,
+250,
+152,
+69,
+177,
+216,
+198,
+241,
+77,
+26,
+252,
+7,
+22,
+230,
+220,
+217,
+135,
+230,
+104,
+224,
+239,
+181,
+43,
+26,
+168,
+47,
+134,
+82,
+151,
+237,
+54,
+144,
+105,
+107,
+38,
+230,
+171,
+112,
+10,
+241,
+173,
+89,
+231,
+199,
+194,
+179,
+158,
+197,
+134,
+236,
+243,
+168,
+222,
+0,
+234,
+22,
+224,
+179,
+45,
+244,
+177,
+213,
+157,
+202,
+188,
+190,
+243,
+233,
+38,
+132,
+14,
+248,
+148,
+191,
+184,
+253,
+49,
+65,
+240,
+1,
+224,
+208,
+110,
+59,
+215,
+111,
+248,
+51,
+164,
+200,
+30,
+187,
+251,
+151,
+179,
+157,
+63,
+251,
+179,
+148,
+7,
+107,
+116,
+146,
+47,
+44,
+217,
+66,
+31,
+239,
+200,
+48,
+192,
+237,
+45,
+212,
+55,
+30,
+115,
+209,
+159,
+142,
+109,
+47,
+91,
+223,
+153,
+5,
+203,
+171,
+251,
+15,
+127,
+17,
+211,
+128,
+47,
+85,
+125,
+17,
+253,
+4,
+22,
+45,
+124,
+154,
+247,
+237,
+25,
+34,
+137,
+161,
+157,
+46,
+149,
+1,
+38,
+147,
+209,
+239,
+99,
+94,
+66,
+49,
+227,
+77,
+231,
+254,
+111,
+40,
+217,
+129,
+12,
+203,
+104,
+50,
+209,
+153,
+228,
+206,
+70,
+195,
+112,
+67,
+120,
+123,
+7,
+249,
+135,
+123,
+11,
+240,
+219,
+126,
+53,
+12,
+53,
+247,
+186,
+43,
+168,
+99,
+8,
+34,
+116,
+7,
+99,
+235,
+250,
+119,
+97,
+110,
+107,
+79,
+1,
+187,
+23,
+212,
+151,
+194,
+0,
+47,
+98,
+38,
+212,
+206,
+249,
+86,
+68,
+20,
+55,
+126,
+111,
+21,
+159,
+82,
+10,
+179,
+112,
+249,
+87,
+253,
+77,
+204,
+135,
+240,
+43,
+64,
+212,
+220,
+235,
+253,
+107,
+85,
+165,
+141,
+9,
+180,
+59,
+249,
+241,
+102,
+244,
+58,
+56,
+6,
+56,
+28,
+19,
+174,
+240,
+161,
+39,
+105,
+79,
+191,
+130,
+186,
+242,
+14,
+149,
+151,
+17,
+9,
+156,
+196,
+150,
+166,
+95,
+204,
+156,
+159,
+76,
+68,
+7,
+94,
+131,
+1,
+174,
+196,
+214,
+254,
+227,
+176,
+117,
+251,
+31,
+129,
+95,
+23,
+208,
+126,
+11,
+184,
+170,
+162,
+190,
+89,
+157,
+175,
+30,
+19,
+66,
+135,
+232,
+247,
+51,
+253,
+171,
+197,
+0,
+20,
+120,
+92,
+103,
+238,
+159,
+238,
+31,
+196,
+193,
+192,
+73,
+192,
+53,
+101,
+244,
+93,
+193,
+27,
+121,
+209,
+135,
+156,
+21,
+176,
+124,
+193,
+155,
+69,
+232,
+222,
+135,
+101,
+5,
+123,
+17,
+27,
+182,
+47,
+7,
+86,
+175,
+168,
+123,
+107,
+108,
+41,
+51,
+54,
+114,
+111,
+42,
+153,
+204,
+223,
+152,
+222,
+160,
+177,
+39,
+141,
+247,
+253,
+82,
+6,
+166,
+148,
+11,
+137,
+236,
+78,
+234,
+95,
+244,
+139,
+84,
+88,
+219,
+178,
+63,
+44,
+230,
+36,
+251,
+199,
+42,
+58,
+63,
+239,
+154,
+1,
+156,
+102,
+87,
+76,
+249,
+4,
+137,
+249,
+144,
+26,
+1,
+83,
+194,
+156,
+154,
+64,
+247,
+117,
+224,
+8,
+76,
+149,
+185,
+10,
+54,
+135,
+22,
+174,
+42,
+48,
+85,
+244,
+109,
+192,
+87,
+10,
+238,
+191,
+204,
+96,
+159,
+197,
+109,
+129,
+215,
+154,
+61,
+69,
+79,
+60,
+184,
+94,
+0,
+0,
+18,
+40,
+73,
+68,
+65,
+84,
+251,
+200,
+49,
+192,
+115,
+192,
+7,
+170,
+232,
+252,
+188,
+200,
+239,
+98,
+69,
+76,
+178,
+159,
+226,
+101,
+30,
+163,
+64,
+238,
+201,
+149,
+251,
+36,
+53,
+118,
+111,
+205,
+218,
+2,
+82,
+57,
+115,
+13,
+73,
+149,
+203,
+195,
+16,
+194,
+81,
+33,
+132,
+111,
+134,
+16,
+38,
+133,
+16,
+30,
+144,
+237,
+23,
+92,
+54,
+2,
+252,
+135,
+108,
+31,
+194,
+175,
+22,
+220,
+207,
+247,
+101,
+94,
+73,
+175,
+87,
+245,
+99,
+152,
+48,
+70,
+233,
+190,
+121,
+69,
+116,
+157,
+60,
+74,
+239,
+147,
+244,
+188,
+164,
+93,
+36,
+253,
+45,
+79,
+132,
+173,
+253,
+247,
+195,
+54,
+201,
+88,
+92,
+182,
+181,
+221,
+16,
+5,
+94,
+17,
+154,
+40,
+52,
+130,
+226,
+102,
+201,
+40,
+48,
+231,
+142,
+119,
+201,
+12,
+30,
+81,
+243,
+40,
+230,
+17,
+115,
+138,
+164,
+207,
+135,
+16,
+138,
+180,
+113,
+79,
+203,
+28,
+58,
+59,
+88,
+212,
+175,
+141,
+68,
+156,
+45,
+233,
+187,
+192,
+191,
+66,
+8,
+249,
+101,
+94,
+146,
+81,
+75,
+182,
+41,
+247,
+255,
+132,
+16,
+238,
+4,
+8,
+33,
+220,
+86,
+210,
+222,
+161,
+50,
+195,
+82,
+144,
+52,
+81,
+210,
+190,
+181,
+123,
+92,
+99,
+104,
+186,
+139,
+136,
+249,
+178,
+164,
+78,
+48,
+1,
+233,
+28,
+10,
+220,
+165,
+176,
+181,
+235,
+109,
+148,
+44,
+59,
+49,
+161,
+237,
+212,
+204,
+249,
+233,
+84,
+11,
+102,
+125,
+219,
+166,
+62,
+55,
+5,
+4,
+151,
+47,
+254,
+26,
+161,
+75,
+53,
+106,
+77,
+192,
+220,
+237,
+30,
+197,
+150,
+150,
+221,
+229,
+1,
+174,
+243,
+0,
+126,
+94,
+196,
+0,
+31,
+193,
+92,
+164,
+14,
+192,
+92,
+167,
+86,
+195,
+118,
+167,
+140,
+213,
+185,
+152,
+207,
+101,
+31,
+196,
+116,
+253,
+223,
+143,
+208,
+140,
+245,
+249,
+189,
+116,
+183,
+76,
+204,
+104,
+244,
+12,
+166,
+60,
+121,
+47,
+166,
+175,
+56,
+168,
+162,
+204,
+21,
+88,
+58,
+150,
+40,
+99,
+81,
+99,
+107,
+122,
+42,
+182,
+164,
+143,
+188,
+191,
+9,
+192,
+16,
+239,
+99,
+18,
+141,
+90,
+78,
+59,
+47,
+102,
+163,
+152,
+137,
+41,
+121,
+26,
+219,
+72,
+42,
+17,
+121,
+128,
+66,
+135,
+11,
+44,
+140,
+60,
+187,
+12,
+188,
+60,
+70,
+151,
+43,
+179,
+47,
+145,
+120,
+60,
+44,
+173,
+203,
+101,
+164,
+133,
+87,
+127,
+145,
+1,
+69,
+213,
+233,
+116,
+153,
+24,
+153,
+196,
+173,
+233,
+73,
+216,
+146,
+62,
+55,
+2,
+108,
+134,
+105,
+23,
+155,
+121,
+232,
+14,
+173,
+251,
+57,
+10,
+140,
+115,
+173,
+193,
+31,
+32,
+235,
+236,
+121,
+120,
+17,
+3,
+228,
+202,
+36,
+41,
+130,
+176,
+244,
+48,
+49,
+171,
+92,
+20,
+245,
+159,
+96,
+80,
+157,
+149,
+78,
+166,
+109,
+35,
+199,
+0,
+19,
+177,
+81,
+114,
+136,
+215,
+113,
+141,
+250,
+254,
+11,
+27,
+233,
+222,
+234,
+117,
+157,
+69,
+36,
+99,
+121,
+107,
+240,
+7,
+200,
+206,
+77,
+15,
+116,
+243,
+67,
+248,
+215,
+250,
+78,
+44,
+213,
+250,
+54,
+36,
+6,
+110,
+118,
+11,
+18,
+157,
+76,
+157,
+54,
+197,
+27,
+121,
+127,
+76,
+203,
+247,
+146,
+255,
+47,
+220,
+168,
+185,
+77,
+96,
+166,
+246,
+71,
+49,
+211,
+251,
+27,
+254,
+28,
+27,
+20,
+208,
+110,
+129,
+5,
+235,
+118,
+204,
+193,
+73,
+50,
+90,
+190,
+18,
+48,
+109,
+219,
+11,
+192,
+189,
+152,
+121,
+177,
+27,
+6,
+184,
+16,
+211,
+78,
+189,
+234,
+204,
+244,
+101,
+250,
+16,
+54,
+141,
+237,
+154,
+113,
+72,
+230,
+124,
+15,
+224,
+225,
+8,
+93,
+170,
+55,
+242,
+54,
+152,
+60,
+180,
+4,
+182,
+81,
+228,
+255,
+244,
+250,
+25,
+34,
+125,
+168,
+210,
+4,
+62,
+132,
+237,
+243,
+180,
+24,
+150,
+225,
+116,
+124,
+147,
+70,
+160,
+124,
+111,
+251,
+57,
+2,
+164,
+59,
+153,
+38,
+49,
+74,
+174,
+204,
+22,
+68,
+92,
+179,
+107,
+246,
+47,
+41,
+9,
+86,
+174,
+76,
+21,
+3,
+60,
+5,
+28,
+219,
+77,
+191,
+134,
+8,
+129,
+35,
+21,
+84,
+44,
+237,
+48,
+129,
+105,
+111,
+42,
+132,
+202,
+26,
+140,
+50,
+214,
+135,
+227,
+39,
+241,
+189,
+4,
+122,
+241,
+92,
+221,
+0,
+19,
+176,
+103,
+0,
+127,
+198,
+183,
+252,
+105,
+82,
+73,
+45,
+6,
+160,
+98,
+89,
+84,
+179,
+221,
+221,
+72,
+136,
+129,
+115,
+250,
+170,
+165,
+93,
+170,
+147,
+105,
+42,
+163,
+252,
+5,
+243,
+143,
+92,
+15,
+91,
+218,
+165,
+134,
+163,
+245,
+53,
+112,
+5,
+147,
+181,
+78,
+195,
+150,
+151,
+69,
+94,
+198,
+173,
+53,
+86,
+185,
+44,
+170,
+81,
+23,
+152,
+67,
+106,
+101,
+12,
+92,
+98,
+125,
+169,
+78,
+166,
+169,
+140,
+50,
+3,
+247,
+247,
+119,
+134,
+25,
+145,
+12,
+144,
+105,
+247,
+195,
+20,
+152,
+181,
+251,
+221,
+145,
+249,
+177,
+180,
+104,
+51,
+48,
+97,
+235,
+253,
+177,
+23,
+226,
+12,
+144,
+18,
+3,
+55,
+104,
+132,
+42,
+123,
+193,
+36,
+56,
+153,
+214,
+96,
+148,
+251,
+49,
+211,
+243,
+242,
+62,
+26,
+140,
+40,
+6,
+192,
+4,
+191,
+15,
+99,
+182,
+128,
+37,
+48,
+79,
+237,
+59,
+122,
+217,
+96,
+210,
+15,
+129,
+217,
+165,
+31,
+194,
+188,
+84,
+214,
+197,
+252,
+214,
+138,
+24,
+32,
+37,
+6,
+46,
+153,
+1,
+106,
+60,
+75,
+10,
+163,
+124,
+8,
+243,
+25,
+124,
+12,
+83,
+198,
+12,
+73,
+1,
+231,
+116,
+89,
+134,
+159,
+236,
+140,
+92,
+217,
+63,
+204,
+185,
+101,
+136,
+74,
+155,
+193,
+129,
+58,
+207,
+98,
+190,
+141,
+177,
+228,
+147,
+139,
+98,
+102,
+247,
+23,
+48,
+129,
+242,
+58,
+224,
+29,
+169,
+239,
+160,
+54,
+106,
+48,
+192,
+36,
+50,
+91,
+190,
+224,
+169,
+81,
+10,
+234,
+203,
+154,
+121,
+63,
+16,
+123,
+201,
+189,
+96,
+128,
+54,
+17,
+97,
+248,
+127,
+149,
+245,
+15,
+155,
+62,
+47,
+246,
+15,
+99,
+136,
+241,
+134,
+193,
+129,
+58,
+107,
+251,
+113,
+235,
+62,
+154,
+85,
+94,
+176,
+221,
+248,
+4,
+142,
+211,
+224,
+144,
+177,
+178,
+140,
+24,
+43,
+103,
+142,
+87,
+171,
+160,
+29,
+169,
+216,
+87,
+150,
+12,
+243,
+158,
+16,
+194,
+93,
+146,
+138,
+108,
+6,
+203,
+97,
+17,
+67,
+151,
+72,
+250,
+173,
+164,
+117,
+67,
+8,
+67,
+34,
+151,
+36,
+29,
+144,
+169,
+239,
+30,
+89,
+130,
+201,
+131,
+218,
+238,
+244,
+160,
+31,
+152,
+92,
+170,
+88,
+73,
+55,
+118,
+81,
+247,
+171,
+210,
+32,
+179,
+241,
+204,
+18,
+218,
+38,
+49,
+112,
+35,
+45,
+141,
+91,
+42,
+195,
+79,
+150,
+180,
+130,
+164,
+119,
+135,
+16,
+126,
+26,
+203,
+197,
+236,
+88,
+89,
+210,
+3,
+185,
+250,
+74,
+61,
+170,
+154,
+160,
+81,
+170,
+216,
+28,
+138,
+126,
+136,
+71,
+52,
+248,
+203,
+46,
+203,
+187,
+115,
+129,
+164,
+203,
+100,
+182,
+236,
+107,
+20,
+73,
+247,
+170,
+116,
+59,
+122,
+45,
+43,
+95,
+139,
+72,
+101,
+248,
+141,
+100,
+161,
+227,
+119,
+96,
+22,
+213,
+162,
+140,
+34,
+111,
+104,
+112,
+90,
+221,
+222,
+123,
+104,
+167,
+12,
+249,
+46,
+104,
+84,
+26,
+141,
+128,
+207,
+97,
+42,
+229,
+53,
+49,
+147,
+241,
+173,
+37,
+50,
+64,
+74,
+58,
+180,
+36,
+59,
+186,
+211,
+86,
+90,
+249,
+48,
+255,
+132,
+231,
+177,
+37,
+232,
+62,
+152,
+4,
+253,
+229,
+46,
+250,
+119,
+87,
+86,
+136,
+164,
+66,
+149,
+142,
+121,
+55,
+95,
+238,
+178,
+210,
+144,
+20,
+59,
+216,
+166,
+22,
+71,
+103,
+206,
+163,
+129,
+58,
+88,
+112,
+75,
+212,
+70,
+80,
+11,
+36,
+26,
+61,
+82,
+127,
+8,
+76,
+177,
+242,
+83,
+204,
+64,
+113,
+63,
+190,
+45,
+125,
+132,
+46,
+245,
+5,
+39,
+219,
+209,
+83,
+0,
+156,
+138,
+5,
+184,
+238,
+131,
+249,
+213,
+191,
+72,
+36,
+147,
+119,
+141,
+254,
+229,
+25,
+126,
+98,
+74,
+255,
+128,
+77,
+137,
+120,
+241,
+2,
+135,
+248,
+123,
+235,
+8,
+129,
+209,
+64,
+29,
+76,
+11,
+120,
+15,
+150,
+0,
+59,
+26,
+167,
+153,
+4,
+18,
+141,
+30,
+77,
+127,
+8,
+138,
+87,
+11,
+73,
+47,
+56,
+21,
+249,
+250,
+138,
+218,
+109,
+90,
+95,
+9,
+93,
+158,
+225,
+119,
+239,
+178,
+221,
+128,
+237,
+199,
+52,
+141,
+138,
+64,
+29,
+108,
+201,
+184,
+191,
+51,
+242,
+119,
+128,
+101,
+155,
+182,
+219,
+169,
+176,
+107,
+163,
+71,
+164,
+206,
+126,
+41,
+70,
+122,
+193,
+0,
+71,
+210,
+239,
+157,
+185,
+26,
+0,
+120,
+19,
+150,
+243,
+32,
+57,
+197,
+111,
+214,
+43,
+120,
+182,
+209,
+67,
+182,
+11,
+70,
+95,
+247,
+192,
+29,
+225,
+56,
+92,
+210,
+33,
+178,
+93,
+73,
+158,
+144,
+229,
+228,
+27,
+49,
+192,
+100,
+158,
+3,
+36,
+221,
+46,
+233,
+53,
+153,
+160,
+89,
+187,
+146,
+70,
+70,
+143,
+145,
+134,
+30,
+141,
+0,
+61,
+79,
+162,
+221,
+20,
+216,
+74,
+98,
+18,
+230,
+86,
+215,
+60,
+7,
+51,
+13,
+141,
+30,
+253,
+6,
+245,
+157,
+51,
+187,
+74,
+38,
+229,
+245,
+245,
+60,
+137,
+118,
+83,
+96,
+78,
+60,
+155,
+54,
+45,
+159,
+21,
+42,
+30,
+151,
+180,
+49,
+150,
+219,
+174,
+112,
+99,
+167,
+130,
+78,
+52,
+94,
+163,
+250,
+11,
+78,
+205,
+36,
+242,
+93,
+89,
+14,
+222,
+53,
+36,
+45,
+77,
+220,
+10,
+217,
+11,
+125,
+65,
+146,
+60,
+132,
+37,
+153,
+56,
+20,
+216,
+147,
+72,
+242,
+199,
+58,
+72,
+21,
+62,
+67,
+8,
+219,
+68,
+242,
+17,
+55,
+106,
+48,
+201,
+232,
+225,
+180,
+201,
+155,
+75,
+37,
+180,
+155,
+204,
+0,
+137,
+245,
+181,
+173,
+47,
+72,
+158,
+82,
+176,
+112,
+181,
+89,
+152,
+175,
+193,
+184,
+46,
+159,
+35,
+137,
+1,
+134,
+5,
+46,
+9,
+175,
+236,
+12,
+240,
+28,
+112,
+68,
+1,
+221,
+170,
+192,
+245,
+152,
+110,
+225,
+62,
+96,
+255,
+8,
+77,
+7,
+165,
+105,
+221,
+72,
+183,
+142,
+181,
+173,
+47,
+168,
+195,
+0,
+151,
+96,
+145,
+193,
+151,
+23,
+140,
+78,
+117,
+219,
+237,
+139,
+3,
+106,
+109,
+164,
+14,
+249,
+152,
+139,
+210,
+165,
+88,
+36,
+238,
+22,
+192,
+187,
+35,
+52,
+144,
+150,
+214,
+173,
+85,
+235,
+88,
+13,
+134,
+74,
+102,
+128,
+12,
+205,
+130,
+152,
+71,
+111,
+227,
+47,
+216,
+219,
+61,
+154,
+68,
+79,
+169,
+190,
+33,
+245,
+197,
+57,
+237,
+12,
+96,
+231,
+138,
+250,
+96,
+112,
+86,
+175,
+253,
+137,
+103,
+39,
+155,
+157,
+198,
+206,
+207,
+63,
+77,
+119,
+83,
+79,
+219,
+12,
+181,
+16,
+230,
+15,
+240,
+44,
+166,
+8,
+186,
+22,
+248,
+65,
+23,
+245,
+65,
+13,
+79,
+41,
+170,
+125,
+37,
+219,
+201,
+75,
+84,
+231,
+197,
+249,
+67,
+140,
+175,
+168,
+47,
+207,
+0,
+69,
+105,
+221,
+166,
+147,
+9,
+65,
+195,
+28,
+71,
+186,
+201,
+98,
+214,
+54,
+67,
+157,
+137,
+169,
+208,
+215,
+240,
+247,
+114,
+15,
+5,
+89,
+66,
+18,
+235,
+131,
+4,
+79,
+169,
+204,
+253,
+42,
+95,
+201,
+234,
+188,
+68,
+41,
+92,
+82,
+231,
+197,
+213,
+96,
+128,
+148,
+180,
+110,
+211,
+128,
+236,
+246,
+40,
+221,
+166,
+177,
+107,
+155,
+161,
+166,
+228,
+126,
+176,
+131,
+40,
+200,
+18,
+146,
+88,
+31,
+12,
+94,
+126,
+70,
+61,
+165,
+186,
+69,
+158,
+91,
+178,
+38,
+204,
+89,
+5,
+101,
+146,
+236,
+212,
+12,
+172,
+34,
+254,
+140,
+185,
+92,
+149,
+249,
+3,
+252,
+65,
+210,
+51,
+178,
+188,
+185,
+23,
+73,
+138,
+249,
+184,
+223,
+39,
+219,
+242,
+165,
+131,
+85,
+84,
+226,
+56,
+82,
+53,
+36,
+170,
+125,
+115,
+235,
+91,
+101,
+90,
+194,
+14,
+158,
+145,
+45,
+73,
+219,
+66,
+52,
+91,
+56,
+9,
+70,
+188,
+50,
+154,
+65,
+15,
+29,
+66,
+88,
+63,
+132,
+112,
+91,
+8,
+97,
+98,
+8,
+161,
+200,
+175,
+44,
+233,
+197,
+133,
+16,
+58,
+46,
+214,
+219,
+134,
+16,
+230,
+13,
+33,
+148,
+229,
+34,
+216,
+222,
+105,
+198,
+133,
+16,
+78,
+8,
+33,
+196,
+50,
+127,
+156,
+39,
+233,
+176,
+206,
+212,
+35,
+233,
+147,
+178,
+77,
+160,
+138,
+112,
+129,
+164,
+159,
+73,
+42,
+218,
+233,
+35,
+153,
+161,
+18,
+231,
+207,
+71,
+37,
+45,
+151,
+57,
+31,
+39,
+115,
+254,
+232,
+6,
+41,
+158,
+82,
+79,
+200,
+156,
+104,
+86,
+148,
+169,
+240,
+99,
+106,
+234,
+20,
+26,
+137,
+180,
+88,
+185,
+84,
+59,
+245,
+252,
+62,
+140,
+149,
+234,
+165,
+243,
+50,
+64,
+9,
+93,
+178,
+117,
+44,
+5,
+36,
+154,
+91,
+157,
+182,
+114,
+254,
+4,
+190,
+128,
+173,
+96,
+58,
+66,
+219,
+100,
+42,
+194,
+215,
+43,
+250,
+135,
+183,
+187,
+38,
+176,
+22,
+240,
+32,
+240,
+153,
+138,
+50,
+149,
+70,
+188,
+66,
+26,
+210,
+99,
+229,
+82,
+237,
+212,
+251,
+49,
+32,
+20,
+205,
+78,
+182,
+156,
+240,
+236,
+93,
+129,
+244,
+229,
+93,
+219,
+12,
+53,
+63,
+38,
+8,
+62,
+225,
+245,
+157,
+22,
+107,
+183,
+70,
+125,
+175,
+99,
+91,
+249,
+150,
+102,
+11,
+39,
+33,
+114,
+41,
+133,
+70,
+164,
+7,
+85,
+38,
+189,
+56,
+10,
+208,
+232,
+109,
+212,
+0,
+195,
+164,
+47,
+24,
+46,
+144,
+96,
+196,
+75,
+161,
+17,
+137,
+177,
+114,
+35,
+29,
+140,
+112,
+125,
+65,
+219,
+32,
+193,
+136,
+87,
+70,
+147,
+223,
+147,
+38,
+101,
+231,
+142,
+145,
+142,
+182,
+189,
+105,
+251,
+226,
+158,
+221,
+5,
+82,
+140,
+120,
+213,
+52,
+36,
+198,
+202,
+245,
+27,
+62,
+4,
+127,
+25,
+91,
+103,
+191,
+72,
+197,
+14,
+89,
+140,
+112,
+125,
+65,
+219,
+32,
+193,
+136,
+151,
+66,
+35,
+18,
+99,
+229,
+250,
+13,
+224,
+40,
+108,
+101,
+50,
+1,
+75,
+56,
+89,
+149,
+76,
+42,
+105,
+149,
+82,
+163,
+253,
+70,
+12,
+69,
+130,
+169,
+25,
+115,
+72,
+189,
+39,
+161,
+174,
+9,
+254,
+129,
+150,
+230,
+17,
+232,
+26,
+212,
+216,
+185,
+131,
+132,
+240,
+112,
+224,
+91,
+153,
+227,
+111,
+84,
+220,
+31,
+162,
+253,
+243,
+235,
+183,
+147,
+176,
+33,
+99,
+134,
+62,
+121,
+121,
+151,
+88,
+95,
+35,
+134,
+34,
+205,
+212,
+188,
+31,
+80,
+169,
+43,
+192,
+18,
+64,
+156,
+76,
+127,
+54,
+191,
+170,
+6,
+105,
+89,
+179,
+182,
+0,
+206,
+247,
+227,
+205,
+128,
+239,
+69,
+104,
+190,
+207,
+64,
+98,
+165,
+243,
+137,
+120,
+182,
+96,
+75,
+160,
+104,
+218,
+213,
+130,
+190,
+13,
+155,
+190,
+160,
+87,
+240,
+15,
+109,
+124,
+63,
+219,
+236,
+26,
+152,
+143,
+218,
+134,
+249,
+227,
+28,
+205,
+134,
+157,
+57,
+221,
+143,
+127,
+31,
+161,
+121,
+53,
+59,
+4,
+247,
+27,
+77,
+24,
+138,
+244,
+24,
+139,
+13,
+128,
+202,
+116,
+183,
+206,
+0,
+133,
+155,
+89,
+116,
+131,
+70,
+95,
+6,
+105,
+105,
+216,
+230,
+41,
+56,
+46,
+163,
+139,
+169,
+139,
+31,
+80,
+205,
+45,
+209,
+219,
+68,
+8,
+129,
+16,
+194,
+151,
+66,
+8,
+139,
+251,
+223,
+137,
+37,
+241,
+124,
+29,
+164,
+169,
+94,
+165,
+93,
+53,
+120,
+197,
+50,
+8,
+152,
+95,
+193,
+129,
+50,
+27,
+77,
+105,
+254,
+162,
+146,
+58,
+90,
+221,
+158,
+166,
+142,
+198,
+112,
+171,
+204,
+20,
+48,
+123,
+58,
+200,
+209,
+124,
+31,
+216,
+210,
+143,
+207,
+39,
+226,
+64,
+129,
+69,
+20,
+61,
+142,
+185,
+91,
+173,
+74,
+65,
+86,
+210,
+145,
+10,
+10,
+84,
+175,
+192,
+58,
+152,
+215,
+210,
+129,
+37,
+101,
+193,
+164,
+247,
+198,
+35,
+32,
+169,
+219,
+211,
+144,
+184,
+220,
+162,
+70,
+118,
+45,
+50,
+187,
+112,
+17,
+17,
+22,
+169,
+16,
+18,
+253,
+250,
+60,
+152,
+38,
+110,
+42,
+166,
+208,
+24,
+178,
+153,
+196,
+72,
+3,
+105,
+234,
+217,
+75,
+171,
+158,
+5,
+179,
+104,
+30,
+139,
+41,
+233,
+150,
+232,
+93,
+143,
+149,
+190,
+220,
+98,
+4,
+106,
+12,
+201,
+8,
+138,
+20,
+8,
+141,
+62,
+143,
+79,
+194,
+86,
+57,
+189,
+203,
+185,
+171,
+100,
+245,
+236,
+244,
+148,
+121,
+29,
+203,
+23,
+12,
+176,
+69,
+131,
+126,
+108,
+130,
+173,
+253,
+241,
+81,
+180,
+216,
+199,
+144,
+196,
+229,
+22,
+137,
+217,
+181,
+250,
+9,
+127,
+200,
+45,
+242,
+199,
+57,
+154,
+77,
+129,
+5,
+48,
+199,
+147,
+194,
+36,
+74,
+88,
+142,
+223,
+117,
+75,
+238,
+167,
+216,
+223,
+83,
+212,
+179,
+47,
+146,
+152,
+151,
+209,
+127,
+192,
+241,
+41,
+180,
+145,
+178,
+99,
+189,
+124,
+212,
+16,
+151,
+21,
+2,
+87,
+151,
+84,
+232,
+114,
+148,
+193,
+100,
+89,
+86,
+139,
+87,
+178,
+127,
+77,
+58,
+215,
+34,
+158,
+245,
+191,
+252,
+241,
+108,
+132,
+16,
+110,
+10,
+33,
+188,
+44,
+105,
+99,
+21,
+36,
+190,
+192,
+172,
+109,
+71,
+75,
+90,
+172,
+164,
+173,
+20,
+1,
+47,
+69,
+61,
+123,
+147,
+164,
+99,
+48,
+185,
+102,
+107,
+224,
+240,
+146,
+54,
+123,
+15,
+18,
+151,
+91,
+140,
+64,
+141,
+33,
+150,
+24,
+105,
+217,
+252,
+113,
+132,
+110,
+83,
+204,
+89,
+51,
+186,
+247,
+31,
+3,
+123,
+238,
+60,
+133,
+201,
+28,
+165,
+31,
+4,
+197,
+2,
+94,
+138,
+122,
+118,
+101,
+44,
+170,
+231,
+37,
+76,
+183,
+80,
+168,
+134,
+247,
+169,
+235,
+44,
+26,
+200,
+1,
+85,
+35,
+64,
+150,
+240,
+30,
+224,
+184,
+196,
+74,
+187,
+218,
+235,
+151,
+8,
+34,
+52,
+233,
+243,
+87,
+90,
+155,
+219,
+96,
+49,
+244,
+11,
+39,
+244,
+173,
+208,
+157,
+155,
+97,
+200,
+28,
+138,
+233,
+11,
+254,
+66,
+131,
+152,
+196,
+58,
+12,
+208,
+183,
+229,
+150,
+119,
+104,
+208,
+190,
+194,
+5,
+116,
+105,
+157,
+79,
+107,
+243,
+101,
+204,
+148,
+59,
+201,
+255,
+162,
+158,
+74,
+9,
+12,
+80,
+41,
+224,
+141,
+36,
+84,
+189,
+195,
+172,
+226,
+229,
+44,
+153,
+99,
+227,
+143,
+37,
+45,
+33,
+233,
+247,
+254,
+215,
+43,
+188,
+222,
+79,
+217,
+33,
+132,
+208,
+86,
+82,
+169,
+141,
+36,
+237,
+229,
+123,
+249,
+172,
+221,
+82,
+157,
+195,
+134,
+217,
+66,
+96,
+8,
+97,
+86,
+8,
+225,
+216,
+16,
+194,
+10,
+178,
+132,
+77,
+61,
+223,
+233,
+123,
+14,
+69,
+227,
+32,
+218,
+57,
+6,
+192,
+210,
+68,
+182,
+119,
+105,
+177,
+254,
+74,
+25,
+192,
+233,
+42,
+167,
+0,
+90,
+206,
+8,
+134,
+109,
+206,
+176,
+101,
+201,
+253,
+228,
+32,
+218,
+132,
+182,
+160,
+197,
+192,
+216,
+130,
+54,
+234,
+77,
+163,
+192,
+95,
+49,
+19,
+232,
+39,
+11,
+238,
+39,
+101,
+9,
+199,
+76,
+161,
+215,
+3,
+167,
+71,
+238,
+181,
+38,
+3,
+144,
+184,
+239,
+79,
+42,
+48,
+111,
+222,
+51,
+129,
+69,
+128,
+229,
+170,
+75,
+116,
+213,
+86,
+33,
+3,
+84,
+49,
+54,
+166,
+71,
+184,
+25,
+216,
+190,
+164,
+254,
+77,
+48,
+33,
+29,
+103,
+216,
+238,
+130,
+77,
+169,
+145,
+37,
+28,
+183,
+153,
+3,
+255,
+136,
+220,
+75,
+226,
+252,
+218,
+220,
+91,
+94,
+87,
+210,
+22,
+114,
+152,
+13,
+99,
+18,
+230,
+149,
+219,
+120,
+107,
+218,
+196,
+62,
+149,
+49,
+64,
+41,
+99,
+99,
+91,
+218,
+126,
+25,
+75,
+233,
+51,
+242,
+224,
+35,
+197,
+117,
+196,
+13,
+69,
+173,
+48,
+0,
+17,
+148,
+212,
+85,
+26,
+59,
+55,
+28,
+72,
+125,
+15,
+37,
+229,
+199,
+151,
+61,
+115,
+207,
+224,
+29,
+239,
+54,
+244,
+185,
+235,
+41,
+32,
+181,
+158,
+145,
+138,
+34,
+6,
+32,
+81,
+7,
+50,
+34,
+25,
+128,
+52,
+93,
+121,
+229,
+151,
+75,
+194,
+252,
+149,
+242,
+5,
+213,
+25,
+37,
+218,
+0,
+53,
+236,
+239,
+101,
+253,
+175,
+98,
+254,
+12,
+205,
+235,
+192,
+129,
+64,
+163,
+101,
+110,
+62,
+89,
+244,
+78,
+88,
+182,
+203,
+87,
+129,
+235,
+155,
+84,
+168,
+4,
+93,
+121,
+136,
+32,
+66,
+115,
+115,
+8,
+97,
+5,
+191,
+189,
+124,
+8,
+97,
+200,
+198,
+201,
+53,
+176,
+179,
+6,
+187,
+187,
+247,
+18,
+41,
+1,
+182,
+173,
+32,
+132,
+48,
+69,
+210,
+30,
+50,
+29,
+78,
+101,
+36,
+114,
+229,
+71,
+128,
+237,
+85,
+123,
+18,
+182,
+9,
+65,
+97,
+182,
+201,
+178,
+17,
+32,
+71,
+215,
+122,
+194,
+201,
+72,
+63,
+170,
+70,
+146,
+202,
+81,
+194,
+233,
+170,
+178,
+143,
+125,
+17,
+91,
+33,
+188,
+132,
+173,
+148,
+186,
+86,
+2,
+181,
+48,
+2,
+44,
+129,
+153,
+231,
+143,
+37,
+109,
+251,
+219,
+78,
+220,
+226,
+154,
+157,
+107,
+121,
+129,
+104,
+5,
+73,
+215,
+132,
+16,
+166,
+135,
+16,
+158,
+80,
+3,
+208,
+255,
+132,
+147,
+93,
+127,
+221,
+164,
+101,
+31,
+123,
+70,
+22,
+145,
+252,
+14,
+89,
+100,
+241,
+144,
+200,
+228,
+126,
+79,
+55,
+146,
+214,
+145,
+237,
+168,
+126,
+86,
+8,
+225,
+153,
+42,
+226,
+16,
+194,
+164,
+206,
+223,
+144,
+155,
+88,
+98,
+35,
+112,
+75,
+88,
+89,
+69,
+101,
+35,
+0,
+125,
+212,
+149,
+167,
+124,
+221,
+189,
+248,
+81,
+48,
+7,
+214,
+162,
+93,
+77,
+146,
+133,
+210,
+22,
+70,
+128,
+174,
+133,
+192,
+172,
+42,
+120,
+23,
+63,
+220,
+221,
+213,
+193,
+77,
+177,
+145,
+164,
+175,
+135,
+16,
+238,
+84,
+129,
+93,
+29,
+248,
+33,
+112,
+35,
+22,
+199,
+119,
+66,
+228,
+254,
+246,
+126,
+255,
+111,
+180,
+227,
+14,
+93,
+58,
+74,
+52,
+96,
+146,
+247,
+72,
+122,
+168,
+224,
+222,
+235,
+41,
+126,
+18,
+12,
+56,
+210,
+118,
+19,
+101,
+212,
+110,
+144,
+106,
+217,
+151,
+157,
+74,
+71,
+194,
+46,
+91,
+192,
+124,
+254,
+127,
+94,
+226,
+249,
+128,
+110,
+195,
+20,
+29,
+75,
+2,
+255,
+172,
+232,
+71,
+233,
+23,
+87,
+99,
+148,
+72,
+250,
+114,
+125,
+100,
+123,
+30,
+216,
+175,
+97,
+91,
+203,
+96,
+94,
+73,
+39,
+97,
+171,
+155,
+104,
+230,
+175,
+170,
+17,
+0,
+155,
+255,
+191,
+65,
+133,
+207,
+66,
+45,
+164,
+50,
+64,
+69,
+29,
+41,
+206,
+16,
+159,
+192,
+66,
+157,
+174,
+35,
+238,
+80,
+49,
+37,
+118,
+92,
+208,
+223,
+210,
+47,
+183,
+6,
+3,
+164,
+102,
+43,
+189,
+25,
+248,
+97,
+23,
+253,
+153,
+142,
+169,
+113,
+175,
+39,
+18,
+43,
+145,
+161,
+171,
+98,
+128,
+23,
+48,
+231,
+150,
+230,
+249,
+129,
+11,
+30,
+160,
+231,
+217,
+41,
+49,
+149,
+236,
+155,
+253,
+75,
+24,
+178,
+124,
+193,
+166,
+134,
+37,
+48,
+245,
+237,
+109,
+93,
+182,
+85,
+249,
+117,
+215,
+100,
+128,
+153,
+148,
+251,
+18,
+116,
+173,
+152,
+162,
+109,
+29,
+126,
+141,
+134,
+251,
+197,
+0,
+231,
+96,
+6,
+167,
+223,
+19,
+223,
+36,
+114,
+107,
+76,
+6,
+184,
+145,
+76,
+166,
+172,
+134,
+109,
+165,
+142,
+18,
+165,
+52,
+53,
+218,
+234,
+169,
+117,
+175,
+167,
+232,
+23,
+3,
+140,
+52,
+212,
+249,
+114,
+49,
+69,
+217,
+222,
+37,
+245,
+204,
+81,
+12,
+208,
+52,
+52,
+44,
+201,
+178,
+54,
+135,
+33,
+73,
+122,
+87,
+181,
+228,
+61,
+95,
+183,
+83,
+192,
+136,
+7,
+213,
+89,
+41,
+91,
+217,
+89,
+188,
+162,
+15,
+251,
+249,
+124,
+220,
+181,
+16,
+212,
+214,
+151,
+91,
+103,
+42,
+1,
+62,
+6,
+252,
+185,
+219,
+54,
+11,
+234,
+190,
+24,
+184,
+164,
+23,
+117,
+167,
+52,
+222,
+218,
+206,
+226,
+37,
+109,
+28,
+136,
+45,
+55,
+95,
+109,
+145,
+1,
+250,
+102,
+85,
+196,
+18,
+99,
+79,
+163,
+100,
+163,
+7,
+239,
+199,
+195,
+192,
+123,
+234,
+220,
+243,
+251,
+189,
+241,
+232,
+162,
+69,
+87,
+109,
+74,
+60,
+94,
+170,
+166,
+24,
+103,
+176,
+85,
+48,
+75,
+216,
+16,
+6,
+192,
+118,
+61,
+123,
+8,
+243,
+2,
+62,
+51,
+161,
+47,
+201,
+95,
+110,
+27,
+240,
+175,
+191,
+52,
+49,
+68,
+83,
+6,
+160,
+194,
+163,
+171,
+107,
+80,
+189,
+62,
+77,
+181,
+101,
+23,
+122,
+188,
+144,
+232,
+188,
+225,
+109,
+196,
+24,
+96,
+77,
+175,
+127,
+93,
+224,
+209,
+212,
+103,
+235,
+23,
+176,
+192,
+208,
+115,
+170,
+41,
+251,
+136,
+178,
+47,
+50,
+71,
+151,
+106,
+167,
+46,
+165,
+105,
+3,
+69,
+12,
+224,
+247,
+174,
+195,
+242,
+23,
+124,
+164,
+151,
+125,
+104,
+2,
+204,
+234,
+250,
+209,
+4,
+58,
+40,
+214,
+184,
+22,
+222,
+171,
+131,
+236,
+23,
+118,
+128,
+164,
+159,
+43,
+109,
+227,
+230,
+86,
+80,
+244,
+16,
+109,
+60,
+92,
+8,
+97,
+43,
+73,
+235,
+75,
+58,
+173,
+155,
+122,
+98,
+160,
+194,
+233,
+195,
+251,
+191,
+62,
+166,
+210,
+126,
+58,
+82,
+197,
+210,
+50,
+235,
+226,
+176,
+99,
+118,
+96,
+72,
+8,
+97,
+150,
+164,
+163,
+74,
+104,
+231,
+24,
+0,
+43,
+134,
+16,
+30,
+149,
+25,
+163,
+26,
+167,
+108,
+47,
+65,
+138,
+211,
+199,
+143,
+37,
+157,
+44,
+41,
+230,
+21,
+20,
+100,
+73,
+183,
+135,
+29,
+35,
+198,
+65,
+178,
+101,
+252,
+10,
+184,
+79,
+210,
+197,
+138,
+4,
+111,
+96,
+18,
+255,
+195,
+46,
+40,
+78,
+136,
+220,
+47,
+253,
+194,
+19,
+179,
+170,
+255,
+44,
+132,
+240,
+235,
+16,
+66,
+76,
+216,
+251,
+183,
+164,
+158,
+239,
+108,
+78,
+66,
+130,
+173,
+178,
+20,
+238,
+115,
+44,
+66,
+8,
+27,
+87,
+144,
+156,
+39,
+105,
+127,
+73,
+79,
+75,
+186,
+66,
+150,
+218,
+61,
+139,
+54,
+220,
+186,
+162,
+123,
+47,
+59,
+110,
+147,
+57,
+150,
+244,
+26,
+209,
+80,
+249,
+44,
+230,
+74,
+6,
+72,
+192,
+24,
+217,
+143,
+60,
+83,
+17,
+205,
+94,
+8,
+33,
+187,
+55,
+112,
+211,
+31,
+170,
+76,
+155,
+120,
+165,
+164,
+126,
+164,
+154,
+171,
+100,
+128,
+236,
+222,
+193,
+147,
+128,
+189,
+122,
+222,
+165,
+22,
+225,
+14,
+163,
+77,
+172,
+133,
+31,
+151,
+244,
+11,
+73,
+87,
+169,
+32,
+190,
+175,
+45,
+41,
+187,
+0,
+23,
+72,
+90,
+145,
+18,
+115,
+112,
+75,
+72,
+103,
+0,
+89,
+186,
+182,
+170,
+117,
+247,
+38,
+146,
+110,
+240,
+211,
+235,
+138,
+214,
+248,
+35,
+29,
+33,
+132,
+203,
+67,
+8,
+111,
+247,
+29,
+74,
+174,
+168,
+91,
+30,
+184,
+149,
+72,
+196,
+83,
+141,
+246,
+159,
+147,
+116,
+156,
+164,
+83,
+154,
+214,
+145,
+216,
+206,
+86,
+77,
+125,
+59,
+27,
+131,
+26,
+182,
+236,
+94,
+46,
+3,
+187,
+69,
+197,
+26,
+124,
+34,
+112,
+107,
+147,
+178,
+13,
+250,
+176,
+89,
+183,
+245,
+164,
+54,
+54,
+29,
+88,
+186,
+47,
+141,
+205,
+1,
+24,
+78,
+38,
+196,
+92,
+225,
+198,
+99,
+187,
+169,
+22,
+186,
+231,
+183,
+129,
+172,
+16,
+56,
+70,
+115,
+192,
+254,
+0,
+48,
+160,
+167,
+207,
+7,
+148,
+0,
+127,
+146,
+116,
+73,
+8,
+225,
+59,
+125,
+239,
+88,
+187,
+120,
+80,
+210,
+235,
+146,
+142,
+239,
+219,
+16,
+142,
+5,
+60,
+12,
+91,
+74,
+214,
+84,
+96,
+134,
+144,
+29,
+178,
+140,
+144,
+185,
+183,
+9,
+102,
+101,
+91,
+40,
+114,
+111,
+54,
+18,
+219,
+25,
+246,
+105,
+168,
+31,
+200,
+239,
+24,
+18,
+29,
+1,
+24,
+65,
+14,
+32,
+238,
+172,
+17,
+219,
+86,
+78,
+33,
+132,
+155,
+37,
+61,
+37,
+105,
+136,
+199,
+174,
+99,
+130,
+122,
+31,
+26,
+150,
+12,
+103,
+178,
+174,
+77,
+207,
+221,
+48,
+107,
+18,
+3,
+168,
+100,
+15,
+190,
+178,
+47,
+203,
+231,
+178,
+31,
+3,
+209,
+31,
+172,
+71,
+248,
+179,
+236,
+135,
+142,
+225,
+181,
+94,
+230,
+37,
+42,
+250,
+65,
+49,
+155,
+192,
+196,
+94,
+181,
+219,
+13,
+146,
+100,
+128,
+16,
+194,
+78,
+37,
+117,
+148,
+77,
+27,
+231,
+200,
+18,
+77,
+237,
+89,
+191,
+107,
+141,
+113,
+155,
+164,
+227,
+187,
+173,
+36,
+22,
+176,
+218,
+5,
+222,
+144,
+134,
+238,
+250,
+57,
+18,
+208,
+181,
+16,
+24,
+141,
+51,
+27,
+184,
+183,
+143,
+36,
+1,
+63,
+174,
+223,
+181,
+198,
+120,
+70,
+150,
+237,
+108,
+196,
+32,
+132,
+240,
+238,
+58,
+244,
+190,
+196,
+36,
+132,
+176,
+97,
+238,
+250,
+169,
+146,
+246,
+13,
+33,
+188,
+189,
+173,
+190,
+205,
+113,
+171,
+128,
+4,
+228,
+183,
+182,
+157,
+19,
+81,
+212,
+255,
+117,
+36,
+253,
+178,
+205,
+134,
+178,
+230,
+224,
+57,
+253,
+165,
+117,
+176,
+148,
+70,
+136,
+173,
+189,
+10,
+69,
+239,
+188,
+100,
+196,
+120,
+151,
+164,
+99,
+218,
+236,
+195,
+220,
+104,
+14,
+126,
+135,
+76,
+14,
+72,
+134,
+11,
+111,
+255,
+47,
+114,
+125,
+68,
+9,
+111,
+158,
+48,
+163,
+219,
+13,
+169,
+7,
+161,
+47,
+12,
+80,
+177,
+115,
+120,
+219,
+216,
+70,
+102,
+228,
+169,
+131,
+55,
+36,
+197,
+182,
+100,
+107,
+69,
+120,
+115,
+219,
+65,
+97,
+144,
+235,
+112,
+98,
+142,
+51,
+7,
+251,
+50,
+43,
+154,
+116,
+194,
+173,
+107,
+43,
+202,
+150,
+173,
+117,
+240,
+134,
+164,
+151,
+242,
+23,
+235,
+10,
+111,
+37,
+24,
+177,
+211,
+235,
+28,
+199,
+0,
+146,
+94,
+46,
+185,
+247,
+37,
+73,
+159,
+117,
+107,
+91,
+12,
+111,
+2,
+222,
+28,
+209,
+5,
+204,
+82,
+124,
+4,
+104,
+5,
+69,
+140,
+228,
+186,
+147,
+5,
+134,
+115,
+191,
+133,
+57,
+142,
+1,
+202,
+132,
+213,
+16,
+194,
+206,
+21,
+197,
+255,
+216,
+33,
+205,
+93,
+143,
+142,
+0,
+255,
+23,
+48,
+199,
+49,
+64,
+83,
+84,
+172,
+114,
+138,
+100,
+128,
+57,
+2,
+221,
+172,
+224,
+230,
+198,
+85,
+64,
+19,
+204,
+82,
+100,
+4,
+0,
+78,
+165,
+96,
+71,
+180,
+185,
+5,
+255,
+103,
+70,
+128,
+50,
+132,
+16,
+22,
+45,
+184,
+213,
+186,
+226,
+101,
+20,
+35,
+16,
+20,
+196,
+252,
+187,
+103,
+211,
+26,
+53,
+234,
+105,
+197,
+186,
+215,
+79,
+140,
+142,
+0,
+134,
+34,
+141,
+92,
+173,
+108,
+105,
+115,
+145,
+54,
+117,
+20,
+163,
+24,
+197,
+40,
+70,
+49,
+138,
+81,
+140,
+98,
+20,
+163,
+24,
+197,
+40,
+70,
+49,
+138,
+81,
+140,
+98,
+20,
+163,
+24,
+197,
+40,
+70,
+49,
+138,
+81,
+204,
+37,
+248,
+255,
+129,
+51,
+157,
+250,
+111,
+139,
+157,
+153,
+0,
+0,
+0,
+0,
+73,
+69,
+78,
+68,
+174,
+66,
+96,
+130,
+};
diff --git a/scene/resources/default_theme/font_mono.png b/scene/resources/default_theme/font_mono.png
deleted file mode 100644
index 8a50dccf44..0000000000
--- a/scene/resources/default_theme/font_mono.png
+++ /dev/null
Binary files differ
diff --git a/scene/resources/default_theme/font_normal.inc b/scene/resources/default_theme/font_normal.inc
deleted file mode 100644
index 0555c8160d..0000000000
--- a/scene/resources/default_theme/font_normal.inc
+++ /dev/null
@@ -1,65741 +0,0 @@
-static const int _builtin_normal_font_height=13;
-static const int _builtin_normal_font_ascent=11;
-static const int _builtin_normal_font_charcount=191;
-static const int _builtin_normal_font_charrects[191][8]={
-/* charidx , ofs_x, ofs_y, size_x, size_y, valign, halign, advance */
-{224,222,75,7,10,1,0,7},
-{192,94,2,9,12,-1,0,8},
-{64,35,2,12,12,2,0,12},
-{96,109,104,4,2,1,0,4},
-{160,0,0,0,0,11,0,3},
-{32,0,0,0,0,11,0,3},
-{33,64,107,2,9,2,1,3},
-{225,233,66,7,10,1,0,7},
-{193,107,2,9,12,-1,0,8},
-{65,224,2,9,9,2,0,8},
-{161,243,93,3,9,4,0,3},
-{97,244,51,7,7,4,0,7},
-{98,151,47,7,10,1,0,7},
-{226,244,62,7,10,1,0,7},
-{194,120,2,9,12,-1,0,8},
-{162,200,57,7,11,2,0,7},
-{66,24,58,7,9,2,1,8},
-{34,117,104,4,4,1,0,4},
-{35,38,45,8,9,2,0,8},
-{195,28,28,9,13,-2,0,8},
-{227,211,57,7,11,0,0,7},
-{67,26,45,8,9,2,0,8},
-{163,140,17,8,9,2,0,8},
-{99,24,71,7,7,4,0,7},
-{100,118,44,7,10,1,0,7},
-{228,13,87,7,10,1,0,7},
-{164,159,2,9,10,2,0,9},
-{36,162,47,7,13,0,0,7},
-{196,172,2,9,12,-1,0,8},
-{68,46,58,7,9,2,1,9},
-{37,211,15,9,9,2,0,10},
-{69,112,61,7,9,2,1,8},
-{165,176,28,8,9,2,0,8},
-{197,67,28,9,14,-3,0,8},
-{229,13,71,7,12,-1,0,7},
-{101,35,71,7,7,4,0,7},
-{38,14,45,8,9,2,0,8},
-{70,101,61,7,9,2,1,8},
-{198,2,2,13,9,2,-1,12},
-{166,9,117,3,11,2,0,3},
-{102,47,96,5,10,1,0,4},
-{230,51,13,11,7,4,0,11},
-{71,164,18,8,9,2,0,9},
-{231,24,82,7,10,4,0,7},
-{199,188,28,8,12,2,0,8},
-{167,200,28,8,12,2,0,8},
-{103,189,57,7,10,4,0,7},
-{39,46,110,2,4,1,0,2},
-{72,152,30,8,9,2,1,9},
-{232,2,75,7,10,1,0,7},
-{40,83,105,5,13,1,0,4},
-{200,79,75,7,12,-1,1,8},
-{104,167,64,7,10,1,0,7},
-{168,38,96,5,2,1,1,6},
-{73,58,107,2,9,2,1,4},
-{169,66,2,10,9,2,0,10},
-{233,211,72,7,10,1,0,7},
-{41,173,103,4,13,1,0,4},
-{201,90,74,7,12,-1,1,8},
-{105,16,117,2,11,0,1,3},
-{234,200,72,7,10,1,0,7},
-{106,221,102,4,14,0,-1,3},
-{202,101,74,7,12,-1,1,8},
-{42,123,83,6,6,2,0,6},
-{170,65,97,5,5,2,0,6},
-{74,90,61,7,9,2,0,7},
-{171,233,80,6,5,5,0,6},
-{43,74,46,7,8,3,0,7},
-{107,145,61,7,10,1,0,7},
-{203,112,74,7,12,-1,1,8},
-{235,189,71,7,10,1,0,7},
-{75,152,17,8,9,2,1,8},
-{172,222,68,7,3,6,0,7},
-{44,52,110,2,4,10,0,3},
-{108,40,102,2,10,1,1,3},
-{204,213,102,4,12,-1,-1,4},
-{236,141,97,4,10,1,-1,3},
-{76,243,80,6,9,2,1,7},
-{173,125,98,4,1,7,0,4},
-{45,125,93,4,1,7,0,4},
-{109,51,2,11,7,4,0,11},
-{205,181,103,4,12,-1,0,4},
-{237,149,94,4,10,1,0,3},
-{77,80,2,10,9,2,1,11},
-{46,34,112,2,2,9,1,3},
-{110,57,72,7,7,4,0,7},
-{206,133,97,4,12,-1,0,4},
-{238,157,103,4,10,1,0,3},
-{174,66,15,10,9,2,0,10},
-{78,128,31,8,9,2,1,9},
-{175,143,87,6,1,2,0,6},
-{111,68,72,7,7,4,0,7},
-{47,163,89,6,10,2,0,5},
-{207,29,96,5,12,-1,0,4},
-{239,92,104,5,10,1,-1,3},
-{79,198,15,9,9,2,0,9},
-{176,74,105,5,4,2,0,5},
-{112,112,90,7,10,4,0,7},
-{240,134,72,7,10,1,0,8},
-{208,185,2,9,9,2,0,9},
-{80,68,59,7,9,2,1,8},
-{48,35,58,7,9,2,0,7},
-{177,145,75,7,8,3,0,7},
-{113,101,90,7,10,4,0,7},
-{81,133,2,9,11,2,0,9},
-{241,233,51,7,11,0,0,7},
-{209,140,30,8,13,-2,1,9},
-{49,189,100,4,9,2,1,7},
-{178,20,101,5,6,2,0,6},
-{114,2,89,5,7,4,0,4},
-{210,54,28,9,12,-1,0,9},
-{242,173,47,7,10,1,0,7},
-{82,57,59,7,9,2,1,9},
-{50,13,58,7,9,2,0,7},
-{179,56,97,5,6,2,0,6},
-{115,123,72,7,7,4,0,7},
-{211,41,24,9,12,-1,0,9},
-{243,140,47,7,10,1,0,7},
-{83,104,31,8,9,2,0,8},
-{51,2,47,7,9,2,0,7},
-{180,101,104,4,2,1,0,4},
-{116,205,99,4,9,2,0,5},
-{244,156,64,7,10,1,0,7},
-{212,2,15,9,12,-1,0,9},
-{84,104,18,8,9,2,0,8},
-{52,224,22,8,9,2,0,7},
-{53,239,38,7,9,2,0,7},
-{85,92,26,8,9,2,0,9},
-{213,15,28,9,13,-2,0,9},
-{117,46,71,7,7,4,0,7},
-{181,79,91,7,10,4,0,7},
-{245,2,60,7,11,0,0,7},
-{54,228,38,7,9,2,0,7},
-{86,211,2,9,9,2,0,8},
-{182,203,86,6,9,2,0,6},
-{214,237,2,9,12,-1,0,9},
-{246,123,58,7,10,1,0,7},
-{118,222,57,7,7,4,0,7},
-{87,19,15,12,9,2,0,11},
-{55,217,44,7,9,2,0,7},
-{247,156,78,7,7,3,0,7},
-{119,80,15,10,7,4,0,10},
-{215,178,72,7,6,4,0,7},
-{183,22,111,2,2,6,1,3},
-{88,62,46,8,9,2,0,8},
-{248,129,44,7,9,3,0,7},
-{216,146,2,9,11,1,0,9},
-{56,206,44,7,9,2,0,7},
-{120,178,61,7,7,4,0,7},
-{184,2,100,3,3,11,0,3},
-{217,164,31,8,12,-1,0,9},
-{249,90,90,7,10,1,0,7},
-{121,68,83,7,10,4,0,7},
-{57,195,44,7,9,2,0,7},
-{89,80,26,8,9,2,0,8},
-{185,236,98,3,6,2,0,4},
-{218,212,28,8,12,-1,0,9},
-{250,57,83,7,10,1,0,7},
-{90,128,18,8,9,2,0,8},
-{122,167,78,7,7,4,0,7},
-{58,70,113,2,7,4,1,3},
-{186,183,85,6,5,2,0,6},
-{59,250,93,3,10,4,0,3},
-{91,197,100,4,13,0,0,4},
-{219,236,22,8,12,-1,0,9},
-{123,11,101,5,12,1,0,4},
-{251,46,82,7,10,1,0,7},
-{187,233,89,6,5,5,0,6},
-{188,185,15,9,9,2,1,10},
-{92,193,86,6,10,2,0,5},
-{252,35,82,7,10,1,0,7},
-{220,2,31,8,12,-1,0,9},
-{124,28,112,2,11,2,1,3},
-{60,133,86,6,7,4,0,7},
-{189,198,2,9,9,2,1,11},
-{93,229,98,3,13,0,0,4},
-{253,107,44,7,13,1,0,7},
-{221,116,18,8,12,-1,0,8},
-{125,165,103,4,12,1,0,4},
-{61,184,44,7,6,4,0,7},
-{190,19,2,12,9,2,0,11},
-{222,85,39,7,9,2,1,8},
-{254,96,44,7,13,1,0,8},
-{62,134,61,7,7,4,0,7},
-{94,223,89,6,5,2,0,5},
-{126,224,15,9,3,6,0,9},
-{223,50,44,8,10,1,0,8},
-{255,79,58,7,13,1,0,7},
-{191,173,89,6,10,4,0,6},
-{63,213,89,6,9,2,0,6},
-{95,153,89,6,1,11,0,6},
-};
-static const int _builtin_normal_font_kerning_pair_count=0;
-static const int _builtin_normal_font_kerning_pairs[1][3]={
-{0,0,0}
-};
-static const int _builtin_normal_font_img_width=256;
-static const int _builtin_normal_font_img_height=256;
-static const unsigned char _builtin_normal_font_img_data[131072]={
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,206,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,152,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,178,
-255,247,
-255,217,
-255,55,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,74,
-255,188,
-255,241,
-255,247,
-255,210,
-255,118,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,132,
-255,224,
-255,242,
-255,124,
-255,71,
-255,222,
-255,239,
-255,133,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,54,
-255,182,
-255,242,
-255,245,
-255,193,
-255,71,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,232,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-255,133,
-255,253,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,35,
-255,229,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,89,
-255,222,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,121,
-255,128,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,129,
-255,227,
-255,250,
-255,213,
-255,95,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,55,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,62,
-255,31,
-0,0,
-255,63,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,172,
-255,255,
-255,255,
-255,248,
-255,205,
-255,85,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,119,
-255,113,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,171,
-255,169,
-0,0,
-0,0,
-0,0,
-0,0,
-255,110,
-255,225,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,127,
-255,240,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,62,
-255,31,
-0,0,
-255,63,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,122,
-255,141,
-255,255,
-255,61,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,17,
-255,95,
-255,16,
-255,172,
-255,135,
-0,0,
-0,0,
-255,114,
-255,81,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,215,
-255,80,
-255,15,
-255,9,
-255,49,
-255,164,
-255,182,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,138,
-255,20,
-255,103,
-255,255,
-255,184,
-255,25,
-255,63,
-255,252,
-255,53,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,76,
-255,217,
-255,84,
-255,15,
-255,10,
-255,72,
-255,209,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,191,
-255,80,
-0,0,
-0,0,
-0,0,
-255,2,
-255,191,
-255,226,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,41,
-255,151,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,151,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,144,
-255,150,
-255,136,
-255,157,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,150,
-255,217,
-255,60,
-255,21,
-255,86,
-255,238,
-255,107,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,129,
-255,227,
-255,247,
-255,205,
-255,170,
-255,123,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,30,
-255,231,
-255,114,
-255,194,
-255,243,
-255,217,
-255,117,
-255,207,
-255,106,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,120,
-0,0,
-255,240,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,172,
-255,148,
-0,0,
-255,15,
-255,91,
-255,241,
-255,102,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,100,
-255,255,
-255,132,
-0,0,
-0,0,
-255,114,
-255,81,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,74,
-255,243,
-255,8,
-0,0,
-0,0,
-0,0,
-255,194,
-255,129,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,224,
-255,186,
-255,94,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,120,
-0,0,
-255,240,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,234,
-255,21,
-255,247,
-255,71,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,255,
-255,246,
-255,44,
-0,0,
-255,42,
-255,196,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,67,
-255,216,
-255,17,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,158,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-255,2,
-255,251,
-255,89,
-0,0,
-0,0,
-255,214,
-255,103,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,212,
-255,25,
-255,110,
-255,235,
-255,235,
-255,106,
-255,13,
-255,208,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,107,
-255,175,
-0,0,
-0,0,
-0,0,
-255,72,
-255,127,
-255,233,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,253,
-255,61,
-0,0,
-0,0,
-0,0,
-255,102,
-255,236,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,150,
-255,217,
-255,60,
-255,19,
-255,108,
-255,255,
-255,94,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,164,
-255,250,
-255,122,
-255,47,
-255,85,
-255,227,
-255,233,
-255,21,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,172,
-255,148,
-0,0,
-0,0,
-0,0,
-255,104,
-255,236,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,152,
-255,132,
-0,0,
-255,42,
-255,196,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,228,
-255,81,
-0,0,
-0,0,
-255,24,
-255,251,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,75,
-255,198,
-255,79,
-255,194,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,183,
-255,135,
-0,0,
-255,236,
-255,82,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,30,
-255,111,
-255,15,
-255,150,
-255,164,
-255,4,
-255,196,
-255,42,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,193,
-255,70,
-0,0,
-255,63,
-255,217,
-255,246,
-255,169,
-255,4,
-255,31,
-255,195,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-255,244,
-255,80,
-0,0,
-0,0,
-255,204,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-255,80,
-255,125,
-255,27,
-255,231,
-255,32,
-255,34,
-255,240,
-255,5,
-255,94,
-255,112,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,88,
-255,183,
-255,23,
-0,0,
-0,0,
-255,168,
-255,34,
-255,241,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,127,
-255,240,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,127,
-255,240,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,127,
-255,240,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,253,
-255,4,
-0,0,
-0,0,
-0,0,
-255,39,
-255,255,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,253,
-255,61,
-0,0,
-0,0,
-255,183,
-255,161,
-255,231,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,207,
-255,120,
-0,0,
-0,0,
-0,0,
-255,48,
-255,249,
-255,33,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,127,
-255,240,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,172,
-255,148,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,39,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,152,
-255,132,
-255,4,
-255,196,
-255,42,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,134,
-255,165,
-0,0,
-0,0,
-255,106,
-255,189,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,177,
-255,116,
-255,9,
-255,244,
-255,38,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,129,
-255,227,
-255,250,
-255,213,
-255,95,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,86,
-255,242,
-255,18,
-0,0,
-255,226,
-255,255,
-255,255,
-255,255,
-255,255,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,185,
-255,248,
-255,219,
-255,66,
-255,128,
-255,115,
-0,0,
-255,50,
-255,247,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,17,
-255,230,
-255,1,
-255,15,
-255,236,
-255,81,
-255,14,
-255,246,
-0,0,
-0,0,
-255,216,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-255,244,
-255,80,
-0,0,
-0,0,
-255,204,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-255,106,
-255,89,
-255,58,
-255,189,
-0,0,
-0,0,
-0,0,
-0,0,
-255,58,
-255,138,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,96,
-255,94,
-255,115,
-0,0,
-255,17,
-255,188,
-0,0,
-255,248,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,224,
-255,186,
-255,94,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,224,
-255,186,
-255,94,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,224,
-255,186,
-255,94,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,72,
-255,248,
-0,0,
-0,0,
-0,0,
-0,0,
-255,28,
-255,255,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,253,
-255,4,
-0,0,
-255,90,
-255,159,
-255,37,
-255,255,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,255,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-255,210,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,224,
-255,186,
-255,94,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,255,
-255,255,
-255,255,
-255,84,
-0,0,
-255,16,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,152,
-255,132,
-255,128,
-255,120,
-255,168,
-255,245,
-255,211,
-255,35,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,37,
-255,240,
-255,7,
-0,0,
-255,190,
-255,91,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,251,
-255,34,
-0,0,
-255,174,
-255,138,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,150,
-255,217,
-255,60,
-255,21,
-255,86,
-255,238,
-255,106,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,14,
-255,230,
-255,156,
-255,36,
-255,36,
-255,222,
-255,102,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,51,
-255,189,
-255,2,
-255,20,
-255,205,
-255,220,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,56,
-255,186,
-0,0,
-255,92,
-255,195,
-0,0,
-255,23,
-255,225,
-0,0,
-0,0,
-255,214,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-255,244,
-255,80,
-0,0,
-0,0,
-255,204,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-255,79,
-255,126,
-255,28,
-255,231,
-255,30,
-255,8,
-255,76,
-255,2,
-255,95,
-255,111,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-255,11,
-255,201,
-0,0,
-255,108,
-255,102,
-0,0,
-255,252,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,75,
-255,198,
-255,79,
-255,194,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,75,
-255,198,
-255,79,
-255,194,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,75,
-255,198,
-255,79,
-255,194,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,252,
-255,4,
-0,0,
-0,0,
-0,0,
-255,38,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-255,72,
-255,248,
-0,0,
-255,18,
-255,211,
-255,18,
-255,28,
-255,255,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-255,14,
-255,255,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-255,210,
-255,93,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,75,
-255,198,
-255,79,
-255,194,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,172,
-255,148,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,39,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,51,
-255,189,
-255,31,
-255,134,
-255,18,
-255,184,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,195,
-255,77,
-255,21,
-255,237,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,212,
-255,12,
-255,12,
-255,102,
-255,232,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,253,
-255,61,
-0,0,
-0,0,
-0,0,
-255,102,
-255,236,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,147,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,114,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,201,
-255,34,
-255,3,
-255,177,
-255,54,
-255,192,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,69,
-255,173,
-0,0,
-255,135,
-255,151,
-0,0,
-255,49,
-255,201,
-0,0,
-255,3,
-255,209,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-255,244,
-255,80,
-0,0,
-0,0,
-255,204,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,212,
-255,25,
-255,113,
-255,235,
-255,243,
-255,156,
-255,13,
-255,208,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-255,163,
-255,53,
-255,197,
-255,16,
-0,0,
-255,252,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,177,
-255,116,
-255,9,
-255,244,
-255,38,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,177,
-255,116,
-255,9,
-255,244,
-255,38,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,177,
-255,116,
-255,9,
-255,244,
-255,38,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,253,
-255,58,
-0,0,
-0,0,
-0,0,
-255,100,
-255,231,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,252,
-255,2,
-255,157,
-255,91,
-0,0,
-255,39,
-255,255,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,207,
-255,118,
-0,0,
-0,0,
-0,0,
-255,46,
-255,249,
-255,34,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,177,
-255,116,
-255,9,
-255,244,
-255,38,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,172,
-255,148,
-0,0,
-0,0,
-0,0,
-255,105,
-255,238,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,201,
-255,34,
-0,0,
-0,0,
-255,71,
-255,221,
-255,35,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,97,
-255,161,
-255,102,
-255,152,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,223,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,82,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,253,
-255,4,
-0,0,
-0,0,
-0,0,
-255,39,
-255,255,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,53,
-255,253,
-255,90,
-0,0,
-0,0,
-0,0,
-255,194,
-255,126,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,93,
-255,102,
-0,0,
-255,96,
-255,255,
-255,255,
-255,255,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,55,
-255,192,
-0,0,
-255,122,
-255,186,
-255,12,
-255,128,
-255,198,
-0,0,
-255,111,
-255,131,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,76,
-255,217,
-255,83,
-255,14,
-255,10,
-255,71,
-255,208,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-255,69,
-255,192,
-255,171,
-0,0,
-0,0,
-255,252,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,251,
-255,34,
-0,0,
-255,174,
-255,138,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,251,
-255,34,
-0,0,
-255,174,
-255,138,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,251,
-255,34,
-0,0,
-255,174,
-255,138,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,154,
-255,214,
-255,55,
-255,16,
-255,80,
-255,235,
-255,99,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,254,
-255,121,
-255,184,
-0,0,
-0,0,
-255,100,
-255,237,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,187,
-255,249,
-255,118,
-255,42,
-255,81,
-255,225,
-255,241,
-255,38,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,251,
-255,34,
-0,0,
-255,174,
-255,138,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,172,
-255,148,
-0,0,
-255,15,
-255,91,
-255,241,
-255,105,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,93,
-255,102,
-0,0,
-255,4,
-255,135,
-255,201,
-255,39,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,225,
-255,185,
-255,54,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,72,
-255,248,
-255,23,
-0,0,
-0,0,
-0,0,
-255,161,
-255,182,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,72,
-255,248,
-0,0,
-0,0,
-0,0,
-0,0,
-255,28,
-255,255,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,205,
-255,181,
-0,0,
-0,0,
-0,0,
-0,0,
-255,182,
-255,255,
-255,255,
-255,255,
-255,255,
-255,252,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,237,
-255,11,
-255,27,
-255,215,
-255,235,
-255,89,
-255,195,
-255,213,
-255,154,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,54,
-255,182,
-255,243,
-255,246,
-255,194,
-255,71,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-255,2,
-255,228,
-255,78,
-0,0,
-0,0,
-255,252,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,212,
-255,12,
-255,12,
-255,102,
-255,232,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,212,
-255,12,
-255,12,
-255,102,
-255,232,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,212,
-255,12,
-255,12,
-255,102,
-255,232,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,132,
-255,229,
-255,250,
-255,212,
-255,249,
-255,108,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,154,
-255,255,
-255,81,
-255,15,
-255,80,
-255,235,
-255,109,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,202,
-255,98,
-255,198,
-255,244,
-255,219,
-255,115,
-255,177,
-255,88,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,212,
-255,12,
-255,12,
-255,102,
-255,232,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,172,
-255,255,
-255,255,
-255,249,
-255,206,
-255,88,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,56,
-255,255,
-255,255,
-255,255,
-255,136,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,157,
-255,211,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,173,
-255,160,
-0,0,
-0,0,
-0,0,
-0,0,
-255,51,
-255,253,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,252,
-255,4,
-0,0,
-0,0,
-0,0,
-255,38,
-255,255,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,164,
-255,136,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,223,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,82,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,223,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,82,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,223,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,82,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,74,
-255,246,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,122,
-255,185,
-255,224,
-255,250,
-255,214,
-255,98,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,223,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,82,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,253,
-255,58,
-0,0,
-0,0,
-0,0,
-255,100,
-255,237,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,221,
-255,150,
-255,41,
-255,6,
-255,23,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,72,
-255,248,
-255,23,
-0,0,
-0,0,
-0,0,
-255,161,
-255,182,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,72,
-255,248,
-255,23,
-0,0,
-0,0,
-0,0,
-255,161,
-255,182,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,72,
-255,248,
-255,23,
-0,0,
-0,0,
-0,0,
-255,161,
-255,182,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,103,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,72,
-255,248,
-255,23,
-0,0,
-0,0,
-0,0,
-255,161,
-255,182,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,154,
-255,214,
-255,55,
-255,16,
-255,80,
-255,235,
-255,109,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,144,
-255,223,
-255,249,
-255,224,
-255,133,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,93,
-255,219,
-255,248,
-255,198,
-255,61,
-255,172,
-255,246,
-255,219,
-255,89,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,173,
-255,160,
-0,0,
-0,0,
-0,0,
-0,0,
-255,51,
-255,253,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-255,173,
-255,160,
-0,0,
-0,0,
-0,0,
-0,0,
-255,51,
-255,253,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-255,173,
-255,160,
-0,0,
-0,0,
-0,0,
-0,0,
-255,51,
-255,253,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,173,
-255,160,
-0,0,
-0,0,
-0,0,
-0,0,
-255,51,
-255,253,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,132,
-255,229,
-255,250,
-255,214,
-255,98,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,253,
-255,86,
-255,11,
-255,167,
-255,255,
-255,170,
-255,16,
-255,62,
-255,246,
-255,39,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,121,
-255,128,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,136,
-255,178,
-0,0,
-0,0,
-255,6,
-255,246,
-255,96,
-0,0,
-0,0,
-255,74,
-255,238,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,44,
-0,0,
-0,0,
-255,88,
-255,255,
-255,38,
-0,0,
-0,0,
-255,194,
-255,110,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,54,
-255,182,
-255,242,
-255,245,
-255,193,
-255,71,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,147,
-255,165,
-0,0,
-0,0,
-255,188,
-255,139,
-0,0,
-0,0,
-255,212,
-255,95,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,119,
-255,113,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,129,
-255,227,
-255,250,
-255,213,
-255,95,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,163,
-255,243,
-255,186,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,117,
-255,240,
-255,211,
-255,75,
-0,0,
-255,2,
-255,157,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,144,
-255,150,
-255,136,
-255,157,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,73,
-255,231,
-0,0,
-0,0,
-255,61,
-255,238,
-255,161,
-0,0,
-0,0,
-255,127,
-255,176,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,157,
-255,227,
-255,247,
-255,250,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,135,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,76,
-255,217,
-255,84,
-255,15,
-255,10,
-255,72,
-255,209,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,74,
-255,225,
-0,0,
-255,11,
-255,196,
-255,202,
-0,0,
-255,14,
-255,252,
-255,23,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,100,
-255,255,
-255,132,
-0,0,
-0,0,
-255,114,
-255,81,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,150,
-255,217,
-255,60,
-255,21,
-255,86,
-255,238,
-255,106,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,67,
-255,194,
-255,12,
-255,160,
-255,103,
-0,0,
-255,150,
-255,46,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,21,
-255,227,
-255,37,
-255,82,
-255,231,
-255,173,
-255,174,
-255,179,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,14,
-255,252,
-255,30,
-0,0,
-255,126,
-255,142,
-255,224,
-0,0,
-0,0,
-255,180,
-255,113,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,128,
-255,219,
-255,39,
-255,4,
-255,86,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,212,
-255,25,
-255,204,
-255,255,
-255,240,
-255,134,
-255,13,
-255,208,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-255,9,
-255,247,
-255,28,
-255,76,
-255,138,
-255,194,
-255,27,
-255,69,
-255,206,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,147,
-255,236,
-255,236,
-255,154,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-255,3,
-255,186,
-255,172,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,152,
-255,132,
-0,0,
-255,42,
-255,196,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,253,
-255,61,
-0,0,
-0,0,
-0,0,
-255,102,
-255,236,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-255,80,
-255,165,
-0,0,
-255,126,
-255,115,
-255,74,
-255,169,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,29,
-0,0,
-0,0,
-255,21,
-255,110,
-255,116,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,129,
-255,227,
-255,250,
-255,213,
-255,95,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,203,
-255,84,
-0,0,
-255,191,
-255,54,
-255,204,
-255,36,
-0,0,
-255,233,
-255,50,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,137,
-255,202,
-255,16,
-255,37,
-255,174,
-255,247,
-255,167,
-255,22,
-255,19,
-255,101,
-255,27,
-0,0,
-0,0,
-0,0,
-0,0,
-255,80,
-255,125,
-0,0,
-255,204,
-255,36,
-255,37,
-255,238,
-255,1,
-255,94,
-255,112,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,184,
-255,88,
-255,148,
-255,67,
-255,123,
-255,99,
-255,126,
-255,133,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,200,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,89,
-255,222,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,80,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,251,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,101,
-255,231,
-255,35,
-255,31,
-255,220,
-255,113,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-255,146,
-255,208,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,120,
-255,217,
-255,245,
-255,213,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,152,
-255,132,
-255,4,
-255,196,
-255,42,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,253,
-255,4,
-0,0,
-0,0,
-0,0,
-255,39,
-255,255,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-255,17,
-255,223,
-255,191,
-255,232,
-255,57,
-255,205,
-255,19,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,150,
-255,217,
-255,60,
-255,21,
-255,86,
-255,238,
-255,106,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,140,
-255,138,
-255,7,
-255,228,
-255,2,
-255,133,
-255,101,
-255,30,
-255,240,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,194,
-255,247,
-255,230,
-255,138,
-255,28,
-255,168,
-255,242,
-255,245,
-255,185,
-255,35,
-0,0,
-0,0,
-0,0,
-0,0,
-255,106,
-255,89,
-0,0,
-255,204,
-255,255,
-255,255,
-255,140,
-0,0,
-255,58,
-255,138,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,111,
-255,148,
-255,208,
-255,6,
-255,50,
-255,171,
-255,182,
-255,61,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,208,
-255,112,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,151,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,201,
-255,145,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,149,
-255,170,
-0,0,
-0,0,
-255,73,
-255,72,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-255,101,
-255,234,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,144,
-255,216,
-255,54,
-255,10,
-255,68,
-255,237,
-255,99,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,152,
-255,132,
-255,128,
-255,115,
-255,50,
-255,247,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,72,
-255,248,
-0,0,
-0,0,
-0,0,
-0,0,
-255,28,
-255,255,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,14,
-255,64,
-255,22,
-255,168,
-255,76,
-255,46,
-255,53,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,253,
-255,61,
-0,0,
-0,0,
-0,0,
-255,102,
-255,236,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,77,
-255,192,
-255,64,
-255,168,
-0,0,
-255,63,
-255,167,
-255,82,
-255,180,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,79,
-255,126,
-0,0,
-255,204,
-255,36,
-255,28,
-255,236,
-255,1,
-255,95,
-255,111,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,38,
-255,218,
-255,178,
-0,0,
-255,1,
-255,205,
-255,217,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,208,
-255,112,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,129,
-255,213,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,145,
-255,174,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-255,63,
-255,244,
-255,61,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,253,
-255,65,
-0,0,
-0,0,
-0,0,
-255,109,
-255,150,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,51,
-255,189,
-255,22,
-255,205,
-255,220,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,252,
-255,4,
-0,0,
-0,0,
-0,0,
-255,38,
-255,255,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,87,
-255,156,
-255,120,
-255,221,
-255,215,
-255,141,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,253,
-255,4,
-0,0,
-0,0,
-0,0,
-255,39,
-255,255,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,241,
-255,130,
-255,97,
-0,0,
-255,5,
-255,218,
-255,134,
-255,117,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,212,
-255,25,
-255,204,
-255,36,
-0,0,
-255,233,
-255,26,
-255,208,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,107,
-0,0,
-0,0,
-255,160,
-255,172,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,208,
-255,112,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,154,
-255,209,
-255,1,
-0,0,
-0,0,
-255,5,
-255,221,
-255,137,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,56,
-255,246,
-255,49,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,144,
-255,255,
-255,255,
-255,255,
-255,255,
-255,88,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,255,
-255,255,
-255,179,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,52,
-255,255,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,201,
-255,37,
-255,177,
-255,54,
-255,192,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,253,
-255,58,
-0,0,
-0,0,
-0,0,
-255,100,
-255,237,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,205,
-255,13,
-255,212,
-255,29,
-255,10,
-255,231,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,72,
-255,248,
-0,0,
-0,0,
-0,0,
-0,0,
-255,28,
-255,255,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,207,
-255,209,
-255,27,
-0,0,
-0,0,
-255,178,
-255,205,
-255,54,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,76,
-255,217,
-255,83,
-255,14,
-255,10,
-255,72,
-255,209,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,208,
-255,112,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,244,
-255,89,
-0,0,
-0,0,
-255,106,
-255,235,
-255,15,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,220,
-255,121,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,125,
-255,192,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-255,43,
-255,241,
-255,105,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,60,
-255,255,
-255,4,
-0,0,
-255,112,
-255,255,
-255,255,
-255,216,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,93,
-255,102,
-255,96,
-255,255,
-255,255,
-255,255,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,154,
-255,214,
-255,55,
-255,16,
-255,80,
-255,235,
-255,109,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,131,
-255,64,
-0,0,
-255,200,
-255,65,
-255,43,
-255,223,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,220,
-255,192,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,121,
-255,128,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,252,
-255,4,
-0,0,
-0,0,
-0,0,
-255,38,
-255,255,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,144,
-255,211,
-0,0,
-0,0,
-0,0,
-255,107,
-255,243,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,54,
-255,182,
-255,243,
-255,246,
-255,194,
-255,71,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,208,
-255,112,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,128,
-255,219,
-255,4,
-255,10,
-255,230,
-255,109,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,155,
-255,195,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,136,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-255,74,
-255,248,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,56,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-255,104,
-255,216,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,132,
-255,229,
-255,250,
-255,214,
-255,98,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,226,
-255,234,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,140,
-255,252,
-255,192,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,144,
-255,150,
-255,136,
-255,157,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,253,
-255,58,
-0,0,
-0,0,
-0,0,
-255,100,
-255,237,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,89,
-255,222,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,208,
-255,112,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,231,
-255,102,
-255,119,
-255,218,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,79,
-255,241,
-255,33,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,139,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-255,113,
-255,239,
-255,39,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,19,
-255,252,
-255,73,
-0,0,
-0,0,
-0,0,
-255,104,
-255,216,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,53,
-255,239,
-255,160,
-255,192,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,154,
-255,214,
-255,55,
-255,16,
-255,80,
-255,235,
-255,109,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,151,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,208,
-255,112,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,103,
-255,229,
-255,238,
-255,82,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,23,
-255,234,
-255,97,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-255,155,
-255,219,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,143,
-255,225,
-255,69,
-255,9,
-255,31,
-255,177,
-255,194,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,210,
-255,100,
-255,128,
-255,192,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-255,92,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,132,
-255,229,
-255,250,
-255,214,
-255,98,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,154,
-255,209,
-255,1,
-0,0,
-0,0,
-255,5,
-255,221,
-255,137,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-255,92,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,208,
-255,112,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,217,
-255,197,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,99,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,103,
-255,210,
-255,246,
-255,232,
-255,156,
-255,22,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,181,
-0,0,
-255,128,
-255,192,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-255,92,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,129,
-255,227,
-255,250,
-255,213,
-255,95,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,244,
-255,89,
-0,0,
-0,0,
-255,106,
-255,235,
-255,15,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-255,92,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,176,
-255,144,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,41,
-255,230,
-255,25,
-0,0,
-255,128,
-255,192,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-255,92,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,8,
-0,0,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,150,
-255,217,
-255,60,
-255,21,
-255,86,
-255,238,
-255,106,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,35,
-255,229,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,53,
-255,91,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,128,
-255,219,
-255,4,
-255,10,
-255,230,
-255,109,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-255,92,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,176,
-255,144,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,123,
-255,223,
-255,7,
-0,0,
-0,0,
-255,31,
-255,247,
-255,71,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,132,
-255,230,
-255,245,
-255,204,
-255,78,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,42,
-255,182,
-255,239,
-255,238,
-255,179,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,89,
-255,222,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,160,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-255,92,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,185,
-255,229,
-255,83,
-255,169,
-255,48,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,160,
-255,218,
-255,55,
-255,153,
-255,47,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,253,
-255,61,
-0,0,
-0,0,
-0,0,
-255,102,
-255,236,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,41,
-255,151,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,211,
-255,189,
-255,75,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,231,
-255,102,
-255,119,
-255,218,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-255,92,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,176,
-255,144,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,204,
-255,117,
-0,0,
-0,0,
-255,166,
-255,157,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,137,
-255,217,
-255,52,
-255,12,
-255,86,
-255,247,
-255,63,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,225,
-255,148,
-255,17,
-255,22,
-255,172,
-255,209,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,151,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,128,
-255,192,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-255,92,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,160,
-255,24,
-255,183,
-255,162,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,181,
-255,44,
-255,211,
-255,190,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,253,
-255,4,
-0,0,
-0,0,
-0,0,
-255,39,
-255,255,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,164,
-255,87,
-255,109,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,103,
-255,229,
-255,238,
-255,82,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-255,92,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,45,
-255,233,
-255,19,
-255,54,
-255,226,
-255,15,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,251,
-255,67,
-0,0,
-0,0,
-0,0,
-255,164,
-255,151,
-0,0,
-0,0,
-0,0,
-0,0,
-255,17,
-255,255,
-255,50,
-0,0,
-0,0,
-255,34,
-255,191,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,128,
-255,192,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-255,92,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,62,
-255,31,
-0,0,
-255,63,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,72,
-255,248,
-0,0,
-0,0,
-0,0,
-0,0,
-255,28,
-255,255,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,129,
-255,227,
-255,250,
-255,213,
-255,95,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,178,
-255,225,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,217,
-255,197,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-255,92,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,168,
-255,235,
-255,238,
-255,180,
-255,39,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,177,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,160,
-255,218,
-255,55,
-255,153,
-255,47,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,35,
-255,229,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,125,
-255,146,
-255,194,
-255,73,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,53,
-255,255,
-255,9,
-0,0,
-0,0,
-0,0,
-255,12,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,202,
-255,198,
-255,69,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-255,92,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,246,
-255,72,
-0,0,
-0,0,
-0,0,
-255,118,
-255,203,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-96,0,
-0,0,
-0,0,
-255,236,
-255,120,
-0,0,
-255,240,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,129,
-255,227,
-255,250,
-255,213,
-255,95,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,127,
-255,240,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,252,
-255,4,
-0,0,
-0,0,
-0,0,
-255,38,
-255,255,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,150,
-255,217,
-255,60,
-255,21,
-255,86,
-255,238,
-255,106,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,176,
-255,144,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,246,
-255,72,
-0,0,
-0,0,
-0,0,
-255,118,
-255,203,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,207,
-255,157,
-255,21,
-255,15,
-255,128,
-255,228,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,238,
-255,74,
-0,0,
-0,0,
-255,32,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,181,
-255,44,
-255,211,
-255,190,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,41,
-255,151,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,255,
-255,254,
-255,255,
-255,255,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,64,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,9,
-255,179,
-255,226,
-255,242,
-255,238,
-255,161,
-255,41,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-255,92,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,166,
-255,204,
-255,43,
-255,9,
-255,65,
-255,232,
-255,117,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,150,
-255,217,
-255,60,
-255,21,
-255,86,
-255,238,
-255,106,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,224,
-255,186,
-255,94,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,253,
-255,58,
-0,0,
-0,0,
-0,0,
-255,100,
-255,237,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,253,
-255,61,
-0,0,
-0,0,
-0,0,
-255,102,
-255,236,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,127,
-255,240,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,176,
-255,144,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,166,
-255,204,
-255,43,
-255,9,
-255,65,
-255,232,
-255,117,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-255,191,
-255,59,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,122,
-255,204,
-255,8,
-0,0,
-255,32,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,53,
-255,255,
-255,9,
-0,0,
-0,0,
-0,0,
-255,15,
-255,19,
-0,0,
-0,0,
-0,0,
-0,0,
-255,89,
-255,239,
-255,8,
-255,5,
-255,62,
-255,162,
-255,241,
-255,23,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-255,92,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,143,
-255,226,
-255,246,
-255,214,
-255,112,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-255,92,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,253,
-255,61,
-0,0,
-0,0,
-0,0,
-255,102,
-255,236,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,75,
-255,198,
-255,79,
-255,194,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,154,
-255,214,
-255,55,
-255,16,
-255,80,
-255,235,
-255,109,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,253,
-255,4,
-0,0,
-0,0,
-0,0,
-255,39,
-255,255,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,224,
-255,186,
-255,94,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,176,
-255,144,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,143,
-255,226,
-255,246,
-255,214,
-255,112,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,183,
-255,207,
-255,74,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-255,108,
-255,127,
-0,0,
-255,32,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,177,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-255,92,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,251,
-255,67,
-0,0,
-0,0,
-0,0,
-255,165,
-255,149,
-0,0,
-0,0,
-0,0,
-0,0,
-255,46,
-255,248,
-255,127,
-255,45,
-255,1,
-255,18,
-255,253,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-255,92,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-255,92,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,253,
-255,4,
-0,0,
-0,0,
-0,0,
-255,39,
-255,255,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,177,
-255,116,
-255,9,
-255,244,
-255,38,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,132,
-255,229,
-255,250,
-255,214,
-255,98,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,72,
-255,248,
-0,0,
-0,0,
-0,0,
-0,0,
-255,28,
-255,255,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,75,
-255,198,
-255,79,
-255,194,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,129,
-255,226,
-255,242,
-255,163,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-255,3,
-255,198,
-255,34,
-255,32,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,238,
-255,74,
-0,0,
-0,0,
-255,32,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-255,92,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,139,
-255,217,
-255,51,
-255,11,
-255,85,
-255,245,
-255,54,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,60,
-255,176,
-255,245,
-255,230,
-255,234,
-255,154,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-255,92,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-255,92,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,72,
-255,248,
-0,0,
-0,0,
-0,0,
-0,0,
-255,28,
-255,255,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,251,
-255,34,
-0,0,
-255,174,
-255,138,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,252,
-255,4,
-0,0,
-0,0,
-0,0,
-255,38,
-255,255,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,177,
-255,116,
-255,9,
-255,244,
-255,38,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,48,
-255,160,
-255,234,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-255,58,
-255,178,
-255,32,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,122,
-255,204,
-255,8,
-0,0,
-255,32,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-255,92,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,135,
-255,231,
-255,245,
-255,200,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,9,
-255,90,
-255,222,
-255,170,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-255,92,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-255,92,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,252,
-255,4,
-0,0,
-0,0,
-0,0,
-255,38,
-255,255,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,212,
-255,12,
-255,12,
-255,102,
-255,232,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,253,
-255,58,
-0,0,
-0,0,
-0,0,
-255,100,
-255,237,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,251,
-255,34,
-0,0,
-255,174,
-255,138,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,67,
-255,195,
-0,0,
-0,0,
-0,0,
-0,0,
-255,229,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-255,160,
-255,110,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-255,108,
-255,127,
-0,0,
-255,32,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-255,92,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,177,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,63,
-255,172,
-0,0,
-0,0,
-0,0,
-255,80,
-255,244,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,246,
-255,72,
-0,0,
-0,0,
-0,0,
-255,118,
-255,203,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-255,92,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,253,
-255,58,
-0,0,
-0,0,
-0,0,
-255,100,
-255,237,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,223,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,82,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,154,
-255,214,
-255,55,
-255,16,
-255,80,
-255,235,
-255,109,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,212,
-255,12,
-255,12,
-255,102,
-255,232,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,19,
-255,235,
-255,138,
-255,22,
-255,10,
-255,89,
-255,248,
-255,46,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-255,22,
-255,225,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-255,3,
-255,198,
-255,34,
-255,32,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-255,92,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,111,
-255,172,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,246,
-255,115,
-255,13,
-255,23,
-255,172,
-255,200,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,166,
-255,204,
-255,43,
-255,9,
-255,65,
-255,232,
-255,117,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,121,
-255,228,
-255,247,
-255,187,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,106,
-255,255,
-255,255,
-255,255,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-255,92,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,154,
-255,214,
-255,55,
-255,16,
-255,80,
-255,235,
-255,109,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,72,
-255,248,
-255,23,
-0,0,
-0,0,
-0,0,
-255,161,
-255,182,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,132,
-255,229,
-255,250,
-255,214,
-255,98,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,223,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,82,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,248,
-255,72,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,166,
-255,233,
-255,243,
-255,200,
-255,76,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-255,109,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-255,58,
-255,178,
-255,32,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-255,92,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,57,
-255,230,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,67,
-255,195,
-255,243,
-255,237,
-255,174,
-255,31,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,143,
-255,226,
-255,246,
-255,214,
-255,112,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,115,
-255,216,
-255,50,
-255,11,
-255,45,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,134,
-255,175,
-255,28,
-255,28,
-255,28,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,246,
-255,72,
-0,0,
-0,0,
-0,0,
-255,118,
-255,203,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,132,
-255,229,
-255,250,
-255,214,
-255,98,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,173,
-255,160,
-0,0,
-0,0,
-0,0,
-0,0,
-255,51,
-255,253,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,72,
-255,248,
-255,23,
-0,0,
-0,0,
-0,0,
-255,161,
-255,182,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,248,
-255,72,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-255,160,
-255,110,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,246,
-255,72,
-0,0,
-0,0,
-0,0,
-255,118,
-255,203,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,239,
-255,74,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,162,
-255,135,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,166,
-255,204,
-255,43,
-255,9,
-255,65,
-255,232,
-255,117,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,173,
-255,160,
-0,0,
-0,0,
-0,0,
-0,0,
-255,51,
-255,253,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,248,
-255,255,
-255,255,
-255,238,
-255,178,
-255,35,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-255,22,
-255,225,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,166,
-255,204,
-255,43,
-255,9,
-255,65,
-255,232,
-255,117,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,28,
-255,255,
-255,150,
-255,226,
-255,237,
-255,152,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,190,
-255,206,
-255,237,
-255,228,
-255,117,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,143,
-255,226,
-255,246,
-255,214,
-255,112,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,248,
-255,72,
-0,0,
-255,19,
-255,160,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-255,109,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,143,
-255,226,
-255,246,
-255,214,
-255,112,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,131,
-255,12,
-255,43,
-255,225,
-255,127,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,199,
-255,139,
-255,28,
-255,88,
-255,252,
-255,70,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,248,
-255,72,
-0,0,
-0,0,
-255,49,
-255,255,
-255,14,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,255,
-255,23,
-0,0,
-0,0,
-255,122,
-255,199,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,182,
-255,140,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,35,
-255,191,
-255,244,
-255,202,
-255,42,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,248,
-255,72,
-0,0,
-255,18,
-255,157,
-255,214,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,42,
-255,171,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,208,
-255,112,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,121,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,12,
-255,12,
-255,12,
-255,12,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,60,
-255,205,
-255,244,
-255,202,
-255,63,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,49,
-255,197,
-255,245,
-255,220,
-255,96,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,188,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,251,
-255,58,
-0,0,
-0,0,
-255,127,
-255,191,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,138,
-255,26,
-0,0,
-0,0,
-255,177,
-255,140,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,201,
-255,246,
-255,201,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,132,
-255,230,
-255,245,
-255,204,
-255,78,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,223,
-255,20,
-255,77,
-255,167,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,198,
-255,161,
-255,15,
-255,160,
-255,179,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,248,
-255,255,
-255,255,
-255,239,
-255,181,
-255,37,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,199,
-255,79,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,208,
-255,112,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,185,
-255,242,
-255,222,
-255,194,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,241,
-255,110,
-255,13,
-255,104,
-255,242,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,221,
-255,148,
-255,12,
-255,85,
-255,252,
-255,46,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,209,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,158,
-255,194,
-255,28,
-255,39,
-255,226,
-255,110,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,201,
-255,148,
-255,12,
-255,64,
-255,247,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,170,
-255,177,
-255,11,
-255,148,
-255,180,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,137,
-255,217,
-255,52,
-255,12,
-255,86,
-255,247,
-255,63,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,35,
-255,209,
-0,0,
-255,143,
-255,101,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,255,
-255,45,
-0,0,
-255,105,
-255,198,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,52,
-255,252,
-255,73,
-0,0,
-0,0,
-255,23,
-255,239,
-255,119,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,167,
-255,52,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,248,
-255,72,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,208,
-255,112,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,216,
-255,142,
-255,14,
-255,176,
-255,248,
-255,70,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,97,
-255,222,
-0,0,
-0,0,
-0,0,
-255,220,
-255,95,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,255,
-255,50,
-0,0,
-0,0,
-255,227,
-255,93,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,148,
-255,144,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,152,
-255,233,
-255,231,
-255,136,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,39,
-255,190,
-255,245,
-255,222,
-255,109,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,206,
-255,245,
-255,214,
-255,82,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,175,
-255,147,
-0,0,
-255,151,
-255,160,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,251,
-255,67,
-0,0,
-0,0,
-0,0,
-255,164,
-255,151,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,136,
-0,0,
-0,0,
-0,0,
-0,0,
-255,31,
-255,255,
-255,28,
-255,1,
-255,208,
-255,118,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,136,
-255,220,
-255,8,
-0,0,
-255,164,
-255,203,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,76,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,248,
-255,72,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,140,
-255,221,
-255,233,
-255,131,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-255,165,
-255,185,
-0,0,
-0,0,
-255,52,
-255,255,
-255,42,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,51,
-255,207,
-255,239,
-255,160,
-255,217,
-255,112,
-0,0,
-0,0,
-0,0,
-0,0,
-255,63,
-255,247,
-255,9,
-255,38,
-255,172,
-255,163,
-255,164,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,42,
-255,171,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,71,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,35,
-255,173,
-255,39,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,101,
-255,218,
-0,0,
-0,0,
-0,0,
-255,193,
-255,125,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,202,
-255,145,
-255,11,
-255,76,
-255,242,
-255,34,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,46,
-255,224,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,243,
-255,98,
-255,10,
-255,86,
-255,250,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,71,
-255,246,
-255,185,
-255,186,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,53,
-255,255,
-255,9,
-0,0,
-0,0,
-0,0,
-255,12,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,134,
-255,113,
-0,0,
-255,239,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,28,
-255,46,
-255,255,
-255,21,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,216,
-255,129,
-255,65,
-255,249,
-255,45,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,76,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,156,
-255,24,
-255,68,
-255,244,
-255,88,
-0,0,
-0,0,
-0,0,
-0,0,
-255,72,
-255,250,
-255,16,
-0,0,
-255,131,
-255,208,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,225,
-255,146,
-255,18,
-255,78,
-255,247,
-255,112,
-0,0,
-0,0,
-0,0,
-0,0,
-255,94,
-255,225,
-0,0,
-255,164,
-255,47,
-255,130,
-255,190,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,199,
-255,79,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,176,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,97,
-255,195,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,249,
-255,95,
-255,9,
-255,69,
-255,243,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,43,
-255,236,
-255,255,
-255,254,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,172,
-255,117,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,35,
-255,133,
-0,0,
-0,0,
-0,0,
-255,245,
-255,73,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,91,
-255,247,
-255,244,
-255,29,
-0,0,
-255,35,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,64,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,170,
-255,75,
-255,22,
-255,223,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,28,
-255,12,
-255,232,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,58,
-255,245,
-255,222,
-255,126,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,128,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-255,153,
-255,175,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,231,
-255,93,
-0,0,
-255,211,
-255,118,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,60,
-255,251,
-255,13,
-0,0,
-0,0,
-255,208,
-255,112,
-0,0,
-0,0,
-0,0,
-0,0,
-255,69,
-255,248,
-255,53,
-255,169,
-0,0,
-255,162,
-255,159,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,37,
-255,192,
-255,252,
-255,236,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,12,
-255,12,
-255,12,
-255,12,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,80,
-255,213,
-255,243,
-255,170,
-255,208,
-255,122,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,230,
-255,107,
-255,10,
-255,56,
-255,231,
-255,73,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,17,
-255,249,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,77,
-255,233,
-255,17,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,73,
-255,246,
-255,66,
-255,165,
-255,209,
-255,14,
-255,158,
-255,135,
-0,0,
-0,0,
-0,0,
-0,0,
-255,53,
-255,255,
-255,9,
-0,0,
-0,0,
-0,0,
-255,15,
-255,19,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,206,
-255,38,
-255,58,
-255,186,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,28,
-0,0,
-255,49,
-255,233,
-255,135,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,190,
-255,248,
-255,13,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,32,
-255,32,
-255,245,
-255,98,
-255,32,
-255,26,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-255,114,
-255,204,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,141,
-255,175,
-255,34,
-255,254,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,89,
-255,229,
-0,0,
-0,0,
-0,0,
-255,208,
-255,112,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,224,
-255,237,
-255,54,
-255,68,
-255,246,
-255,63,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,185,
-255,241,
-255,215,
-255,91,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,131,
-255,232,
-255,231,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,167,
-255,18,
-255,71,
-255,252,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,185,
-255,241,
-255,215,
-255,91,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,229,
-255,88,
-0,0,
-0,0,
-0,0,
-0,0,
-255,80,
-255,240,
-0,0,
-0,0,
-0,0,
-255,161,
-255,159,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,83,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,136,
-255,255,
-255,255,
-255,110,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,140,
-255,183,
-0,0,
-255,4,
-255,181,
-255,189,
-255,237,
-255,57,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,251,
-255,67,
-0,0,
-0,0,
-0,0,
-255,165,
-255,149,
-0,0,
-0,0,
-0,0,
-0,0,
-255,144,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,28,
-0,0,
-0,0,
-255,58,
-255,255,
-255,33,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,68,
-255,216,
-255,148,
-255,138,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,76,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-255,139,
-255,185,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,48,
-255,246,
-255,122,
-255,194,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,71,
-255,245,
-255,4,
-0,0,
-0,0,
-255,208,
-255,112,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,77,
-255,236,
-255,249,
-255,217,
-255,93,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,216,
-255,144,
-255,16,
-255,71,
-255,246,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,159,
-255,17,
-255,70,
-255,247,
-255,71,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,233,
-255,88,
-0,0,
-0,0,
-255,184,
-255,118,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,216,
-255,144,
-255,16,
-255,71,
-255,246,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,19,
-255,13,
-255,130,
-255,230,
-255,14,
-0,0,
-0,0,
-0,0,
-0,0,
-255,37,
-255,251,
-255,97,
-255,9,
-255,50,
-255,230,
-255,111,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,134,
-255,183,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,47,
-255,195,
-255,245,
-255,220,
-255,87,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,58,
-255,246,
-255,61,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,84,
-255,239,
-255,56,
-255,9,
-255,72,
-255,251,
-255,207,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,139,
-255,217,
-255,51,
-255,11,
-255,85,
-255,245,
-255,54,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,48,
-255,199,
-0,0,
-255,156,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,28,
-255,70,
-255,11,
-255,82,
-255,254,
-255,25,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,224,
-255,81,
-255,19,
-255,236,
-255,55,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,76,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,151,
-255,20,
-255,54,
-255,235,
-255,108,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,211,
-255,238,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,237,
-255,129,
-255,15,
-255,79,
-255,248,
-255,112,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,106,
-255,43,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,63,
-255,247,
-255,9,
-0,0,
-0,0,
-255,163,
-255,159,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-255,166,
-255,159,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,166,
-255,211,
-255,59,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,63,
-255,247,
-255,9,
-0,0,
-0,0,
-255,163,
-255,159,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,111,
-255,236,
-255,242,
-255,189,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,83,
-255,210,
-255,247,
-255,227,
-255,134,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,171,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,160,
-255,218,
-255,55,
-255,153,
-255,47,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,217,
-255,131,
-255,9,
-255,96,
-255,250,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,46,
-255,132,
-0,0,
-0,0,
-0,0,
-255,210,
-255,108,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,114,
-255,222,
-255,247,
-255,218,
-255,133,
-255,236,
-255,111,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,135,
-255,231,
-255,245,
-255,200,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,112,
-255,133,
-0,0,
-255,219,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,38,
-255,206,
-255,247,
-255,228,
-255,106,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,150,
-255,195,
-0,0,
-0,0,
-255,119,
-255,213,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,145,
-255,223,
-255,237,
-255,146,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,117,
-255,250,
-255,19,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,64,
-255,212,
-255,244,
-255,191,
-255,193,
-255,112,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,93,
-255,225,
-0,0,
-0,0,
-0,0,
-255,130,
-255,188,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-255,130,
-255,188,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,148,
-255,244,
-255,212,
-255,86,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,93,
-255,225,
-0,0,
-0,0,
-0,0,
-255,130,
-255,188,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,181,
-255,44,
-255,211,
-255,190,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,2,
-0,0,
-255,6,
-255,255,
-255,57,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,33,
-255,248,
-255,88,
-255,9,
-255,69,
-255,247,
-255,51,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,64,
-255,253,
-255,55,
-0,0,
-0,0,
-255,8,
-255,225,
-255,135,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,180,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,64,
-255,247,
-255,9,
-0,0,
-0,0,
-255,162,
-255,159,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-255,152,
-255,169,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,113,
-255,250,
-255,81,
-0,0,
-0,0,
-0,0,
-0,0,
-255,64,
-255,247,
-255,9,
-0,0,
-0,0,
-255,162,
-255,159,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,105,
-255,217,
-255,250,
-255,255,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,77,
-255,210,
-255,246,
-255,214,
-255,89,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,35,
-255,235,
-255,72,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,218,
-255,142,
-255,15,
-255,68,
-255,246,
-255,63,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,163,
-255,17,
-255,58,
-255,239,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-255,47,
-255,204,
-255,2,
-0,0,
-0,0,
-255,171,
-255,151,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,218,
-255,142,
-255,15,
-255,68,
-255,246,
-255,63,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,115,
-255,230,
-255,240,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,50,
-255,254,
-255,80,
-255,5,
-255,4,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,69,
-255,246,
-255,147,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,187,
-255,242,
-255,217,
-255,93,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,252,
-255,134,
-255,232,
-255,235,
-255,136,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-255,17,
-255,242,
-255,119,
-255,13,
-255,49,
-255,229,
-255,111,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,187,
-255,242,
-255,217,
-255,93,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,157,
-255,17,
-255,55,
-255,247,
-255,73,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,250,
-255,46,
-255,28,
-255,138,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,69,
-255,209,
-255,254,
-255,236,
-255,147,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,45,
-255,203,
-255,242,
-255,189,
-255,177,
-255,124,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,100,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,133,
-255,189,
-0,0,
-0,0,
-255,29,
-255,254,
-255,38,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-255,203,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,152,
-255,242,
-255,231,
-255,96,
-255,243,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,59,
-255,199,
-255,244,
-255,221,
-255,94,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,255,
-255,255,
-255,245,
-255,201,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,35,
-255,187,
-255,242,
-255,214,
-255,81,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,255,
-255,255,
-255,244,
-255,189,
-255,58,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,62,
-255,31,
-0,0,
-255,63,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,62,
-255,31,
-0,0,
-255,63,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,208,
-255,48,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,220,
-255,154,
-255,19,
-255,71,
-255,244,
-255,124,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,248,
-255,76,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,160,
-255,218,
-255,55,
-255,153,
-255,47,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,252,
-255,20,
-0,0,
-255,111,
-255,200,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-255,196,
-255,124,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,241,
-255,103,
-255,11,
-255,79,
-255,251,
-255,45,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-255,11,
-255,120,
-255,245,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,207,
-255,139,
-255,13,
-255,73,
-255,248,
-255,39,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-255,24,
-255,119,
-255,247,
-255,58,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,255,
-255,255,
-255,251,
-255,223,
-255,124,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,255,
-255,255,
-255,254,
-255,228,
-255,142,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,120,
-0,0,
-255,240,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,120,
-0,0,
-255,240,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,45,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,55,
-255,253,
-255,16,
-0,0,
-0,0,
-255,196,
-255,124,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,192,
-255,255,
-255,234,
-255,113,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,181,
-255,44,
-255,211,
-255,190,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,203,
-255,101,
-0,0,
-255,192,
-255,108,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-255,196,
-255,124,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,71,
-255,196,
-0,0,
-0,0,
-0,0,
-255,222,
-255,96,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-255,11,
-255,255,
-255,51,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,15,
-0,0,
-0,0,
-255,192,
-255,122,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-255,155,
-255,189,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-255,4,
-255,53,
-255,236,
-255,93,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-255,1,
-255,42,
-255,215,
-255,134,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,85,
-255,233,
-0,0,
-0,0,
-0,0,
-255,196,
-255,124,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,215,
-255,151,
-255,16,
-255,61,
-255,243,
-255,61,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,110,
-255,185,
-255,21,
-255,247,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-255,196,
-255,124,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,160,
-255,218,
-255,55,
-255,153,
-255,47,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,250,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-255,6,
-255,115,
-255,197,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-255,68,
-255,248,
-0,0,
-0,0,
-0,0,
-255,168,
-255,152,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-255,84,
-255,243,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-255,175,
-255,144,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-255,128,
-255,190,
-0,0,
-0,0,
-0,0,
-0,0,
-255,165,
-255,185,
-0,0,
-0,0,
-255,52,
-255,255,
-255,42,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,64,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,52,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,185,
-255,241,
-255,215,
-255,91,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,31,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,82,
-255,246,
-255,28,
-0,0,
-255,149,
-255,208,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,249,
-255,6,
-0,0,
-0,0,
-255,196,
-255,124,
-0,0,
-0,0,
-0,0,
-0,0,
-255,53,
-255,255,
-255,17,
-0,0,
-0,0,
-255,95,
-255,58,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,47,
-255,195,
-255,245,
-255,220,
-255,87,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,246,
-255,117,
-255,179,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-255,196,
-255,124,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,181,
-255,44,
-255,211,
-255,190,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,9,
-255,200,
-255,145,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,255,
-255,255,
-255,255,
-255,252,
-255,127,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-255,72,
-255,248,
-0,0,
-0,0,
-0,0,
-255,168,
-255,156,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-255,68,
-255,252,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-255,5,
-255,52,
-255,233,
-255,76,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-255,1,
-255,40,
-255,213,
-255,135,
-0,0,
-0,0,
-0,0,
-0,0,
-255,72,
-255,250,
-255,16,
-0,0,
-255,131,
-255,208,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,216,
-255,144,
-255,16,
-255,71,
-255,246,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-255,31,
-255,249,
-255,170,
-255,58,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,175,
-255,161,
-255,42,
-255,248,
-255,52,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,233,
-255,136,
-255,16,
-255,72,
-255,246,
-255,124,
-0,0,
-0,0,
-0,0,
-0,0,
-255,79,
-255,243,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,217,
-255,131,
-255,9,
-255,96,
-255,250,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,180,
-255,239,
-255,86,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,121,
-255,128,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,183,
-255,179,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-255,1,
-255,47,
-255,236,
-255,95,
-0,0,
-0,0,
-0,0,
-0,0,
-255,68,
-255,248,
-0,0,
-0,0,
-0,0,
-255,168,
-255,152,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-255,84,
-255,243,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,255,
-255,255,
-255,255,
-255,255,
-255,154,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,255,
-255,255,
-255,254,
-255,229,
-255,145,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,231,
-255,93,
-0,0,
-255,211,
-255,118,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,63,
-255,247,
-255,9,
-0,0,
-0,0,
-255,163,
-255,159,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,28,
-255,126,
-255,224,
-255,201,
-255,89,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,238,
-255,209,
-255,139,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,60,
-255,210,
-255,241,
-255,170,
-255,209,
-255,124,
-0,0,
-0,0,
-0,0,
-0,0,
-255,54,
-255,255,
-255,16,
-0,0,
-0,0,
-255,59,
-255,38,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,2,
-0,0,
-255,6,
-255,255,
-255,57,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,87,
-255,241,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,144,
-255,150,
-255,136,
-255,157,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,185,
-255,241,
-255,215,
-255,91,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,174,
-255,182,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-255,175,
-255,144,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,16,
-0,0,
-0,0,
-255,191,
-255,122,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-255,155,
-255,191,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-255,1,
-255,60,
-255,245,
-255,78,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,141,
-255,175,
-255,34,
-255,254,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,93,
-255,225,
-0,0,
-0,0,
-0,0,
-255,130,
-255,188,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,146,
-255,251,
-255,76,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,44,
-0,0,
-255,120,
-255,234,
-255,22,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,121,
-255,128,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,149,
-255,253,
-255,23,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,216,
-255,109,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,218,
-255,149,
-255,15,
-255,52,
-255,237,
-255,65,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,105,
-255,217,
-255,250,
-255,255,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,216,
-255,144,
-255,16,
-255,71,
-255,246,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,164,
-255,183,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-255,3,
-255,54,
-255,235,
-255,90,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,209,
-255,142,
-255,13,
-255,70,
-255,248,
-255,41,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-255,23,
-255,119,
-255,248,
-255,61,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-255,181,
-255,141,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,48,
-255,246,
-255,122,
-255,194,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,255,
-255,255,
-255,255,
-255,255,
-255,156,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,255,
-255,255,
-255,255,
-255,255,
-255,160,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,64,
-255,247,
-255,9,
-0,0,
-0,0,
-255,162,
-255,159,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,129,
-255,228,
-255,203,
-255,90,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,44,
-255,33,
-255,246,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,144,
-255,150,
-255,136,
-255,157,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,33,
-255,241,
-255,191,
-255,151,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,37,
-255,50,
-255,20,
-255,97,
-255,252,
-255,46,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,38,
-255,193,
-255,255,
-255,234,
-255,108,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,50,
-255,254,
-255,80,
-255,5,
-255,4,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,47,
-255,195,
-255,245,
-255,220,
-255,87,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,63,
-255,247,
-255,9,
-0,0,
-0,0,
-255,163,
-255,159,
-0,0,
-0,0,
-0,0,
-0,0,
-255,62,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,188,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,255,
-255,255,
-255,252,
-255,224,
-255,123,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,37,
-255,188,
-255,243,
-255,216,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,255,
-255,255,
-255,245,
-255,190,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-255,169,
-255,151,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,211,
-255,238,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,218,
-255,142,
-255,15,
-255,68,
-255,246,
-255,63,
-0,0,
-0,0,
-0,0,
-0,0,
-255,31,
-255,250,
-255,174,
-255,61,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,44,
-255,183,
-255,161,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,187,
-255,150,
-255,27,
-255,244,
-255,62,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,79,
-255,220,
-255,248,
-255,216,
-255,91,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,248,
-255,76,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,250,
-255,46,
-255,28,
-255,138,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,42,
-255,171,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,217,
-255,131,
-255,9,
-255,96,
-255,250,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,93,
-255,225,
-0,0,
-0,0,
-0,0,
-255,130,
-255,188,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-255,131,
-255,206,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,117,
-255,250,
-255,19,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,95,
-255,121,
-0,0,
-0,0,
-255,44,
-255,255,
-255,19,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,187,
-255,242,
-255,217,
-255,93,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,34,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,255,
-255,255,
-255,47,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,185,
-255,241,
-255,215,
-255,91,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,110,
-255,224,
-255,240,
-255,149,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-255,97,
-255,240,
-255,20,
-0,0,
-255,128,
-255,218,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,120,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,152,
-255,242,
-255,231,
-255,96,
-255,243,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,199,
-255,79,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,2,
-0,0,
-255,6,
-255,255,
-255,57,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,64,
-255,247,
-255,9,
-0,0,
-0,0,
-255,162,
-255,159,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,180,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,84,
-255,238,
-255,50,
-255,13,
-255,154,
-255,215,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,44,
-255,165,
-255,200,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,216,
-255,144,
-255,16,
-255,71,
-255,246,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,155,
-255,18,
-255,57,
-255,247,
-255,75,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,48,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,105,
-255,217,
-255,250,
-255,255,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,218,
-255,142,
-255,15,
-255,68,
-255,246,
-255,63,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,35,
-255,235,
-255,72,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,123,
-255,226,
-255,245,
-255,191,
-255,43,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,72,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,44,
-255,13,
-255,219,
-255,140,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,63,
-255,247,
-255,9,
-0,0,
-0,0,
-255,163,
-255,159,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-255,199,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,12,
-255,12,
-255,12,
-255,50,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,47,
-255,195,
-255,245,
-255,220,
-255,87,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,50,
-255,254,
-255,80,
-255,5,
-255,4,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,187,
-255,242,
-255,217,
-255,93,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,69,
-255,246,
-255,147,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,44,
-0,0,
-255,50,
-255,247,
-255,76,
-0,0,
-0,0,
-0,0,
-0,0,
-255,93,
-255,225,
-0,0,
-0,0,
-0,0,
-255,130,
-255,188,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-255,192,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,28,
-255,184,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,217,
-255,131,
-255,9,
-255,96,
-255,250,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,250,
-255,46,
-255,28,
-255,138,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,53,
-255,91,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,38,
-255,189,
-255,242,
-255,219,
-255,90,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,30,
-255,183,
-255,242,
-255,209,
-255,63,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,36,
-0,0,
-0,0,
-255,200,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,64,
-255,247,
-255,9,
-0,0,
-0,0,
-255,162,
-255,159,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-255,192,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,62,
-255,31,
-0,0,
-255,63,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,2,
-0,0,
-255,6,
-255,255,
-255,57,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,152,
-255,242,
-255,231,
-255,96,
-255,243,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,211,
-255,189,
-255,75,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,221,
-255,138,
-255,15,
-255,71,
-255,246,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,209,
-255,155,
-255,14,
-255,102,
-255,237,
-255,15,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,36,
-0,0,
-0,0,
-255,200,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,115,
-255,230,
-255,240,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,185,
-255,241,
-255,215,
-255,91,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,73,
-255,212,
-255,246,
-255,204,
-255,55,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,214,
-255,99,
-255,124,
-255,124,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,218,
-255,142,
-255,15,
-255,68,
-255,246,
-255,63,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-255,192,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-255,42,
-255,185,
-255,14,
-0,0,
-255,30,
-255,191,
-255,21,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,120,
-0,0,
-255,240,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,121,
-255,128,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,42,
-255,171,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,105,
-255,217,
-255,250,
-255,255,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,164,
-255,87,
-255,109,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,67,
-255,248,
-255,8,
-0,0,
-0,0,
-255,103,
-255,48,
-0,0,
-0,0,
-0,0,
-0,0,
-255,59,
-255,254,
-255,19,
-0,0,
-0,0,
-255,236,
-255,71,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,36,
-0,0,
-0,0,
-255,200,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,157,
-255,17,
-255,55,
-255,247,
-255,73,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,216,
-255,144,
-255,16,
-255,71,
-255,246,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,245,
-255,98,
-255,9,
-255,132,
-255,226,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,19,
-255,177,
-255,255,
-255,204,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,187,
-255,242,
-255,217,
-255,93,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-255,192,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,185,
-255,197,
-255,41,
-255,221,
-255,154,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,144,
-255,150,
-255,136,
-255,157,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,199,
-255,79,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,50,
-255,254,
-255,80,
-255,5,
-255,4,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,178,
-255,225,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,95,
-255,227,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,90,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,95,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,36,
-0,0,
-0,0,
-255,200,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-255,203,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-255,63,
-255,247,
-255,9,
-0,0,
-0,0,
-255,163,
-255,159,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,89,
-255,222,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,121,
-255,128,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,62,
-255,31,
-0,0,
-255,63,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,9,
-255,244,
-255,120,
-255,13,
-255,7,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,101,
-255,223,
-255,165,
-255,255,
-255,59,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,9,
-255,190,
-255,252,
-255,161,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,30,
-255,183,
-255,242,
-255,209,
-255,63,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,250,
-255,46,
-255,28,
-255,138,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,35,
-255,173,
-255,39,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,247,
-255,7,
-0,0,
-0,0,
-255,64,
-255,31,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,248,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,255,
-255,45,
-0,0,
-0,0,
-255,200,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-255,196,
-255,124,
-0,0,
-0,0,
-0,0,
-0,0,
-255,93,
-255,225,
-0,0,
-0,0,
-0,0,
-255,130,
-255,188,
-0,0,
-0,0,
-0,0,
-0,0,
-255,35,
-255,229,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,151,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,144,
-255,150,
-255,136,
-255,157,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,120,
-0,0,
-255,240,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,58,
-255,184,
-255,243,
-255,188,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,70,
-255,21,
-255,3,
-255,219,
-255,155,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,148,
-255,26,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,214,
-255,238,
-255,190,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,209,
-255,155,
-255,14,
-255,102,
-255,237,
-255,15,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,30,
-255,183,
-255,242,
-255,209,
-255,63,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,30,
-255,183,
-255,242,
-255,209,
-255,63,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,35,
-255,173,
-255,39,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,152,
-255,242,
-255,231,
-255,96,
-255,243,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,97,
-255,195,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,47,
-255,195,
-255,245,
-255,220,
-255,87,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,222,
-255,133,
-255,14,
-255,61,
-255,240,
-255,47,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,215,
-255,140,
-255,14,
-255,30,
-255,117,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,223,
-255,131,
-255,12,
-255,84,
-255,251,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-255,196,
-255,124,
-0,0,
-0,0,
-0,0,
-0,0,
-255,64,
-255,247,
-255,9,
-0,0,
-0,0,
-255,162,
-255,159,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,41,
-255,151,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,19,
-255,62,
-0,0,
-255,11,
-255,119,
-255,246,
-255,13,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,63,
-255,202,
-255,243,
-255,193,
-255,189,
-255,197,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,211,
-255,168,
-255,16,
-255,198,
-255,186,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-255,59,
-255,254,
-255,19,
-0,0,
-0,0,
-255,236,
-255,71,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,209,
-255,155,
-255,14,
-255,102,
-255,237,
-255,15,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,209,
-255,155,
-255,14,
-255,102,
-255,237,
-255,15,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,97,
-255,195,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,217,
-255,131,
-255,9,
-255,96,
-255,250,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,190,
-255,242,
-255,217,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,182,
-255,242,
-255,236,
-255,152,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,63,
-255,216,
-255,240,
-255,171,
-255,188,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-255,196,
-255,124,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,218,
-255,142,
-255,15,
-255,68,
-255,246,
-255,63,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,52,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,52,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,52,
-0,0,
-0,0,
-0,0,
-0,0,
-255,35,
-255,251,
-255,78,
-255,7,
-255,91,
-255,249,
-255,13,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,245,
-255,108,
-255,10,
-255,38,
-255,192,
-255,208,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,145,
-255,4,
-0,0,
-255,14,
-255,151,
-255,14,
-0,0,
-0,0,
-0,0,
-0,0,
-255,90,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,95,
-0,0,
-0,0,
-0,0,
-0,0,
-255,59,
-255,254,
-255,19,
-0,0,
-0,0,
-255,236,
-255,71,
-0,0,
-0,0,
-0,0,
-0,0,
-255,59,
-255,254,
-255,19,
-0,0,
-0,0,
-255,236,
-255,71,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,30,
-255,183,
-255,242,
-255,209,
-255,63,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,2,
-0,0,
-255,6,
-255,255,
-255,57,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-255,196,
-255,124,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,187,
-255,242,
-255,217,
-255,93,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,52,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,85,
-255,215,
-255,247,
-255,214,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,114,
-255,207,
-0,0,
-0,0,
-0,0,
-255,118,
-255,200,
-0,0,
-0,0,
-0,0,
-0,0,
-255,96,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,112,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,164,
-255,41,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,92,
-255,255,
-255,255,
-255,255,
-255,255,
-255,214,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,248,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,90,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,95,
-0,0,
-0,0,
-0,0,
-0,0,
-255,90,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,95,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,47,
-255,195,
-255,245,
-255,220,
-255,87,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,209,
-255,155,
-255,14,
-255,102,
-255,237,
-255,15,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,105,
-255,217,
-255,250,
-255,255,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,118,
-255,202,
-0,0,
-0,0,
-0,0,
-255,155,
-255,161,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,164,
-255,41,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,30,
-255,238,
-255,95,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,215,
-255,140,
-255,14,
-255,30,
-255,117,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,248,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,248,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,217,
-255,131,
-255,9,
-255,96,
-255,250,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,59,
-255,254,
-255,19,
-0,0,
-0,0,
-255,236,
-255,71,
-0,0,
-0,0,
-0,0,
-0,0,
-255,50,
-255,254,
-255,80,
-255,5,
-255,4,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,38,
-255,246,
-255,105,
-255,12,
-255,73,
-255,244,
-255,50,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,244,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,196,
-255,165,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,182,
-255,242,
-255,236,
-255,152,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,215,
-255,140,
-255,14,
-255,30,
-255,117,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,215,
-255,140,
-255,14,
-255,30,
-255,117,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,2,
-0,0,
-255,6,
-255,255,
-255,57,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,198,
-255,56,
-255,198,
-255,49,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,90,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,95,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,250,
-255,46,
-255,28,
-255,138,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,255,
-255,255,
-255,255,
-255,255,
-255,160,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,255,
-255,255,
-255,255,
-255,255,
-255,160,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,255,
-255,255,
-255,255,
-255,255,
-255,160,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,63,
-255,201,
-255,244,
-255,209,
-255,74,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,68,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,140,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,200,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,130,
-255,220,
-255,13,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,182,
-255,242,
-255,236,
-255,152,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,182,
-255,242,
-255,236,
-255,152,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,105,
-255,217,
-255,250,
-255,255,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,151,
-255,134,
-255,151,
-255,134,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,248,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,152,
-255,242,
-255,231,
-255,96,
-255,243,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,38,
-255,189,
-255,242,
-255,219,
-255,90,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,62,
-255,31,
-0,0,
-255,63,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,121,
-255,128,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,255,
-255,255,
-255,255,
-255,255,
-255,160,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,48,
-255,48,
-255,48,
-255,48,
-255,48,
-255,37,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,63,
-255,247,
-255,53,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,50,
-255,254,
-255,80,
-255,5,
-255,4,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-255,42,
-255,249,
-255,58,
-255,249,
-255,15,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,215,
-255,140,
-255,14,
-255,30,
-255,117,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,221,
-255,138,
-255,15,
-255,71,
-255,246,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,120,
-0,0,
-255,240,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,144,
-255,150,
-255,136,
-255,157,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,42,
-255,171,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,165,
-255,185,
-0,0,
-0,0,
-255,52,
-255,255,
-255,42,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,175,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,116,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,227,
-255,117,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,250,
-255,46,
-255,28,
-255,138,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,151,
-255,134,
-255,151,
-255,134,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,182,
-255,242,
-255,236,
-255,152,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,67,
-255,248,
-255,8,
-0,0,
-0,0,
-255,103,
-255,48,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,199,
-255,79,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,72,
-255,250,
-255,16,
-0,0,
-255,131,
-255,208,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,88,
-255,69,
-255,169,
-255,85,
-255,92,
-255,31,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,53,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,102,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,152,
-255,242,
-255,231,
-255,96,
-255,243,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,198,
-255,56,
-255,198,
-255,49,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,95,
-255,227,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,36,
-0,0,
-0,0,
-255,200,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,36,
-0,0,
-0,0,
-255,200,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,231,
-255,93,
-0,0,
-255,211,
-255,118,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,72,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,72,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,72,
-0,0,
-0,0,
-0,0,
-0,0,
-255,81,
-255,169,
-255,254,
-255,232,
-255,154,
-255,38,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,114,
-255,236,
-255,231,
-255,95,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,247,
-255,7,
-0,0,
-0,0,
-255,64,
-255,31,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,36,
-0,0,
-0,0,
-255,200,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,36,
-0,0,
-0,0,
-255,200,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,36,
-0,0,
-0,0,
-255,200,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,141,
-255,175,
-255,34,
-255,254,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,72,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,120,
-255,172,
-255,219,
-255,23,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,39,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,245,
-255,39,
-255,54,
-255,247,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-255,143,
-255,157,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,88,
-255,212,
-255,250,
-255,255,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,62,
-255,31,
-0,0,
-255,63,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,222,
-255,133,
-255,14,
-255,61,
-255,240,
-255,47,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,36,
-0,0,
-0,0,
-255,200,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,36,
-0,0,
-0,0,
-255,200,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,36,
-0,0,
-0,0,
-255,200,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,48,
-255,246,
-255,122,
-255,194,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,192,
-255,14,
-255,113,
-255,115,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,104,
-255,220,
-255,155,
-0,0,
-0,0,
-0,0,
-0,0,
-255,56,
-255,255,
-255,255,
-255,255,
-255,255,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,59,
-255,220,
-0,0,
-0,0,
-255,241,
-255,35,
-0,0,
-0,0,
-0,0,
-0,0,
-255,44,
-255,243,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,58,
-255,254,
-255,255,
-255,255,
-255,255,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,120,
-0,0,
-255,240,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,190,
-255,242,
-255,217,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,36,
-0,0,
-0,0,
-255,200,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,36,
-0,0,
-0,0,
-255,200,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,36,
-0,0,
-0,0,
-255,200,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,211,
-255,238,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,17,
-255,123,
-255,233,
-255,198,
-255,90,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,28,
-255,245,
-255,41,
-255,55,
-255,247,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,201,
-255,98,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,134,
-255,255,
-255,255,
-255,255,
-255,255,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,255,
-255,255,
-255,255,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,129,
-255,233,
-255,63,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,177,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,255,
-255,45,
-0,0,
-0,0,
-255,200,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,255,
-255,45,
-0,0,
-0,0,
-255,200,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,36,
-0,0,
-0,0,
-255,200,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,117,
-255,250,
-255,19,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,140,
-255,238,
-255,90,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,248,
-255,255,
-255,255,
-255,255,
-255,255,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,57,
-255,210,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,52,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,112,
-255,232,
-255,229,
-255,94,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,102,
-255,197,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,125,
-255,255,
-255,255,
-255,255,
-255,255,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,150,
-255,237,
-255,237,
-255,158,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,231,
-255,88,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,38,
-255,205,
-255,49,
-255,205,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,169,
-255,59,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,47,
-255,195,
-255,245,
-255,220,
-255,87,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,111,
-255,172,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,223,
-255,131,
-255,12,
-255,84,
-255,251,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,223,
-255,131,
-255,12,
-255,84,
-255,251,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,255,
-255,45,
-0,0,
-0,0,
-255,200,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,180,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,35,
-255,173,
-255,39,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,51,
-255,207,
-255,242,
-255,185,
-255,197,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,244,
-255,132,
-255,230,
-255,231,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,125,
-255,233,
-255,190,
-255,85,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,156,
-255,112,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,17,
-255,84,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,14,
-255,244,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,245,
-255,255,
-255,255,
-255,255,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-255,111,
-255,220,
-255,41,
-255,41,
-255,225,
-255,114,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,85,
-255,237,
-255,192,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,121,
-255,166,
-255,121,
-255,166,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,217,
-255,131,
-255,9,
-255,96,
-255,250,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,57,
-255,230,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,63,
-255,216,
-255,240,
-255,171,
-255,188,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,63,
-255,216,
-255,240,
-255,171,
-255,188,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,223,
-255,131,
-255,12,
-255,84,
-255,251,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,35,
-255,235,
-255,72,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-255,216,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,97,
-255,195,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,225,
-255,143,
-255,16,
-255,80,
-255,248,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,143,
-255,22,
-255,78,
-255,249,
-255,72,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,9,
-255,107,
-255,222,
-255,155,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,236,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,76,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,161,
-255,139,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,44,
-255,158,
-255,194,
-255,252,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-255,44,
-255,47,
-0,0,
-0,0,
-255,170,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,190,
-255,102,
-255,237,
-255,41,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,9,
-255,244,
-255,67,
-255,244,
-255,57,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,2,
-0,0,
-255,6,
-255,255,
-255,57,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,63,
-255,216,
-255,240,
-255,171,
-255,188,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,69,
-255,246,
-255,147,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-255,216,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,60,
-255,251,
-255,12,
-0,0,
-0,0,
-255,228,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-255,169,
-255,159,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,41,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,98,
-255,171,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,254,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,62,
-255,232,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,241,
-255,71,
-0,0,
-0,0,
-0,0,
-0,0,
-255,39,
-255,240,
-255,10,
-255,146,
-255,145,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,121,
-255,166,
-255,121,
-255,166,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,105,
-255,217,
-255,250,
-255,255,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-255,216,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,36,
-0,0,
-0,0,
-255,200,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,89,
-255,229,
-0,0,
-0,0,
-0,0,
-255,228,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-255,130,
-255,188,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,200,
-255,255,
-255,255,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,197,
-255,73,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,203,
-255,168,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,218,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,215,
-255,136,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,77,
-255,106,
-0,0,
-255,40,
-255,144,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,38,
-255,205,
-255,49,
-255,205,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,50,
-255,254,
-255,80,
-255,5,
-255,4,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-255,216,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,36,
-0,0,
-0,0,
-255,200,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,71,
-255,246,
-255,4,
-0,0,
-0,0,
-255,228,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-255,155,
-255,169,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,42,
-255,171,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,39,
-255,227,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,160,
-255,211,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,120,
-255,179,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,161,
-255,178,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,80,
-255,13,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,70,
-255,19,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,250,
-255,46,
-255,28,
-255,138,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,67,
-0,0,
-0,0,
-255,216,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,36,
-0,0,
-0,0,
-255,200,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,237,
-255,128,
-255,14,
-255,82,
-255,250,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,138,
-255,18,
-255,62,
-255,242,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,199,
-255,79,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,138,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,31,
-255,254,
-255,53,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,248,
-255,26,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,85,
-255,58,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,152,
-255,242,
-255,231,
-255,96,
-255,243,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,62,
-255,31,
-0,0,
-255,63,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-255,62,
-255,31,
-0,0,
-255,63,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,14,
-255,182,
-255,246,
-255,109,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,155,
-255,9,
-255,68,
-255,248,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,255,
-255,36,
-0,0,
-0,0,
-255,200,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,64,
-255,212,
-255,241,
-255,164,
-255,235,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,142,
-255,227,
-255,234,
-255,136,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,231,
-255,34,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,62,
-255,253,
-255,2,
-0,0,
-255,21,
-255,70,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,64,
-255,45,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,120,
-0,0,
-255,240,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,120,
-0,0,
-255,240,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,117,
-255,218,
-255,22,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,163,
-255,246,
-255,217,
-255,55,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,116,
-255,238,
-255,232,
-255,79,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,209,
-255,246,
-255,211,
-255,218,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,255,
-255,45,
-0,0,
-0,0,
-255,200,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,228,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,121,
-255,128,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-255,35,
-255,173,
-255,39,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,80,
-255,191,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,21,
-255,247,
-255,102,
-255,23,
-255,157,
-255,199,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,196,
-255,140,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,147,
-255,172,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,23,
-255,137,
-255,20,
-255,172,
-255,135,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,109,
-255,43,
-255,103,
-255,199,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,223,
-255,131,
-255,12,
-255,84,
-255,251,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,228,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,200,
-255,255,
-255,255,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-255,144,
-255,150,
-255,136,
-255,157,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,97,
-255,195,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,179,
-255,93,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,83,
-255,219,
-255,245,
-255,194,
-255,41,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,255,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,119,
-255,113,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,164,
-255,255,
-255,255,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,255,
-255,246,
-255,42,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,170,
-255,245,
-255,255,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,63,
-255,216,
-255,240,
-255,171,
-255,188,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,228,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,115,
-255,94,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-255,100,
-255,255,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-255,64,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,177,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,148,
-255,172,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,28,
-255,95,
-255,2,
-255,137,
-255,163,
-0,0,
-0,0,
-0,0,
-0,0,
-255,48,
-255,245,
-255,37,
-255,111,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,106,
-255,188,
-255,79,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,255,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,176,
-255,144,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,152,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-255,90,
-255,204,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,111,
-255,172,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,44,
-255,193,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,153,
-255,244,
-255,211,
-255,35,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,148,
-255,172,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,17,
-255,220,
-255,216,
-255,241,
-255,93,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,195,
-255,241,
-255,169,
-255,208,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,206,
-255,251,
-255,255,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,200,
-255,255,
-255,255,
-255,220,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,152,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-255,146,
-255,79,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,57,
-255,230,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,224,
-255,81,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,35,
-255,175,
-255,22,
-255,185,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,148,
-255,172,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,46,
-255,21,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,176,
-255,144,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,35,
-255,229,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,152,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,50,
-255,255,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,52,
-255,223,
-255,42,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,148,
-255,172,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,121,
-255,128,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-255,155,
-255,108,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,173,
-255,34,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,89,
-255,222,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,176,
-255,144,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,41,
-255,151,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,23,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,67,
-255,252,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,78,
-255,213,
-255,52,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,148,
-255,172,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,62,
-255,31,
-0,0,
-255,63,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,42,
-255,171,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,35,
-255,173,
-255,39,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,196,
-255,136,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,144,
-255,150,
-255,136,
-255,157,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,225,
-255,74,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,67,
-255,215,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,151,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,176,
-255,144,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,52,
-255,17,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,73,
-255,237,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,42,
-255,253,
-255,228,
-255,216,
-255,114,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,148,
-255,172,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,154,
-255,242,
-255,123,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,170,
-255,31,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,120,
-0,0,
-255,240,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,199,
-255,79,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,97,
-255,195,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,191,
-255,136,
-255,179,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,157,
-255,153,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,169,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,176,
-255,144,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,155,
-255,118,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,40,
-255,40,
-255,40,
-255,21,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,202,
-255,22,
-255,227,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,156,
-255,140,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,114,
-255,136,
-255,102,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,148,
-255,171,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,69,
-255,240,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,163,
-255,176,
-255,14,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,232,
-255,88,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,152,
-255,254,
-255,114,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,88,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,215,
-255,203,
-255,192,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,56,
-255,228,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,13,
-255,40,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,133,
-255,176,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,248,
-255,62,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,231,
-255,201,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,232,
-255,88,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,145,
-255,236,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,88,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,59,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,160,
-255,139,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,205,
-255,33,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,225,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,232,
-255,88,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,69,
-255,252,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,88,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,238,
-255,70,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,33,
-255,227,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,208,
-255,112,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,232,
-255,88,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,62,
-255,255,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-255,64,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,88,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,255,
-255,43,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,225,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,224,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,232,
-255,88,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,255,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,17,
-255,243,
-255,81,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,72,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,180,
-0,0,
-0,0,
-0,0,
-0,0,
-255,90,
-255,204,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,88,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,33,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,148,
-255,173,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,246,
-255,63,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,232,
-255,88,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,67,
-255,203,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,86,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-255,228,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-255,70,
-255,19,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,96,
-0,0,
-0,0,
-0,0,
-0,0,
-255,146,
-255,79,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,88,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,255,
-255,43,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,157,
-255,165,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,63,
-255,241,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,255,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,232,
-255,88,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,228,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,239,
-255,70,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,225,
-255,106,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,159,
-255,135,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,233,
-255,86,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,228,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,70,
-255,26,
-0,0,
-0,0,
-0,0,
-0,0,
-255,70,
-255,19,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,161,
-255,138,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,159,
-255,134,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,60,
-255,215,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,37,
-255,251,
-255,53,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,228,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,88,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,58,
-255,227,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,173,
-255,34,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,91,
-255,244,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,228,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,158,
-255,136,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,228,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,170,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,228,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,70,
-255,19,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-255,59,
-255,15,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,228,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,228,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,228,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,228,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,17,
-255,224,
-255,38,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,255,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-};
diff --git a/scene/resources/default_theme/font_normal.png b/scene/resources/default_theme/font_normal.png
deleted file mode 100644
index f0c0c35fcc..0000000000
--- a/scene/resources/default_theme/font_normal.png
+++ /dev/null
Binary files differ
diff --git a/scene/resources/default_theme/font_source.inc b/scene/resources/default_theme/font_source.inc
deleted file mode 100644
index 3b6a633bcc..0000000000
--- a/scene/resources/default_theme/font_source.inc
+++ /dev/null
@@ -1,32973 +0,0 @@
-static const int _builtin_source_font_height=15;
-static const int _builtin_source_font_ascent=11;
-static const int _builtin_source_font_charcount=191;
-static const int _builtin_source_font_charrects[191][8]={
-/* charidx , ofs_x, ofs_y, size_x, size_y, valign, halign, advance */
-{64,62,54,8,10,3,0,8},
-{192,14,15,8,11,0,0,8},
-{224,12,206,6,11,0,1,8},
-{96,101,220,3,3,0,2,8},
-{160,0,0,0,0,11,0,8},
-{32,0,0,0,0,11,0,8},
-{65,74,30,8,9,2,0,8},
-{33,80,223,3,10,1,3,8},
-{161,108,220,3,10,4,3,8},
-{193,26,17,8,11,0,0,8},
-{225,112,189,6,11,0,1,8},
-{97,46,162,6,7,4,1,8},
-{98,79,110,7,9,2,1,8},
-{66,57,109,7,9,2,1,8},
-{162,2,188,6,10,1,1,8},
-{194,38,26,8,11,0,0,8},
-{226,32,197,6,11,0,1,8},
-{34,2,164,6,5,1,1,8},
-{163,61,84,7,8,3,1,8},
-{67,62,41,8,9,2,0,8},
-{227,24,105,7,9,2,1,8},
-{35,72,183,6,10,1,1,8},
-{195,98,56,8,12,-1,0,8},
-{99,112,120,7,7,4,1,8},
-{100,90,111,7,9,2,0,8},
-{68,90,98,7,9,2,1,8},
-{228,92,191,6,10,1,1,8},
-{36,42,180,6,13,0,1,8},
-{196,86,69,8,12,-1,0,8},
-{164,86,58,8,7,3,0,8},
-{165,57,97,7,8,3,1,8},
-{37,54,2,9,8,3,0,8},
-{69,68,97,7,9,2,1,8},
-{229,102,189,6,10,1,1,8},
-{197,93,2,9,13,-2,0,8},
-{101,14,81,8,7,4,0,8},
-{102,68,110,7,9,2,1,8},
-{70,46,97,7,9,2,1,8},
-{38,41,13,9,9,2,0,8},
-{198,106,2,9,9,2,-1,8},
-{166,2,210,2,14,0,3,8},
-{230,41,2,9,7,4,0,8},
-{71,2,69,8,9,2,0,8},
-{103,46,148,7,10,4,1,8},
-{199,74,56,8,12,2,0,8},
-{167,102,174,6,11,1,1,8},
-{231,13,160,7,10,4,1,8},
-{39,122,215,2,5,1,3,8},
-{104,13,104,7,9,2,1,8},
-{72,2,82,7,9,2,1,8},
-{40,70,206,5,13,0,2,8},
-{200,24,118,7,11,0,1,8},
-{232,14,30,8,11,0,0,8},
-{168,18,221,4,2,1,2,8},
-{169,38,77,8,9,2,0,8},
-{73,83,85,7,9,2,1,8},
-{105,88,206,5,10,1,1,8},
-{41,79,206,5,13,0,1,8},
-{201,46,123,7,11,0,1,8},
-{233,2,26,8,11,0,0,8},
-{106,12,174,6,13,1,0,8},
-{202,57,122,7,11,0,1,8},
-{234,110,15,8,11,0,0,8},
-{42,35,128,7,6,4,1,8},
-{170,97,205,5,5,3,2,8},
-{74,62,193,6,9,2,1,8},
-{171,86,166,6,6,4,1,8},
-{43,90,152,7,7,3,1,8},
-{235,98,30,8,10,1,0,8},
-{203,62,177,6,12,-1,1,8},
-{75,112,131,7,9,2,1,8},
-{107,72,84,7,9,2,1,8},
-{172,38,68,8,5,5,0,8},
-{44,66,223,3,7,8,3,8},
-{236,22,191,6,11,0,0,8},
-{204,79,123,7,11,0,1,8},
-{76,101,141,7,9,2,1,8},
-{108,110,66,8,9,2,0,8},
-{173,96,165,6,2,5,1,8},
-{45,72,177,6,2,5,1,8},
-{109,14,70,8,7,4,0,8},
-{237,2,107,7,11,0,0,8},
-{205,90,124,7,11,0,1,8},
-{77,90,139,7,9,2,1,8},
-{46,87,223,3,3,8,3,8},
-{174,106,165,6,5,2,1,8},
-{110,68,123,7,7,4,1,8},
-{238,13,117,7,11,0,0,8},
-{206,101,126,7,11,0,1,8},
-{78,79,138,7,9,2,1,8},
-{175,58,215,4,1,2,2,8},
-{111,110,55,8,7,4,0,8},
-{207,52,173,6,12,-1,1,8},
-{47,32,180,6,13,2,1,8},
-{239,22,206,6,10,1,1,8},
-{79,2,13,8,9,2,0,8},
-{176,2,202,4,4,1,2,8},
-{48,13,148,7,8,3,1,8},
-{112,57,143,7,10,4,1,8},
-{80,35,91,7,9,2,1,8},
-{240,110,30,8,9,2,0,8},
-{208,15,2,9,9,2,-1,8},
-{49,24,149,7,8,3,1,8},
-{177,2,138,7,8,3,1,8},
-{209,35,138,7,12,-1,1,8},
-{81,2,52,8,13,1,0,8},
-{113,68,152,7,10,4,0,8},
-{241,112,92,7,9,2,1,8},
-{178,26,226,4,5,0,3,8},
-{114,66,166,6,7,4,2,8},
-{50,35,154,7,8,3,1,8},
-{210,26,32,8,11,0,0,8},
-{242,86,19,8,11,0,0,8},
-{82,24,92,7,9,2,1,8},
-{179,52,201,5,5,0,2,8},
-{115,101,154,7,7,4,1,8},
-{51,50,56,8,8,3,0,8},
-{211,38,41,8,11,0,0,8},
-{243,74,15,8,11,0,0,8},
-{83,62,15,8,9,2,0,8},
-{180,94,220,3,3,0,3,8},
-{52,38,56,8,8,3,0,8},
-{212,50,41,8,11,0,0,8},
-{244,50,26,8,11,0,0,8},
-{84,14,45,8,9,2,0,8},
-{116,26,78,8,9,2,0,8},
-{53,2,95,7,8,3,1,8},
-{245,101,98,7,9,2,0,8},
-{85,94,85,7,9,2,1,8},
-{117,116,155,6,7,4,1,8},
-{181,2,150,7,10,4,1,8},
-{213,50,68,8,12,-1,0,8},
-{54,79,98,7,8,3,1,8},
-{86,74,43,8,9,2,-1,8},
-{246,26,47,8,10,1,0,8},
-{214,62,68,8,12,-1,0,8},
-{182,112,174,6,11,2,1,8},
-{118,98,19,8,7,4,0,8},
-{55,14,58,8,8,3,0,8},
-{87,80,2,9,9,2,-1,8},
-{247,112,144,7,7,3,0,8},
-{119,2,2,9,7,4,-1,8},
-{215,76,166,6,6,3,1,8},
-{183,115,215,3,3,4,3,8},
-{216,62,28,8,9,2,0,8},
-{88,50,84,7,9,2,1,8},
-{56,105,79,7,8,3,1,8},
-{248,2,41,8,7,4,0,8},
-{120,35,117,7,7,4,1,8},
-{184,10,221,4,3,11,2,8},
-{89,67,2,9,9,2,0,8},
-{121,35,166,7,10,4,1,8},
-{249,92,176,6,11,0,1,8},
-{217,112,105,7,11,0,1,8},
-{57,86,46,8,8,3,0,8},
-{185,34,226,4,6,0,2,8},
-{90,116,79,7,9,2,1,8},
-{250,2,173,6,11,0,1,8},
-{218,101,111,7,11,0,1,8},
-{58,73,223,3,8,3,3,8},
-{122,56,162,6,7,4,1,8},
-{186,61,206,5,5,3,2,8},
-{59,50,220,4,12,3,2,8},
-{123,13,132,7,12,1,1,8},
-{91,42,220,4,12,1,3,8},
-{251,12,191,6,11,0,1,8},
-{219,79,151,7,11,0,1,8},
-{187,46,138,7,6,4,1,8},
-{124,8,228,2,14,0,3,8},
-{92,22,174,6,13,2,1,8},
-{220,24,133,7,12,-1,1,8},
-{252,32,212,6,10,1,1,8},
-{60,13,92,7,8,2,1,8},
-{188,98,44,8,8,3,0,8},
-{253,68,134,7,14,0,1,8},
-{93,106,204,5,12,1,1,8},
-{125,82,176,6,12,1,1,8},
-{221,28,2,9,11,0,0,8},
-{189,110,43,8,8,3,0,8},
-{61,42,197,6,5,4,1,8},
-{222,46,110,7,9,2,1,8},
-{254,2,122,7,12,2,1,8},
-{62,52,189,6,8,2,1,8},
-{190,86,34,8,8,3,0,8},
-{94,115,204,5,7,1,1,8},
-{126,24,161,7,3,5,0,8},
-{223,35,104,7,9,2,1,8},
-{63,82,192,6,10,1,1,8},
-{255,26,61,8,13,1,0,8},
-{191,42,206,6,10,4,1,8},
-{95,57,137,7,2,11,1,8},
-};
-static const int _builtin_source_font_kerning_pair_count=0;
-static const int _builtin_source_font_kerning_pairs[1][3]={
-{0,0,0}
-};
-static const int _builtin_source_font_img_width=128;
-static const int _builtin_source_font_img_height=256;
-static const unsigned char _builtin_source_font_img_data[65536]={
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,255,
-255,72,
-0,0,
-255,21,
-255,16,
-0,0,
-255,97,
-255,231,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,255,
-255,237,
-255,190,
-255,58,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,174,
-255,140,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,114,
-255,207,
-255,242,
-255,180,
-255,30,
-255,194,
-255,229,
-255,73,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,122,
-255,198,
-255,201,
-255,145,
-255,1,
-255,2,
-255,119,
-255,162,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-255,9,
-255,230,
-255,136,
-0,0,
-0,0,
-0,0,
-255,163,
-255,198,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,255,
-255,79,
-0,0,
-0,0,
-0,0,
-0,0,
-255,94,
-255,238,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,123,
-255,232,
-255,133,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,46,
-255,255,
-255,255,
-255,255,
-255,255,
-255,164,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,230,
-255,119,
-0,0,
-255,198,
-255,159,
-0,0,
-255,146,
-255,180,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,71,
-255,59,
-255,138,
-255,250,
-255,64,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,26,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,96,
-255,94,
-255,39,
-255,157,
-255,243,
-255,124,
-255,104,
-255,222,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-255,241,
-255,54,
-255,54,
-255,255,
-255,26,
-255,145,
-255,130,
-255,31,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,106,
-255,241,
-255,15,
-0,0,
-255,29,
-255,251,
-255,65,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,235,
-255,108,
-0,0,
-0,0,
-0,0,
-0,0,
-255,122,
-255,201,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,232,
-255,71,
-255,244,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,145,
-255,206,
-255,255,
-255,78,
-255,44,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,178,
-255,167,
-255,8,
-255,199,
-255,215,
-0,0,
-255,195,
-255,130,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,136,
-255,197,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,9,
-255,230,
-255,136,
-0,0,
-0,0,
-0,0,
-255,163,
-255,198,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,28,
-255,119,
-255,255,
-255,28,
-255,20,
-255,255,
-255,23,
-0,0,
-0,0,
-0,0,
-0,0,
-255,108,
-255,236,
-255,242,
-255,139,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,223,
-255,120,
-0,0,
-255,141,
-255,188,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,197,
-255,137,
-0,0,
-255,17,
-255,15,
-0,0,
-255,150,
-255,165,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,123,
-255,232,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,237,
-255,96,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,126,
-255,215,
-255,60,
-255,156,
-255,208,
-255,31,
-255,242,
-255,80,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,40,
-255,251,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,106,
-255,241,
-255,15,
-0,0,
-255,29,
-255,251,
-255,65,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,43,
-255,194,
-255,230,
-255,183,
-255,255,
-255,255,
-255,255,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-0,0,
-255,81,
-255,229,
-255,225,
-255,62,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,96,
-255,229,
-255,22,
-255,243,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,159,
-255,166,
-0,0,
-255,175,
-255,163,
-0,0,
-255,177,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,86,
-255,236,
-255,8,
-255,255,
-255,67,
-255,32,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,74,
-255,252,
-255,120,
-255,104,
-255,156,
-255,117,
-255,255,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,255,
-255,255,
-255,255,
-255,20,
-255,10,
-255,255,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,223,
-255,120,
-0,0,
-255,141,
-255,188,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,215,
-255,106,
-255,1,
-255,40,
-255,255,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,27,
-255,198,
-255,12,
-255,239,
-255,95,
-255,97,
-255,206,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,216,
-255,203,
-255,178,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,121,
-255,195,
-255,10,
-255,195,
-255,225,
-255,6,
-255,205,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,106,
-255,255,
-255,110,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,185,
-255,134,
-0,0,
-255,255,
-255,255,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,23,
-255,255,
-255,209,
-255,46,
-255,97,
-255,212,
-255,235,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,30,
-255,255,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,96,
-255,229,
-255,22,
-255,243,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,238,
-255,134,
-255,47,
-255,161,
-255,245,
-255,138,
-255,50,
-255,78,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,21,
-255,213,
-255,78,
-255,31,
-255,255,
-255,16,
-255,17,
-255,247,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,88,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,82,
-255,223,
-255,80,
-255,149,
-255,188,
-255,71,
-255,232,
-255,55,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,198,
-255,183,
-255,201,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,30,
-255,254,
-255,255,
-255,255,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,226,
-255,243,
-255,3,
-255,38,
-255,255,
-255,185,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,115,
-255,217,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,216,
-255,203,
-255,178,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,98,
-255,238,
-255,217,
-255,101,
-255,37,
-255,202,
-255,242,
-255,177,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-255,190,
-255,128,
-0,0,
-255,8,
-255,245,
-255,63,
-255,65,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,44,
-255,242,
-255,154,
-255,84,
-255,122,
-255,145,
-255,252,
-255,19,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,35,
-255,245,
-255,28,
-255,250,
-255,37,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,126,
-255,204,
-255,32,
-255,32,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,71,
-255,56,
-255,128,
-255,248,
-255,83,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,88,
-255,255,
-255,48,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,37,
-255,2,
-0,0,
-0,0,
-255,93,
-255,225,
-255,215,
-255,64,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,9,
-255,254,
-255,229,
-255,20,
-255,53,
-255,230,
-255,238,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,126,
-255,169,
-0,0,
-255,181,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,223,
-255,121,
-0,0,
-0,0,
-255,255,
-255,78,
-255,44,
-255,34,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,255,
-255,241,
-255,197,
-255,73,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,224,
-255,209,
-0,0,
-255,3,
-255,237,
-255,202,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,218,
-255,76,
-0,0,
-255,91,
-255,220,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,67,
-255,255,
-255,40,
-0,0,
-0,0,
-255,255,
-255,255,
-255,255,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,54,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,55,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,146,
-255,174,
-255,32,
-255,32,
-255,32,
-255,185,
-255,147,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,121,
-255,225,
-255,225,
-255,120,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,97,
-255,232,
-255,233,
-255,97,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,234,
-255,96,
-0,0,
-0,0,
-0,0,
-255,109,
-255,234,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,106,
-255,239,
-255,95,
-255,95,
-255,240,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,250,
-255,72,
-255,85,
-255,239,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,74,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-255,39,
-255,255,
-255,74,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,99,
-0,0,
-0,0,
-255,101,
-255,218,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,92,
-255,218,
-255,55,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,255,
-255,30,
-255,127,
-255,202,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,165,
-255,235,
-255,234,
-255,184,
-255,62,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,27,
-255,27,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,26,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,255,
-255,26,
-0,0,
-0,0,
-255,28,
-255,255,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,15,
-255,25,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,212,
-255,205,
-255,210,
-255,35,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,185,
-255,183,
-255,87,
-255,75,
-255,137,
-255,191,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,244,
-255,72,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,223,
-255,225,
-255,33,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,33,
-255,255,
-255,7,
-0,0,
-0,0,
-255,8,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,14,
-255,248,
-255,247,
-255,14,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,55,
-255,218,
-255,92,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,221,
-255,255,
-255,56,
-0,0,
-255,9,
-255,217,
-255,78,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,242,
-255,63,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,173,
-255,122,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,167,
-255,112,
-255,86,
-255,190,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,255,
-255,28,
-0,0,
-0,0,
-255,30,
-255,255,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,95,
-255,211,
-255,225,
-255,94,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,15,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,219,
-255,121,
-255,144,
-255,229,
-255,42,
-255,100,
-255,239,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,156,
-255,231,
-255,121,
-255,23,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,217,
-255,103,
-0,0,
-0,0,
-255,104,
-255,214,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,185,
-255,126,
-255,141,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,14,
-255,248,
-255,247,
-255,14,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,255,
-255,18,
-255,2,
-255,148,
-255,241,
-255,226,
-255,112,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,90,
-255,213,
-255,251,
-255,155,
-255,25,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,9,
-255,140,
-255,230,
-255,230,
-255,139,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,27,
-255,27,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,230,
-255,120,
-0,0,
-0,0,
-0,0,
-255,133,
-255,206,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,126,
-255,226,
-255,235,
-255,163,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,101,
-255,240,
-255,95,
-255,96,
-255,241,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,23,
-255,253,
-255,43,
-255,56,
-255,252,
-255,23,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,95,
-255,211,
-255,225,
-255,94,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,230,
-255,157,
-255,51,
-255,67,
-255,233,
-255,255,
-255,175,
-255,41,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,61,
-255,185,
-255,222,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,146,
-255,209,
-255,65,
-255,65,
-255,209,
-255,145,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,73,
-255,244,
-255,31,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,131,
-255,216,
-255,1,
-0,0,
-255,3,
-255,227,
-255,105,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,129,
-255,205,
-255,58,
-255,42,
-255,171,
-255,177,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,119,
-255,225,
-255,225,
-255,119,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,109,
-255,212,
-0,0,
-255,1,
-255,224,
-255,108,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,185,
-255,126,
-255,141,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,51,
-255,198,
-255,245,
-255,215,
-255,123,
-255,37,
-255,160,
-255,93,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-0,0,
-0,0,
-0,0,
-255,18,
-255,255,
-255,26,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,248,
-255,51,
-0,0,
-0,0,
-255,53,
-255,248,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,122,
-255,172,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,254,
-255,56,
-0,0,
-255,69,
-255,246,
-255,15,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,243,
-255,40,
-0,0,
-0,0,
-255,23,
-255,255,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,198,
-255,255,
-255,255,
-255,255,
-255,255,
-255,197,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,23,
-255,253,
-255,43,
-255,56,
-255,252,
-255,23,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,43,
-255,246,
-255,142,
-255,77,
-255,90,
-255,175,
-255,211,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,255,
-255,9,
-0,0,
-0,0,
-255,10,
-255,255,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,183,
-255,153,
-0,0,
-255,165,
-255,160,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,39,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,33,
-255,255,
-255,74,
-255,32,
-255,32,
-255,88,
-255,255,
-255,33,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,109,
-255,212,
-0,0,
-255,1,
-255,224,
-255,108,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,71,
-255,188,
-255,238,
-255,233,
-255,168,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,249,
-255,50,
-0,0,
-0,0,
-255,53,
-255,248,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,9,
-255,140,
-255,230,
-255,230,
-255,139,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,80,
-255,239,
-255,18,
-255,245,
-255,59,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,250,
-255,33,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,122,
-255,233,
-255,2,
-0,0,
-0,0,
-255,7,
-255,245,
-255,121,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,198,
-255,255,
-255,255,
-255,255,
-255,255,
-255,197,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,147,
-255,208,
-255,65,
-255,65,
-255,208,
-255,145,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,146,
-255,209,
-255,65,
-255,65,
-255,209,
-255,145,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,230,
-255,169,
-255,215,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,148,
-255,201,
-255,66,
-255,33,
-255,64,
-255,108,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,161,
-0,0,
-0,0,
-0,0,
-0,0,
-255,177,
-255,211,
-0,0,
-0,0,
-0,0,
-0,0,
-255,33,
-255,255,
-255,74,
-255,32,
-255,32,
-255,85,
-255,255,
-255,33,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,9,
-255,142,
-255,232,
-255,232,
-255,141,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,248,
-255,51,
-0,0,
-0,0,
-255,53,
-255,248,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,114,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,130,
-255,223,
-255,245,
-255,211,
-255,127,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,122,
-255,233,
-255,2,
-0,0,
-0,0,
-255,6,
-255,244,
-255,121,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,93,
-255,192,
-255,192,
-255,93,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,23,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,255,
-255,9,
-0,0,
-0,0,
-255,10,
-255,255,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,241,
-255,94,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,161,
-0,0,
-0,0,
-0,0,
-0,0,
-255,177,
-255,211,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,32,
-255,5,
-255,5,
-255,32,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,222,
-255,222,
-255,21,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,249,
-255,50,
-0,0,
-0,0,
-255,53,
-255,248,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,166,
-255,138,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,14,
-255,248,
-255,247,
-255,14,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,166,
-255,103,
-255,103,
-255,166,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,121,
-255,225,
-255,232,
-255,136,
-255,170,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,147,
-255,208,
-255,65,
-255,65,
-255,208,
-255,145,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,95,
-255,211,
-255,225,
-255,94,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,106,
-255,239,
-255,95,
-255,94,
-255,239,
-255,160,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,9,
-255,142,
-255,232,
-255,232,
-255,141,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,126,
-255,226,
-255,235,
-255,163,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,27,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,185,
-255,126,
-255,141,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,9,
-255,140,
-255,230,
-255,230,
-255,139,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,99,
-0,0,
-255,43,
-255,242,
-255,223,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,14,
-255,248,
-255,247,
-255,14,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-0,0,
-0,0,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,115,
-255,177,
-255,93,
-255,138,
-255,155,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,129,
-255,205,
-255,58,
-255,42,
-255,171,
-255,177,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,70,
-255,247,
-255,43,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,23,
-255,253,
-255,43,
-255,56,
-255,252,
-255,23,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,146,
-255,209,
-255,65,
-255,65,
-255,209,
-255,145,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,255,
-255,26,
-255,6,
-255,204,
-255,99,
-255,255,
-255,14,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,95,
-255,211,
-255,225,
-255,94,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,215,
-255,15,
-0,0,
-255,213,
-255,17,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,90,
-255,186,
-255,207,
-255,177,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,243,
-255,40,
-0,0,
-0,0,
-255,23,
-255,255,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,110,
-255,193,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,213,
-255,50,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,109,
-255,212,
-0,0,
-255,1,
-255,224,
-255,108,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,248,
-255,51,
-0,0,
-0,0,
-255,53,
-255,248,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-255,33,
-255,255,
-255,8,
-255,131,
-255,140,
-255,9,
-255,255,
-255,33,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,185,
-255,126,
-255,141,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,64,
-255,20,
-255,16,
-255,212,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,39,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,22,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,198,
-255,255,
-255,255,
-255,255,
-255,255,
-255,197,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,255,
-255,9,
-0,0,
-0,0,
-255,10,
-255,255,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,255,
-255,93,
-255,209,
-255,8,
-255,30,
-255,255,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,23,
-255,253,
-255,43,
-255,56,
-255,252,
-255,23,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,121,
-255,224,
-255,237,
-255,166,
-255,21,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,203,
-255,255,
-255,241,
-255,181,
-255,213,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,250,
-255,33,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,126,
-255,226,
-255,235,
-255,163,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,121,
-255,225,
-255,225,
-255,120,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,33,
-255,255,
-255,71,
-255,32,
-255,32,
-255,85,
-255,255,
-255,33,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,249,
-255,50,
-0,0,
-0,0,
-255,53,
-255,248,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,243,
-255,50,
-0,0,
-255,104,
-255,214,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,109,
-255,212,
-0,0,
-255,1,
-255,224,
-255,108,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,19,
-255,179,
-255,222,
-255,176,
-0,0,
-0,0,
-255,75,
-255,143,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,126,
-255,208,
-255,61,
-255,40,
-255,167,
-255,179,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,207,
-255,161,
-255,24,
-255,25,
-255,146,
-255,255,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,148,
-255,201,
-255,66,
-255,33,
-255,63,
-255,109,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,129,
-255,205,
-255,58,
-255,42,
-255,171,
-255,177,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,106,
-255,239,
-255,95,
-255,95,
-255,240,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,122,
-255,232,
-255,2,
-0,0,
-0,0,
-255,6,
-255,244,
-255,121,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,147,
-255,208,
-255,65,
-255,65,
-255,208,
-255,145,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,157,
-255,241,
-255,93,
-255,96,
-255,241,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,198,
-255,255,
-255,255,
-255,255,
-255,255,
-255,197,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,56,
-255,255,
-255,156,
-0,0,
-255,46,
-255,216,
-255,54,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,243,
-255,42,
-0,0,
-0,0,
-255,22,
-255,255,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,255,
-255,19,
-0,0,
-0,0,
-255,5,
-255,255,
-255,31,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,130,
-255,223,
-255,245,
-255,211,
-255,127,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,243,
-255,40,
-0,0,
-0,0,
-255,23,
-255,255,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,99,
-0,0,
-0,0,
-255,101,
-255,218,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,160,
-0,0,
-0,0,
-0,0,
-0,0,
-255,177,
-255,211,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,9,
-255,142,
-255,232,
-255,232,
-255,141,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,177,
-255,135,
-255,232,
-255,225,
-255,119,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,33,
-255,255,
-255,74,
-255,32,
-255,32,
-255,85,
-255,255,
-255,33,
-0,0,
-0,0,
-0,0,
-0,0,
-255,21,
-255,69,
-255,67,
-255,255,
-255,20,
-255,133,
-255,26,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,28,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,39,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,254,
-255,36,
-0,0,
-0,0,
-255,46,
-255,250,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,39,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,255,
-255,26,
-0,0,
-0,0,
-255,28,
-255,255,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,122,
-255,233,
-255,2,
-0,0,
-0,0,
-255,6,
-255,244,
-255,121,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,196,
-255,237,
-255,155,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,249,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,173,
-255,200,
-255,64,
-255,60,
-255,199,
-255,151,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,250,
-255,33,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,33,
-255,255,
-255,7,
-0,0,
-0,0,
-255,8,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,161,
-0,0,
-0,0,
-0,0,
-0,0,
-255,177,
-255,211,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,30,
-0,0,
-255,133,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,141,
-255,211,
-255,78,
-255,34,
-255,61,
-255,97,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,15,
-255,152,
-255,234,
-255,231,
-255,149,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,148,
-255,201,
-255,66,
-255,33,
-255,63,
-255,109,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,255,
-255,28,
-0,0,
-0,0,
-255,30,
-255,255,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,175,
-255,158,
-255,38,
-255,159,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,118,
-255,218,
-255,247,
-255,216,
-255,131,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,130,
-255,223,
-255,245,
-255,211,
-255,127,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,217,
-255,103,
-0,0,
-0,0,
-255,104,
-255,214,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,212,
-255,146,
-255,2,
-255,165,
-255,186,
-255,255,
-255,121,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,9,
-255,140,
-255,230,
-255,236,
-255,159,
-255,169,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,101,
-255,240,
-255,95,
-255,96,
-255,241,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,50,
-255,213,
-255,66,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,64,
-255,190,
-255,191,
-255,64,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,57,
-255,192,
-255,240,
-255,210,
-255,111,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,84,
-255,1,
-0,0,
-0,0,
-0,0,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,146,
-255,206,
-255,58,
-255,78,
-255,246,
-255,177,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,119,
-255,225,
-255,225,
-255,119,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,13,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,27,
-255,7,
-255,8,
-255,27,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,59,
-255,251,
-255,148,
-255,73,
-255,101,
-255,189,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,248,
-255,51,
-255,1,
-255,156,
-255,153,
-255,254,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,121,
-255,225,
-255,225,
-255,120,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,121,
-255,225,
-255,225,
-255,120,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,197,
-255,138,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,67,
-255,255,
-255,54,
-0,0,
-0,0,
-0,0,
-255,146,
-255,215,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,210,
-255,254,
-255,40,
-0,0,
-255,10,
-255,172,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,31,
-255,255,
-255,12,
-255,128,
-255,127,
-255,12,
-255,255,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,106,
-255,239,
-255,95,
-255,95,
-255,240,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,106,
-255,239,
-255,95,
-255,95,
-255,240,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,252,
-255,37,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,237,
-255,130,
-0,0,
-0,0,
-255,1,
-255,222,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,210,
-255,254,
-255,40,
-0,0,
-255,1,
-255,147,
-255,76,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,36,
-255,255,
-255,40,
-255,13,
-255,180,
-255,101,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,253,
-255,152,
-255,155,
-255,1,
-255,52,
-255,248,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-255,28,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,244,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,99,
-0,0,
-0,0,
-255,101,
-255,218,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,99,
-0,0,
-0,0,
-255,101,
-255,218,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,31,
-255,255,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,158,
-255,206,
-0,0,
-0,0,
-255,41,
-255,255,
-255,50,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,36,
-255,255,
-255,40,
-0,0,
-255,115,
-255,205,
-255,27,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,232,
-255,37,
-255,41,
-255,35,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,168,
-255,246,
-255,77,
-255,57,
-255,205,
-255,145,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,44,
-255,44,
-255,78,
-255,255,
-255,44,
-255,44,
-255,42,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,255,
-255,26,
-0,0,
-0,0,
-255,28,
-255,255,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,255,
-255,26,
-0,0,
-0,0,
-255,28,
-255,255,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,252,
-255,38,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,75,
-255,255,
-255,27,
-0,0,
-255,117,
-255,224,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,37,
-255,181,
-255,242,
-255,225,
-255,135,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-255,52,
-255,174,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-0,0,
-255,135,
-255,242,
-255,155,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,169,
-255,160,
-255,237,
-255,232,
-255,141,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-0,0,
-0,0,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,33,
-255,255,
-255,7,
-0,0,
-0,0,
-255,8,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,33,
-255,255,
-255,7,
-0,0,
-0,0,
-255,8,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,201,
-255,140,
-0,0,
-0,0,
-0,0,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,242,
-255,103,
-0,0,
-255,192,
-255,142,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,218,
-255,153,
-255,47,
-255,54,
-255,199,
-255,143,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,30,
-255,1,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,173,
-255,11,
-255,82,
-255,50,
-255,255,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,214,
-0,0,
-255,15,
-255,215,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,255,
-255,28,
-0,0,
-0,0,
-255,30,
-255,255,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,255,
-255,28,
-0,0,
-0,0,
-255,30,
-255,255,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,63,
-255,252,
-255,148,
-255,73,
-255,100,
-255,223,
-255,54,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,166,
-255,177,
-255,16,
-255,252,
-255,59,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,27,
-255,255,
-255,14,
-0,0,
-0,0,
-255,40,
-255,247,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,1,
-255,1,
-255,167,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,165,
-255,103,
-0,0,
-0,0,
-255,81,
-255,210,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,217,
-255,103,
-0,0,
-0,0,
-255,104,
-255,214,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,217,
-255,103,
-0,0,
-0,0,
-255,104,
-255,214,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,62,
-255,196,
-255,242,
-255,211,
-255,112,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,83,
-255,244,
-255,92,
-255,232,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,238,
-255,146,
-255,55,
-255,65,
-255,172,
-255,255,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,62,
-255,185,
-255,9,
-255,100,
-255,144,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,130,
-255,183,
-255,1,
-0,0,
-255,43,
-255,212,
-255,42,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,146,
-255,234,
-255,227,
-255,134,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,101,
-255,240,
-255,95,
-255,96,
-255,241,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,101,
-255,240,
-255,95,
-255,96,
-255,241,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,246,
-255,222,
-255,151,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,210,
-255,245,
-255,193,
-255,78,
-255,254,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-255,100,
-255,216,
-255,24,
-255,19,
-255,242,
-255,175,
-255,255,
-255,124,
-0,0,
-0,0,
-0,0,
-0,0,
-255,45,
-255,26,
-0,0,
-0,0,
-255,234,
-255,241,
-255,224,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,150,
-255,205,
-255,61,
-255,70,
-255,213,
-255,141,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,119,
-255,225,
-255,225,
-255,119,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,119,
-255,225,
-255,225,
-255,119,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,174,
-255,255,
-255,69,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,100,
-255,214,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,47,
-255,35,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,9,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,249,
-255,50,
-0,0,
-0,0,
-255,55,
-255,247,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,120,
-255,78,
-255,47,
-255,104,
-255,240,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,151,
-255,249,
-255,249,
-255,150,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,30,
-255,255,
-255,9,
-0,0,
-0,0,
-255,10,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,110,
-255,209,
-255,245,
-255,210,
-255,87,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,119,
-255,218,
-255,41,
-255,41,
-255,218,
-255,118,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,250,
-255,49,
-0,0,
-0,0,
-255,55,
-255,247,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,47,
-255,186,
-255,227,
-255,223,
-255,148,
-255,13,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,226,
-255,83,
-0,0,
-0,0,
-255,86,
-255,224,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,151,
-255,204,
-255,61,
-255,69,
-255,212,
-255,141,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,46,
-255,240,
-255,89,
-255,3,
-255,16,
-255,184,
-255,152,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,9,
-255,140,
-255,230,
-255,230,
-255,139,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,255,
-255,24,
-0,0,
-0,0,
-255,25,
-255,255,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,148,
-255,235,
-255,229,
-255,136,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,172,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,175,
-255,235,
-255,240,
-255,190,
-255,55,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,183,
-255,136,
-0,0,
-0,0,
-0,0,
-255,60,
-255,234,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,31,
-255,167,
-255,225,
-255,235,
-255,173,
-255,34,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,119,
-255,228,
-255,76,
-255,176,
-255,25,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,146,
-255,209,
-255,65,
-255,65,
-255,209,
-255,145,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,255,
-255,7,
-0,0,
-0,0,
-255,7,
-255,255,
-255,33,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,135,
-255,213,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,97,
-255,98,
-255,42,
-255,54,
-255,139,
-255,227,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,246,
-255,46,
-255,8,
-255,101,
-255,173,
-255,209,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,37,
-255,243,
-255,179,
-255,87,
-255,76,
-255,164,
-255,112,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,190,
-255,52,
-255,206,
-255,177,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,248,
-255,51,
-0,0,
-0,0,
-255,53,
-255,248,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,255,
-255,26,
-0,0,
-0,0,
-255,28,
-255,255,
-255,13,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,254,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,96,
-255,238,
-255,38,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,51,
-255,81,
-255,166,
-255,167,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,27,
-255,255,
-255,13,
-255,185,
-255,156,
-255,46,
-255,43,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,182,
-255,162,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,85,
-255,100,
-0,0,
-255,15,
-255,14,
-0,0,
-255,100,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,255,
-255,9,
-0,0,
-0,0,
-255,10,
-255,255,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,218,
-255,89,
-0,0,
-0,0,
-255,92,
-255,221,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,44,
-255,44,
-255,44,
-255,48,
-255,220,
-255,115,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,63,
-255,240,
-255,58,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,255,
-255,129,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,17,
-255,255,
-255,20,
-255,238,
-255,103,
-255,18,
-255,131,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,248,
-255,45,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,41,
-255,235,
-255,197,
-255,255,
-255,255,
-255,196,
-255,234,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,223,
-255,254,
-255,26,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,249,
-255,50,
-0,0,
-0,0,
-255,53,
-255,248,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,107,
-255,223,
-255,46,
-255,46,
-255,224,
-255,121,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,128,
-255,161,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,37,
-255,237,
-255,108,
-255,32,
-255,32,
-255,255,
-255,67,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,14,
-255,48,
-255,162,
-255,191,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,58,
-255,94,
-255,235,
-255,219,
-255,96,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-255,30,
-255,255,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,172,
-255,42,
-255,41,
-255,172,
-255,189,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,53,
-255,238,
-255,203,
-255,109,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,147,
-255,208,
-255,65,
-255,65,
-255,208,
-255,145,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,130,
-255,244,
-255,255,
-255,163,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,235,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-0,0,
-0,0,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,124,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-0,0,
-0,0,
-0,0,
-255,19,
-255,255,
-255,25,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,158,
-255,162,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,251,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,246,
-255,55,
-0,0,
-0,0,
-255,56,
-255,245,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,139,
-255,162,
-255,117,
-255,195,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,9,
-255,142,
-255,232,
-255,232,
-255,141,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,78,
-255,246,
-255,76,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,123,
-255,159,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,214,
-255,16,
-255,16,
-255,214,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,215,
-255,120,
-255,56,
-255,75,
-255,171,
-255,221,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,238,
-255,129,
-255,23,
-255,20,
-255,89,
-255,17,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,186,
-255,143,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,170,
-255,40,
-255,40,
-255,171,
-255,189,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,225,
-255,82,
-255,36,
-255,254,
-255,27,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,117,
-255,246,
-255,255,
-255,45,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,190,
-255,95,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,68,
-255,186,
-255,235,
-255,237,
-255,175,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,179,
-255,238,
-255,229,
-255,163,
-255,31,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,39,
-255,235,
-255,148,
-255,55,
-255,43,
-255,129,
-255,165,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,234,
-255,197,
-255,255,
-255,255,
-255,197,
-255,232,
-255,39,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,55,
-255,245,
-255,10,
-0,0,
-255,207,
-255,112,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-44,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,232,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,48,
-255,255,
-255,45,
-0,0,
-0,0,
-255,48,
-255,254,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,27,
-255,158,
-255,231,
-255,245,
-255,191,
-255,52,
-0,0,
-0,0,
-0,0,
-0,0,
-255,85,
-255,100,
-0,0,
-255,15,
-255,14,
-0,0,
-255,100,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,140,
-255,255,
-255,255,
-255,255,
-255,255,
-255,198,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,248,
-255,47,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,189,
-255,141,
-0,0,
-0,0,
-255,128,
-255,190,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,128,
-255,83,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,225,
-255,114,
-255,32,
-255,32,
-255,76,
-255,255,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,75,
-255,233,
-255,5,
-0,0,
-255,208,
-255,98,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,82,
-255,232,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,56,
-255,255,
-255,29,
-0,0,
-0,0,
-255,3,
-255,239,
-255,114,
-0,0,
-0,0,
-0,0,
-0,0,
-255,60,
-255,255,
-255,255,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,215,
-255,79,
-255,31,
-255,248,
-255,15,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,38,
-255,190,
-255,123,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,142,
-255,215,
-0,0,
-0,0,
-0,0,
-0,0,
-255,171,
-255,201,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,28,
-255,28,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,102,
-255,170,
-255,106,
-255,171,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,32,
-255,32,
-255,32,
-255,32,
-255,32,
-255,32,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,126,
-255,219,
-255,59,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-0,0,
-0,0,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,74,
-255,200,
-255,242,
-255,202,
-255,91,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,9,
-255,226,
-255,193,
-255,79,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,184,
-255,60,
-255,220,
-255,126,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,214,
-255,16,
-255,16,
-255,213,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-0,0,
-0,0,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,78,
-255,250,
-255,133,
-255,70,
-255,108,
-255,172,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,212,
-255,144,
-255,236,
-255,121,
-255,124,
-255,236,
-255,125,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,129,
-255,238,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,214,
-255,15,
-255,16,
-255,213,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,213,
-255,118,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,144,
-255,133,
-255,252,
-255,146,
-255,130,
-255,218,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,150,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,121,
-255,225,
-255,225,
-255,120,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,121,
-255,225,
-255,225,
-255,120,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,2,
-255,42,
-255,255,
-255,2,
-255,42,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,98,
-255,241,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,180,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,106,
-255,239,
-255,95,
-255,95,
-255,240,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,106,
-255,239,
-255,95,
-255,95,
-255,240,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,63,
-255,255,
-255,255,
-255,63,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,45,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,30,
-255,255,
-255,10,
-0,0,
-255,168,
-255,255,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-255,40,
-255,255,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,232,
-255,224,
-255,83,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,99,
-0,0,
-0,0,
-255,101,
-255,218,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,99,
-0,0,
-0,0,
-255,101,
-255,218,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,141,
-255,202,
-255,221,
-255,140,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,230,
-255,157,
-255,44,
-255,26,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,251,
-255,41,
-0,0,
-255,21,
-255,32,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-255,40,
-255,255,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,255,
-255,26,
-0,0,
-0,0,
-255,28,
-255,255,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,255,
-255,26,
-0,0,
-0,0,
-255,28,
-255,255,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,218,
-255,112,
-255,131,
-255,217,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,86,
-255,231,
-255,236,
-255,164,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,193,
-255,138,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-255,40,
-255,255,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,33,
-255,255,
-255,7,
-0,0,
-0,0,
-255,8,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,33,
-255,255,
-255,7,
-0,0,
-0,0,
-255,8,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,39,
-255,254,
-255,27,
-255,40,
-255,255,
-255,39,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,62,
-255,251,
-255,139,
-255,70,
-255,110,
-255,255,
-255,39,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-255,40,
-255,255,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,255,
-255,28,
-0,0,
-0,0,
-255,30,
-255,255,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,255,
-255,28,
-0,0,
-0,0,
-255,30,
-255,255,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,117,
-255,188,
-0,0,
-0,0,
-255,198,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,67,
-255,200,
-255,243,
-255,205,
-255,97,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,27,
-255,163,
-255,225,
-255,238,
-255,182,
-255,42,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,217,
-255,103,
-0,0,
-0,0,
-255,104,
-255,214,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,217,
-255,103,
-0,0,
-0,0,
-255,104,
-255,214,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,194,
-255,255,
-255,255,
-255,255,
-255,255,
-255,193,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,225,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,235,
-255,139,
-255,35,
-255,19,
-255,101,
-255,234,
-255,35,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,101,
-255,240,
-255,95,
-255,96,
-255,241,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,101,
-255,240,
-255,95,
-255,96,
-255,241,
-255,100,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,19,
-255,253,
-255,75,
-255,32,
-255,32,
-255,86,
-255,253,
-255,19,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,162,
-255,151,
-255,51,
-255,208,
-255,237,
-255,80,
-255,113,
-255,167,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,119,
-255,225,
-255,225,
-255,119,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,119,
-255,225,
-255,225,
-255,119,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,93,
-255,244,
-255,4,
-0,0,
-0,0,
-255,11,
-255,251,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,79,
-255,215,
-255,246,
-255,202,
-255,54,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,140,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,254,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-255,222,
-255,46,
-255,210,
-255,139,
-255,8,
-0,0,
-255,30,
-255,223,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,170,
-255,187,
-0,0,
-0,0,
-0,0,
-0,0,
-255,199,
-255,169,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,248,
-255,104,
-255,26,
-255,150,
-255,216,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,44,
-255,44,
-255,44,
-255,76,
-255,250,
-255,130,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,126,
-255,226,
-255,235,
-255,163,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,32,
-255,67,
-255,255,
-255,32,
-255,32,
-255,32,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-255,243,
-255,11,
-255,244,
-255,60,
-0,0,
-0,0,
-255,11,
-255,244,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,247,
-255,43,
-0,0,
-255,67,
-255,219,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,200,
-255,192,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,129,
-255,205,
-255,58,
-255,42,
-255,171,
-255,177,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,205,
-255,32,
-255,190,
-255,141,
-255,29,
-255,39,
-255,40,
-255,207,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,90,
-255,240,
-255,150,
-255,196,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,139,
-255,234,
-255,26,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,243,
-255,40,
-0,0,
-0,0,
-255,23,
-255,255,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,130,
-255,107,
-255,41,
-255,206,
-255,238,
-255,100,
-255,118,
-255,139,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,62,
-255,179,
-255,92,
-255,122,
-255,224,
-255,126,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,75,
-255,253,
-255,71,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,39,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,255,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,198,
-255,54,
-0,0,
-0,0,
-255,44,
-255,211,
-255,19,
-0,0,
-0,0,
-0,0,
-0,0,
-255,139,
-255,234,
-255,13,
-0,0,
-255,6,
-255,222,
-255,140,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,46,
-255,186,
-255,240,
-255,231,
-255,159,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,233,
-255,75,
-0,0,
-0,0,
-255,32,
-255,255,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,28,
-255,236,
-255,133,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,67,
-255,32,
-255,32,
-255,32,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,250,
-255,33,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,240,
-255,128,
-255,39,
-255,32,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,148,
-255,165,
-255,167,
-255,165,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,15,
-255,234,
-255,130,
-0,0,
-255,107,
-255,236,
-255,17,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,217,
-255,154,
-255,64,
-255,50,
-255,109,
-255,31,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,100,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,201,
-255,168,
-255,55,
-255,22,
-255,121,
-255,243,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,195,
-255,195,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,148,
-255,201,
-255,66,
-255,33,
-255,63,
-255,109,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,81,
-255,221,
-255,244,
-255,203,
-255,66,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,102,
-255,245,
-255,31,
-255,229,
-255,108,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,98,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-255,20,
-255,210,
-255,168,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,44,
-255,78,
-255,255,
-255,44,
-255,44,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,28,
-255,164,
-255,232,
-255,248,
-255,206,
-255,67,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,132,
-255,248,
-255,72,
-255,44,
-255,44,
-255,44,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,130,
-255,223,
-255,245,
-255,211,
-255,127,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,208,
-255,221,
-255,216,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,255,
-255,255,
-255,255,
-255,255,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-255,17,
-255,206,
-255,178,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,254,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,255,
-255,126,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,59,
-255,254,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,55,
-255,202,
-255,196,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,17,
-255,236,
-255,177,
-255,233,
-255,15,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,87,
-255,218,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,222,
-255,233,
-255,228,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,144,
-255,205,
-255,7,
-255,223,
-255,140,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,35,
-255,223,
-255,130,
-255,44,
-255,44,
-255,44,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,192,
-255,15,
-255,203,
-255,173,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,44,
-0,0,
-0,0,
-255,4,
-255,255,
-255,35,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,255,
-255,255,
-255,238,
-255,186,
-255,50,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,41,
-255,252,
-255,69,
-0,0,
-255,89,
-255,251,
-255,39,
-0,0,
-0,0,
-0,0,
-0,0,
-255,235,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,136,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,43,
-0,0,
-255,39,
-255,246,
-255,101,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,221,
-255,83,
-0,0,
-0,0,
-255,46,
-255,253,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,15,
-255,155,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,255,
-255,255,
-255,240,
-255,188,
-255,51,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,67,
-255,35,
-255,71,
-255,153,
-255,231,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,183,
-255,186,
-0,0,
-0,0,
-255,2,
-255,202,
-255,182,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,103,
-255,245,
-255,39,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,44,
-255,78,
-255,255,
-255,44,
-255,44,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-255,138,
-255,222,
-255,84,
-255,75,
-255,203,
-255,176,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,117,
-255,236,
-255,103,
-255,116,
-255,200,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,70,
-255,226,
-255,176,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,67,
-255,35,
-255,70,
-255,153,
-255,231,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,15,
-255,255,
-255,26,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,100,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,152,
-255,234,
-255,239,
-255,171,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,169,
-255,39,
-255,171,
-255,208,
-255,61,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,15,
-255,155,
-255,233,
-255,87,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,16,
-255,255,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-255,2,
-255,22,
-255,134,
-255,229,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,35,
-255,161,
-255,230,
-255,229,
-255,88,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,255,
-255,255,
-255,255,
-255,204,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,23,
-255,226,
-255,165,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-255,3,
-255,44,
-255,140,
-255,236,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,255,
-255,255,
-255,255,
-255,202,
-255,51,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,222,
-255,112,
-255,64,
-255,158,
-255,239,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,51,
-255,44,
-255,44,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,23,
-255,227,
-255,164,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,255,
-255,255,
-255,255,
-255,225,
-255,69,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,67,
-255,31,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,55,
-0,0,
-0,0,
-255,16,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,249,
-255,201,
-255,244,
-255,193,
-255,42,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,15,
-255,155,
-255,233,
-255,86,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,67,
-255,39,
-255,231,
-255,174,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-255,67,
-255,239,
-255,24,
-0,0,
-255,42,
-255,236,
-255,41,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,126,
-255,52,
-255,54,
-255,183,
-255,210,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,71,
-255,227,
-255,175,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-255,94,
-255,255,
-255,51,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,44,
-255,44,
-255,44,
-255,44,
-255,15,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,105,
-255,156,
-0,0,
-255,180,
-255,70,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,44,
-255,44,
-255,44,
-255,44,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,107,
-255,214,
-255,245,
-255,209,
-255,111,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,255,
-255,239,
-255,194,
-255,67,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,145,
-255,215,
-255,53,
-255,197,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,255,
-255,21,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,15,
-255,155,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-255,2,
-255,198,
-255,182,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,144,
-255,109,
-255,107,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,109,
-255,230,
-255,93,
-255,45,
-255,68,
-255,73,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,71,
-255,58,
-255,132,
-255,249,
-255,76,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,167,
-255,61,
-255,195,
-255,99,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-0,0,
-0,0,
-0,0,
-255,34,
-255,254,
-255,13,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,51,
-255,254,
-255,59,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,32,
-255,32,
-255,32,
-255,22,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,80,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,32,
-255,32,
-255,32,
-255,22,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,211,
-255,115,
-255,179,
-255,242,
-255,201,
-255,48,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,124,
-255,209,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,146,
-255,234,
-255,225,
-255,121,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,164,
-255,158,
-255,63,
-255,64,
-255,198,
-255,179,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,255,
-255,255,
-255,255,
-255,172,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,255,
-255,255,
-255,255,
-255,176,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,247,
-255,225,
-255,87,
-255,46,
-255,164,
-255,213,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,34,
-255,254,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,150,
-255,205,
-255,61,
-255,75,
-255,226,
-255,107,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,31,
-255,166,
-255,225,
-255,238,
-255,161,
-255,19,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,80,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,223,
-255,68,
-0,0,
-0,0,
-255,21,
-255,255,
-255,21,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,10,
-255,255,
-255,31,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,249,
-255,50,
-0,0,
-0,0,
-255,91,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,178,
-255,115,
-0,0,
-0,0,
-255,26,
-255,255,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,36,
-255,253,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-255,30,
-255,255,
-255,9,
-0,0,
-0,0,
-255,50,
-255,245,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,23,
-255,166,
-255,234,
-255,236,
-255,110,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,44,
-255,44,
-255,44,
-255,44,
-255,22,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,236,
-255,74,
-255,36,
-255,172,
-255,186,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,129,
-255,204,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,250,
-255,49,
-0,0,
-0,0,
-255,90,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,100,
-255,239,
-255,123,
-255,97,
-255,203,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,180,
-255,188,
-255,52,
-255,91,
-255,253,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,86,
-255,215,
-255,241,
-255,172,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,71,
-255,57,
-255,134,
-255,250,
-255,71,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,151,
-255,204,
-255,61,
-255,74,
-255,225,
-255,108,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,88,
-255,219,
-255,66,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,62,
-255,159,
-255,229,
-255,229,
-255,88,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,177,
-255,39,
-255,145,
-255,210,
-255,65,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,247,
-255,54,
-0,0,
-255,34,
-255,251,
-255,15,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,255,
-255,240,
-255,194,
-255,65,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,148,
-255,235,
-255,227,
-255,122,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,14,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,36,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,225,
-255,112,
-255,64,
-255,158,
-255,239,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-255,63,
-255,166,
-255,217,
-255,245,
-255,198,
-255,49,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-255,171,
-255,133,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,158,
-255,163,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,55,
-0,0,
-0,0,
-255,16,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,148,
-255,127,
-255,64,
-255,50,
-255,154,
-255,219,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-255,242,
-255,91,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,38,
-255,214,
-255,13,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,15,
-255,52,
-255,93,
-255,255,
-255,25,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-255,90,
-255,231,
-255,167,
-255,27,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,255,
-255,255,
-255,236,
-255,176,
-255,37,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,39,
-255,185,
-255,225,
-255,185,
-255,139,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,12,
-255,147,
-255,215,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,61,
-255,31,
-255,71,
-255,172,
-255,204,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,89,
-255,217,
-255,247,
-255,211,
-255,88,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,255,
-255,255,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,214,
-255,106,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-255,80,
-255,33,
-255,127,
-255,226,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,255,
-255,255,
-255,232,
-255,163,
-255,25,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,56,
-255,234,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,242,
-255,123,
-255,40,
-255,44,
-255,21,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,51,
-255,217,
-255,105,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,32,
-255,32,
-255,32,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,232,
-255,133,
-255,43,
-255,71,
-255,180,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-255,188,
-255,247,
-255,208,
-255,62,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,175,
-255,162,
-255,181,
-255,245,
-255,189,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,67,
-255,36,
-255,65,
-255,189,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,255,
-255,255,
-255,255,
-255,255,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,104,
-255,196,
-255,242,
-255,190,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,44,
-0,0,
-0,0,
-255,4,
-255,255,
-255,35,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,76,
-255,222,
-255,241,
-255,190,
-255,80,
-255,166,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,55,
-255,255,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,255,
-255,255,
-255,255,
-255,230,
-255,50,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,30,
-255,32,
-255,255,
-255,67,
-255,32,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,204,
-255,76,
-255,61,
-255,192,
-255,188,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,153,
-255,238,
-255,219,
-255,134,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,221,
-255,83,
-0,0,
-0,0,
-255,46,
-255,253,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,18,
-255,255,
-255,22,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-255,6,
-255,45,
-255,134,
-255,236,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,41,
-0,0,
-0,0,
-255,39,
-255,255,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,153,
-255,219,
-255,77,
-255,59,
-255,165,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,138,
-255,222,
-255,84,
-255,75,
-255,203,
-255,176,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,67,
-255,34,
-255,56,
-255,173,
-255,202,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,17,
-255,255,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,10,
-255,255,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,250,
-255,60,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,152,
-255,234,
-255,239,
-255,171,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,255,
-255,255,
-255,232,
-255,164,
-255,27,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,64,
-255,30,
-255,51,
-255,163,
-255,223,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,59,
-255,248,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-255,31,
-255,255,
-255,10,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,36,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,116,
-255,245,
-255,38,
-0,0,
-255,24,
-255,237,
-255,122,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,255,
-255,255,
-255,239,
-255,181,
-255,41,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,168,
-255,59,
-255,68,
-255,213,
-255,149,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,9,
-255,255,
-255,45,
-0,0,
-0,0,
-255,41,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,110,
-255,232,
-255,94,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,139,
-255,188,
-255,13,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,185,
-255,202,
-255,4,
-255,172,
-255,196,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,102,
-255,217,
-255,239,
-255,155,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,178,
-255,200,
-255,60,
-255,67,
-255,195,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,44,
-0,0,
-0,0,
-255,4,
-255,255,
-255,35,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,31,
-255,218,
-255,32,
-255,219,
-255,19,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,13,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,233,
-255,182,
-255,243,
-255,34,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,181,
-255,242,
-255,203,
-255,80,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-255,221,
-255,83,
-0,0,
-0,0,
-255,46,
-255,253,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,147,
-255,255,
-255,143,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,138,
-255,222,
-255,84,
-255,75,
-255,203,
-255,176,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,87,
-255,206,
-255,245,
-255,211,
-255,108,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,255,
-255,255,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,44,
-255,44,
-255,44,
-255,44,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,56,
-255,249,
-255,151,
-255,246,
-255,43,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,152,
-255,234,
-255,239,
-255,171,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,89,
-255,243,
-255,109,
-255,49,
-255,88,
-255,144,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,32,
-255,32,
-255,32,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,14,
-255,222,
-255,141,
-255,1,
-255,178,
-255,214,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,147,
-255,167,
-255,192,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,207,
-255,106,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,32,
-255,32,
-255,32,
-255,22,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,164,
-255,213,
-255,8,
-0,0,
-255,18,
-255,224,
-255,160,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,121,
-255,195,
-255,33,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,27,
-0,0,
-255,17,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,27,
-255,162,
-255,230,
-255,229,
-255,88,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,169,
-255,138,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,245,
-255,52,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,105,
-255,197,
-255,242,
-255,189,
-255,31,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,255,
-255,255,
-255,255,
-255,176,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,32,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,221,
-255,112,
-255,64,
-255,158,
-255,239,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,31,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,174,
-255,140,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,211,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,203,
-255,75,
-255,61,
-255,193,
-255,187,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,44,
-255,44,
-255,44,
-255,44,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,55,
-0,0,
-0,0,
-255,16,
-255,255,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,100,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,26,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,100,
-255,241,
-255,105,
-255,48,
-255,86,
-255,181,
-255,14,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,41,
-0,0,
-0,0,
-255,39,
-255,255,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,44,
-255,44,
-255,44,
-255,44,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,44,
-255,78,
-255,255,
-255,44,
-255,44,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-255,100,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,172,
-255,173,
-255,144,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,101,
-255,213,
-255,245,
-255,208,
-255,100,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,10,
-255,255,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,44,
-255,44,
-255,44,
-255,44,
-255,22,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,32,
-255,32,
-255,32,
-255,22,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,44,
-255,78,
-255,255,
-255,44,
-255,44,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,23,
-0,0,
-255,28,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,60,
-255,247,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,32,
-255,32,
-255,32,
-255,22,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,255,
-255,255,
-255,255,
-255,176,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,100,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,167,
-255,58,
-255,70,
-255,215,
-255,147,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,18,
-0,0,
-255,255,
-0,0,
-255,18,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,255,
-255,255,
-255,255,
-255,176,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,44,
-255,78,
-255,255,
-255,44,
-255,44,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,133,
-255,217,
-255,238,
-255,153,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,23,
-255,196,
-255,177,
-255,255,
-255,177,
-255,196,
-255,22,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,83,
-255,255,
-255,83,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,44,
-255,44,
-255,44,
-255,44,
-255,22,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-255,1,
-255,169,
-255,219,
-255,17,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,119,
-255,233,
-255,255,
-255,64,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,186,
-255,89,
-255,185,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,44,
-255,44,
-255,44,
-255,44,
-255,22,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,44,
-255,78,
-255,255,
-255,44,
-255,44,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-255,126,
-255,241,
-255,41,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,79,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-0,0,
-0,0,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,62,
-255,128,
-0,0,
-255,128,
-255,62,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,100,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,44,
-255,78,
-255,255,
-255,44,
-255,44,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-255,82,
-255,252,
-255,74,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,214,
-255,15,
-255,15,
-255,215,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,36,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,100,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,88,
-255,245,
-255,168,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,135,
-255,198,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,44,
-255,78,
-255,255,
-255,44,
-255,44,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,244,
-255,219,
-255,246,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,41,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,227,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,100,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,199,
-255,12,
-255,214,
-255,164,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,16,
-255,129,
-255,206,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,32,
-255,32,
-255,32,
-255,32,
-255,32,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,48,
-0,0,
-255,75,
-255,255,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,184,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,160,
-255,21,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,101,
-255,241,
-255,162,
-255,38,
-255,155,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,109,
-255,111,
-0,0,
-255,44,
-255,153,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-255,201,
-255,107,
-0,0,
-0,0,
-0,0,
-255,122,
-255,206,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,132,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-255,1,
-255,190,
-255,199,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,30,
-255,117,
-255,221,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,198,
-255,37,
-255,148,
-255,240,
-255,98,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,231,
-255,102,
-255,2,
-255,196,
-255,121,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,89,
-255,217,
-255,2,
-0,0,
-255,1,
-255,212,
-255,105,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,242,
-255,23,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,166,
-0,0,
-0,0,
-255,118,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,50,
-255,254,
-255,91,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,32,
-255,67,
-255,255,
-255,32,
-255,32,
-255,17,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,69,
-255,252,
-255,32,
-255,38,
-255,246,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,229,
-255,73,
-0,0,
-255,47,
-255,246,
-255,15,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,168,
-255,146,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,254,
-255,217,
-255,8,
-0,0,
-255,195,
-255,235,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,176,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,136,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,44,
-0,0,
-0,0,
-255,5,
-255,255,
-255,35,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,151,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,68,
-255,252,
-255,32,
-255,38,
-255,246,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,122,
-255,184,
-0,0,
-255,137,
-255,159,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,56,
-255,234,
-255,32,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,156,
-255,78,
-255,30,
-255,182,
-255,229,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,23,
-255,255,
-255,74,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,221,
-255,82,
-0,0,
-0,0,
-255,47,
-255,253,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,252,
-255,62,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-255,23,
-255,231,
-255,102,
-255,2,
-255,194,
-255,121,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,245,
-255,33,
-255,222,
-255,58,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-255,122,
-255,161,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,87,
-255,162,
-255,111,
-255,99,
-255,243,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,134,
-255,237,
-255,255,
-255,64,
-0,0,
-0,0,
-0,0,
-0,0,
-255,140,
-255,221,
-255,82,
-255,77,
-255,205,
-255,175,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,148,
-255,217,
-255,9,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-255,109,
-255,112,
-0,0,
-255,45,
-255,153,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,76,
-255,198,
-255,242,
-255,190,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,155,
-255,182,
-255,214,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-255,11,
-255,230,
-255,42,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-255,203,
-255,178,
-255,15,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,4,
-255,11,
-255,48,
-255,4,
-255,4,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,154,
-255,235,
-255,238,
-255,169,
-255,23,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,43,
-255,206,
-255,135,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,204,
-255,76,
-255,61,
-255,192,
-255,188,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,45,
-255,255,
-255,113,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-255,107,
-255,167,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-255,128,
-255,167,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,176,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,136,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-255,50,
-255,248,
-255,49,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,41,
-0,0,
-0,0,
-255,39,
-255,255,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,46,
-255,245,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-255,6,
-255,220,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-255,10,
-255,15,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,214,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-255,136,
-255,205,
-255,43,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,10,
-255,255,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-255,23,
-255,76,
-255,214,
-255,139,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,92,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,32,
-255,32,
-255,32,
-255,32,
-255,32,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-255,9,
-255,218,
-255,147,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,59,
-255,248,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-255,208,
-255,237,
-255,149,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,56,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,96,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,28,
-255,186,
-255,245,
-255,224,
-255,145,
-255,17,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,63,
-255,252,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,168,
-255,237,
-255,255,
-255,255,
-255,255,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,168,
-255,58,
-255,69,
-255,214,
-255,149,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,44,
-255,44,
-255,44,
-255,44,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,172,
-255,199,
-255,51,
-255,42,
-255,174,
-255,179,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,121,
-255,203,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,151,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-255,190,
-255,161,
-255,35,
-255,35,
-255,163,
-255,195,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,132,
-255,217,
-255,238,
-255,154,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,204,
-255,32,
-0,0,
-0,0,
-255,32,
-255,204,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,65,
-255,186,
-255,12,
-255,27,
-255,255,
-255,13,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,144,
-255,162,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,239,
-255,55,
-0,0,
-0,0,
-255,56,
-255,242,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,214,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,246,
-255,47,
-255,202,
-255,15,
-255,12,
-255,255,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,164,
-255,175,
-255,42,
-255,42,
-255,176,
-255,181,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,89,
-255,196,
-255,188,
-255,109,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,220,
-255,62,
-0,0,
-0,0,
-255,40,
-255,254,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,47,
-255,248,
-255,255,
-255,239,
-255,169,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,153,
-255,238,
-255,220,
-255,106,
-255,254,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,32,
-255,5,
-255,2,
-255,32,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,169,
-255,110,
-0,0,
-0,0,
-255,122,
-255,207,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,223,
-255,129,
-255,38,
-255,32,
-255,25,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,153,
-255,219,
-255,77,
-255,59,
-255,165,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,52,
-0,0,
-0,0,
-255,75,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,63,
-255,217,
-255,49,
-255,98,
-255,246,
-255,101,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,144,
-255,217,
-255,243,
-255,184,
-255,35,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,84,
-255,255,
-255,255,
-255,255,
-255,255,
-255,246,
-255,126,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,250,
-255,60,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,32,
-255,67,
-255,255,
-255,32,
-255,32,
-255,17,
-0,0,
-0,0,
-0,0,
-0,0,
-255,53,
-255,192,
-255,242,
-255,234,
-255,192,
-255,100,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,171,
-255,48,
-255,93,
-255,211,
-255,253,
-255,31,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,97,
-255,219,
-255,229,
-255,126,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,36,
-255,71,
-255,255,
-255,36,
-255,36,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-255,117,
-255,166,
-255,60,
-255,45,
-255,170,
-255,196,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,192,
-255,79,
-0,0,
-0,0,
-255,13,
-255,96,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,31,
-255,255,
-255,10,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,176,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,136,
-0,0,
-0,0,
-0,0,
-0,0,
-255,224,
-255,134,
-255,38,
-255,36,
-255,90,
-255,132,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,189,
-255,245,
-255,194,
-255,37,
-255,167,
-255,166,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,164,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,60,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,58,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,228,
-255,133,
-255,33,
-255,18,
-255,67,
-255,178,
-255,159,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,9,
-255,255,
-255,45,
-0,0,
-0,0,
-255,41,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,196,
-255,173,
-255,64,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,149,
-255,162,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,198,
-255,244,
-255,242,
-255,207,
-255,115,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,178,
-255,200,
-255,60,
-255,67,
-255,195,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,103,
-255,198,
-255,235,
-255,149,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,115,
-255,212,
-255,17,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,181,
-255,242,
-255,204,
-255,110,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-255,252,
-255,44,
-0,0,
-0,0,
-255,4,
-255,255,
-255,35,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,29,
-255,180,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,27,
-255,124,
-255,243,
-255,13,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,164,
-255,190,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-255,221,
-255,83,
-0,0,
-0,0,
-255,46,
-255,253,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,173,
-255,84,
-255,35,
-255,38,
-255,105,
-255,243,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,248,
-255,55,
-0,0,
-0,0,
-255,55,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,185,
-255,235,
-255,234,
-255,175,
-255,39,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,208,
-255,199,
-255,50,
-255,44,
-255,44,
-255,21,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-255,138,
-255,222,
-255,84,
-255,75,
-255,203,
-255,176,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,58,
-255,180,
-255,234,
-255,241,
-255,193,
-255,59,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,206,
-255,180,
-255,61,
-255,98,
-255,214,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,70,
-255,248,
-255,137,
-255,60,
-255,55,
-255,144,
-255,62,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,129,
-255,237,
-255,185,
-255,61,
-255,65,
-255,177,
-0,0,
-0,0,
-0,0,
-0,0,
-255,186,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,152,
-255,234,
-255,239,
-255,171,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,62,
-255,220,
-255,236,
-255,171,
-255,29,
-255,253,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,201,
-255,121,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,48,
-255,207,
-255,58,
-255,147,
-255,250,
-255,238,
-255,65,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,65,
-255,170,
-255,221,
-255,244,
-255,186,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,136,
-255,255,
-255,255,
-255,255,
-255,255,
-255,250,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,243,
-255,54,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-0,0,
-0,0,
-255,10,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,149,
-255,124,
-255,61,
-255,53,
-255,179,
-255,181,
-0,0,
-0,0,
-0,0,
-0,0,
-255,17,
-255,32,
-255,32,
-255,86,
-255,254,
-255,99,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,205,
-255,113,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,56,
-255,121,
-255,242,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,229,
-255,144,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-255,255,
-255,39,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,75,
-255,247,
-255,123,
-255,48,
-255,50,
-255,129,
-255,109,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,42,
-255,190,
-255,224,
-255,180,
-255,155,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,196,
-255,187,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,32,
-255,32,
-255,32,
-255,32,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,56,
-255,160,
-255,255,
-255,255,
-255,255,
-255,82,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,239,
-0,0,
-0,0,
-255,240,
-255,23,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,64,
-255,192,
-255,248,
-255,252,
-255,191,
-255,48,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,201,
-255,100,
-0,0,
-0,0,
-0,0,
-255,118,
-255,205,
-0,0,
-0,0,
-0,0,
-0,0,
-255,216,
-255,103,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,152,
-255,219,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,47,
-255,142,
-255,220,
-255,245,
-255,64,
-0,0,
-0,0,
-0,0,
-0,0,
-255,167,
-255,74,
-0,0,
-0,0,
-255,75,
-255,167,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,97,
-255,97,
-0,0,
-255,64,
-255,165,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-255,234,
-255,29,
-255,255,
-255,155,
-255,212,
-255,239,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,218,
-0,0,
-0,0,
-255,218,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,122,
-255,83,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,89,
-255,212,
-255,1,
-0,0,
-0,0,
-255,210,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-255,232,
-255,131,
-255,42,
-255,78,
-255,199,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-255,102,
-255,250,
-255,74,
-255,32,
-255,32,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,213,
-255,170,
-255,89,
-255,64,
-255,8,
-0,0,
-0,0,
-0,0,
-0,0,
-255,76,
-255,242,
-255,73,
-255,74,
-255,242,
-255,76,
-0,0,
-0,0,
-0,0,
-0,0,
-255,77,
-255,238,
-255,24,
-255,64,
-255,243,
-255,69,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,217,
-255,57,
-255,255,
-255,42,
-255,200,
-255,215,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,181,
-0,0,
-0,0,
-255,181,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,91,
-255,230,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,229,
-255,70,
-0,0,
-255,45,
-255,245,
-255,14,
-0,0,
-0,0,
-0,0,
-0,0,
-255,79,
-255,225,
-255,238,
-255,178,
-255,55,
-255,253,
-0,0,
-0,0,
-0,0,
-0,0,
-255,250,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,76,
-255,241,
-255,242,
-255,76,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,246,
-255,115,
-0,0,
-255,245,
-255,134,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,115,
-255,215,
-255,74,
-255,16,
-255,176,
-255,113,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,42,
-255,186,
-255,125,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,122,
-255,183,
-0,0,
-255,137,
-255,157,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,76,
-255,241,
-255,242,
-255,76,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,246,
-255,115,
-0,0,
-255,245,
-255,134,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,127,
-255,229,
-255,230,
-255,128,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,246,
-255,35,
-255,222,
-255,56,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,76,
-255,242,
-255,73,
-255,74,
-255,242,
-255,76,
-0,0,
-0,0,
-0,0,
-0,0,
-255,77,
-255,237,
-255,23,
-255,64,
-255,243,
-255,67,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,155,
-255,185,
-255,211,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,167,
-255,75,
-0,0,
-0,0,
-255,75,
-255,167,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,97,
-255,97,
-0,0,
-255,64,
-255,165,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,45,
-255,255,
-255,109,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,33,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,46,
-255,244,
-255,17,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-0,0,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,28,
-255,241,
-255,104,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,223,
-255,156,
-0,0,
-0,0,
-0,0,
-0,0,
-255,156,
-255,152,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,23,
-255,78,
-255,215,
-255,135,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,214,
-255,16,
-255,214,
-255,15,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,105,
-255,232,
-255,230,
-255,138,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,147,
-255,229,
-255,254,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,180,
-255,141,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,194,
-255,176,
-0,0,
-0,0,
-0,0,
-0,0,
-255,60,
-255,240,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,209,
-255,236,
-255,145,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,253,
-255,95,
-255,52,
-255,130,
-255,23,
-0,0,
-0,0,
-0,0,
-0,0,
-255,158,
-255,255,
-255,255,
-255,255,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,219,
-255,89,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,255,
-255,255,
-255,255,
-255,255,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,108,
-255,253,
-255,225,
-255,89,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,30,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,245,
-255,93,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,232,
-255,255,
-255,255,
-255,255,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,176,
-255,255,
-255,255,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,123,
-255,185,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,41,
-255,44,
-255,255,
-255,78,
-255,44,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-0,0,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,32,
-255,32,
-255,32,
-255,32,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,115,
-255,230,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,85,
-255,248,
-255,44,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,55,
-255,232,
-255,247,
-255,204,
-255,63,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,234,
-255,255,
-255,255,
-255,255,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,32,
-255,32,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,30,
-255,251,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,17,
-255,212,
-0,0,
-255,214,
-255,15,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,41,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,116,
-255,202,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,213,
-255,88,
-255,23,
-255,135,
-255,248,
-255,117,
-0,0,
-0,0,
-0,0,
-0,0,
-255,158,
-255,255,
-255,255,
-255,255,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,186,
-255,122,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,234,
-255,105,
-0,0,
-0,0,
-255,92,
-255,237,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,157,
-255,248,
-255,255,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,90,
-255,218,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,114,
-255,206,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,208,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,255,
-255,255,
-255,255,
-255,212,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,39,
-255,255,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-255,100,
-255,249,
-255,162,
-255,46,
-255,91,
-255,222,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,24,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,248,
-255,55,
-0,0,
-0,0,
-255,55,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,9,
-255,241,
-255,59,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,214,
-255,106,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,44,
-255,44,
-255,44,
-255,37,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,249,
-255,82,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,43,
-255,178,
-255,254,
-255,252,
-255,98,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,206,
-255,180,
-255,61,
-255,98,
-255,214,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,153,
-255,156,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,58,
-255,247,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,75,
-255,216,
-255,255,
-255,215,
-255,85,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,106,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,71,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,62,
-255,220,
-255,236,
-255,171,
-255,29,
-255,253,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,56,
-255,242,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,158,
-255,162,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,245,
-255,128,
-255,48,
-255,108,
-255,149,
-0,0,
-0,0,
-0,0,
-0,0,
-255,41,
-255,44,
-255,255,
-255,78,
-255,44,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,32,
-255,32,
-255,32,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,80,
-0,0,
-255,85,
-255,22,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,15,
-255,253,
-255,66,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-255,121,
-255,142,
-255,50,
-255,108,
-255,249,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,21,
-255,255,
-255,33,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,216,
-255,93,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,14,
-255,245,
-255,63,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,255,
-255,54,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,255,
-255,255,
-255,255,
-255,255,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,255,
-255,255,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,76,
-255,137,
-0,0,
-255,194,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,248,
-255,55,
-0,0,
-0,0,
-255,55,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,193,
-255,241,
-255,225,
-255,88,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,76,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,34,
-255,121,
-255,240,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,119,
-255,189,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,101,
-255,219,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,134,
-255,249,
-255,169,
-255,42,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,108,
-255,107,
-0,0,
-255,216,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,206,
-255,180,
-255,61,
-255,98,
-255,214,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,191,
-255,245,
-255,225,
-255,86,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,47,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,201,
-255,119,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,50,
-255,177,
-255,250,
-255,107,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,112,
-255,238,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,62,
-255,220,
-255,236,
-255,171,
-255,29,
-255,253,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,46,
-255,252,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,96,
-255,238,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,44,
-255,44,
-255,44,
-255,43,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,167,
-255,49,
-255,28,
-255,188,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,108,
-255,254,
-255,229,
-255,101,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,145,
-255,176,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,15,
-255,172,
-255,57,
-255,16,
-255,127,
-255,221,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-255,255,
-255,255,
-255,255,
-255,248,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,197,
-255,19,
-255,60,
-255,156,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,6,
-255,255,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,8,
-255,237,
-255,76,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,130,
-255,242,
-255,255,
-255,235,
-255,70,
-0,0,
-0,0,
-0,0,
-0,0,
-255,59,
-255,128,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,120,
-255,231,
-255,120,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,36,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,57,
-255,232,
-255,255,
-255,251,
-255,112,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,88,
-255,229,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,255,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,200,
-255,208,
-255,48,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,214,
-0,0,
-255,114,
-255,102,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,227,
-255,73,
-255,226,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,211,
-255,136,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,216,
-255,137,
-255,255,
-255,22,
-255,13,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,27,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,36,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,188,
-255,132,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,114,
-255,241,
-255,128,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,190,
-0,0,
-255,142,
-255,74,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-0,0,
-0,0,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,59,
-255,131,
-255,59,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,120,
-255,185,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,23,
-255,255,
-255,27,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,227,
-255,228,
-255,41,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,180,
-255,147,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,47,
-255,14,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,35,
-255,191,
-255,208,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,54,
-255,162,
-0,0,
-255,170,
-255,46,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,9,
-255,13,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,214,
-255,16,
-0,0,
-255,211,
-255,19,
-0,0,
-0,0,
-0,0,
-0,0,
-255,61,
-255,162,
-255,213,
-255,245,
-255,199,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,255,
-255,22,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,181,
-255,102,
-255,77,
-255,199,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,19,
-255,218,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,35,
-255,190,
-255,208,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,255,
-255,255,
-255,255,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,180,
-255,250,
-255,254,
-255,133,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,150,
-255,133,
-255,71,
-255,48,
-255,172,
-255,187,
-0,0,
-0,0,
-0,0,
-0,0,
-255,65,
-255,170,
-255,221,
-255,244,
-255,186,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,231,
-255,92,
-255,255,
-255,25,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,113,
-255,240,
-255,129,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,41,
-255,44,
-255,44,
-255,78,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,39,
-255,126,
-255,24,
-255,83,
-255,255,
-255,19,
-0,0,
-0,0,
-0,0,
-0,0,
-255,68,
-255,175,
-255,226,
-255,241,
-255,177,
-255,27,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,56,
-255,129,
-255,243,
-0,0,
-0,0,
-0,0,
-0,0,
-255,149,
-255,124,
-255,61,
-255,53,
-255,179,
-255,181,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,92,
-255,245,
-255,255,
-255,255,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,255,
-255,255,
-255,255,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,199,
-255,208,
-255,48,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,42,
-255,247,
-255,10,
-0,0,
-0,0,
-0,0,
-0,0,
-255,141,
-255,119,
-255,53,
-255,63,
-255,189,
-255,176,
-0,0,
-0,0,
-0,0,
-0,0,
-255,42,
-255,190,
-255,224,
-255,180,
-255,155,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,56,
-255,121,
-255,242,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,255,
-255,45,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,32,
-255,32,
-255,32,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,59,
-255,129,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,13,
-255,208,
-255,119,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,56,
-255,123,
-255,241,
-0,0,
-0,0,
-0,0,
-0,0,
-255,216,
-255,103,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-255,42,
-255,190,
-255,224,
-255,180,
-255,155,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,34,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,141,
-255,185,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,42,
-255,190,
-255,224,
-255,180,
-255,155,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-255,229,
-255,142,
-255,50,
-255,59,
-255,186,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-255,216,
-255,103,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,204,
-255,226,
-255,73,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,32,
-255,32,
-255,32,
-255,32,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,41,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,112,
-255,75,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,216,
-255,103,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-255,65,
-255,210,
-255,245,
-255,193,
-255,63,
-255,253,
-0,0,
-0,0,
-0,0,
-0,0,
-255,232,
-255,131,
-255,42,
-255,78,
-255,199,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,248,
-255,55,
-0,0,
-0,0,
-255,55,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,129,
-255,159,
-255,38,
-255,210,
-255,9,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,3,
-255,25,
-0,0,
-0,0,
-255,66,
-255,238,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,42,
-255,29,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,236,
-255,123,
-255,46,
-255,98,
-255,209,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,79,
-255,225,
-255,238,
-255,178,
-255,53,
-255,251,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,206,
-255,180,
-255,61,
-255,98,
-255,214,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,115,
-255,229,
-255,96,
-255,73,
-255,202,
-255,171,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,14,
-255,249,
-255,222,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,96,
-255,239,
-255,224,
-255,163,
-255,60,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,62,
-255,220,
-255,236,
-255,172,
-255,30,
-255,250,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,65,
-255,170,
-255,221,
-255,244,
-255,186,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,32,
-255,32,
-255,32,
-255,32,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,27,
-255,198,
-255,236,
-255,137,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,10,
-255,143,
-255,221,
-255,239,
-255,175,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,204,
-255,167,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,79,
-255,229,
-255,229,
-255,77,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,149,
-255,124,
-255,61,
-255,53,
-255,179,
-255,181,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,5,
-255,59,
-255,99,
-255,234,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,230,
-255,72,
-255,73,
-255,228,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,56,
-255,121,
-255,242,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,56,
-255,255,
-255,134,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,231,
-255,70,
-255,70,
-255,230,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,42,
-255,190,
-255,224,
-255,180,
-255,155,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,68,
-255,67,
-255,255,
-255,20,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,216,
-255,255,
-255,255,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,32,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,80,
-255,230,
-255,230,
-255,79,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,216,
-255,103,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,36,
-255,197,
-255,237,
-255,155,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,124,
-255,220,
-255,243,
-255,136,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,68,
-255,255,
-255,67,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,21,
-255,36,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-0,0,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,232,
-255,131,
-255,42,
-255,78,
-255,199,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,167,
-255,202,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,56,
-255,219,
-255,231,
-255,82,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,153,
-255,91,
-0,0,
-0,0,
-0,0,
-0,0,
-255,91,
-255,152,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,4,
-255,223,
-255,156,
-0,0,
-0,0,
-0,0,
-0,0,
-255,62,
-255,44,
-255,60,
-255,255,
-255,19,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,164,
-255,157,
-255,163,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,42,
-255,240,
-255,91,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,214,
-0,0,
-255,214,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-255,79,
-255,225,
-255,238,
-255,178,
-255,55,
-255,253,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,223,
-255,249,
-255,14,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,206,
-255,129,
-255,91,
-255,239,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,130,
-255,210,
-255,17,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,211,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,194,
-255,176,
-0,0,
-0,0,
-0,0,
-0,0,
-255,91,
-255,170,
-255,155,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,14,
-255,233,
-255,17,
-255,232,
-255,13,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,67,
-255,229,
-255,18,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,30,
-255,43,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,247,
-255,55,
-255,15,
-255,255,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,43,
-255,245,
-255,41,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,43,
-255,245,
-255,42,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,241,
-255,86,
-255,68,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,98,
-255,166,
-0,0,
-255,167,
-255,97,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,144,
-255,255,
-255,255,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,50,
-255,79,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,207,
-255,127,
-255,89,
-255,241,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,151,
-255,154,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,155,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,176,
-255,255,
-255,255,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,128,
-255,235,
-255,174,
-255,227,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,193,
-255,78,
-0,0,
-255,79,
-255,192,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,65,
-255,170,
-255,221,
-255,244,
-255,186,
-255,32,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,32,
-255,32,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,150,
-255,166,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,58,
-255,221,
-255,233,
-255,84,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,233,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,70,
-255,231,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,32,
-255,32,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,43,
-255,5,
-0,0,
-255,5,
-255,43,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,149,
-255,124,
-255,61,
-255,53,
-255,179,
-255,181,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,39,
-255,244,
-255,57,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,14,
-255,255,
-255,23,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,56,
-255,121,
-255,242,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-0,0,
-0,0,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,197,
-255,123,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,34,
-255,255,
-255,6,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,7,
-255,255,
-255,33,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,42,
-255,190,
-255,224,
-255,180,
-255,155,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,16,
-255,213,
-0,0,
-255,14,
-255,216,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,21,
-255,255,
-255,22,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,14,
-255,255,
-255,23,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,26,
-255,255,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,216,
-255,103,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-255,250,
-255,121,
-255,59,
-255,173,
-255,58,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,233,
-255,68,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,70,
-255,231,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,232,
-255,131,
-255,42,
-255,78,
-255,199,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,99,
-255,234,
-255,227,
-255,149,
-255,12,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,240,
-255,240,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,151,
-255,154,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,155,
-255,148,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,216,
-255,255,
-255,255,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,96,
-255,190,
-255,69,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,15,
-255,92,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,79,
-255,225,
-255,238,
-255,178,
-255,55,
-255,253,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,44,
-255,245,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,42,
-255,245,
-255,42,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,231,
-255,255,
-255,190,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,39,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,19,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,131,
-255,209,
-255,17,
-0,0,
-0,0,
-0,0,
-0,0,
-255,17,
-255,210,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,129,
-255,231,
-255,96,
-0,0,
-0,0,
-0,0,
-0,0,
-255,240,
-255,23,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-255,154,
-255,91,
-0,0,
-0,0,
-0,0,
-0,0,
-255,91,
-255,152,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,218,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,250,
-255,65,
-0,0,
-0,0,
-255,58,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,181,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,215,
-255,167,
-255,61,
-255,114,
-255,223,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,255,
-255,255,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,90,
-255,191,
-255,73,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,21,
-255,34,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,28,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,145,
-255,221,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,145,
-255,116,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,11,
-0,0,
-0,0,
-255,11,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,82,
-255,236,
-255,221,
-255,151,
-255,45,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,230,
-255,255,
-255,191,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,12,
-255,226,
-255,121,
-0,0,
-0,0,
-0,0,
-0,0,
-255,63,
-255,244,
-255,36,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,255,
-255,19,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,77,
-255,250,
-255,16,
-0,0,
-0,0,
-0,0,
-0,0,
-255,214,
-255,16,
-255,16,
-255,214,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,128,
-255,231,
-255,96,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,138,
-255,166,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,110,
-255,180,
-0,0,
-0,0,
-0,0,
-0,0,
-255,18,
-255,55,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,172,
-255,155,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,4,
-0,0,
-0,0,
-0,0,
-0,0,
-255,96,
-255,190,
-255,69,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,140,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,57,
-255,132,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,124,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,91,
-255,255,
-255,169,
-0,0,
-0,0,
-0,0,
-0,0,
-255,231,
-255,255,
-255,190,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,225,
-255,255,
-255,185,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,24,
-255,3,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,71,
-255,239,
-255,240,
-0,0,
-0,0,
-0,0,
-0,0,
-255,128,
-255,231,
-255,96,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,136,
-255,233,
-255,103,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,134,
-255,242,
-255,156,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,1,
-255,30,
-255,5,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,199,
-255,255,
-255,164,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,66,
-255,222,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,79,
-255,48,
-255,255,
-255,24,
-0,0,
-0,0,
-0,0,
-0,0,
-255,25,
-255,223,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,163,
-255,246,
-255,239,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,32,
-255,204,
-255,119,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,86,
-255,202,
-255,1,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,71,
-255,217,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,179,
-255,130,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-255,57,
-255,132,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,54,
-255,204,
-255,30,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,56,
-255,215,
-255,96,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,225,
-255,255,
-255,185,
-0,0,
-0,0,
-0,0,
-0,0,
-255,20,
-255,128,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,22,
-255,140,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,241,
-255,255,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,40,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,27,
-255,219,
-255,89,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,136,
-255,233,
-255,103,
-0,0,
-0,0,
-0,0,
-0,0,
-255,17,
-255,54,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-255,255,
-255,255,
-255,255,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,2,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,212,
-255,255,
-255,19,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,145,
-255,222,
-255,7,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-255,40,
-255,255,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-0,0,
-};
diff --git a/scene/resources/default_theme/mono_font.inc b/scene/resources/default_theme/mono_font.inc
deleted file mode 100644
index 04ba51c3b5..0000000000
--- a/scene/resources/default_theme/mono_font.inc
+++ /dev/null
@@ -1,5 +0,0 @@
-static const int _bi_font_mono_height=14;
-static const int _bi_font_mono_ascent=12;
-static const int _bi_font_mono_valign=-3;
-static const int _bi_font_mono_charcount=196;
-static const int _bi_font_mono_characters[]={0, 131, 82, 3, 3, -1, 14, 8, 8, 127, 82, 3, 3, -1, 14, 8, 9, 123, 82, 3, 3, -1, 14, 8, 13, 119, 82, 3, 3, -1, 14, 8, 29, 115, 82, 3, 3, -1, 14, 8, 32, 111, 83, 3, 3, -1, 14, 8, 33, 252, 43, 3, 12, 2, 4, 8, 34, 30, 83, 5, 6, 1, 3, 8, 35, 213, 31, 9, 12, -1, 4, 8, 36, 19, 17, 8, 15, 0, 3, 8, 37, 223, 30, 9, 12, -1, 4, 8, 38, 233, 30, 9, 12, 0, 4, 8, 39, 251, 65, 3, 6, 2, 3, 8, 40, 72, 17, 6, 15, 1, 4, 8, 41, 79, 17, 6, 15, 1, 4, 8, 42, 183, 70, 7, 8, 0, 4, 8, 43, 20, 73, 9, 9, -1, 6, 8, 44, 54, 83, 4, 5, 1, 13, 8, 45, 86, 83, 6, 3, 1, 10, 8, 46, 135, 82, 3, 3, 2, 13, 8, 47, 67, 0, 8, 16, 0, 3, 8, 48, 117, 59, 8, 12, 0, 4, 8, 49, 161, 58, 7, 12, 1, 4, 8, 50, 126, 59, 8, 12, 0, 4, 8, 51, 108, 59, 8, 12, 0, 4, 8, 52, 135, 59, 8, 12, 0, 4, 8, 53, 144, 59, 8, 12, 0, 4, 8, 54, 90, 47, 8, 12, 0, 4, 8, 55, 99, 47, 8, 12, 0, 4, 8, 56, 108, 46, 8, 12, 0, 4, 8, 57, 117, 46, 8, 12, 0, 4, 8, 58, 249, 56, 3, 8, 2, 8, 8, 59, 233, 56, 4, 10, 1, 8, 8, 60, 94, 73, 8, 9, 0, 6, 8, 61, 14, 83, 8, 6, 0, 8, 8, 62, 76, 73, 8, 9, 0, 6, 8, 63, 176, 58, 6, 12, 1, 4, 8, 64, 127, 17, 8, 14, 0, 4, 8, 65, 40, 47, 9, 12, -1, 4, 8, 66, 126, 46, 8, 12, 0, 4, 8, 67, 135, 46, 8, 12, 0, 4, 8, 68, 144, 46, 8, 12, 0, 4, 8, 69, 153, 45, 8, 12, 0, 4, 8, 70, 162, 45, 8, 12, 0, 4, 8, 71, 171, 45, 8, 12, 0, 4, 8, 72, 180, 44, 8, 12, 0, 4, 8, 73, 153, 58, 7, 12, 0, 4, 8, 74, 189, 44, 8, 12, 0, 4, 8, 75, 99, 60, 8, 12, 0, 4, 8, 76, 198, 44, 8, 12, 0, 4, 8, 77, 207, 44, 8, 12, 0, 4, 8, 78, 216, 44, 8, 12, 0, 4, 8, 79, 225, 43, 8, 12, 0, 4, 8, 80, 234, 43, 8, 12, 0, 4, 8, 81, 100, 17, 8, 14, 0, 4, 8, 82, 50, 47, 9, 12, 0, 4, 8, 83, 243, 43, 8, 12, 0, 4, 8, 84, 30, 47, 9, 12, -1, 4, 8, 85, 0, 60, 8, 12, 0, 4, 8, 86, 10, 47, 9, 12, -1, 4, 8, 87, 9, 60, 8, 12, 0, 4, 8, 88, 60, 47, 9, 12, -1, 4, 8, 89, 70, 47, 9, 12, -1, 4, 8, 90, 18, 60, 8, 12, 0, 4, 8, 91, 93, 17, 6, 15, 1, 4, 8, 92, 112, 0, 8, 16, 0, 3, 8, 93, 86, 17, 6, 15, 1, 4, 8, 94, 201, 69, 9, 7, 0, 4, 8, 95, 75, 83, 10, 3, -1, 16, 8, 96, 42, 83, 5, 5, 1, 3, 8, 97, 49, 73, 8, 9, 0, 7, 8, 98, 144, 32, 8, 13, 0, 3, 8, 99, 148, 72, 8, 9, 0, 7, 8, 100, 126, 32, 8, 13, 0, 3, 8, 101, 58, 73, 8, 9, 0, 7, 8, 102, 163, 17, 9, 13, 0, 3, 8, 103, 81, 60, 8, 12, 0, 7, 8, 104, 153, 31, 8, 13, 0, 3, 8, 105, 206, 57, 8, 11, 0, 5, 8, 106, 145, 17, 7, 14, 0, 5, 8, 107, 162, 31, 8, 13, 0, 3, 8, 108, 45, 33, 8, 13, 0, 3, 8, 109, 139, 72, 8, 9, 0, 7, 8, 110, 130, 72, 8, 9, 0, 7, 8, 111, 121, 72, 8, 9, 0, 7, 8, 112, 72, 60, 8, 12, 0, 7, 8, 113, 63, 60, 8, 12, 0, 7, 8, 114, 166, 71, 7, 9, 1, 7, 8, 115, 85, 73, 8, 9, 0, 7, 8, 116, 197, 57, 8, 11, 0, 5, 8, 117, 67, 73, 8, 9, 0, 7, 8, 118, 30, 73, 9, 9, -1, 7, 8, 119, 10, 73, 9, 9, -1, 7, 8, 120, 0, 73, 9, 9, -1, 7, 8, 121, 54, 60, 8, 12, 0, 7, 8, 122, 40, 73, 8, 9, 0, 7, 8, 123, 85, 0, 8, 16, 0, 3, 8, 124, 212, 0, 3, 16, 2, 3, 8, 125, 76, 0, 8, 16, 0, 3, 8, 126, 59, 83, 9, 4, 0, 9, 8, 160, 107, 83, 3, 3, -1, 14, 8, 161, 183, 57, 3, 12, 2, 7, 8, 162, 118, 17, 8, 14, 0, 4, 8, 163, 27, 60, 8, 12, 0, 4, 8, 164, 238, 56, 10, 9, -1, 6, 8, 165, 243, 30, 9, 12, -1, 4, 8, 166, 208, 0, 3, 16, 2, 3, 8, 167, 109, 17, 8, 14, 0, 4, 8, 168, 69, 83, 5, 4, 1, 3, 8, 169, 215, 57, 8, 10, 0, 6, 8, 170, 0, 83, 6, 7, 1, 4, 8, 171, 211, 69, 8, 7, 0, 7, 8, 172, 191, 69, 9, 7, 0, 9, 8, 173, 100, 83, 6, 3, 1, 10, 8, 174, 224, 57, 8, 10, 0, 6, 8, 175, 93, 83, 6, 3, 1, 4, 8, 176, 23, 83, 6, 6, 1, 3, 8, 177, 187, 57, 9, 11, -1, 5, 8, 178, 237, 67, 6, 7, 1, 4, 8, 179, 244, 66, 6, 7, 1, 4, 8, 180, 36, 83, 5, 5, 2, 3, 8, 181, 45, 60, 8, 12, 0, 7, 8, 182, 0, 17, 9, 15, -1, 4, 8, 183, 139, 82, 3, 3, 2, 10, 8, 184, 48, 83, 5, 5, 1, 14, 8, 185, 7, 83, 6, 7, 1, 4, 8, 186, 229, 68, 7, 7, 0, 4, 8, 187, 220, 68, 8, 7, 0, 7, 8, 188, 191, 31, 10, 12, -1, 4, 8, 189, 180, 31, 10, 12, -1, 4, 8, 190, 202, 31, 10, 12, -1, 4, 8, 191, 169, 58, 6, 12, 0, 7, 8, 192, 20, 0, 9, 16, -1, 0, 8, 193, 30, 0, 9, 16, -1, 0, 8, 194, 10, 0, 9, 16, -1, 0, 8, 195, 227, 0, 9, 15, -1, 1, 8, 196, 237, 0, 9, 15, -1, 1, 8, 197, 216, 0, 10, 15, -1, 1, 8, 198, 20, 47, 9, 12, -1, 4, 8, 199, 46, 17, 8, 15, 0, 4, 8, 200, 175, 0, 8, 16, 0, 0, 8, 201, 166, 0, 8, 16, 0, 0, 8, 202, 157, 0, 8, 16, 0, 0, 8, 203, 37, 17, 8, 15, 0, 1, 8, 204, 192, 0, 7, 16, 0, 0, 8, 205, 200, 0, 7, 16, 0, 0, 8, 206, 184, 0, 7, 16, 0, 0, 8, 207, 64, 17, 7, 15, 0, 1, 8, 208, 80, 47, 9, 12, -1, 4, 8, 209, 28, 17, 8, 15, 0, 1, 8, 210, 121, 0, 8, 16, 0, 0, 8, 211, 103, 0, 8, 16, 0, 0, 8, 212, 94, 0, 8, 16, 0, 0, 8, 213, 10, 17, 8, 15, 0, 1, 8, 214, 247, 0, 8, 15, 0, 1, 8, 215, 174, 71, 8, 8, 0, 7, 8, 216, 0, 47, 9, 12, -1, 4, 8, 217, 58, 0, 8, 16, 0, 0, 8, 218, 49, 0, 8, 16, 0, 0, 8, 219, 40, 0, 8, 16, 0, 0, 8, 220, 55, 17, 8, 15, 0, 1, 8, 221, 0, 0, 9, 16, -1, 0, 8, 222, 90, 60, 8, 12, 0, 4, 8, 223, 135, 32, 8, 13, 0, 3, 8, 224, 108, 32, 8, 13, 0, 3, 8, 225, 99, 33, 8, 13, 0, 3, 8, 226, 90, 33, 8, 13, 0, 3, 8, 227, 81, 33, 8, 13, 0, 3, 8, 228, 72, 33, 8, 13, 0, 3, 8, 229, 136, 17, 8, 14, 0, 2, 8, 230, 103, 73, 8, 9, 0, 7, 8, 231, 36, 60, 8, 12, 0, 7, 8, 232, 54, 33, 8, 13, 0, 3, 8, 233, 36, 33, 8, 13, 0, 3, 8, 234, 27, 33, 8, 13, 0, 3, 8, 235, 18, 33, 8, 13, 0, 3, 8, 236, 117, 32, 8, 13, 0, 3, 8, 237, 9, 33, 8, 13, 0, 3, 8, 238, 63, 33, 8, 13, 0, 3, 8, 239, 0, 33, 8, 13, 0, 3, 8, 240, 153, 17, 9, 13, 0, 3, 8, 241, 218, 16, 8, 13, 0, 3, 8, 242, 209, 17, 8, 13, 0, 3, 8, 243, 200, 17, 8, 13, 0, 3, 8, 244, 191, 17, 8, 13, 0, 3, 8, 245, 182, 17, 8, 13, 0, 3, 8, 246, 173, 17, 8, 13, 0, 3, 8, 247, 112, 72, 8, 9, 0, 6, 8, 248, 157, 71, 8, 9, 0, 7, 8, 249, 171, 31, 8, 13, 0, 3, 8, 250, 227, 16, 8, 13, 0, 3, 8, 251, 236, 16, 8, 13, 0, 3, 8, 252, 245, 16, 8, 13, 0, 3, 8, 253, 148, 0, 8, 16, 0, 3, 8, 254, 130, 0, 8, 16, 0, 3, 8, 255, 139, 0, 8, 16, 0, 3, 8};
diff --git a/scene/resources/default_theme/normal_font.inc b/scene/resources/default_theme/normal_font.inc
deleted file mode 100644
index 3f03b43ae9..0000000000
--- a/scene/resources/default_theme/normal_font.inc
+++ /dev/null
@@ -1,5 +0,0 @@
-static const int _bi_font_normal_height=13;
-static const int _bi_font_normal_ascent=12;
-static const int _bi_font_normal_valign=-2;
-static const int _bi_font_normal_charcount=196;
-static const int _bi_font_normal_characters[]={0, 75, 53, 2, 2, -1, 12, 0, 8, 78, 53, 2, 2, -1, 12, 0, 9, 63, 53, 2, 2, -1, 12, 3, 13, 66, 53, 2, 2, -1, 12, 3, 29, 69, 53, 2, 2, -1, 12, 0, 32, 72, 53, 2, 2, -1, 12, 3, 33, 249, 33, 2, 9, 0, 4, 3, 34, 0, 57, 4, 4, 0, 3, 5, 35, 0, 37, 7, 9, 0, 4, 8, 36, 0, 0, 6, 13, 0, 2, 7, 37, 91, 24, 9, 9, 0, 4, 10, 38, 212, 24, 8, 9, 0, 4, 8, 39, 5, 56, 2, 4, 0, 3, 3, 40, 200, 0, 4, 12, 0, 3, 4, 41, 195, 0, 4, 12, -1, 3, 4, 42, 199, 44, 6, 6, 0, 4, 6, 43, 192, 44, 6, 6, 0, 6, 7, 44, 245, 43, 3, 5, -1, 10, 3, 45, 58, 53, 4, 2, 0, 8, 5, 46, 32, 54, 2, 3, 0, 10, 3, 47, 172, 0, 6, 12, -1, 3, 5, 48, 89, 34, 6, 9, 0, 4, 7, 49, 239, 33, 4, 9, 0, 4, 7, 50, 96, 34, 6, 9, 0, 4, 7, 51, 82, 34, 6, 9, 0, 4, 7, 52, 103, 34, 6, 9, 0, 4, 7, 53, 110, 34, 6, 9, 0, 4, 7, 54, 117, 34, 6, 9, 0, 4, 7, 55, 124, 34, 6, 9, 0, 4, 7, 56, 131, 34, 6, 9, 0, 4, 7, 57, 138, 34, 6, 9, 0, 4, 7, 58, 19, 46, 2, 8, 0, 5, 3, 59, 39, 25, 3, 10, -1, 5, 3, 60, 137, 44, 8, 6, -1, 6, 7, 61, 249, 43, 6, 4, 0, 8, 7, 62, 146, 44, 8, 6, -1, 6, 7, 63, 227, 34, 5, 9, 0, 4, 5, 64, 107, 13, 10, 10, 0, 4, 11, 65, 194, 24, 8, 9, -1, 4, 7, 66, 8, 37, 7, 9, 0, 4, 8, 67, 239, 23, 7, 9, 0, 4, 8, 68, 158, 24, 8, 9, 0, 4, 9, 69, 152, 34, 6, 9, 0, 4, 7, 70, 159, 34, 6, 9, 0, 4, 6, 71, 32, 36, 7, 9, 0, 4, 8, 72, 16, 36, 7, 9, 0, 4, 8, 73, 0, 47, 2, 9, 0, 4, 3, 74, 166, 34, 6, 9, -1, 4, 6, 75, 131, 24, 8, 9, 0, 4, 8, 76, 180, 34, 6, 9, 0, 4, 6, 77, 69, 25, 10, 9, 0, 4, 11, 78, 203, 24, 8, 9, 0, 4, 9, 79, 221, 24, 8, 9, 0, 4, 9, 80, 24, 36, 7, 9, 0, 4, 7, 81, 0, 14, 8, 11, 0, 4, 9, 82, 230, 24, 8, 9, 0, 4, 8, 83, 194, 34, 6, 9, 0, 4, 6, 84, 140, 24, 8, 9, -1, 4, 7, 85, 247, 23, 7, 9, 0, 4, 8, 86, 185, 24, 8, 9, -1, 4, 7, 87, 56, 25, 12, 9, -1, 4, 11, 88, 176, 24, 8, 9, -1, 4, 7, 89, 167, 24, 8, 9, -1, 4, 7, 90, 54, 35, 6, 9, 0, 4, 7, 91, 210, 0, 4, 12, 0, 3, 4, 92, 144, 0, 6, 12, -1, 3, 5, 93, 185, 0, 4, 12, -1, 3, 4, 94, 178, 44, 6, 6, 0, 4, 7, 95, 35, 54, 7, 2, -1, 13, 6, 96, 21, 55, 3, 3, 0, 3, 5, 97, 125, 44, 5, 7, 0, 6, 6, 98, 239, 12, 6, 10, 0, 3, 7, 99, 85, 44, 6, 7, 0, 6, 7, 100, 134, 13, 6, 10, 0, 3, 7, 101, 106, 44, 6, 7, 0, 6, 7, 102, 18, 25, 5, 10, 0, 3, 5, 103, 68, 35, 6, 9, 0, 6, 7, 104, 141, 13, 6, 10, 0, 3, 7, 105, 34, 25, 4, 10, -1, 3, 3, 106, 179, 0, 5, 12, -2, 3, 3, 107, 148, 13, 6, 10, 0, 3, 6, 108, 29, 25, 4, 10, 0, 3, 3, 109, 22, 46, 10, 7, 0, 6, 11, 110, 71, 45, 6, 7, 0, 6, 7, 111, 78, 45, 6, 7, 0, 6, 7, 112, 201, 34, 6, 9, 0, 6, 7, 113, 208, 34, 6, 9, 0, 6, 7, 114, 119, 44, 5, 7, 0, 6, 5, 115, 131, 44, 5, 7, 0, 6, 6, 116, 221, 34, 5, 9, 0, 4, 6, 117, 99, 44, 6, 7, 0, 6, 7, 118, 92, 44, 6, 7, -1, 6, 5, 119, 33, 46, 10, 7, -1, 6, 9, 120, 63, 45, 7, 7, -1, 6, 6, 121, 61, 35, 6, 9, -1, 6, 5, 122, 113, 44, 5, 7, 0, 6, 6, 123, 190, 0, 4, 12, 0, 3, 4, 124, 228, 0, 2, 12, 0, 3, 3, 125, 215, 0, 4, 12, -1, 3, 4, 126, 8, 56, 7, 3, 0, 7, 7, 160, 81, 53, 2, 2, -1, 12, 3, 161, 252, 33, 2, 9, 0, 6, 3, 162, 34, 13, 6, 11, 0, 4, 7, 163, 40, 36, 6, 9, 0, 4, 7, 164, 3, 47, 8, 8, -1, 4, 8, 165, 149, 24, 8, 9, -1, 4, 7, 166, 231, 0, 2, 12, 0, 3, 3, 167, 55, 13, 5, 11, 0, 3, 6, 168, 48, 54, 4, 2, 0, 4, 5, 169, 101, 24, 9, 9, 0, 4, 10, 170, 221, 44, 4, 6, 0, 4, 5, 171, 155, 44, 7, 6, -1, 6, 6, 172, 226, 44, 6, 5, 0, 7, 7, 173, 53, 54, 4, 2, 0, 8, 5, 174, 121, 24, 9, 9, 0, 4, 10, 175, 43, 54, 4, 2, 0, 4, 5, 176, 240, 43, 4, 5, 0, 2, 4, 177, 12, 47, 6, 8, 0, 5, 7, 178, 206, 44, 4, 6, -1, 4, 4, 179, 211, 44, 4, 6, -1, 4, 4, 180, 25, 54, 3, 3, 1, 3, 5, 181, 173, 34, 6, 9, 0, 6, 7, 182, 26, 13, 7, 11, 0, 4, 8, 183, 29, 54, 2, 3, 0, 7, 3, 184, 16, 56, 4, 3, 0, 12, 5, 185, 216, 44, 4, 6, -1, 4, 4, 186, 233, 44, 6, 5, -1, 4, 5, 187, 163, 44, 7, 6, -2, 6, 6, 188, 72, 13, 11, 10, -1, 4, 10, 189, 96, 13, 10, 10, -1, 4, 10, 190, 84, 13, 11, 10, -1, 4, 10, 191, 215, 34, 5, 9, 0, 6, 5, 192, 34, 0, 8, 12, -1, 1, 7, 193, 25, 0, 8, 12, -1, 1, 7, 194, 7, 0, 8, 12, -1, 1, 7, 195, 16, 0, 8, 12, -1, 1, 7, 196, 243, 0, 8, 11, -1, 2, 7, 197, 234, 0, 8, 11, -1, 2, 7, 198, 43, 25, 12, 9, -1, 4, 11, 199, 97, 0, 7, 12, 0, 4, 8, 200, 137, 0, 6, 12, 0, 1, 7, 201, 151, 0, 6, 12, 0, 1, 7, 202, 158, 0, 6, 12, 0, 1, 7, 203, 48, 13, 6, 11, 0, 2, 7, 204, 224, 0, 3, 12, -1, 1, 3, 205, 220, 0, 3, 12, 0, 1, 3, 206, 205, 0, 4, 12, -1, 1, 3, 207, 67, 13, 4, 11, -1, 2, 3, 208, 111, 24, 9, 9, -1, 4, 9, 209, 52, 0, 8, 12, 0, 1, 9, 210, 61, 0, 8, 12, 0, 1, 9, 211, 70, 0, 8, 12, 0, 1, 9, 212, 79, 0, 8, 12, 0, 1, 9, 213, 88, 0, 8, 12, 0, 1, 9, 214, 9, 13, 8, 11, 0, 2, 9, 215, 171, 44, 6, 6, 0, 6, 7, 216, 80, 24, 10, 9, -1, 4, 9, 217, 105, 0, 7, 12, 0, 1, 8, 218, 129, 0, 7, 12, 0, 1, 8, 219, 121, 0, 7, 12, 0, 1, 8, 220, 18, 13, 7, 11, 0, 2, 8, 221, 43, 0, 8, 12, -1, 1, 7, 222, 47, 35, 6, 9, 0, 4, 7, 223, 126, 13, 7, 10, 0, 3, 7, 224, 12, 25, 5, 10, 0, 3, 6, 225, 6, 26, 5, 10, 0, 3, 6, 226, 0, 26, 5, 10, 0, 3, 6, 227, 246, 12, 5, 10, 0, 3, 6, 228, 233, 34, 5, 9, 0, 4, 6, 229, 61, 13, 5, 11, 0, 2, 6, 230, 44, 46, 9, 7, 0, 6, 10, 231, 225, 13, 6, 10, 0, 6, 7, 232, 190, 13, 6, 10, 0, 3, 7, 233, 183, 13, 6, 10, 0, 3, 7, 234, 169, 13, 6, 10, 0, 3, 7, 235, 187, 34, 6, 9, 0, 4, 7, 236, 252, 0, 3, 10, -1, 3, 3, 237, 252, 11, 3, 10, 0, 3, 3, 238, 24, 25, 4, 10, -1, 3, 3, 239, 244, 33, 4, 9, -1, 4, 3, 240, 118, 13, 7, 10, 0, 3, 7, 241, 232, 13, 6, 10, 0, 3, 7, 242, 218, 13, 6, 10, 0, 3, 7, 243, 211, 13, 6, 10, 0, 3, 7, 244, 204, 13, 6, 10, 0, 3, 7, 245, 197, 13, 6, 10, 0, 3, 7, 246, 145, 34, 6, 9, 0, 4, 7, 247, 185, 44, 6, 6, 0, 6, 7, 248, 54, 45, 8, 7, -1, 6, 7, 249, 176, 13, 6, 10, 0, 3, 7, 250, 162, 13, 6, 10, 0, 3, 7, 251, 155, 13, 6, 10, 0, 3, 7, 252, 75, 35, 6, 9, 0, 4, 7, 253, 165, 0, 6, 12, -1, 3, 5, 254, 113, 0, 7, 12, 0, 3, 7, 255, 41, 13, 6, 11, -1, 4, 5};
diff --git a/scene/resources/default_theme/theme_data.h b/scene/resources/default_theme/theme_data.h
index fe9fa06154..80148c0fc5 100644
--- a/scene/resources/default_theme/theme_data.h
+++ b/scene/resources/default_theme/theme_data.h
@@ -89,21 +89,6 @@ static const unsigned char focus_png[]={
};
-static const unsigned char font_bold_png[]={
-0x89,0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x80,0x8,0x4,0x0,0x0,0x0,0x4e,0xbc,0x7f,0x81,0x0,0x0,0x0,0x1,0x73,0x52,0x47,0x42,0x0,0xae,0xce,0x1c,0xe9,0x0,0x0,0x0,0x2,0x62,0x4b,0x47,0x44,0x0,0xff,0x87,0x8f,0xcc,0xbf,0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x13,0x0,0x0,0xb,0x13,0x1,0x0,0x9a,0x9c,0x18,0x0,0x0,0x0,0x7,0x74,0x49,0x4d,0x45,0x7,0xdb,0xb,0x3,0x17,0x31,0x25,0x45,0x78,0xbe,0xb3,0x0,0x0,0x18,0x50,0x49,0x44,0x41,0x54,0x78,0xda,0xed,0x9d,0x3d,0x68,0x24,0x49,0x96,0xc7,0xa3,0x47,0x86,0x6,0xea,0x40,0x3,0x5a,0xa8,0x3,0xed,0x52,0x86,0x6,0x74,0x20,0x43,0xb3,0xe8,0x40,0x3,0x1a,0xd0,0x82,0xe,0x34,0x20,0x43,0x86,0xe,0x64,0xf4,0x81,0x8c,0x36,0x64,0xf4,0x82,0xe,0xda,0x68,0x43,0x86,0xc,0x19,0x32,0x64,0x68,0xa1,0x17,0x64,0x68,0x17,0x19,0x5a,0xd0,0x40,0x1d,0xc8,0x68,0xa3,0xe,0xb4,0xa0,0x3,0xd,0x68,0x41,0x7,0x3a,0x90,0x51,0x7,0x75,0x50,0x46,0xdd,0x51,0xb,0x75,0x50,0xb7,0xa4,0x51,0xb,0x69,0xfc,0xce,0xc8,0xc8,0xc8,0xf8,0xca,0x8f,0x52,0x77,0xab,0xbb,0x87,0x78,0xd0,0x2d,0x55,0x28,0x23,0x32,0x2b,0xe2,0xc5,0x8b,0xf7,0xde,0xff,0xbd,0x97,0x42,0x4,0xa,0x24,0x84,0x10,0x6c,0x72,0x4d,0xcd,0xd3,0x3e,0x41,0x83,0x6,0x13,0x4e,0xfb,0x22,0x77,0x2c,0x79,0xae,0xaf,0x71,0xcd,0x66,0xb5,0xf6,0x71,0xc6,0xf0,0x3f,0xdf,0xbb,0x8f,0xe0,0xbb,0x16,0xa0,0xf8,0x2e,0x9e,0x3e,0xce,0xe8,0x66,0x2f,0xbd,0x87,0x7d,0x2d,0xd,0x4e,0xe8,0x1,0x43,0xae,0xd8,0x70,0x9e,0xef,0x90,0x98,0x43,0xa7,0xf5,0x9e,0xfb,0xf4,0x7f,0xa3,0x7d,0x87,0x88,0x3d,0xe6,0x69,0x56,0xbb,0x3e,0xbb,0xe0,0x5,0x31,0x67,0x56,0xdb,0xa,0x37,0xc4,0x24,0x34,0x60,0x41,0xfb,0xcb,0x36,0x23,0x20,0x66,0xdb,0x19,0xe7,0x8c,0x98,0x17,0x9e,0xf1,0x9d,0xf6,0xf1,0xc6,0xf0,0x3e,0xdf,0x3b,0x8f,0x90,0xf3,0x64,0x6,0x3,0xf8,0xee,0xe2,0xe9,0x63,0x8d,0x6e,0xf7,0xd2,0x7b,0x98,0xd7,0xb2,0x4c,0x84,0x4e,0xf6,0xb7,0x8c,0x59,0x20,0xae,0xcc,0x0,0x4d,0xe6,0xd9,0x23,0x62,0x67,0x4c,0x6,0x10,0x82,0x25,0x2e,0x8c,0xcf,0xf3,0x6a,0xf1,0xcf,0xb8,0x7,0x56,0xb4,0xbf,0x1d,0x73,0xc6,0x1c,0x67,0x1c,0x3b,0xa3,0x5c,0xf8,0x76,0xa4,0xaf,0x7d,0xdc,0x31,0xec,0xe7,0x7b,0x1f,0x23,0xb8,0xd7,0x32,0xc7,0x1d,0x0,0x43,0x2e,0xf3,0xef,0xe2,0x1b,0xdf,0x1c,0xdd,0xee,0x65,0xdd,0x45,0x5d,0x4b,0x9d,0x21,0xd0,0x64,0x5e,0x8,0xea,0xbc,0x22,0x2,0x93,0xa1,0x89,0x80,0xe8,0x63,0x1c,0xa,0xaf,0x15,0x4f,0xae,0x70,0x66,0x32,0xc0,0x4f,0xf8,0x28,0xbc,0x53,0xdf,0xfa,0xee,0x49,0xee,0x77,0x4,0xb4,0x98,0xa2,0xc9,0x88,0x11,0x37,0xbc,0x30,0xef,0x4c,0x9d,0x11,0x30,0x62,0xda,0xea,0x37,0x45,0x4,0xc,0xed,0x43,0xcd,0xd7,0xae,0x4b,0x34,0xfb,0x78,0x2b,0xea,0xb6,0x9b,0xcf,0x0,0x63,0xdd,0xfe,0x3a,0xed,0xcb,0xa,0x70,0x5d,0xf4,0x50,0xe3,0xb4,0xa,0xc1,0x3c,0x2d,0x46,0x8c,0x68,0x19,0xc7,0x53,0xe5,0x56,0xba,0xc0,0x9c,0x10,0xcc,0x1,0x9d,0x6c,0x7c,0x66,0x85,0x60,0x96,0x45,0xad,0x45,0x52,0xf5,0x16,0xe7,0x20,0xc9,0xf9,0xc4,0x3,0xb0,0xcc,0x85,0xea,0x3e,0x9,0xba,0xc0,0x57,0xdb,0xf0,0x95,0x35,0xd3,0x2f,0x65,0xfb,0x4e,0x79,0x7b,0x15,0x6,0xf0,0x75,0xab,0xd3,0xcf,0x65,0x80,0x71,0x6e,0xaf,0x96,0x3d,0x63,0x85,0xf7,0xc1,0x0,0x34,0xb4,0xb3,0x33,0x62,0xee,0x11,0xad,0x27,0xc0,0x9e,0x10,0xec,0x81,0x12,0xd5,0xf7,0xc0,0x35,0x9b,0x99,0xda,0xfb,0x81,0x19,0x20,0x59,0xf4,0x11,0x30,0x93,0xb4,0x5a,0x57,0xb6,0x81,0x43,0xe0,0xc1,0x23,0xa9,0x9a,0xae,0x9c,0xf2,0xb5,0x57,0x61,0x0,0xef,0x70,0x4c,0xf3,0x9a,0x8e,0x97,0x1,0xc6,0xb8,0xbd,0x5c,0xf8,0x75,0xd6,0xb3,0xfd,0xff,0x5e,0x18,0xe0,0x1c,0x68,0x31,0xcd,0x34,0x97,0xa0,0xce,0xd4,0x71,0x5a,0xd7,0x40,0xaa,0x46,0xb0,0xaa,0x74,0x80,0x7b,0x0,0xee,0x15,0x9b,0x38,0x53,0x56,0xa5,0x65,0x2c,0x6,0x98,0x20,0x4e,0x19,0x80,0x5,0x7d,0xb1,0x59,0x4,0x6,0x4c,0xd2,0x7,0x4b,0x9e,0x41,0xc4,0x14,0x3,0x60,0xbe,0xac,0xbd,0x94,0x1,0xf2,0x86,0x93,0xda,0xab,0xc3,0x0,0xe3,0xdd,0x5e,0x7e,0x8d,0xe,0x1d,0x48,0xc5,0xea,0x7b,0x61,0x80,0x41,0x22,0xac,0x85,0xa0,0x1,0xc,0x1f,0xd1,0x3a,0xc9,0x0,0xd8,0x2,0x6,0xba,0xa1,0xcb,0x32,0x6f,0x33,0x26,0xf6,0xef,0xed,0xb2,0x96,0x31,0x8f,0x80,0x2b,0x4d,0x3e,0xc1,0x9e,0xa6,0x4a,0xc2,0x1b,0xf9,0xf3,0x48,0xeb,0x7f,0x0,0x9c,0xb,0xc1,0x29,0x70,0x50,0xd6,0x5e,0xce,0x0,0x39,0xc3,0xe5,0x32,0xc0,0x58,0xb7,0x57,0x3b,0xd0,0x30,0x70,0xde,0x3,0x3,0xbc,0xf,0x2d,0xe2,0x4,0x18,0x1,0x27,0xaa,0x65,0x95,0x45,0xc9,0x26,0x3c,0x9,0x3,0xec,0x3,0xd7,0xcc,0xd3,0x26,0xe6,0x9a,0x11,0x11,0x6f,0xb4,0xe3,0xa7,0xa7,0x9d,0x2d,0x3d,0xad,0x7f,0x47,0x6b,0xef,0x94,0xb5,0x27,0xc7,0x8c,0x64,0x79,0x2f,0x3,0xe4,0xc,0x97,0xcb,0x0,0x63,0xdd,0x5e,0xea,0x13,0x0,0x75,0x73,0xa,0xdc,0x87,0x1a,0xab,0x75,0x8,0x34,0x9c,0x5d,0x3d,0x46,0xab,0x94,0x4d,0x18,0x92,0xe9,0x5a,0x7d,0x83,0xfb,0x27,0x39,0x2,0x6a,0xb4,0x81,0x5b,0xd6,0x99,0x12,0x82,0x5a,0xf2,0x94,0x4a,0x12,0x99,0xb4,0x2c,0xdb,0x17,0xac,0xf6,0x85,0x92,0xf6,0x2e,0x70,0x48,0x8d,0x1a,0x87,0x40,0xd7,0x7e,0xd0,0x9c,0x6e,0x79,0xc,0x30,0xee,0xed,0x73,0xbc,0x6b,0xde,0x87,0x1a,0xab,0xf5,0x2,0xb8,0x54,0xe7,0x7a,0xf3,0x11,0xad,0x93,0xd2,0x6a,0xd1,0x15,0xa6,0x37,0xc,0x13,0x23,0xf0,0x69,0x74,0x0,0x21,0x68,0xf0,0xa0,0xcd,0xda,0xb5,0xe1,0x3,0x54,0x92,0x94,0x3,0xeb,0xf7,0x63,0xed,0x90,0x28,0x6b,0x7f,0x65,0xac,0xcb,0x2b,0xdf,0x1,0xe0,0xe9,0x96,0xcb,0x0,0x63,0xde,0x3e,0x87,0x1,0xbc,0xf,0x35,0x56,0xeb,0x9c,0xa1,0xd9,0xcf,0x3f,0xa2,0x35,0xb5,0xf9,0xd7,0xca,0x96,0xee,0xc3,0x59,0x1,0xd2,0xdd,0xfe,0x92,0x6b,0x69,0x40,0x9f,0x5b,0x12,0x55,0xdf,0x5e,0x1d,0xad,0x7d,0xb1,0x7a,0xbb,0x10,0xec,0xf0,0x0,0xc4,0xdc,0xd9,0x76,0x5b,0x61,0x37,0x29,0x86,0xb6,0xa9,0x27,0xff,0x3f,0xf6,0xf6,0x39,0xbb,0xc6,0xfb,0x50,0x63,0xb5,0x2e,0x28,0xdb,0x7e,0xf1,0x31,0xad,0x3c,0x0,0x7d,0x77,0x4a,0x9e,0x9a,0x1,0x2,0x5,0xa,0x14,0x28,0x50,0xa0,0xa,0xc0,0xb3,0xf,0xd4,0x76,0xae,0x71,0x47,0xb1,0x5a,0xac,0x51,0xc6,0xc3,0x96,0x7d,0xad,0xb9,0x23,0xe8,0x3a,0x82,0xe7,0x1a,0x56,0xb8,0x5,0x86,0xa9,0x1d,0xae,0xab,0x3d,0xb2,0xe5,0x96,0x81,0x35,0xa6,0x33,0xe,0x53,0xf4,0xe8,0x31,0xa5,0x3e,0x6f,0x71,0xab,0x61,0xef,0xb7,0x6c,0x69,0xbd,0x37,0xe8,0x68,0x27,0x77,0x27,0xc3,0xdf,0xfd,0xa7,0x7a,0x91,0x47,0x41,0x1b,0xb5,0x51,0x82,0x3a,0x2c,0xd0,0x22,0x2,0xfa,0x99,0x92,0xe7,0x89,0x20,0xa8,0x0,0x3c,0x7b,0x61,0x71,0xe3,0x1a,0x77,0x14,0x4f,0x8b,0x1a,0xe5,0x8b,0x42,0x86,0xfc,0x7,0xf1,0xad,0x10,0xe2,0x4f,0xe2,0x8f,0x15,0x5a,0xfd,0xf4,0x8f,0x42,0x88,0x1f,0x72,0xf9,0x7d,0x41,0xfc,0x51,0x7c,0x2b,0x84,0xf8,0x4a,0x7c,0x2d,0x9b,0x7e,0x90,0x7d,0x32,0xfa,0x56,0xfc,0x6c,0xcc,0x5d,0x34,0x29,0x7e,0x23,0xbe,0x15,0xdf,0xc8,0x8f,0xdf,0x88,0x6f,0xc5,0x6f,0x12,0x2f,0x82,0x10,0x42,0x88,0xdf,0xa9,0x7b,0x9,0x21,0xc4,0xd7,0xe2,0x77,0xef,0xb0,0x5f,0xd5,0x52,0x8b,0x1f,0xd9,0x55,0xac,0xf0,0xa3,0xf8,0x5e,0x7c,0x29,0xbe,0x14,0xdf,0x8b,0x1f,0x53,0x53,0x52,0xfc,0x8b,0xf8,0x5e,0xfc,0x8d,0x10,0xe2,0x6f,0xc5,0xcf,0x55,0xf7,0xaf,0xc4,0x77,0xe2,0xb7,0xc6,0x80,0xdf,0x88,0x1f,0xc4,0xdf,0x89,0x3f,0xa8,0x67,0x17,0x42,0x88,0x2f,0xc5,0x77,0xcf,0x7e,0x9f,0x7d,0x7c,0xf6,0x7b,0xf1,0x9d,0xf8,0xd2,0x7a,0x10,0xf3,0x1a,0x77,0x14,0xa7,0xc5,0x3b,0xca,0x7,0x11,0x69,0xce,0x8e,0x36,0xfe,0xda,0x4,0xce,0xa9,0x31,0x93,0x8a,0xa7,0x2a,0xd6,0x43,0xe9,0x3d,0xb7,0x81,0x4e,0xba,0xe4,0x4c,0xd2,0xd1,0x11,0x76,0x80,0x14,0x5a,0x65,0xba,0xd8,0x49,0x5a,0x2c,0x1,0xc,0x80,0x29,0xb3,0x7f,0xce,0xc,0xd4,0x41,0xee,0x77,0x22,0x89,0x3b,0x36,0xc,0x8f,0xbe,0x37,0x3e,0xe1,0x63,0x9c,0x3c,0xd5,0x1,0x54,0x88,0x74,0x98,0x54,0x73,0xd4,0x58,0xb0,0xaa,0xc7,0x16,0x75,0x8d,0xa7,0x21,0x30,0x53,0xcc,0x32,0xd2,0x72,0x1f,0x72,0x64,0xe2,0x73,0xf9,0x86,0x1b,0x97,0xa6,0xb3,0x83,0x57,0x90,0x6,0x77,0x14,0x3a,0x64,0xc6,0x65,0x80,0x73,0xe0,0x8a,0x69,0xb6,0x40,0x3,0x98,0x4c,0xd4,0x61,0x60,0xb8,0x9c,0x2f,0x7d,0xc1,0x72,0xf6,0xdd,0xb4,0x3b,0x4c,0x70,0xc8,0x90,0x11,0xcd,0xf4,0xa8,0xf0,0x5c,0x53,0xa5,0xd7,0x4,0xc7,0x44,0x44,0x9c,0x78,0xe7,0x70,0x2c,0x0,0x15,0xa0,0x2f,0x9d,0xaa,0xd9,0x2d,0x3d,0xb0,0xaa,0xed,0xbd,0xca,0xb3,0x9e,0xbd,0xb8,0xc4,0x81,0xd7,0xa,0x3f,0xac,0xc8,0x0,0x3d,0xf,0x44,0xd5,0xd3,0xbd,0x95,0xd6,0xe8,0xb,0x8f,0x64,0x80,0x1,0x30,0x4f,0x83,0x21,0x7,0xda,0x52,0xfb,0xb1,0x88,0x21,0x70,0x44,0x27,0xc3,0x43,0xdc,0x45,0xf1,0x2c,0xe5,0x9e,0x1d,0x26,0x56,0x89,0x1,0xdc,0x5e,0xfb,0xaa,0xc5,0x7,0x10,0x8d,0x5,0xa0,0x26,0xf4,0x40,0xcd,0xb8,0xa5,0x7,0x56,0x75,0x77,0xb3,0x67,0x82,0x23,0x8f,0x4,0xb0,0xe,0x1,0x9,0x97,0x3e,0xd7,0xc1,0x90,0x12,0x6,0x28,0x59,0x48,0xc3,0xd7,0x76,0x5e,0xc4,0x8e,0x25,0xac,0x9a,0x3c,0xd9,0xd,0xd7,0x4c,0x94,0x22,0x14,0x31,0x30,0xc5,0x94,0x5,0x2,0x19,0x8b,0xe2,0x59,0xca,0x2e,0xb0,0xc8,0x82,0x36,0x4e,0x15,0x6,0x70,0x7b,0xf5,0x80,0x55,0x56,0x73,0xe6,0x70,0x2c,0x0,0x15,0xe0,0x22,0x61,0x8,0xed,0x96,0x5e,0x58,0xd5,0xbb,0x94,0xa6,0xaf,0xec,0x16,0x38,0x65,0x92,0xba,0xe1,0xb3,0xf3,0xb2,0x4d,0xd5,0x25,0x7e,0x42,0x6,0x48,0x76,0xf5,0x80,0x19,0xe6,0xb5,0x19,0x7a,0xeb,0x45,0x1d,0x4e,0x80,0x2e,0x27,0x9a,0x2c,0x72,0x16,0xc5,0xbf,0xb8,0x7e,0x99,0x59,0xd6,0x52,0xd6,0xcb,0x64,0x80,0x31,0x61,0x55,0x26,0xb9,0x5,0x76,0x8a,0x61,0xd5,0x22,0x61,0xae,0x5a,0x5e,0x7a,0x21,0x10,0xf7,0xe0,0x98,0x66,0x2d,0x13,0xb2,0x9f,0xcc,0x11,0x90,0x84,0x71,0x6d,0x30,0xcd,0x95,0xb6,0xd4,0xcb,0x2a,0x94,0x56,0x3b,0x3a,0x85,0x60,0x83,0xb,0x22,0xd,0x2d,0x71,0x17,0x2e,0x4a,0xf0,0x16,0xad,0xa5,0xf,0x6c,0x33,0xc1,0x64,0xb2,0x15,0xbd,0xd7,0x54,0xe9,0x55,0x22,0x1,0xc6,0x81,0x55,0x93,0xa0,0xa5,0x19,0x6,0x8c,0x8c,0x49,0x77,0x60,0x55,0xbf,0x3a,0xe7,0xec,0xa2,0x43,0x9,0x81,0x9c,0x54,0x50,0x1d,0x4f,0x3f,0x31,0x25,0x70,0x49,0x7b,0xb6,0x48,0x8b,0xbf,0xd9,0x92,0x28,0xfe,0x95,0x86,0x3a,0x2c,0x33,0x2f,0x67,0x72,0x94,0x2b,0x1,0x5a,0xce,0xce,0x3d,0x52,0xd,0xed,0xdc,0x6b,0xaa,0xf4,0x3a,0x50,0x2d,0x47,0x3e,0x6,0x18,0x7,0x40,0x4d,0xf9,0x76,0xc3,0xb8,0xa5,0xf,0x56,0xad,0x68,0xd0,0xd1,0xb6,0x1d,0x3d,0x16,0xa,0x6,0xd0,0x23,0xe6,0x32,0x73,0x9a,0x58,0x8b,0x38,0xa9,0x87,0x6f,0x48,0x33,0xb0,0xab,0x99,0x81,0xdd,0xf,0x64,0x6,0xee,0xd1,0xf5,0xc1,0x4e,0xa,0x67,0x7c,0xa9,0xb9,0xa6,0x6e,0xec,0xb0,0xe,0x77,0x51,0xa8,0xd3,0x62,0x4,0xf4,0xb9,0x52,0x1e,0xbe,0x63,0x99,0x30,0xd2,0xca,0xbd,0xa6,0x4a,0xaf,0x9,0x4e,0x8a,0xac,0x80,0x71,0x0,0xd4,0xec,0xeb,0x9f,0x69,0xbf,0x7b,0x60,0x55,0xfb,0x0,0xf0,0x23,0x66,0xc9,0xae,0x28,0xb2,0x4,0x2a,0x20,0xed,0x49,0xc,0xdf,0x83,0xc6,0x10,0x7d,0xb,0xa4,0xee,0x67,0x8e,0x20,0x6,0xd6,0x81,0x36,0x78,0xbc,0x27,0x30,0x15,0xb1,0x1e,0xb6,0xae,0x73,0x4e,0x3f,0xdb,0x10,0x9c,0xd0,0x95,0x51,0x6,0xcb,0xf9,0x8b,0xf2,0xf1,0xfc,0x0,0xd5,0x1,0xd4,0x6c,0x22,0xa6,0x18,0x18,0x71,0x6d,0x16,0xac,0xea,0x71,0xea,0xfa,0x20,0xd3,0x86,0x2f,0x5b,0xc7,0x70,0x20,0x97,0x33,0x40,0xf,0x2c,0x4f,0xf7,0x56,0xe6,0xfe,0xd5,0x7f,0xff,0x70,0xae,0xe0,0x40,0x81,0x2,0x5,0x7a,0x4f,0xf2,0x78,0x8e,0x6b,0x60,0xa8,0x3c,0xae,0x2e,0xf8,0xf5,0x26,0x89,0x15,0xf6,0x41,0x61,0x3a,0x78,0x46,0xcf,0xe3,0x67,0x99,0x35,0xc3,0x4b,0xbf,0x8,0x13,0xfe,0x4e,0x8b,0xe5,0x2e,0x8e,0xd5,0xe2,0x41,0x33,0x2d,0x34,0xd5,0x19,0xe3,0xb7,0xe2,0x57,0x42,0x88,0xaf,0xc4,0x9f,0x73,0x6f,0xfb,0x6b,0xf1,0x8d,0xf8,0x75,0xce,0xdf,0x74,0xf0,0xec,0xdf,0x85,0x10,0x7f,0xaf,0x2c,0xa3,0x8e,0x4,0x86,0x92,0x76,0x93,0x1,0xca,0x51,0x67,0x27,0xa5,0xb9,0x4,0x83,0xf6,0x60,0xd2,0xfa,0xd9,0xaf,0x27,0x4b,0xdf,0x7a,0xec,0x80,0x1a,0x17,0x44,0xc4,0xdc,0x5a,0x63,0xbc,0xe0,0xcc,0x88,0xe0,0xf7,0xf5,0xdd,0xe2,0xe,0x88,0x1c,0xd0,0x54,0xdf,0x1b,0xee,0xc2,0x39,0x20,0xb7,0xb3,0x50,0x87,0xb4,0x81,0x11,0x2d,0x7b,0x57,0x15,0x92,0x8b,0x66,0x96,0xa1,0xa9,0xbf,0x12,0x42,0xfc,0x5c,0xfc,0xec,0xd9,0xff,0x48,0xe4,0xee,0x97,0xcf,0x7e,0x99,0xfe,0xaf,0x58,0xe4,0x3f,0x32,0x1c,0xf1,0xd9,0x5f,0x9e,0xfd,0xe2,0xd9,0x2f,0x9e,0xfd,0xc5,0x33,0xd2,0xbf,0x9,0x21,0xbe,0x13,0x82,0x9a,0xf8,0x5e,0x8,0xf1,0x35,0xb,0xc9,0x67,0xf1,0xa3,0xcb,0xc9,0xa5,0xa8,0xb3,0x93,0xfe,0x5c,0x88,0x41,0x7b,0x91,0x6d,0x9d,0x1,0xf4,0x64,0x69,0x9f,0x9a,0x97,0xe5,0xca,0x19,0x41,0xcc,0x1c,0x3,0x57,0xf4,0x6c,0x70,0x44,0xbb,0xe2,0xb9,0xea,0x79,0x51,0xe0,0x2b,0x70,0x19,0xc0,0x49,0xab,0xb6,0x5b,0xb4,0x80,0xf1,0x9b,0x31,0x64,0xc4,0xf8,0x68,0xa6,0xad,0x28,0xdf,0x31,0xd2,0xd5,0x5c,0xfb,0x73,0x41,0xd6,0xc3,0x52,0xf2,0xac,0x3c,0x97,0x6e,0xba,0x3,0x69,0x90,0xba,0x99,0xd3,0x9e,0xe4,0x6d,0x37,0x19,0xdb,0x4c,0x7f,0x36,0xd3,0x9d,0xed,0x64,0x68,0xfb,0xf3,0x4,0x27,0xba,0xb1,0xa6,0xf7,0xf6,0x32,0x40,0x4,0xac,0xa5,0xd9,0x72,0x5a,0x7b,0xb2,0x8,0xbb,0x36,0x80,0x62,0x59,0x1f,0x7b,0x4c,0x32,0xa9,0x67,0x21,0xbc,0xf,0xfd,0x9d,0x25,0xe6,0xa5,0x5f,0x71,0x4c,0xb4,0x8e,0x21,0x31,0xd7,0xa,0x50,0x73,0x16,0xd0,0x5d,0x42,0xe3,0x73,0x3b,0x45,0x60,0xfc,0x9f,0xb,0x18,0x60,0x82,0x88,0x11,0x93,0x5c,0x3,0xbb,0x9,0x48,0xce,0x88,0xe8,0x23,0x18,0x9e,0xca,0xed,0x71,0x55,0x0,0x83,0xee,0x66,0xde,0x3e,0xe9,0x71,0x5c,0x87,0xd4,0x99,0x21,0xdb,0x57,0xd9,0x34,0xf2,0x78,0x52,0x37,0x51,0x4b,0x39,0x77,0x5c,0x96,0xa8,0xd1,0x24,0x4e,0xbc,0x73,0xb9,0x48,0x9c,0xdb,0x72,0x45,0x1f,0x18,0x71,0x65,0xa,0x7c,0xd6,0xb4,0xa4,0xb1,0x8a,0x68,0x9d,0xa4,0x56,0xde,0x2,0x16,0x7b,0x24,0x69,0x98,0x2e,0x6c,0xfb,0x73,0x51,0x6f,0xde,0x2,0x2f,0x93,0xf3,0x9f,0xe,0xf0,0x1a,0x78,0x6b,0x2f,0x80,0x6f,0x3a,0x6c,0xce,0x2e,0x11,0x43,0xc5,0x62,0x49,0xea,0xa3,0x2f,0x84,0x48,0x27,0xd3,0x7d,0x64,0xd6,0x88,0xb9,0x36,0x77,0xb6,0xa9,0xc5,0x52,0xe7,0x4a,0x2e,0x64,0x81,0xa3,0x98,0x2e,0xf0,0x92,0x49,0x26,0xd2,0x30,0x2d,0x29,0x7b,0x28,0x44,0xe2,0xbc,0xd8,0x9c,0xb9,0x70,0x52,0xa,0x44,0xc4,0xca,0x99,0x53,0x11,0xad,0xa3,0xc6,0xb2,0xe6,0x4,0x6e,0xf8,0x31,0x89,0x5c,0x6,0x78,0xc1,0x20,0xc1,0x17,0xfc,0x9f,0xb,0x19,0x60,0x47,0xa,0xff,0x3d,0xb9,0x9,0x47,0xc0,0x4b,0x9b,0x1,0xdc,0x2f,0xef,0x72,0x76,0x89,0x18,0x2a,0x16,0x4b,0x9e,0x2f,0x65,0x8b,0xbc,0x5,0x22,0xda,0x59,0x11,0x4,0xc9,0x0,0x3,0xe0,0x48,0x39,0x75,0x5b,0x39,0x39,0x79,0x6,0x54,0xc4,0xb6,0xe3,0x9,0x1f,0x0,0x6b,0xba,0xdb,0xd7,0xe3,0x87,0xcf,0xc1,0xe6,0xf4,0x85,0x53,0xdf,0xf3,0x65,0xbe,0x6b,0xab,0x12,0x5a,0xe7,0x2c,0x60,0x9,0x3,0x44,0x90,0xa4,0xd6,0xf9,0x3f,0x7b,0x66,0x73,0x4e,0xf7,0xb3,0x42,0xb2,0x8d,0x98,0x93,0xbf,0x37,0x6c,0x6,0x70,0xbf,0xbc,0xcb,0xd9,0x25,0x62,0xa8,0x58,0x2c,0x49,0x84,0x6a,0x2b,0x5f,0x2,0x70,0x6b,0xa5,0x9f,0x27,0xd3,0xbf,0xc8,0x8d,0x16,0x8b,0x30,0x2,0x16,0x98,0xd6,0xb,0x28,0x78,0x81,0xce,0x75,0x5a,0xc0,0xc8,0x2e,0x45,0x31,0x3e,0xa8,0xea,0x67,0x64,0xcd,0xad,0x5c,0x5,0xad,0xf3,0xa3,0x7e,0xf5,0x31,0x18,0x60,0x60,0x31,0xd9,0xa0,0x28,0x5,0x85,0xbe,0x9e,0xfb,0x28,0x1d,0xe5,0x6f,0x95,0x1d,0x84,0xa7,0x46,0x50,0x25,0x44,0xb9,0x44,0xc,0x15,0x8b,0x25,0xa9,0xbd,0xeb,0xbb,0xd2,0x66,0x80,0x3a,0x1d,0xfa,0x1a,0xe7,0x26,0xc,0x30,0xa7,0x2f,0x37,0x23,0x60,0x9e,0x55,0x57,0xce,0x98,0xe1,0x22,0x42,0x30,0xcb,0x43,0x16,0x99,0x44,0x1f,0x78,0x6e,0x7c,0xbf,0xca,0x12,0xa0,0x58,0x75,0xac,0x84,0xd6,0xb9,0xb3,0x3b,0x28,0xce,0x24,0x76,0x18,0x60,0x93,0x2e,0x10,0x29,0xcd,0xc3,0xfa,0x6c,0xf5,0xde,0xa0,0x3d,0x66,0x71,0x1b,0xcf,0x97,0xf7,0x73,0x76,0x81,0x18,0x2a,0x16,0x4b,0x42,0x50,0x93,0x9,0xe2,0x9d,0x5c,0x1d,0x60,0x9e,0x88,0xae,0xae,0xca,0x25,0x42,0x5b,0x7b,0xaa,0xb,0x37,0xbd,0x51,0xe3,0xd4,0x7d,0xed,0x6e,0xd3,0xd4,0x35,0x29,0x71,0xe8,0x2c,0x8a,0x8b,0xc4,0xb9,0x2d,0x7e,0x9,0x60,0x6,0xb5,0x57,0x41,0xeb,0x5c,0x6,0x70,0x16,0xf0,0x23,0x23,0xc,0x9e,0x2f,0x7f,0xe4,0x3d,0x47,0xb,0xc4,0x50,0xb1,0x58,0x2a,0x31,0x56,0xd2,0x29,0x7a,0x61,0xc2,0xce,0xcc,0xd1,0x7,0xba,0xac,0xab,0xc9,0x6d,0x32,0x22,0xe2,0x58,0x3,0x35,0xaf,0x18,0x0,0x7d,0xe,0xb5,0xb6,0x6,0x31,0x11,0xaf,0x35,0x25,0xf7,0x90,0x3e,0x30,0x50,0x8b,0xe2,0x20,0x71,0x9e,0x96,0xa,0xc,0xf0,0x53,0x71,0x67,0xba,0x5f,0xde,0xe5,0xec,0x12,0x31,0x54,0x2c,0x96,0xca,0xc5,0x5c,0xa0,0x27,0x58,0xe7,0xb6,0x74,0xce,0x3d,0x70,0x64,0xd7,0x1c,0xb,0xf4,0x29,0x2d,0x94,0x45,0x45,0xdb,0xc7,0x5f,0x81,0x4d,0x8,0x66,0xb9,0x64,0xc4,0x88,0xcb,0x2c,0x66,0xc1,0x18,0xb4,0xef,0xd8,0x2,0x81,0xde,0xdb,0xf2,0x79,0x32,0x27,0x72,0xb2,0x2c,0xda,0x44,0x40,0xcc,0x3d,0xaf,0xfd,0x55,0xc9,0x4a,0x19,0xc0,0x5f,0x81,0xad,0x41,0x8f,0x5d,0x6a,0xd4,0xd8,0xa5,0xa7,0xfc,0x21,0x89,0xae,0x35,0xc1,0x32,0xf7,0x66,0x68,0xec,0xa7,0x37,0x89,0x8b,0xb4,0xe4,0x9,0x7c,0xaf,0x47,0xf3,0xc8,0xbf,0x7a,0x6b,0x14,0xfa,0x5,0x1c,0xf7,0x5a,0x70,0xd9,0xb2,0x56,0xf6,0xe5,0x4c,0x33,0x2f,0xcf,0x5c,0x4f,0x9e,0xf3,0xbb,0x67,0x47,0x9,0xc1,0x1a,0x6d,0xa0,0xab,0xd7,0xf7,0xcd,0xc9,0x9c,0xc8,0xcf,0xb2,0x48,0xe9,0xa4,0xd8,0x71,0x9d,0xfb,0x64,0xbe,0xa,0x6c,0xa7,0xec,0xb1,0x4c,0x1b,0x68,0xb2,0x67,0x7a,0x57,0x25,0x33,0xea,0xa6,0x22,0xcb,0x3c,0x0,0xf,0x89,0x7f,0x8b,0xcd,0x4c,0x15,0x33,0x1e,0x60,0xc1,0xcb,0x97,0xc7,0x44,0x8c,0x52,0x6c,0xda,0x5e,0x2e,0xea,0xc0,0x40,0x69,0xf6,0x35,0xba,0x59,0x9d,0xa0,0x6c,0x91,0x3d,0xfd,0x5a,0x34,0x41,0x8,0xb6,0x20,0xcd,0xb9,0xd3,0xfe,0xea,0xad,0x51,0xe8,0x17,0x70,0xec,0x66,0xc8,0x39,0xa7,0xd9,0x68,0xd4,0x78,0x48,0x46,0x60,0x3b,0xcd,0x73,0x28,0xd8,0x67,0xde,0x1d,0xa5,0xa9,0xbe,0x43,0xe7,0x39,0xec,0xcc,0x89,0xdc,0x2c,0xb,0x21,0x98,0x64,0xdd,0x2d,0x6,0x5b,0x99,0x1,0x7c,0x15,0xd8,0x6,0xcc,0xd0,0x6,0x16,0x98,0x62,0xa6,0x38,0x65,0x45,0xc8,0x80,0xae,0x95,0xc4,0xba,0x66,0x9a,0x41,0xb6,0x64,0x1e,0x18,0xc6,0x66,0x80,0x6,0x33,0x40,0x5f,0xc2,0xb0,0xd6,0x72,0xb1,0x6a,0x38,0x69,0x13,0x73,0x6c,0xd5,0x5c,0xe4,0xdc,0x65,0x86,0x9,0x3a,0xee,0xfe,0xcf,0xad,0x45,0xe8,0x15,0x70,0x4c,0x13,0x33,0x60,0x52,0x8,0x26,0x19,0x12,0x67,0x0,0x11,0xf3,0x44,0x8c,0xd8,0x22,0x32,0x22,0x7a,0xfd,0xc,0x70,0x2a,0x7d,0xa3,0x43,0x5e,0x67,0x3b,0x4a,0x9a,0xcb,0xeb,0x9e,0xec,0x7,0x37,0x73,0x22,0x37,0xcb,0xe2,0x5d,0x19,0xc0,0x5f,0x81,0xcd,0xf4,0xea,0x38,0xdf,0x67,0x51,0x8f,0x85,0x14,0x7a,0x7d,0x4a,0x9a,0xe0,0x2d,0xf6,0xbe,0x1,0x89,0x93,0xc3,0x6a,0x6f,0xa4,0x49,0x5b,0xbe,0xe5,0x4a,0x72,0x7,0x88,0x59,0x10,0x82,0x59,0x19,0x2f,0xbf,0x63,0x3d,0x68,0xde,0x32,0xc3,0xb6,0x5d,0x36,0x59,0x89,0x2f,0x6f,0x29,0xc4,0x94,0x31,0x4d,0x1,0xc7,0x65,0xf2,0x8d,0xd8,0xb2,0xa1,0x28,0xe5,0x34,0xde,0x2e,0x55,0xc0,0x6,0xcc,0x48,0xcf,0x64,0x9c,0xed,0x28,0x19,0x99,0x3,0xed,0xcc,0x81,0x95,0x97,0x39,0x51,0x90,0x65,0xe1,0xf1,0x63,0xe4,0x31,0x80,0xbf,0xd4,0x9b,0xa7,0x2,0x5b,0x26,0x1,0xea,0xb6,0x4,0x60,0x52,0x1e,0x5c,0xa7,0x1e,0x9,0x90,0x2b,0xfe,0x27,0xe8,0x10,0x2b,0x5f,0xb2,0xfe,0x65,0x66,0xa8,0x27,0xde,0x72,0xdf,0x72,0x71,0x0,0x5c,0x26,0x70,0xa,0x97,0xf2,0xf7,0x3,0x8b,0x1,0xbc,0xcb,0x2c,0x3,0x36,0x3b,0xa,0x96,0x3a,0x30,0xc6,0xf4,0x96,0x42,0xcc,0x9e,0xcc,0x78,0xc2,0xcd,0xc4,0x15,0x4a,0x2b,0xf1,0x7,0x1a,0xf7,0x78,0xb0,0x5d,0xa3,0x79,0xa,0x98,0xfa,0xcb,0x5b,0x6d,0x47,0x6d,0x3,0x43,0x60,0x8f,0xae,0xe3,0x9b,0xb4,0x32,0x27,0xf2,0xb3,0x2c,0x0,0x18,0x79,0xde,0x12,0x50,0xa9,0xaa,0x5a,0xce,0xb5,0x89,0xe,0xd0,0x5,0xae,0x4d,0x1d,0x20,0xf3,0xef,0x68,0xc,0xa3,0x74,0x80,0xd,0x6,0xc,0xd8,0xd0,0x35,0x2,0x79,0xc5,0xab,0x44,0x49,0xf1,0x30,0x40,0xb,0x18,0xb2,0xc7,0x84,0x5c,0xae,0x5d,0x2b,0xec,0x3,0x96,0xe9,0x3,0x7b,0x40,0x9f,0x25,0xa7,0x58,0xa4,0xb7,0x9f,0x9a,0xde,0x6d,0x21,0x58,0x4e,0x59,0x4c,0xc3,0xfb,0x7d,0x35,0xa,0x73,0x4,0x9c,0x14,0xfd,0x4b,0xc4,0x44,0x96,0xda,0xf8,0xd2,0x2f,0x1,0x3c,0x23,0xa6,0x12,0x60,0x93,0x33,0x6d,0x47,0x75,0x81,0x19,0xae,0x89,0xe9,0x69,0x81,0x25,0xfe,0xcc,0x89,0x82,0x2c,0xb,0x76,0x81,0x2b,0xa7,0xea,0x47,0xa5,0xaa,0x6a,0x79,0x0,0xb2,0xd7,0xa,0xe8,0x10,0x4b,0x35,0xf9,0x20,0xcb,0x58,0xd0,0xbb,0x35,0x81,0x4d,0x5d,0x23,0x50,0xe7,0xe8,0xd0,0x17,0xd1,0xef,0x2e,0x17,0x8d,0x4,0x15,0xd4,0xfc,0x74,0xd0,0x50,0xf5,0xae,0x77,0x69,0x78,0xc5,0xb0,0xd3,0x4f,0xc6,0xf6,0x77,0x98,0x10,0x82,0x1a,0x37,0x8c,0x52,0x4,0x2e,0xbf,0x16,0x61,0xae,0x80,0x4b,0x4,0x75,0xc7,0x7e,0x11,0x3,0x8b,0xc4,0x44,0x6c,0x56,0xd7,0x1,0x64,0xe,0xe4,0xb1,0xb1,0xa3,0x96,0xa9,0xd3,0xf3,0x67,0xdc,0x18,0x99,0x13,0x85,0x59,0x16,0xec,0x42,0x6,0x85,0xe7,0x3a,0xd2,0x72,0x4b,0xbd,0x79,0xae,0xf5,0x5a,0x2d,0xc5,0xa6,0x97,0x14,0xff,0x6e,0xc5,0x6a,0x1d,0x4f,0xf7,0x33,0x40,0xba,0x5c,0x34,0x13,0xb5,0xcf,0x30,0xc2,0x1a,0x4c,0x31,0x4c,0x92,0x33,0x68,0x98,0x22,0x37,0xaf,0x9f,0x9c,0x92,0xe7,0x92,0x2d,0x2f,0x34,0xbd,0x3b,0xb7,0x16,0x61,0xae,0x80,0x93,0x31,0x3c,0x59,0x9d,0x4d,0x69,0x5,0x74,0x24,0x44,0xf4,0x68,0x2b,0xc0,0x50,0x8b,0xdb,0xee,0x8,0x7a,0xe6,0x44,0x69,0x96,0xc5,0x91,0xc9,0xb4,0x4f,0x6f,0x79,0x2b,0xed,0xdf,0x96,0x0,0xcc,0x11,0x27,0x7b,0x31,0x2f,0xb7,0x27,0x5b,0x2e,0xe7,0xec,0xec,0x2,0x35,0x19,0x71,0xb0,0x2b,0x47,0xe8,0x56,0xe8,0x37,0x49,0x5f,0x59,0xec,0xb1,0xf1,0x97,0xfc,0x52,0x88,0x5,0x2,0x8e,0x3b,0x27,0x4d,0x4d,0xb7,0xfd,0xcf,0x1f,0xe7,0x7,0x60,0x8e,0x2b,0x62,0x22,0x2e,0xd8,0xf7,0xeb,0x4e,0x9f,0x93,0xff,0x4a,0x69,0xff,0xa6,0x57,0x40,0x9e,0xf2,0x9b,0x79,0x30,0xb1,0xbd,0x5c,0xd6,0xb4,0xc5,0x1e,0x3c,0x20,0x2e,0xef,0x17,0x28,0x50,0x20,0xdd,0x6,0x7b,0xcd,0x83,0xee,0x6c,0x52,0xed,0xf5,0x2,0x45,0x70,0x9f,0x88,0xc8,0x0,0xc9,0xeb,0x5c,0x12,0x11,0x3b,0x31,0x81,0x81,0x3e,0xc8,0xb2,0x4d,0x39,0x7,0x5b,0x8d,0xb,0x46,0x6,0xea,0x3a,0xcd,0x39,0x11,0x23,0xde,0x2a,0xff,0xa8,0x6b,0x82,0x4e,0xa4,0x99,0xc5,0xda,0xc2,0x27,0x31,0x9c,0xb7,0x46,0x94,0xb6,0xfd,0xa6,0xb3,0x94,0xb2,0xd0,0xfd,0x8b,0xfc,0xc0,0xdc,0xcf,0x0,0x1f,0x2b,0xfb,0x8b,0x54,0xb2,0x62,0x6e,0x94,0x8e,0xb0,0xc9,0xd,0x31,0x11,0x97,0x5,0xd3,0xeb,0x4b,0x58,0xb5,0x6b,0x17,0x4e,0xb0,0x6f,0xc5,0x13,0x78,0xa2,0x10,0x9c,0x60,0x91,0x45,0xe7,0x5e,0x27,0xb6,0xd3,0x87,0xa6,0x9d,0x69,0xe0,0x9a,0xb8,0xd2,0x42,0x58,0xd4,0xc0,0xa2,0x7d,0xe9,0x5e,0x33,0x82,0x57,0xac,0x7b,0xdd,0x0,0xcf,0xd9,0x2,0x6e,0x55,0xbf,0x28,0xf1,0xc3,0xda,0xe1,0xf2,0xfa,0x24,0xbe,0xd6,0x74,0xec,0x2b,0xa5,0x15,0x6c,0x38,0xc1,0xd9,0xbb,0x56,0xdc,0x7a,0x24,0xc3,0xb3,0xcf,0x35,0x15,0x69,0x26,0xf1,0xc9,0x1b,0x55,0x29,0x66,0x69,0x12,0x1,0x1d,0xf5,0xe8,0x39,0xaf,0x6d,0x72,0x3d,0x66,0xa5,0xc,0x70,0xef,0x4,0xb1,0x64,0x5a,0xfa,0x55,0x75,0x6,0xd0,0x5e,0x96,0x97,0xf6,0xda,0x2b,0xe8,0xb5,0x9f,0xcb,0x0,0x3b,0x26,0x46,0x20,0x9d,0x41,0xb,0xba,0xeb,0x98,0x18,0x98,0xd7,0x33,0xd,0x64,0xfb,0x8b,0x2c,0x79,0x83,0x3b,0x60,0x0,0x5c,0x1b,0xf5,0x3e,0xb6,0xe9,0x11,0x27,0x2e,0x78,0xef,0xb7,0x88,0x80,0x1a,0x35,0xdd,0xc5,0x9c,0x3b,0x8b,0x6a,0xc2,0x9f,0xeb,0xba,0x2c,0xf3,0xc4,0x74,0x98,0x4c,0xbd,0x80,0xae,0x78,0xf1,0x1b,0x60,0x86,0x59,0x79,0xc9,0x96,0xe6,0xf6,0x68,0xa8,0x97,0x50,0x65,0x93,0xeb,0x7b,0x6d,0xd3,0xe3,0x18,0x60,0x95,0x7d,0x6a,0xcc,0x6b,0x31,0x84,0x4b,0x2c,0x33,0xc1,0x5a,0xb5,0x2a,0x40,0x86,0x3a,0x6c,0xd6,0x2e,0xec,0x3a,0x31,0x85,0xde,0x48,0x44,0x6b,0x9c,0x13,0xf9,0xba,0xcd,0x53,0x65,0x20,0x26,0xcb,0xad,0xbf,0xf2,0xa2,0xd,0xec,0xb0,0x66,0x85,0x9e,0xcf,0xe8,0x69,0x6d,0x89,0x3f,0xd1,0x61,0xe3,0xb,0xbd,0xba,0x91,0xe7,0x8,0x28,0x88,0xf3,0xcc,0x99,0x44,0x56,0x88,0xb9,0x31,0x30,0xb9,0x63,0x60,0x8f,0x5d,0xab,0xf4,0xdb,0x12,0xb1,0xe5,0xee,0x49,0x6f,0xb6,0xa6,0xc5,0xbe,0xfb,0x1c,0xaa,0xa7,0xc0,0x15,0xd,0x21,0x98,0x57,0x93,0xeb,0x7b,0x6d,0xd3,0xa3,0x18,0x40,0x13,0xbc,0x4d,0x87,0x35,0x6f,0x8b,0x18,0xc0,0x62,0x67,0xa7,0x76,0x61,0xb5,0x88,0x61,0x6a,0xd6,0x12,0x74,0xec,0x14,0x35,0xdd,0x6f,0xa0,0xe,0x9b,0x38,0x43,0x4b,0xc,0x13,0x75,0xde,0xc2,0x16,0x16,0x34,0xc6,0xee,0x1,0x5d,0xb6,0xad,0x40,0x58,0xf3,0xee,0x8e,0x4,0x28,0x61,0x0,0x3b,0x2e,0x5f,0x7e,0xa5,0x1e,0x23,0xa2,0x2c,0x13,0x4f,0x8,0xa6,0xe8,0xd2,0x75,0xc3,0x3f,0x15,0xed,0x14,0x30,0x80,0x42,0xc4,0xc,0x13,0xd2,0xa9,0x2f,0xf6,0x78,0x6,0x60,0x91,0xbe,0x9d,0x5d,0x0,0xa0,0xa2,0xa,0xb,0x8e,0x80,0x2,0x99,0xe0,0xe6,0x15,0xf8,0xa,0x57,0x9d,0x3a,0xbe,0xc6,0x49,0xe6,0x78,0xad,0x6d,0x8a,0x24,0xed,0x3b,0xb2,0xe,0xa9,0x23,0x2e,0x8c,0x93,0x7a,0x9a,0x91,0x9e,0x7b,0x48,0x7,0x58,0x35,0x42,0xf4,0x8f,0xa4,0x6,0x60,0xbc,0x46,0xca,0x7a,0xe6,0x5b,0x5b,0x7,0x60,0xc2,0x3e,0x92,0x4c,0x6,0xb8,0x77,0x4b,0xba,0x7a,0x15,0xa4,0x53,0x89,0xed,0xe5,0x31,0x40,0xf6,0x32,0x96,0x11,0x31,0x53,0xc4,0x8c,0x54,0x62,0x87,0x1f,0x1b,0x73,0x5f,0xdb,0x24,0xbd,0x76,0xe3,0x32,0x0,0x9b,0x44,0xdc,0x98,0x4e,0x20,0x9,0xb5,0x76,0x8b,0x18,0xc0,0x1a,0xd1,0x95,0x0,0xa7,0x5,0x3a,0xc0,0xa9,0xa6,0x98,0xbd,0x31,0x54,0xc2,0x25,0xa6,0x3c,0x89,0x25,0xf3,0x5c,0x5a,0xca,0x5b,0xc3,0xcc,0x80,0x64,0xd7,0x2a,0x71,0x75,0x60,0x87,0x8c,0xd0,0xe4,0xce,0xd,0x60,0x75,0xc2,0xf8,0x2d,0x2b,0x40,0xa5,0x88,0xb8,0x73,0x29,0x23,0x70,0x87,0x99,0x3b,0xb3,0x4,0x94,0xcc,0x8b,0x7c,0x5f,0x29,0x39,0x2,0x86,0xa,0x13,0x2f,0xac,0x2f,0x56,0x69,0x99,0x96,0x58,0x94,0xb9,0x83,0xa9,0x88,0x5b,0x27,0xe6,0xc6,0x48,0x60,0x5f,0xa6,0x9e,0xc6,0x24,0x8c,0xa1,0x3,0x5c,0xd9,0xb5,0xb,0x99,0xa6,0x65,0xe5,0x16,0x3a,0x85,0xab,0x88,0x12,0xb4,0x4f,0x3b,0xdc,0xee,0x9d,0xec,0xaa,0x9a,0x72,0x1b,0x4f,0x6b,0xa,0x9e,0xf5,0x9a,0x5a,0x5a,0x56,0xad,0xb5,0x24,0x64,0x77,0xc4,0x99,0xba,0xd7,0xb4,0x9d,0xdc,0xe9,0xdd,0xaa,0x96,0x1f,0x20,0x5,0xa7,0x72,0x18,0xc0,0xab,0x3,0x50,0xf4,0x7a,0x34,0x47,0x25,0x9a,0x60,0xbd,0x84,0x1,0x9a,0x49,0x54,0x8c,0x55,0x62,0xd2,0xad,0x2f,0x86,0x84,0x59,0x7,0x1e,0xe3,0x28,0xed,0xf7,0xd6,0x39,0x61,0xdb,0xce,0x35,0xf,0x3e,0x23,0xab,0x6c,0xea,0x12,0xa5,0xd1,0x97,0x4,0x5e,0xc8,0x48,0x1d,0xbb,0xe2,0x21,0x4d,0x69,0x2a,0x1e,0x1b,0xd5,0xcd,0xcc,0x80,0xb5,0xc4,0x99,0x3c,0xa2,0xa5,0x59,0x4f,0xc3,0xc4,0x7d,0xfe,0x11,0xac,0xec,0x4,0xe,0x2a,0xc3,0xa4,0xfc,0x3e,0x73,0x87,0xdb,0x9b,0xc0,0x56,0x1a,0x8c,0xa1,0xc4,0x5f,0xe4,0x4c,0xb7,0xaf,0xbe,0x58,0x95,0x65,0x3a,0x94,0x61,0xeb,0x17,0x5,0x36,0xfe,0x1b,0x79,0x4d,0x53,0xbf,0xa6,0xc2,0xde,0x79,0x4e,0x1b,0x18,0x64,0x45,0x58,0x2a,0x30,0xc0,0x3c,0x57,0x8c,0x80,0x76,0x56,0xd1,0xf8,0x33,0x74,0xb3,0xf0,0xca,0xd4,0xf8,0x2b,0x32,0xc0,0x83,0x34,0x55,0xda,0x1c,0x2a,0x31,0xd5,0x3,0x69,0xf6,0xcd,0x18,0x4a,0x5a,0x9a,0x37,0xd3,0xd4,0x76,0x69,0xdf,0x8d,0xee,0xb,0x9e,0xc4,0x40,0x81,0x52,0x9d,0xc4,0xaa,0x53,0x50,0xa5,0xce,0xb8,0x2,0xf5,0x86,0xe9,0x6b,0x68,0x9d,0x84,0xfe,0x9f,0x62,0x8e,0xd3,0x27,0xbd,0x90,0x17,0xb2,0x42,0xc2,0x73,0x4d,0x6f,0x71,0xea,0x30,0x28,0xff,0x40,0xe6,0xf7,0x73,0xb,0x4c,0x54,0xa8,0x33,0xae,0x69,0x25,0xfb,0x96,0x8e,0xf4,0xf0,0x99,0x32,0x80,0xe5,0x68,0xed,0x24,0x16,0x5,0x6b,0x32,0x70,0x6c,0x56,0x73,0xb0,0xbe,0xa5,0x27,0x5f,0xcf,0x70,0xca,0x10,0xb8,0x51,0x71,0xf8,0x8b,0x3c,0x10,0x33,0xe2,0x84,0x5d,0x46,0x59,0x30,0x27,0x9b,0xc9,0x6f,0xe9,0x4f,0xe9,0xb6,0xbe,0x67,0xd7,0xf2,0x8c,0xf4,0x34,0xc7,0x75,0x57,0xed,0xb4,0x33,0x65,0xd0,0x2e,0x6b,0xea,0xdd,0xa6,0xfe,0x53,0x7a,0x50,0x22,0x56,0x88,0xe8,0xaa,0x92,0x6e,0x4e,0x1d,0x6,0x21,0xd8,0x90,0x7a,0xd1,0xb6,0xa1,0x62,0x2f,0x17,0x56,0x19,0xf6,0x31,0x40,0xc,0x6c,0xb2,0xa1,0xb2,0x22,0x3c,0x65,0x29,0x32,0x87,0xcf,0x91,0xd4,0xba,0xaf,0xc6,0x30,0xc4,0xea,0x9c,0x33,0x4,0x7a,0x2a,0xee,0xbe,0x4d,0x2c,0x9d,0x9f,0xd3,0xca,0x1d,0x61,0xd4,0xf0,0x62,0x96,0xd7,0xf4,0xed,0x52,0x4d,0x79,0xa,0x96,0xb5,0xe4,0xe6,0xa7,0x83,0xc4,0x5a,0xe6,0x28,0x99,0x3c,0x5e,0x79,0x6b,0x7b,0xd8,0x9a,0xf9,0xa2,0xd5,0xde,0x52,0xe2,0xf1,0x5a,0xff,0xa9,0x1c,0xe3,0x10,0x73,0xc9,0x86,0x12,0xb5,0x17,0x49,0x79,0x8,0x76,0x34,0x75,0xf7,0x14,0xe8,0xcb,0x7f,0x59,0xc0,0xf8,0x75,0x62,0xd7,0xa4,0x3f,0x25,0xab,0x24,0x21,0x2b,0x19,0x9b,0xb8,0x75,0x18,0x12,0xe3,0xf1,0x3a,0x75,0x5d,0x3d,0xbe,0x96,0x81,0x2,0x9a,0xee,0x94,0x67,0xc0,0x29,0x4b,0x51,0xc5,0xd1,0x61,0x3a,0x12,0x23,0x4d,0xa3,0xbe,0x2a,0x80,0x5a,0x2e,0x8b,0xbd,0x8,0x8f,0x61,0x0,0xeb,0x99,0x67,0x65,0xfd,0xab,0x4e,0x92,0x95,0xc0,0x4d,0xe6,0x65,0x94,0x7b,0x66,0x15,0x88,0xa8,0xb1,0xaa,0xed,0x9d,0x49,0x66,0x14,0x1b,0x2c,0x68,0xdf,0x6e,0x47,0xca,0x91,0x1d,0xa3,0xac,0xf4,0x2,0xc7,0x32,0xf5,0x63,0xa0,0xb9,0x57,0x5a,0xd2,0x8,0xdd,0x36,0xa4,0xd1,0x9a,0x1e,0xeb,0xc4,0xb6,0x96,0x74,0xa2,0x87,0xc1,0x5f,0xea,0x75,0xcb,0x73,0x3d,0x93,0xfb,0x25,0x8e,0x68,0x57,0x2,0x38,0x65,0x29,0x92,0xfa,0xe4,0xac,0x17,0x97,0xa5,0xd0,0xfd,0xc6,0xcb,0x9e,0xe5,0x3a,0xcb,0x2,0xa9,0xb5,0x27,0x7d,0xab,0x7b,0xb1,0x84,0x60,0xd6,0xac,0xb7,0xcf,0xa2,0xeb,0xd,0x50,0x23,0xde,0xe9,0x8f,0x54,0xd5,0xc4,0xca,0x31,0xd6,0xee,0x64,0xe8,0x5a,0x4b,0x4e,0xff,0x5d,0xde,0x94,0x69,0x63,0xaf,0x73,0x2f,0xfd,0x8e,0xe6,0xb4,0xd7,0x13,0xf7,0x6c,0xfa,0xd3,0xf0,0x24,0x9e,0x6a,0xd7,0xcd,0x0,0x23,0xea,0x8c,0xf4,0x38,0x7c,0x4f,0x14,0x65,0x3b,0xf9,0x7b,0xfa,0xd3,0xf0,0xfc,0xeb,0x12,0xc0,0xad,0xc3,0x70,0x2d,0x25,0xc0,0x4a,0x1,0x3,0xb8,0xe9,0xfc,0x2d,0x4f,0x14,0x41,0x59,0x82,0x7f,0xb6,0xbd,0x24,0x4a,0x35,0xe5,0x29,0x2f,0x64,0x55,0xe8,0x37,0x16,0xf7,0x16,0xb8,0xf4,0x94,0x75,0x59,0xce,0x67,0x80,0x7c,0x23,0x4f,0x7b,0xb0,0x58,0xc3,0xb4,0x6f,0xb,0x18,0x60,0x7,0xe8,0xc9,0xe5,0xe8,0xe9,0x3b,0xad,0x80,0x1,0x86,0xf2,0xc,0xef,0x1,0x2b,0xd4,0x94,0x5e,0xed,0x97,0x0,0xb3,0xb2,0xae,0x80,0x8e,0x71,0xde,0xcb,0xac,0xa4,0x5b,0x4b,0x1f,0x59,0x33,0x60,0x6f,0x8f,0x4,0xa0,0xe6,0xd1,0x1,0x8e,0x3c,0x28,0xea,0x8a,0x64,0x82,0xe7,0xb9,0xc,0xe0,0xa6,0xf3,0xbb,0x65,0x29,0xa6,0xb9,0x23,0x86,0xac,0xd0,0xa6,0x93,0xd0,0xaf,0x31,0xc0,0x95,0x67,0x7a,0xe7,0x88,0xe8,0xda,0x15,0xfa,0x8d,0xc5,0xad,0x73,0x29,0x51,0x84,0xb9,0xaa,0x47,0x40,0x25,0x6,0xe8,0x6a,0x2f,0x8d,0xef,0x16,0x28,0x85,0x89,0x7,0xf1,0x52,0xa,0xd6,0xc8,0x7d,0x9b,0x40,0x51,0x71,0x96,0x34,0x50,0xbd,0x40,0x7,0xd8,0x92,0x29,0x1b,0xe7,0x6,0x93,0xa7,0x6a,0xdb,0x6b,0xe3,0x0,0xad,0xa0,0x3,0x70,0x21,0x41,0xe5,0x17,0x9a,0x15,0xe0,0xd4,0x61,0x70,0xad,0x80,0xa7,0xd0,0xaf,0x13,0x94,0xca,0xac,0xa3,0x77,0x6b,0xbd,0xfe,0xc9,0x59,0x5c,0x29,0x12,0xf,0x35,0xc3,0x42,0x26,0x4a,0x72,0x9a,0xef,0x79,0x2b,0x7f,0x41,0x8d,0xb9,0xef,0xf3,0x94,0x40,0xe9,0xe9,0x4b,0xa,0x4f,0x3d,0xb7,0x0,0xeb,0xb2,0x23,0x20,0xe6,0x86,0x4b,0x46,0xc,0xd5,0x2e,0xf3,0x5b,0x1,0x77,0xfa,0x2b,0x1f,0x34,0xdd,0x3,0x62,0xad,0x78,0xdd,0xb2,0x2,0x69,0xce,0x8a,0xac,0x80,0x4f,0xd9,0xc0,0x6a,0xd0,0x90,0x50,0x8e,0xae,0x14,0x5d,0x78,0x4e,0x61,0x7d,0x71,0x57,0x99,0x4f,0x4b,0x8f,0x15,0x3a,0x5a,0x67,0x2d,0x53,0x2a,0xbb,0x7e,0xda,0xff,0xb2,0xb5,0x1c,0xa8,0x37,0x38,0x2e,0x3e,0x18,0x3,0xbc,0x72,0xc0,0xdc,0x61,0x5,0x33,0xf0,0xc6,0x46,0xb2,0x3c,0xd7,0xa4,0x9e,0x7e,0x6f,0xf4,0x2a,0x2f,0xb4,0x2c,0x5e,0x8f,0x72,0x12,0x5c,0xc2,0x4f,0xc1,0xfe,0x5f,0x8,0x21,0xfe,0x2a,0xfe,0x5b,0x8,0xf1,0x7f,0xe2,0x7,0x55,0x82,0xfc,0xab,0xa,0x3d,0xff,0x24,0xfe,0x4b,0x8,0xf1,0x57,0xf1,0xaf,0xe2,0x9f,0x72,0xaf,0xf9,0x67,0xf1,0x9f,0x42,0x88,0x3f,0xe7,0xbc,0xfd,0xf7,0x1b,0xf1,0xbf,0xef,0xf2,0xe6,0xde,0xcf,0x76,0x31,0x4b,0xde,0x4c,0x52,0xcd,0x10,0xe,0x7b,0xc2,0x2c,0x4d,0x71,0x4,0x59,0x65,0x30,0xa3,0xf8,0x84,0x6b,0xa4,0xd5,0x58,0xd1,0x8a,0x3d,0xe2,0xcd,0x9f,0x1f,0x72,0xcf,0x12,0x5b,0x4a,0xab,0xde,0xa1,0xb,0x74,0x35,0x9d,0xfe,0x5a,0x7b,0x3f,0xf9,0xb5,0x9e,0x18,0xe6,0x48,0x4f,0xfb,0xd,0x2,0x81,0x1,0x1e,0xb9,0xe4,0x46,0xa2,0xb8,0x5e,0x9a,0x42,0x8,0xea,0x2c,0x69,0x16,0x8a,0x2a,0x3e,0xe1,0x65,0x80,0x5d,0x22,0xa5,0xc9,0x78,0xf5,0x10,0x8f,0x93,0x6b,0x24,0x5d,0x47,0x23,0xa5,0xf0,0x65,0xe5,0xee,0xb5,0x42,0xfa,0x55,0x18,0x20,0xd0,0x63,0x19,0xc0,0x48,0x14,0xcf,0x4a,0x53,0x48,0x6d,0xa3,0x67,0xc7,0xc5,0x2a,0x67,0x4b,0x2f,0xfd,0x5f,0xb2,0xca,0x6,0x23,0x85,0x91,0xe9,0x7a,0x48,0x76,0xcd,0x15,0x5b,0x2c,0x71,0xaf,0xbd,0xb6,0xc5,0x96,0x0,0x66,0xb1,0xfc,0x4f,0xe5,0x2d,0xe0,0x8f,0x9c,0xd8,0x33,0x89,0x14,0xdd,0x29,0x23,0x70,0x8f,0xbe,0xe6,0x41,0xa7,0xb8,0xb4,0xa9,0x10,0xec,0xb2,0x2f,0x4,0x7b,0xc6,0x1b,0x44,0xb6,0x12,0x23,0xad,0xc0,0xed,0x39,0xc7,0x3d,0xf0,0x60,0xbc,0x21,0x10,0xff,0x32,0x4a,0xb1,0xab,0x27,0x8a,0xcf,0x18,0xec,0x10,0x3b,0x51,0xb9,0x28,0x87,0xd5,0x4d,0xfa,0xbf,0xb4,0x5e,0x3a,0xdc,0x28,0xcf,0xdb,0x1b,0x6,0xaa,0xb6,0xd6,0xed,0x38,0x2f,0x82,0xf8,0x9,0x2a,0x25,0x8a,0x1,0x8e,0x72,0xb2,0x55,0xa2,0x5c,0x6,0x78,0x4b,0xcc,0x3e,0xb1,0xf6,0x7e,0xce,0x6,0x43,0x60,0xa8,0x25,0x76,0xe3,0x8d,0x6,0x5a,0x35,0xad,0x8,0x2b,0x8c,0x7c,0x8f,0x81,0x56,0xe1,0xc2,0x4c,0x14,0x6f,0x19,0x68,0xf7,0x41,0x12,0x8f,0xe3,0x67,0x9d,0x40,0xe5,0xc,0x30,0x99,0xa5,0x1a,0x32,0x30,0x6b,0xfb,0xb,0xc1,0x4,0x2d,0x48,0xcb,0x98,0x78,0x96,0xb2,0x26,0x33,0x8a,0xb3,0xf7,0xd5,0xdf,0x10,0xb3,0x43,0xcc,0x4d,0xfe,0xdb,0x29,0xdc,0xd3,0xd9,0x3a,0x89,0x9b,0xb4,0x81,0xb6,0x32,0x4e,0xe3,0xa2,0x12,0x15,0x81,0xde,0x89,0x1,0x8a,0x9d,0xb5,0x1c,0xe9,0x18,0x55,0x5,0x6,0x90,0x79,0x3e,0x49,0x6a,0x49,0x6e,0xaf,0x7,0x29,0x1,0x1e,0x72,0x18,0xe0,0x5,0x11,0xb7,0x44,0xfa,0xbb,0x8c,0x2,0x3d,0x5,0x3,0xf4,0x65,0x5d,0xad,0x19,0xed,0x34,0x2f,0x2c,0x60,0x62,0x1f,0x1,0xbc,0xe4,0x8e,0x9a,0x10,0xd4,0xb8,0x53,0x67,0xb6,0x2f,0xb,0x2f,0xd1,0x1,0x16,0x73,0x19,0xe0,0x86,0x49,0x6e,0x2,0x3,0x3c,0x35,0x3,0x1c,0x59,0x40,0xe2,0xf0,0x31,0x4a,0x60,0xa0,0xcf,0x97,0x1,0x26,0x38,0x4e,0x42,0xa9,0xf2,0xb5,0xf3,0x40,0x81,0x2,0x5,0xa,0x14,0x28,0x50,0xa0,0x40,0x81,0x2,0x5,0xa,0x14,0x28,0x50,0xa0,0x40,0x81,0x2,0x5,0xa,0x14,0x28,0x50,0xa0,0x40,0x81,0x2,0x5,0xa,0x14,0x28,0x50,0xa0,0x40,0x81,0x2,0x5,0xa,0x14,0x28,0x50,0xa0,0x40,0x81,0x2,0x5,0xa,0x14,0x28,0x50,0xa0,0x40,0x81,0x2,0x5,0xa,0x14,0x28,0x50,0xa0,0x40,0x81,0x2,0x5,0xa,0x14,0x28,0x50,0xa0,0x40,0x81,0x2,0x5,0xa,0x14,0x28,0x50,0xa0,0x40,0x81,0x2,0x5,0xa,0x14,0x28,0xd0,0x7,0xa0,0xff,0x7,0x50,0x13,0xcb,0x3f,0x44,0x90,0xb7,0x37,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82
-};
-
-
-static const unsigned char font_mono_png[]={
-0x89,0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x80,0x8,0x4,0x0,0x0,0x0,0x4e,0xbc,0x7f,0x81,0x0,0x0,0x0,0x1,0x73,0x52,0x47,0x42,0x0,0xae,0xce,0x1c,0xe9,0x0,0x0,0x0,0x2,0x62,0x4b,0x47,0x44,0x0,0xff,0x87,0x8f,0xcc,0xbf,0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x13,0x0,0x0,0xb,0x13,0x1,0x0,0x9a,0x9c,0x18,0x0,0x0,0x0,0x7,0x74,0x49,0x4d,0x45,0x7,0xdb,0xc,0x1e,0x0,0x2a,0x22,0x7b,0x10,0x6,0x2d,0x0,0x0,0x18,0xa4,0x49,0x44,0x41,0x54,0x78,0xda,0xed,0x9d,0x3f,0x68,0x6b,0x4b,0x7e,0xc7,0xc7,0xab,0x42,0xf,0x54,0xb8,0x30,0xc1,0xb,0x2a,0x5c,0xf8,0x81,0x2,0x2e,0x1c,0x70,0xc0,0x9,0xa,0xf8,0x81,0x17,0x5c,0xf8,0x81,0xb,0x2f,0x38,0xe0,0x80,0x3,0x2e,0x5c,0xb8,0x70,0xc0,0x1,0x13,0xbc,0xe0,0xe2,0x16,0x2e,0x6e,0xa1,0xc2,0x1,0x2f,0x38,0xe0,0xc2,0xb,0xe,0x68,0xc1,0x1,0x2f,0x68,0x41,0x1,0x6f,0x50,0x82,0x16,0x54,0x28,0xe0,0x80,0xa,0x2f,0xa8,0x50,0xa1,0x80,0x16,0x54,0xa8,0x50,0xa1,0x2c,0x9f,0x14,0xe7,0x9c,0x39,0xf3,0xef,0x1c,0x1d,0xd9,0xf7,0x3e,0xbf,0x77,0xdf,0xfc,0xe0,0xfa,0x5a,0x3f,0xcf,0x39,0x47,0x33,0xf3,0x3b,0x33,0xbf,0xdf,0xf7,0xf7,0x67,0x84,0xf0,0xe4,0x49,0x8,0x21,0xd8,0xe5,0xce,0xe0,0x94,0x68,0x53,0x32,0x78,0x77,0xec,0x4c,0xbf,0xd6,0x75,0xa5,0xd9,0xca,0x7d,0xa7,0xe0,0xda,0xf0,0x37,0x80,0xe,0x9b,0xc6,0xdf,0x37,0x79,0x1,0xc8,0xfe,0x2c,0xda,0xac,0x3a,0x9e,0xa3,0x3d,0x9f,0xae,0xf3,0xbb,0x34,0x83,0x7f,0x29,0xbd,0x78,0x55,0x4f,0xcd,0xab,0x1c,0x2d,0xd4,0xef,0x8f,0xfe,0xbf,0x10,0x42,0xb0,0xcf,0x80,0x1,0xfb,0xda,0x35,0x15,0x1a,0x94,0x79,0xca,0xd0,0x7,0x9b,0x47,0x99,0x21,0xbb,0xc6,0x97,0xec,0x71,0x4b,0x4f,0xef,0x1e,0xbb,0xc,0x29,0x8b,0xd4,0x6b,0x13,0xae,0x34,0x5b,0x39,0xee,0x24,0x84,0x10,0x7c,0xe0,0x4c,0xf9,0xb4,0x4d,0xc7,0xf8,0x7b,0x87,0xed,0xd9,0x9e,0xc5,0x19,0x97,0x4e,0xa1,0x55,0x9e,0xaf,0xe,0x6e,0xda,0x40,0x19,0x77,0x7e,0x55,0x4f,0xed,0xab,0xac,0x16,0xfa,0x53,0x5c,0x2,0x30,0x62,0x95,0x55,0x46,0xda,0x73,0x9f,0x58,0xa3,0x41,0xe5,0x75,0x2,0x50,0x65,0xc3,0x68,0x74,0xcf,0x86,0x10,0x6c,0x70,0x6f,0xf0,0x37,0xa8,0x8a,0xd4,0x6b,0xdd,0x57,0x3a,0x9e,0x60,0xdd,0x49,0x8,0x21,0xe8,0x51,0xd4,0x3e,0x1b,0x53,0xa3,0x7f,0xce,0xf2,0x2c,0x8a,0xf4,0x9c,0xd3,0xab,0x3c,0xdf,0x2d,0x0,0x8e,0x6b,0xf4,0x3b,0xbf,0xaa,0xa7,0xae,0xab,0x8c,0x16,0xfa,0x53,0x5c,0x2,0xd0,0x62,0x95,0x55,0x5a,0x5f,0xde,0x46,0x64,0x2f,0x61,0xa4,0x7f,0xce,0x74,0xd7,0x27,0x73,0x4a,0xac,0x16,0x7c,0x8f,0xc7,0xc4,0x25,0x0,0x5,0x46,0xc,0x28,0x18,0x2d,0xf7,0x40,0xdf,0x16,0x5c,0x3c,0x2e,0x18,0x31,0xe2,0x3c,0xf8,0xf4,0x13,0x75,0x8f,0x64,0x25,0xda,0x7f,0xb3,0xdf,0xce,0xe6,0x29,0xfb,0x33,0xd9,0x39,0x21,0xfd,0xbd,0xf8,0xd5,0x8c,0xc3,0xa3,0x75,0xc7,0xcd,0x11,0xbf,0x12,0x7f,0x37,0xf5,0xaa,0x6,0x13,0x6,0x5c,0x92,0x8b,0xb4,0x2,0x96,0x84,0x10,0x82,0xe5,0x48,0x3f,0x70,0x70,0x14,0x7a,0xd,0x27,0xdb,0x67,0x27,0xfd,0x8d,0xf8,0x83,0xf8,0x5f,0xf1,0x97,0x6,0xf7,0x6f,0xc5,0xef,0xc5,0xcf,0xd3,0x79,0xec,0x88,0x6f,0xc5,0xd7,0xe2,0xcf,0xc5,0xcf,0xe5,0x56,0xca,0x31,0xd7,0xe1,0x6f,0xd7,0x1c,0x29,0x4d,0x1f,0x68,0xf2,0x60,0xc,0x5c,0x6,0xde,0xeb,0x5,0x80,0x3c,0x3d,0x4b,0xaa,0xd3,0xb7,0x80,0x1d,0x5a,0x2c,0x52,0xa4,0x1d,0x75,0xc7,0xe6,0x8,0xc1,0x3c,0x7d,0xf2,0xa9,0x57,0xc1,0x16,0x39,0x8a,0xd4,0x23,0xa1,0xe0,0x96,0x43,0x21,0x84,0xe0,0x44,0x8e,0x8e,0xcd,0x61,0xfa,0x4a,0x92,0xa0,0x5d,0x30,0xfb,0x3a,0xa7,0x8d,0x54,0x95,0x73,0x4e,0xc,0xd5,0x3b,0xcf,0x88,0x55,0xc6,0x5a,0x4f,0x2d,0x1e,0xb5,0x40,0xe1,0x64,0x57,0xce,0x19,0x5,0xfa,0x2c,0xa,0xc1,0x22,0x5d,0xa5,0x61,0xa6,0xdb,0x39,0x1f,0xf1,0x7a,0x1,0xd8,0xb1,0xb5,0x2,0x5a,0x1c,0x28,0x9f,0xe,0xd5,0x35,0xca,0xd5,0x1d,0x47,0x7,0x3,0x21,0xdd,0x49,0xbd,0x2a,0xfa,0x5e,0xcb,0x91,0xbe,0xc0,0x1e,0x8f,0x42,0x8,0x41,0x5d,0xa,0x89,0xcd,0x79,0x27,0x1,0xa0,0xc0,0x98,0x65,0x8a,0x8c,0xd5,0xd7,0x85,0x6d,0xda,0x42,0xd0,0xd4,0x94,0x64,0x8b,0x17,0xcc,0xb5,0x10,0x2c,0xd2,0x57,0x17,0xc4,0x8a,0x10,0x54,0x38,0x99,0xf5,0x76,0xce,0x47,0xbc,0x5e,0x0,0xaa,0xb6,0x69,0xc8,0xa9,0xb1,0x38,0x9e,0x68,0x7f,0xb5,0xba,0xe3,0xec,0xa0,0x60,0x47,0x13,0x7,0xfb,0x2a,0xfb,0x1b,0x16,0x18,0x32,0xcf,0x2,0xc3,0x48,0xb4,0x1d,0x9c,0xf7,0x12,0x80,0xfd,0xe0,0x35,0xa0,0xa1,0x6d,0xbd,0xd7,0x7c,0x10,0x82,0x8b,0x68,0x7d,0x72,0xf3,0x9c,0x23,0xcf,0x3c,0x7d,0xca,0xea,0xfb,0x9f,0xf5,0x76,0xd9,0x1e,0x91,0x4d,0x0,0x28,0xd0,0x53,0xbf,0x81,0xdc,0x79,0x77,0x35,0x7d,0xa3,0x93,0x30,0x28,0xd3,0x36,0x97,0x3e,0xf3,0xd3,0xaf,0x62,0x29,0xb6,0x18,0x78,0xe0,0x88,0x63,0xcd,0xa2,0x37,0x38,0xf6,0x6e,0x9d,0x85,0xf3,0x9,0x4,0xa0,0x1a,0x6c,0x54,0x9c,0x6b,0x96,0x44,0x37,0xb4,0x2e,0x3a,0x69,0xbc,0x4,0xed,0x8b,0x13,0xc6,0xea,0xfe,0x9f,0xf5,0x76,0xd9,0x1e,0x91,0x51,0x0,0xe,0xb9,0x99,0xf5,0x5d,0xc9,0xae,0x5e,0x72,0x13,0xec,0xe0,0x49,0x57,0xb1,0x19,0xea,0x0,0x17,0xea,0xda,0xc6,0x33,0x5b,0xfa,0x6a,0xa7,0x72,0xbe,0x9b,0x15,0xc0,0x12,0xd2,0x3c,0x23,0x29,0x55,0x23,0xb9,0x1a,0x2d,0x29,0xda,0xe6,0x52,0xa,0xcf,0xb9,0x42,0xa,0x72,0x10,0xe9,0xbf,0x33,0xdd,0xce,0xc5,0x7b,0xad,0x0,0x3c,0x39,0x81,0xa1,0x74,0x1,0xc8,0xb8,0x5,0x8,0xc1,0x46,0x6c,0x60,0xba,0xb6,0x0,0x9a,0xa0,0x5a,0x1,0x42,0x90,0xa3,0xa7,0x23,0x84,0x26,0xe7,0x9d,0x4,0x60,0x2b,0xd6,0x83,0x78,0x89,0x90,0x52,0xe,0xa4,0x3e,0xf3,0x18,0x69,0x4d,0x4e,0x9e,0xa1,0xff,0xfc,0x24,0x60,0xcf,0xfd,0x29,0xf8,0x27,0xe9,0x1b,0xf1,0x6f,0x73,0x73,0x73,0x73,0x73,0x73,0xe2,0x37,0xe2,0x9b,0x19,0x79,0x7f,0xc,0xcd,0xa5,0x25,0xf1,0xc7,0xec,0x1c,0x8a,0xe2,0xeb,0xb9,0xff,0x9a,0xd9,0x48,0xfe,0x6f,0xf1,0x57,0xa1,0x59,0xf4,0xfb,0x44,0x4e,0xd0,0xc3,0xff,0x10,0x5f,0x4b,0x88,0xc9,0xd1,0x66,0xee,0xaf,0xe7,0xe6,0xe6,0xfe,0x6c,0xee,0x9f,0xe2,0x51,0x98,0xfb,0x93,0xf8,0x8d,0xf8,0x67,0xed,0x1e,0x16,0xe7,0x5d,0xe8,0x5b,0xf1,0x6b,0xf9,0xfb,0xbf,0x8a,0x6f,0xe5,0x4c,0xfc,0x36,0xfc,0xed,0xb7,0xca,0xec,0xd8,0xbc,0x5f,0x8a,0x5f,0xb0,0x48,0x51,0xfc,0x42,0xfc,0x4b,0xda,0x9b,0x75,0x1b,0x6d,0x8,0x1c,0x73,0x3b,0x23,0xef,0x86,0x5b,0xa,0x14,0xb8,0x8d,0x96,0xf4,0x4c,0x9c,0x33,0x3e,0x38,0xd1,0xba,0x81,0xc1,0x19,0x68,0x28,0x59,0x26,0x33,0x30,0xfc,0xcb,0x65,0x4,0x32,0xbb,0xcc,0x40,0xeb,0xc9,0x5,0x56,0xe8,0xb2,0x90,0xca,0x79,0x9f,0x15,0xe0,0x85,0x65,0xf9,0xb7,0x55,0x5e,0x74,0x94,0xc2,0x85,0x5c,0xa8,0x3c,0x89,0x81,0x5c,0xa4,0x7e,0xa5,0xac,0xb7,0x73,0xf2,0xa,0x54,0x19,0x33,0xa6,0x1a,0x19,0x29,0x99,0x38,0xb6,0xe3,0x9,0xa0,0x6b,0xb9,0x49,0x76,0xe8,0x6a,0x4a,0x96,0xd5,0x9d,0x84,0xe,0xa,0x56,0x95,0xa5,0xd3,0x68,0xe3,0x98,0xb8,0x1e,0x3,0xc3,0x3b,0x62,0x73,0xbe,0x13,0x20,0xc8,0x85,0x4,0x7a,0xf2,0xe4,0xc9,0x93,0xa7,0x1f,0x31,0x25,0x78,0xff,0xa7,0x46,0x66,0xb8,0xdc,0xc3,0x82,0x3,0x9a,0x8c,0x80,0x89,0x62,0xcd,0x3b,0x1e,0x60,0xa9,0x2a,0x56,0x1b,0x87,0x7,0x7d,0x85,0x3a,0x13,0xfa,0x7c,0x4c,0x6e,0xe5,0xb8,0x6a,0x57,0x51,0x33,0x77,0xed,0x5d,0xd7,0xf5,0xc9,0x76,0xf1,0xb0,0x42,0x9d,0x31,0x30,0xd4,0x21,0x66,0x43,0xdf,0x29,0xd3,0x1,0x6a,0xb1,0x7a,0xc7,0x2e,0x3,0x73,0xbf,0x17,0xc2,0x0,0xa1,0x6f,0x39,0xb6,0x26,0x65,0x91,0x3a,0x13,0xc6,0x69,0x23,0xe2,0x18,0xb3,0xc,0x41,0x25,0x76,0xd0,0x88,0xcb,0xfb,0x9f,0x25,0x32,0xc3,0x15,0xb,0x70,0x11,0xf,0xa4,0x66,0x95,0xdb,0xf,0x30,0x5,0xc0,0x6a,0x63,0x75,0xb7,0x48,0x9f,0x3,0x72,0xac,0xa9,0x20,0xcf,0x34,0x1,0x60,0x8b,0x31,0x7b,0x12,0xa2,0x9a,0xa8,0x60,0x4c,0xb2,0x5a,0xe4,0xd0,0xed,0x5f,0xd8,0x55,0xd1,0xd,0xa7,0x8e,0xbd,0x48,0x9f,0x32,0x39,0xce,0xe3,0x6f,0xc8,0x80,0x55,0x56,0x4d,0xfb,0xc3,0xb8,0xc7,0x26,0x63,0x1e,0x68,0xd3,0xd0,0xa0,0xec,0x4b,0xf3,0x79,0x56,0xdf,0x8c,0x31,0xcb,0x16,0x54,0x92,0x1c,0x40,0xa3,0xb5,0xc9,0x14,0x99,0x61,0x5f,0x36,0x72,0x9,0x80,0xd5,0x6a,0x9d,0x36,0x30,0x31,0x17,0x9d,0x29,0x5f,0xe9,0xca,0x65,0xdc,0x4d,0xb9,0x26,0x4f,0x4f,0x73,0x0,0x9d,0x99,0x10,0x71,0x82,0x0,0xc4,0x10,0x47,0xf8,0xbe,0x33,0x66,0xc5,0xba,0xfb,0x3e,0xcf,0xc0,0x84,0x7a,0xf8,0xf9,0x43,0xf0,0xd,0x29,0x30,0x4c,0x16,0x0,0x1b,0xce,0xa5,0x4d,0x8d,0x9,0x3b,0x9a,0x59,0x38,0x8a,0xe1,0xe6,0xcc,0xbd,0xcd,0x18,0x54,0x92,0x14,0x40,0xf3,0x29,0x76,0x13,0xa7,0x0,0x58,0xcb,0x69,0xc7,0x8a,0x3,0x20,0x92,0xd1,0x14,0x93,0xa7,0x63,0x4e,0x81,0x13,0x86,0xd5,0xaf,0x39,0xa6,0x66,0x5c,0xd3,0xd0,0x97,0xdb,0x4,0x1,0xb0,0xf1,0xbd,0x7b,0xc6,0xdc,0xb1,0x1f,0xfb,0xcc,0xd8,0xa3,0xcf,0xa6,0x86,0x79,0x36,0x59,0xa7,0x44,0x4b,0xdb,0x4a,0x9c,0x5b,0x80,0x63,0x5,0xbc,0xe0,0x74,0xba,0xcd,0xff,0x59,0xe6,0xac,0x41,0x1f,0x18,0x53,0x8b,0xc0,0xad,0x37,0x44,0x61,0x70,0x65,0xb,0x80,0xd3,0x63,0x3e,0x6f,0x9,0xc0,0x4b,0xf0,0x66,0x26,0x5b,0xaa,0x69,0x1c,0x17,0xd8,0x11,0x2e,0x92,0x76,0x88,0xe4,0x53,0x6,0x1,0xb0,0x3b,0xdc,0xa2,0xca,0x2e,0xf,0xc,0x64,0x2f,0x5a,0xd6,0x76,0x32,0x60,0x3e,0x88,0x2,0x98,0x3e,0x7d,0x8a,0xa7,0xf0,0x86,0x11,0x23,0x1e,0x14,0x78,0x19,0x87,0x23,0x28,0x47,0x85,0x11,0x23,0x2a,0x32,0xcc,0xe4,0x53,0x71,0x60,0x41,0x8,0xe6,0xb9,0x96,0x2b,0xd9,0x1b,0x4,0x20,0xc7,0x1,0x4f,0x8c,0x34,0x1,0xb0,0x3d,0xe6,0xf7,0xb4,0xd8,0xd6,0xde,0x1d,0xa8,0x5,0xd8,0xda,0x27,0x16,0x80,0xa1,0x25,0x6a,0xb,0xf1,0xf2,0x3c,0x93,0x0,0x10,0xbc,0xfb,0x31,0x9e,0xc8,0xc4,0xf4,0x37,0x42,0xc4,0x55,0xae,0x6f,0x3,0xd0,0x64,0x3d,0x41,0x0,0x3e,0xf2,0xc0,0x2,0x5,0x4e,0xdd,0xdf,0x4b,0xc1,0x1e,0x1f,0x58,0x60,0x81,0xc7,0x28,0x2c,0xf5,0x93,0x71,0x62,0x51,0x9c,0xbc,0x59,0x0,0xb4,0xa1,0x20,0x71,0x39,0xcd,0x71,0x4c,0x9b,0x1,0x17,0xb1,0x37,0x9c,0x12,0x3,0xe6,0x53,0x5,0xa0,0x6b,0xe3,0x7b,0x53,0x5,0x80,0x69,0xd0,0x69,0x82,0x0,0xc,0xad,0xef,0xdc,0xb,0xb6,0x2d,0x16,0x18,0xcb,0xef,0x9c,0x9b,0x2e,0x0,0xa1,0x26,0x72,0xc1,0x73,0x82,0x0,0x48,0x95,0x6d,0x8a,0x93,0xb7,0x17,0x79,0x3c,0x64,0x98,0xc9,0xa7,0xe2,0xbc,0x6a,0xba,0x67,0x11,0x80,0x24,0xa7,0x6a,0x89,0x9a,0x54,0xb1,0x10,0x82,0x2b,0x2e,0x92,0x77,0x73,0x21,0xb8,0x51,0x83,0xbc,0x33,0xaf,0x0,0xb,0xc6,0x35,0xf3,0x99,0x56,0x80,0xa6,0x5c,0xb5,0xee,0xa4,0xe2,0xfa,0x42,0x93,0x53,0x1a,0x91,0x56,0x41,0xcb,0xca,0x33,0xe8,0x53,0xa4,0xce,0x91,0x63,0xfa,0x72,0x49,0x8,0xbd,0xf2,0xfe,0x8d,0xb2,0x21,0xfa,0x6f,0x9b,0xa6,0x4c,0x9c,0x71,0x20,0xfe,0xb3,0x71,0x66,0x16,0x0,0x21,0x28,0xa8,0x6d,0x58,0xa4,0xcf,0x7c,0xca,0xa,0x50,0xa2,0xcf,0x1e,0x39,0x4a,0x76,0x1c,0xdd,0xc,0x3a,0xc0,0x4e,0x26,0x1d,0xe0,0x2c,0xd4,0x5b,0x5a,0xea,0xd2,0x4d,0x99,0xa,0x43,0x89,0x2a,0xd8,0x4a,0x60,0x8d,0x1d,0x4a,0x74,0x20,0xc2,0x40,0x58,0xa3,0xce,0x8,0x18,0x24,0xa,0x40,0x3f,0x7c,0x23,0xb7,0xc,0xf4,0xe2,0x3d,0x57,0x80,0x1a,0xb7,0x2c,0x8,0xc1,0xc2,0x2c,0x9c,0x59,0xb6,0x80,0x3b,0xb6,0xc9,0x91,0xe3,0x30,0xea,0x74,0xd0,0x96,0xa,0xa7,0x69,0xee,0xa,0xd6,0x69,0x0,0xa3,0x19,0x4,0xe0,0xd8,0xc2,0xb7,0x6a,0x99,0xac,0x80,0x3c,0x35,0xe0,0xc5,0xf4,0x2,0xa,0x41,0x31,0xda,0x2,0x84,0xe0,0x80,0x1e,0x40,0x14,0x53,0xcf,0xa1,0x15,0xe4,0xda,0xf,0xec,0x86,0x58,0xb0,0x9d,0x3a,0xc0,0x3c,0x4b,0xb4,0xdc,0xdf,0x4b,0x7e,0xfe,0x20,0xf7,0xee,0xf,0x9f,0x98,0x63,0xb,0xc0,0x22,0x35,0xc6,0xc0,0x20,0x42,0x26,0xb2,0x70,0x92,0x5,0xc0,0x56,0x2,0x6f,0x18,0x1,0x5d,0xae,0xf5,0x65,0x84,0x45,0x5e,0xa6,0xf9,0xab,0x78,0x8e,0xde,0x40,0x21,0x18,0x48,0x69,0x1e,0x24,0x8,0x40,0x9e,0x9e,0x16,0x9d,0x78,0x90,0xd,0x7,0x8,0x57,0x8f,0x8f,0xac,0xea,0x91,0xc5,0xe4,0xd8,0xd1,0x53,0x43,0x8c,0xa7,0x3d,0x73,0x46,0x5e,0xc1,0x1,0x7,0xec,0x92,0x17,0x82,0xbc,0x7c,0x4e,0x99,0xa2,0x10,0x1c,0x49,0xd1,0xcf,0x71,0xcd,0xd8,0xf6,0x38,0x3a,0x36,0x91,0xcf,0x64,0x5,0x7c,0x1e,0xdb,0x32,0xd5,0xc,0x4c,0x51,0xc5,0x2a,0xe9,0x2,0x40,0x81,0x55,0x4d,0x2b,0x30,0x22,0x1,0x1c,0x77,0xde,0x62,0x1c,0x5,0x70,0xb1,0xc7,0x38,0x1b,0x12,0x18,0x3e,0xeb,0x8c,0x66,0xa4,0xbc,0x71,0xcf,0x8,0x18,0xd3,0xd0,0xf5,0x79,0xe3,0x69,0x1,0x80,0xdb,0x53,0x36,0x8d,0x16,0x13,0x60,0x28,0x57,0x89,0x7b,0x86,0x40,0xd3,0x6,0x6c,0xbf,0x2c,0xf7,0x82,0xb,0x8,0xba,0xc8,0xa0,0x8b,0x2f,0xc5,0xa6,0x88,0x2b,0x4,0x92,0x17,0x26,0x5c,0x29,0x53,0x64,0x46,0x2,0xb8,0xae,0x79,0x95,0x2f,0xc0,0x93,0xa7,0x1f,0x1d,0xb1,0xc3,0x80,0x1,0x3b,0x42,0xb0,0x13,0x23,0xa8,0x94,0xe9,0x31,0xd4,0x82,0xc6,0x1f,0x64,0xf4,0xe0,0xda,0x17,0x98,0x53,0xf8,0x1d,0xf,0x7a,0x77,0x3a,0xc7,0xe1,0xbf,0xdb,0x8e,0x8c,0x46,0xb6,0x62,0xc5,0x33,0xe6,0xa,0xc1,0x6e,0xe4,0x11,0xe0,0x9,0x64,0x9a,0xfc,0x6e,0xec,0x27,0x8,0xc,0x4f,0xd5,0xfc,0xa4,0xcb,0x16,0x9b,0x74,0xc9,0xd3,0x51,0x42,0xc5,0x9e,0xd9,0x62,0x4d,0xd3,0xb2,0x8a,0x34,0x43,0xdc,0xf6,0xda,0x4,0xf5,0xbf,0xe4,0xa9,0x32,0x27,0x21,0xa1,0x2a,0x41,0x3c,0x85,0x2c,0xd2,0x4,0xba,0x4a,0xa2,0x4b,0x77,0x16,0x7c,0x53,0xdb,0xc6,0xf4,0xa4,0xef,0x6a,0xa8,0x36,0xe7,0x79,0x8e,0x2,0xe9,0x84,0xe0,0x4e,0x6e,0x68,0x45,0x9e,0xd5,0xdc,0x85,0xe0,0x7d,0x36,0xb8,0xcb,0xbc,0x44,0x3f,0x35,0x55,0x9c,0xc8,0xa9,0xa5,0x6c,0xe7,0xf9,0xd8,0xf6,0x9,0x95,0xe9,0x8f,0x42,0xb0,0xa0,0xe7,0x7f,0x84,0x10,0xca,0xb4,0x42,0x8,0xee,0x56,0xce,0x12,0x12,0xbb,0x66,0xe2,0x44,0xfa,0x94,0x24,0xdc,0x65,0xaa,0x17,0x7d,0xfa,0xd3,0x9d,0x93,0x90,0xe8,0x54,0x95,0xd3,0xf0,0xc0,0x25,0x39,0xb6,0xe3,0xa0,0xf2,0x37,0x84,0x7e,0x6e,0xb8,0xe2,0x10,0x38,0xd7,0x12,0x57,0xe3,0x27,0xd7,0x8d,0xa4,0x76,0x1c,0xdc,0xd,0x9e,0x8c,0x10,0xf7,0x60,0x5,0x98,0xd0,0xd1,0xd2,0x7a,0x9e,0x59,0xe7,0xc8,0x91,0xc5,0xb9,0xc9,0x85,0x1d,0x2d,0x39,0xb5,0x10,0x42,0xc2,0xa4,0xb8,0xc2,0xd,0x6c,0x3f,0x36,0x53,0xde,0xb,0xb7,0x3f,0x7c,0x8a,0x17,0x3d,0xeb,0xd3,0x1d,0x93,0x90,0xe0,0x54,0x95,0xd3,0x30,0xa,0x31,0x80,0xe1,0xdb,0x5,0xc0,0xa9,0x66,0x2f,0xf1,0xec,0x32,0x6a,0x39,0xd1,0x42,0x66,0x9e,0x99,0x50,0xb1,0xb8,0x38,0xfc,0xad,0x81,0xe,0x30,0x31,0x56,0xba,0x7d,0x5e,0x22,0xf8,0x48,0xf3,0xa9,0xb4,0xe9,0x66,0x72,0x59,0xbb,0xfc,0xd1,0x56,0x1b,0x57,0xa1,0x3,0xbb,0x38,0x2,0xe9,0xef,0x45,0xc6,0xa0,0x85,0x57,0x3e,0x7d,0x36,0x1b,0x48,0xc1,0x37,0x9b,0x76,0x85,0xe,0x6d,0x22,0x5e,0x80,0x11,0x55,0x3,0x13,0xc9,0x73,0x13,0x41,0x43,0x89,0x60,0xfa,0x83,0x69,0xd4,0xa,0x21,0x4,0x2b,0x34,0x6d,0x1b,0xdf,0xe6,0x6,0xd5,0x4e,0x38,0xd1,0x6b,0x9e,0xb0,0xc3,0x24,0x52,0x5,0x43,0x4d,0xa1,0x4e,0x9f,0x47,0x72,0x2a,0x84,0x9e,0x29,0xed,0xfc,0xf3,0x18,0x97,0xef,0xa6,0x1,0x18,0x5e,0x3d,0x47,0x8e,0x5e,0x8e,0x4b,0x6,0x41,0x5e,0x90,0x22,0x0,0x6d,0xd5,0x63,0x0,0x34,0xf4,0xac,0x21,0x60,0x39,0x74,0xc6,0x2a,0xd9,0xc5,0x94,0x78,0x8c,0xaf,0x4b,0x40,0x3c,0xb7,0x78,0x8,0xb4,0x81,0xd8,0x30,0x16,0x82,0x1c,0x4d,0x56,0x62,0x6d,0x20,0x99,0x1b,0x24,0xf0,0x72,0xa9,0x1,0x65,0x79,0x3a,0x4c,0xd8,0x64,0x4b,0xea,0x31,0xf7,0x7c,0x20,0x47,0x95,0xaa,0x9e,0x1d,0x95,0xe8,0x3,0xb0,0x53,0x17,0x1d,0x3,0x75,0xc1,0x80,0x9,0x8f,0x11,0x62,0x96,0x85,0xe3,0x90,0x7f,0xfb,0x2a,0x97,0x9e,0x60,0xb9,0x63,0x5f,0xc7,0x9,0x87,0x47,0xf3,0xea,0x19,0xdf,0xe7,0x9c,0x3a,0x45,0x72,0xec,0x68,0x2,0x30,0xd6,0x4b,0xb4,0xb0,0x43,0x8e,0x22,0xb5,0x68,0xf7,0x94,0x6d,0xe7,0xa5,0x5e,0xf,0xc7,0xdc,0xa9,0x8b,0xab,0x33,0xf9,0x2d,0x54,0xff,0x58,0x61,0x21,0xc2,0x4e,0x42,0x68,0xf9,0x84,0x55,0xae,0x8c,0xef,0x66,0x71,0x5d,0x5b,0x40,0x10,0xd3,0x14,0xa9,0x82,0x21,0x67,0x42,0x4e,0x8,0x72,0x54,0x55,0x83,0x2f,0x75,0x5,0x98,0xb6,0xab,0x71,0x46,0x83,0x25,0xf2,0x5c,0x2b,0x99,0x3c,0x53,0x39,0x59,0xee,0x93,0xa8,0x43,0x5b,0xee,0xd8,0xd7,0x71,0x4c,0xaf,0x9e,0xf1,0x7d,0x7a,0x66,0x46,0x23,0x84,0x7a,0xca,0x6d,0x34,0x9d,0x76,0xe6,0xb0,0x33,0xf2,0xe0,0xd9,0x88,0xc7,0x73,0x9,0x80,0x54,0xff,0x38,0xd,0x6a,0xd,0x84,0x5b,0x62,0x5d,0x8,0x1e,0x28,0x69,0xdf,0xd3,0xcd,0x7d,0x62,0x43,0x2f,0x79,0xc3,0x32,0x1d,0xf2,0x74,0xb5,0x15,0xa0,0xc5,0x7,0x96,0x58,0xa7,0xc1,0x84,0xb5,0x4c,0xeb,0xf1,0x54,0x1,0x8,0xfd,0xfa,0x14,0x64,0x68,0x45,0x6,0x4e,0x96,0xfb,0xa4,0xe8,0xd0,0xb9,0xc,0xe,0xda,0x14,0x8e,0xdb,0xab,0x97,0x2d,0xbb,0x98,0x5,0x1e,0xa2,0x29,0xca,0xe6,0x9e,0x65,0x9e,0x7b,0xad,0xe4,0x8c,0xed,0x8c,0x95,0xea,0x1f,0x1f,0xb9,0x96,0x51,0x15,0xf3,0x3c,0x53,0xb4,0x30,0x4e,0x27,0x37,0x4a,0xb,0xd3,0x92,0xc3,0x6a,0x21,0x8,0xa4,0xea,0x0,0x25,0xea,0x4c,0x18,0x72,0x9d,0xe4,0x47,0x9d,0x5d,0x0,0x5e,0x95,0x4,0x95,0xe5,0x3e,0x8e,0x36,0xd6,0xc4,0xbd,0x92,0xe3,0xf4,0xea,0x59,0x2,0xb9,0xe2,0x9e,0x5c,0xc5,0x15,0x84,0x1c,0xd6,0xee,0x14,0xb1,0xb9,0xe4,0x5a,0xea,0x9,0xb6,0x33,0x56,0xaa,0x7f,0x4c,0x94,0x51,0xbb,0x77,0xa9,0x9b,0x6e,0xae,0xb4,0x51,0x46,0x66,0x21,0x9d,0xcf,0xa0,0xaa,0x59,0x1,0x97,0x66,0x90,0x46,0x6,0x4e,0x96,0xfb,0x38,0xdb,0x18,0x13,0xf7,0x4a,0x8e,0xe5,0xd5,0xb,0xdf,0xa1,0x6d,0x21,0xe4,0xb4,0x9f,0xd1,0x64,0x45,0xbb,0xa,0x21,0x58,0x27,0xcf,0x66,0xbc,0xe0,0x33,0x2f,0x4,0xab,0x34,0x65,0x72,0x69,0x72,0x81,0x89,0x2b,0xe9,0xf6,0x4e,0x77,0xbd,0x7e,0xef,0x10,0x33,0x6d,0x58,0x1c,0x3,0xf5,0x31,0x36,0x79,0xb2,0x73,0x42,0x8b,0x76,0x67,0x6a,0x1b,0xfd,0x59,0xb6,0x3b,0xf6,0x75,0x1c,0xcb,0xab,0x17,0x9a,0x4c,0x7d,0x50,0x80,0x94,0x33,0xfa,0xc0,0x30,0xe2,0x80,0x10,0x3a,0x16,0xc8,0x13,0x43,0xa0,0x6f,0xc6,0x36,0x7d,0x69,0x2e,0x5,0x6d,0x58,0x4c,0xe,0x39,0xae,0x18,0xc5,0xf8,0x74,0x36,0x4e,0x88,0x75,0xf7,0x95,0xf0,0xb,0x77,0x1b,0xfd,0x59,0xb6,0x3b,0xf6,0x55,0x9c,0x1f,0x95,0x77,0xc2,0xe,0xe2,0x9f,0x0,0x3,0x6e,0xa4,0xcf,0x75,0x91,0x2a,0x23,0xe0,0x25,0x82,0x96,0xbc,0x17,0xf5,0xbb,0x9e,0x24,0x97,0x5d,0x90,0x90,0xa,0xae,0x21,0xa7,0x9d,0x70,0x4a,0xf7,0xe5,0x35,0x66,0x3e,0x46,0x42,0xbd,0x3,0x16,0xb9,0x91,0x11,0x9c,0x75,0x3e,0x50,0x20,0xcf,0x5e,0x72,0x91,0x3b,0x4f,0x99,0xa7,0x32,0x8b,0x2,0x1c,0x66,0x45,0xe,0x23,0x0,0x3b,0x2d,0x26,0x37,0x45,0x0,0x4e,0x18,0x53,0xa4,0xc8,0x58,0x9a,0x90,0x76,0x3e,0x46,0x72,0xd9,0xbb,0x42,0x7a,0x3c,0xb4,0x2c,0x11,0xf3,0x45,0x4e,0xd3,0x22,0xf7,0x8c,0x19,0xf3,0x28,0xd,0xb2,0x2,0xf7,0x8c,0x19,0xf1,0x51,0xea,0xea,0x9d,0x70,0xdb,0x78,0x50,0xc,0x2b,0x23,0x9d,0x35,0x84,0x7d,0x6b,0x6a,0xcd,0xf1,0x39,0x49,0x49,0x1c,0x8a,0xe2,0xdf,0xc5,0xaf,0xc5,0x57,0xe2,0x1b,0xf1,0xd5,0x9b,0xba,0xf1,0x53,0xf1,0x3b,0xf1,0x33,0xf1,0x33,0xf1,0x3b,0xf1,0x53,0xc9,0xfb,0x83,0xf8,0x7,0xad,0xcd,0x5f,0x84,0xa5,0x6e,0xfe,0x33,0x2c,0x7d,0x13,0xd3,0x57,0xe2,0xff,0xc2,0xdf,0xfe,0x47,0xfc,0x63,0xf2,0x50,0x6d,0xd3,0x51,0x3,0x25,0x35,0x80,0x64,0x41,0x8d,0xa7,0x23,0x4f,0x3f,0x49,0xf2,0x35,0x5d,0xdb,0x2c,0x1f,0x6b,0xed,0x49,0x9a,0x59,0x24,0xfd,0xe3,0xee,0xb2,0xb5,0x74,0xc3,0x34,0x28,0xad,0xec,0x3b,0x47,0xb4,0x54,0x97,0x8d,0xf5,0x56,0xd6,0xf8,0x40,0x81,0x2,0x97,0x32,0x7b,0x26,0x8,0x47,0x5b,0xa0,0xae,0x23,0xf6,0x14,0x39,0x90,0x31,0xc1,0x56,0x3a,0x2b,0x8,0xc1,0x3c,0xc7,0xc,0xed,0x32,0x58,0x29,0xef,0x74,0x45,0x75,0xe3,0xbc,0x61,0x5,0xb8,0xe5,0x94,0x7b,0xee,0x39,0x95,0xc1,0xee,0x29,0xf9,0x18,0x86,0x59,0xba,0xcc,0x83,0xec,0x45,0x89,0x16,0x6d,0x8e,0x95,0xf1,0x8f,0xae,0xa2,0x1c,0x64,0xf0,0x71,0x17,0x4f,0x1a,0xf7,0xb2,0xaa,0xd4,0xa6,0xe6,0xba,0xd9,0xa3,0x9e,0xa9,0xfb,0xce,0xf2,0xb1,0x2c,0x71,0xa7,0x4,0x37,0x84,0xc0,0x88,0xea,0x1f,0x77,0x97,0xad,0xd,0xa7,0xe0,0x24,0x9e,0x2,0x21,0xb8,0xa3,0x49,0xd9,0x51,0x57,0xf0,0x38,0x8e,0x9c,0xd,0xde,0x73,0x5,0x1a,0x1a,0x5,0x46,0x28,0x6b,0xf1,0x99,0x4,0xd6,0xd0,0x59,0xe9,0xac,0xf2,0x2f,0xe7,0x33,0x95,0x88,0x75,0x64,0x45,0x26,0x83,0xb1,0x29,0x2,0x50,0x67,0x95,0x1e,0x3d,0x56,0x35,0x3b,0xc5,0xc8,0xc7,0x70,0x0,0x53,0x0,0x3d,0x3e,0x6a,0xb5,0x44,0xcb,0xdc,0xd1,0x8f,0x7c,0xb1,0xb1,0x0,0x54,0xd9,0x13,0x82,0x12,0x1d,0x2a,0xf2,0x5d,0x39,0x92,0xf2,0x76,0xaa,0x39,0x1e,0x6a,0x9c,0x4c,0xef,0x7e,0x72,0xf9,0x58,0x3d,0x95,0x22,0x80,0x46,0x55,0xff,0x78,0x42,0xd9,0x5a,0xa4,0xae,0x7b,0x2d,0xd5,0x9e,0x8e,0xb,0xc,0x61,0x95,0x86,0xb2,0xbc,0x1f,0x8,0x21,0x4,0x7,0xb2,0x57,0x61,0x69,0x55,0x72,0x7a,0x42,0x15,0xcb,0x9c,0xc9,0xd4,0x91,0xc4,0x74,0x56,0x57,0x91,0xe8,0x64,0x9c,0x3d,0x6b,0x52,0xdc,0x54,0x1,0x78,0x62,0x89,0x26,0x4d,0x96,0x34,0x1,0xd0,0xf3,0x31,0x52,0x2a,0x9f,0x5a,0xf7,0xdb,0x97,0x6b,0x5d,0x64,0xf3,0x31,0x60,0x41,0x8,0x1e,0xd8,0x67,0x59,0xc2,0xba,0x25,0x86,0xe1,0xfb,0x53,0x55,0xe,0x36,0x58,0x60,0x12,0x5,0x2a,0xa4,0xa,0x40,0x62,0xf9,0x58,0x43,0x0,0xf2,0x3c,0xb3,0xa1,0xfb,0xc7,0x9d,0x65,0x6b,0x6d,0x2c,0xae,0x1a,0x97,0x7d,0xd4,0x9e,0xdc,0x8c,0xb7,0x9,0xca,0xf4,0xb9,0xe7,0x8e,0x96,0xd4,0x1,0x6a,0x54,0x28,0x90,0xa3,0xec,0xd8,0xc2,0xd6,0xb3,0x4f,0xdc,0xeb,0x72,0x20,0x5f,0x29,0x0,0x51,0x8d,0xf2,0x82,0x8e,0x43,0x6a,0xf9,0x18,0x89,0x4a,0x60,0x1a,0xc0,0x1e,0xb,0x0,0x42,0xb0,0x11,0xec,0xff,0xca,0x97,0xec,0x6,0xe,0x7,0xad,0x0,0xc2,0x21,0x8d,0x60,0xd0,0xa6,0x8,0x40,0x42,0xf9,0x58,0x96,0xa9,0x1a,0x71,0xc6,0x5b,0x66,0xd0,0xb7,0x5d,0xb6,0x56,0x7d,0xb7,0x14,0x99,0x6f,0x33,0x66,0xcc,0x83,0xa,0x2b,0xb1,0x13,0xe7,0x1f,0x8,0xc1,0x36,0x3d,0xe,0xb9,0xa1,0x1f,0xb9,0x4e,0x42,0x74,0x6e,0x4c,0x47,0xa,0x7a,0xb4,0x35,0x5d,0xc8,0xe4,0x89,0x4f,0x25,0x0,0x89,0x20,0xb3,0x63,0xbc,0x16,0x23,0x5d,0xc6,0x79,0x1f,0x59,0xc0,0xde,0x30,0xf1,0x5e,0xa6,0x99,0x81,0xda,0x7d,0xee,0xd8,0x21,0x4f,0x81,0x73,0xb,0x99,0x4,0x21,0x68,0xb1,0xa1,0xbb,0x56,0xb8,0xa1,0x12,0x58,0x92,0x4a,0xcb,0x47,0x4e,0xb2,0x74,0xdf,0x55,0x3e,0x16,0x80,0xb1,0x5a,0xf8,0x21,0x94,0xd9,0xb1,0x15,0xc3,0x63,0x97,0xad,0x75,0xed,0x71,0xeb,0xe4,0x28,0x50,0xd1,0x34,0x8d,0xa6,0xaa,0x26,0xf2,0x12,0xbc,0xd5,0xb1,0x97,0x4c,0x59,0x6,0xed,0xa4,0xea,0x89,0xee,0xae,0x4a,0x5d,0x7f,0xb2,0x8,0xc0,0x8d,0x95,0xc9,0x6b,0xf7,0xe2,0x86,0x3d,0x72,0x2c,0x70,0x27,0x83,0xe0,0xed,0xfb,0xc,0xcd,0xdf,0xec,0x7c,0x8c,0x4c,0x65,0xef,0xce,0xe9,0x0,0x23,0x1e,0xa5,0xbe,0xd5,0x8e,0xb7,0x80,0xd3,0x60,0x18,0x59,0x51,0xa6,0x6c,0x97,0x9e,0x10,0xec,0x29,0x4e,0x89,0x3c,0xe3,0x74,0x15,0x46,0x2a,0x77,0x9,0xe5,0x63,0x39,0xd3,0xe1,0x54,0x16,0xe8,0xb0,0x42,0x47,0xf7,0xf,0x98,0x65,0x6b,0x9d,0x53,0x30,0x31,0xed,0x5c,0x21,0x58,0xd1,0x31,0x40,0x5b,0x9,0x94,0xf7,0x97,0x25,0xe8,0x95,0x21,0x1c,0x49,0xad,0x3b,0x21,0x9d,0x55,0xd1,0x40,0xb2,0x8,0x40,0x89,0x21,0x47,0xe4,0xf5,0x5c,0x4a,0x4b,0xad,0xec,0x2,0x43,0x6e,0xed,0x1c,0x89,0xe9,0x89,0xa1,0x71,0x3e,0xc6,0x5b,0xed,0xe5,0x27,0xc6,0xa1,0x93,0xf6,0x5c,0xa9,0x5d,0x53,0x60,0xc2,0x6,0x15,0xc5,0x6c,0xd8,0xe,0xa2,0xf4,0xa6,0xa,0x80,0xab,0x42,0x2d,0x72,0x21,0xda,0xd4,0xde,0x92,0x43,0x21,0xd8,0xb7,0xc2,0x4f,0x49,0x9c,0x82,0x5b,0xe9,0x61,0x58,0xb,0x45,0x68,0xa4,0xbc,0x5,0xe7,0x46,0xbf,0x2e,0x75,0x33,0x50,0x8,0x72,0x94,0xa9,0xf3,0x14,0xc7,0xf6,0x48,0x25,0xf0,0x4e,0x8a,0x91,0x23,0x9d,0x95,0x2,0x87,0x51,0x52,0x5b,0xfa,0x34,0x29,0xcf,0x5f,0xa7,0x9,0x8c,0xe2,0xa7,0x7f,0x5f,0x1,0x93,0x6b,0x86,0xac,0x91,0x63,0x37,0xca,0x7a,0x95,0x6,0xc8,0xad,0x16,0xb8,0x74,0x1d,0x16,0x29,0x9f,0x26,0x0,0xae,0xf2,0xb1,0xb1,0x12,0xd8,0x94,0xb1,0x40,0xf2,0xd0,0x23,0xda,0x69,0xa9,0x5b,0x72,0xa,0x8e,0x18,0x46,0x70,0xd,0x67,0xd4,0x59,0xa0,0xc0,0xad,0x92,0x75,0x68,0x26,0x80,0x2d,0x85,0x35,0xbb,0xea,0x8a,0xf1,0x8,0xcf,0x9c,0x2b,0xfa,0x45,0x27,0x34,0x97,0xae,0x14,0x41,0x2f,0x87,0x85,0xa3,0x53,0x80,0xa0,0x2f,0xb,0x31,0x7b,0xe4,0x9c,0x1,0x13,0x1a,0x46,0xf4,0xc8,0x49,0x9c,0xa1,0x17,0xe,0xc4,0x72,0x2c,0xff,0x29,0x2,0xe0,0x2a,0x1f,0x8b,0xa2,0xf6,0x55,0xe5,0x1b,0x1a,0x29,0x67,0x1b,0x53,0xca,0xd1,0x75,0x4c,0x20,0x28,0x4c,0x97,0x54,0x12,0xcc,0x3e,0x8b,0x97,0xfc,0x87,0x3b,0xa7,0x6d,0x89,0xe7,0x94,0x94,0x4d,0xe9,0xde,0xd8,0xfd,0x3d,0xbd,0xdf,0xd4,0x24,0x6b,0xfd,0xe9,0x57,0x8,0xc1,0x39,0x43,0x86,0x5a,0x75,0x64,0x8b,0xa3,0xd8,0x17,0x4f,0x34,0x98,0x30,0xa1,0x41,0xdd,0x76,0xc4,0x7b,0x7a,0xa3,0x33,0x48,0x72,0x8a,0x56,0xfc,0x6d,0x5b,0x59,0x61,0x89,0xf1,0xb7,0xec,0xf8,0x41,0xc2,0xb3,0xf,0x68,0xb1,0xc4,0x12,0x2d,0xb9,0xd1,0x5a,0x1c,0x63,0x3d,0x8e,0x34,0xa1,0xee,0x8f,0x6d,0x9a,0x2a,0xc,0xc2,0xdd,0x7b,0x39,0xd1,0x5c,0xda,0xa4,0xc1,0x84,0xb1,0xda,0x26,0xdc,0xfe,0xd0,0xb4,0x9a,0xd4,0x30,0x36,0x36,0xe9,0xa5,0x4f,0x1c,0xfb,0x52,0xdf,0x49,0xd9,0xec,0x92,0xbc,0x8c,0x5a,0x9b,0x16,0x65,0xae,0xe8,0x53,0x96,0x77,0x6c,0x51,0x66,0xcc,0x63,0xcc,0x31,0xee,0x99,0xf,0x6d,0xb8,0xe9,0xf1,0x80,0x53,0xb1,0x65,0x5d,0xea,0x17,0xa8,0x32,0x8e,0x72,0xd8,0x42,0xa0,0xa8,0x5,0x4a,0x68,0x87,0x7d,0x1f,0xeb,0xec,0xbd,0xb0,0x10,0x24,0xc,0xa5,0x6d,0xee,0x88,0xc0,0xe1,0x3c,0x8c,0xdb,0xa9,0x4f,0xc5,0xd2,0x8c,0x83,0x67,0x28,0x70,0x26,0x87,0x6a,0x9b,0x67,0x8a,0x14,0xe3,0x28,0x25,0xee,0x39,0x65,0x9e,0x3c,0x17,0x5a,0x30,0xcc,0x86,0x3e,0xa1,0x3c,0xda,0xa,0xa0,0x11,0xab,0xbb,0x6d,0x55,0x2b,0x49,0xb2,0x64,0x9e,0xec,0x11,0x4d,0x2f,0x91,0x65,0xdc,0x79,0x42,0x8e,0x11,0x8b,0xa,0x9c,0x3d,0x21,0x7,0x4c,0x62,0xce,0x8c,0x2b,0xc0,0x2c,0xa0,0x25,0x7,0x4a,0xa6,0xff,0x8d,0xea,0xdb,0x13,0x82,0x53,0x3a,0x94,0xf5,0x42,0x72,0xd6,0x9d,0xed,0xb3,0xf7,0xce,0x68,0xb1,0xa2,0xd7,0x1e,0x62,0x3e,0xb0,0xea,0x65,0xc,0xde,0x19,0xd,0x4a,0x66,0xe4,0x9e,0xab,0x17,0x6c,0x51,0xb7,0xfc,0xde,0x39,0x5,0x32,0xdd,0x13,0x42,0x8,0xf6,0xac,0x52,0x94,0x2a,0x4,0x36,0x4f,0x97,0xd,0x63,0x82,0x97,0xa6,0x82,0x5f,0xb8,0x11,0x77,0xa9,0x80,0xd,0xdc,0xef,0xfc,0xac,0x9b,0x42,0xa2,0x0,0x9c,0xa9,0x2,0x20,0x4b,0x64,0x2c,0x52,0xa7,0xc5,0x84,0x9,0xcd,0x58,0x7,0x30,0xb4,0x8a,0x19,0xe,0x5e,0x2a,0xf2,0xac,0x68,0xdd,0x7d,0xe3,0x94,0xdf,0xae,0x6e,0x45,0x38,0xef,0x6c,0x9f,0xbd,0x97,0x1c,0x97,0xbb,0xa2,0x1c,0x4b,0xb1,0xe2,0x5c,0x91,0x6,0x5c,0xab,0xd1,0xfb,0x94,0xa9,0x59,0x7,0x4f,0x2e,0x2a,0x2e,0xae,0x84,0xf3,0x84,0xc,0xd4,0xf2,0x5a,0xf5,0xb4,0x85,0xa8,0x43,0x6e,0x16,0x1,0x60,0x9e,0x6e,0x54,0xeb,0x58,0xfa,0x2e,0x2a,0x9f,0x48,0x0,0x82,0x2d,0xa0,0x67,0x6c,0x1,0x70,0xab,0x70,0x4a,0x72,0x9d,0x71,0x5a,0x1,0xaf,0x5e,0x1,0x78,0xd4,0x2,0x3c,0xc9,0xfe,0xd5,0x53,0x4e,0xe3,0x7b,0x43,0x99,0x34,0x16,0xb9,0x89,0xa3,0xf7,0x29,0x53,0xb7,0x22,0x95,0x3,0x52,0x1c,0xa0,0xb4,0x69,0x3b,0x8a,0xdf,0xf5,0x64,0x6c,0xc2,0x6a,0x90,0x67,0x6b,0x14,0xae,0x1b,0xd3,0xe6,0xc4,0xbd,0xba,0x39,0x4,0xa0,0x62,0x24,0xa4,0xee,0xc6,0x29,0x99,0x6f,0x16,0x80,0x23,0xa9,0xf2,0xed,0x27,0x72,0x3a,0x76,0xa1,0xac,0x54,0x9d,0xd6,0x35,0xbc,0x34,0xa8,0x1b,0xdd,0xda,0xd5,0xd3,0x8d,0x1d,0x1e,0x0,0xdb,0x3,0x6e,0x75,0xdb,0x3a,0x7b,0xaf,0x2b,0xc1,0x9d,0xc4,0x33,0xfc,0x62,0x80,0xca,0x11,0xbd,0x1f,0x97,0xa7,0x79,0x71,0x3a,0x88,0x4b,0x3c,0x6a,0x8e,0x54,0x4b,0x0,0x28,0xd3,0x57,0x0,0xef,0x87,0xd0,0x89,0x8c,0x1,0x5a,0x6f,0xd3,0xd2,0x33,0x75,0x53,0x4,0x60,0x68,0xa8,0x94,0xcf,0x71,0x70,0xcc,0x54,0x2d,0xbf,0x6b,0x55,0x44,0x32,0xea,0x9e,0x71,0xce,0x88,0x81,0x96,0x84,0x62,0x71,0x66,0x34,0x6a,0x1c,0x2a,0x5f,0x91,0x1e,0x5d,0xb5,0x9e,0x1c,0x79,0x5e,0x34,0x9c,0xd0,0x56,0xa,0xf,0x6c,0x44,0x2f,0x58,0xa2,0xe3,0xfd,0xdd,0x71,0xf6,0xde,0x39,0x4f,0x14,0xc9,0xb1,0x99,0x7c,0x86,0x1f,0x1f,0x79,0x64,0x51,0x6f,0x23,0x37,0x25,0xe9,0x22,0xe1,0x24,0x4e,0xcb,0x30,0x26,0x6f,0x92,0xbc,0x5,0xb0,0x6b,0x1c,0x43,0x95,0x18,0xb6,0x41,0x51,0x73,0x65,0xa7,0x1e,0xf3,0x64,0xfa,0x32,0xec,0x38,0x9c,0x44,0x25,0x70,0x97,0xbe,0x1e,0x35,0x1d,0xc6,0x4c,0x7f,0xe2,0x58,0x67,0xf5,0xdc,0x50,0x97,0x0,0x1c,0x71,0x45,0x45,0x35,0x86,0xf4,0xa,0x14,0x9,0x8b,0xd5,0x76,0x50,0x73,0x58,0xee,0x45,0xc1,0x69,0x7c,0xd0,0xd7,0xd0,0x78,0xfd,0xec,0xbd,0x28,0x3f,0xb7,0xa1,0x3c,0xdd,0x38,0xc3,0x8f,0x1c,0x15,0x86,0x7a,0x9b,0x70,0xb9,0xae,0xa9,0x41,0xce,0xec,0x3b,0x8f,0x9e,0x94,0x31,0x8,0xb6,0x12,0xc8,0xba,0x59,0x99,0x20,0xa5,0x77,0x5a,0xc5,0x8d,0x54,0x1,0x68,0x71,0x40,0xde,0x9d,0xaa,0xfe,0x7e,0xb1,0xb8,0x54,0x99,0x30,0x76,0x4,0x85,0xdb,0x95,0xfb,0x80,0x3a,0x9b,0x94,0x95,0x1,0x2f,0xd2,0x35,0xaa,0xef,0x19,0x65,0x52,0x95,0xe5,0xee,0x36,0xbd,0xb3,0x5c,0xeb,0x45,0xd6,0x93,0x77,0x7c,0xab,0x85,0x9a,0x8d,0xb,0xf0,0xcc,0x85,0xe1,0xd6,0xb9,0xb4,0x7c,0x79,0x8b,0xb1,0xbf,0xc0,0x61,0x6,0x3e,0x99,0x5,0xa1,0x13,0x27,0x58,0xd,0xb1,0x9e,0x76,0xce,0xd7,0x3a,0x3d,0x26,0x4a,0x1d,0xa0,0x77,0x82,0x5e,0x39,0x62,0xc4,0x58,0x73,0xe8,0x97,0xe5,0x8,0xc6,0x56,0x8a,0xe3,0xc,0x3f,0xe8,0x93,0x13,0x22,0xb6,0x86,0xb9,0xd5,0xf,0x6d,0xd6,0x5d,0xc7,0x9a,0x58,0xac,0xa6,0x46,0xbe,0x58,0x67,0xef,0x65,0x17,0x0,0x16,0xb9,0x91,0x68,0x76,0x92,0x19,0x98,0x53,0xc2,0x4a,0x6b,0x8c,0x80,0xbe,0xe6,0xd1,0xb4,0xfc,0xe6,0x89,0xb,0x7e,0xdc,0x8b,0x5a,0x98,0x73,0x78,0xf5,0xfd,0xf2,0x35,0x4,0x4e,0x37,0xf5,0xe8,0x9a,0xf0,0xdc,0x83,0x96,0x2c,0x65,0x7d,0x43,0x89,0x25,0x23,0x70,0xf6,0x2a,0xea,0x95,0x3a,0x29,0x76,0xe5,0xbe,0x9b,0x50,0x9b,0x8d,0x33,0xce,0xed,0xd2,0x24,0xd3,0x6b,0x2,0x66,0x38,0x8d,0x2f,0x8b,0x0,0x50,0xb7,0xf2,0x5c,0x92,0x81,0xa0,0x8d,0xd9,0xce,0x34,0xf9,0xfe,0xc0,0xca,0xc6,0x48,0x1e,0x83,0x51,0x88,0xf6,0x80,0x5a,0xf4,0x33,0xdc,0x0,0x47,0xac,0xb3,0xca,0x48,0x5a,0x39,0x2d,0xe,0x3,0x38,0x4e,0x79,0x69,0xae,0xb4,0xca,0xc9,0x9b,0x9f,0x28,0x86,0xc0,0xd3,0x9b,0x26,0x7d,0x38,0x55,0x1d,0x5f,0x62,0xc4,0x13,0x23,0xc5,0x91,0xbd,0xce,0x90,0x35,0xd6,0x19,0xc5,0x68,0xb,0xd7,0xb4,0xa3,0x9f,0x4e,0x1b,0x69,0x87,0x73,0x65,0xf5,0x6b,0x2,0xc3,0x57,0xdb,0xa,0x9e,0x1c,0x13,0x96,0xe3,0x9a,0x11,0x23,0xee,0xa5,0x76,0x70,0x17,0x46,0x18,0x3c,0xcb,0xed,0x23,0x8,0x5c,0x59,0x93,0xef,0x6d,0x8d,0x3,0x6e,0xe3,0xf7,0x38,0x41,0x0,0x1e,0xa9,0x9,0x41,0x4d,0x29,0x23,0xd1,0xe6,0x3a,0xfa,0x69,0xad,0x0,0xeb,0x72,0x5,0x38,0xa,0x70,0x1,0x69,0x8e,0xfa,0x4a,0xaa,0x72,0xf8,0xda,0xda,0xc4,0x99,0xe5,0x98,0xed,0x33,0x78,0x5a,0x4c,0xe8,0x53,0x65,0x1c,0xab,0x95,0x96,0xaf,0xe3,0x92,0x7,0xe6,0xd9,0x82,0x18,0xe7,0x33,0xaa,0x9d,0xad,0xd1,0x67,0x8f,0x3d,0xfa,0xd1,0x7b,0xcb,0x3e,0x8f,0x8c,0xa9,0x9b,0xd1,0x91,0xda,0x9b,0xbb,0xcf,0x90,0x62,0x60,0xe4,0x4a,0x70,0x67,0x9d,0x11,0x6b,0xac,0x33,0x96,0x77,0xba,0xe7,0x30,0xfa,0xe9,0xd6,0x1,0xb2,0xe,0xce,0x95,0x12,0xc1,0x13,0xa9,0x8,0xf1,0xb9,0xf4,0xf9,0xb4,0x43,0x11,0x68,0x4b,0x90,0xb6,0x24,0xa5,0x3e,0xa6,0x89,0xd2,0x4e,0x2f,0xd7,0xe4,0xa8,0x15,0x64,0xd,0x43,0x8d,0x3,0xc3,0x9e,0x5e,0xa7,0xc1,0xd8,0x3e,0xbb,0x8c,0x9c,0xb2,0x33,0x76,0x19,0x72,0x4a,0x8f,0xbe,0xb6,0xf7,0xe9,0x2,0xe0,0x38,0x82,0xc5,0x3e,0x83,0x87,0x2,0x4b,0x4c,0x58,0x96,0x48,0x83,0xed,0xeb,0xe8,0xb1,0x44,0x9e,0x36,0x67,0xc9,0xf1,0xf8,0xec,0x1,0xc4,0xc0,0x30,0x8b,0xf4,0xb8,0x8a,0x10,0x89,0x4,0x1,0xa8,0xca,0xf4,0xcf,0xdd,0x18,0x53,0xe4,0x90,0xfb,0xe8,0xe7,0xa7,0x5e,0xc8,0x1e,0xd8,0x12,0x82,0x6d,0x1e,0xe4,0x1b,0xf1,0x2c,0xf1,0xb9,0x92,0x51,0x85,0x47,0x17,0x80,0x53,0x29,0x32,0x15,0xe3,0x4,0xad,0x1c,0x37,0x46,0xc5,0x40,0xa5,0x7e,0x8f,0xa3,0xc2,0x90,0x2d,0x0,0x9b,0xb4,0x79,0x51,0x85,0x80,0x1,0x5b,0xe,0x57,0xcf,0x1,0x2f,0x6a,0x5d,0x2f,0xca,0xc0,0x1,0xdb,0xc9,0xca,0x60,0xf2,0x1,0xc,0xe6,0x19,0x3c,0x5a,0x5,0x75,0xa7,0xaf,0x83,0xa,0x95,0x54,0x5,0x76,0x1f,0xd4,0x34,0x39,0x1e,0xe8,0x93,0xa7,0xe7,0xda,0x2,0xde,0x6f,0x81,0x2c,0xd0,0xe0,0x80,0x86,0x9e,0xb7,0xc7,0x2,0x27,0x7a,0x5d,0x5b,0x27,0x44,0x1a,0x64,0xa9,0xcd,0x7,0xff,0x2b,0xd3,0x72,0xef,0x38,0x76,0x2d,0xa7,0xc,0xa6,0x59,0x61,0xc8,0x95,0x3c,0x9d,0xe3,0x80,0xbe,0x62,0xb5,0x3f,0x73,0x65,0xe4,0x7,0xee,0xf0,0x1c,0xe4,0xf2,0x99,0xc8,0x1b,0x39,0x3,0x33,0xc8,0x14,0x69,0x6b,0x79,0x1b,0x48,0x9d,0xdc,0x3e,0xa7,0xb4,0xc9,0xbb,0xca,0x47,0xc9,0x2d,0x60,0xc0,0x1e,0x7b,0xc,0xe4,0xc2,0x7d,0xc4,0x99,0x10,0x9c,0xb9,0x82,0x37,0xde,0x53,0x4,0x56,0x19,0x6a,0x31,0xf5,0x1f,0x39,0xe1,0x82,0x31,0x2b,0x9c,0x28,0xb9,0x76,0xae,0xa8,0x80,0x6b,0x4e,0xa3,0x7c,0x1e,0x65,0xe2,0xaa,0xaa,0x37,0xcc,0x51,0xbf,0x27,0xc3,0xa4,0x48,0xf0,0xa7,0xa3,0x94,0x4e,0xba,0xa0,0x43,0x8f,0x8f,0x4a,0x91,0xb9,0x8e,0x5e,0xf9,0x92,0xf3,0xd8,0x64,0x9d,0x7d,0x5,0x48,0x15,0x9,0xdb,0xd7,0x51,0x1,0x36,0x99,0xe7,0xc1,0x3e,0xc9,0x23,0x49,0x9,0xfc,0x7e,0xaa,0x48,0x8b,0x34,0x29,0x71,0x16,0xef,0x4b,0xec,0x51,0x65,0xc8,0x9,0xcf,0xe6,0x9b,0x6c,0x75,0x71,0x99,0x1e,0x45,0x6,0xaa,0xfb,0xc3,0xda,0xe,0x5c,0x15,0x7d,0x4c,0xbf,0x9d,0xe3,0x40,0xa3,0x70,0x5,0x78,0x31,0xca,0xa0,0x16,0xb9,0x94,0x5b,0xc9,0xe,0x2f,0xfa,0xa,0xc0,0x88,0x25,0x3b,0x3c,0xd4,0xd0,0x1,0xb2,0x1c,0xc1,0x62,0x73,0xce,0x2c,0x5f,0xc7,0x3d,0xf7,0xe6,0x79,0x7e,0x3f,0x44,0xd,0xb9,0x10,0xe6,0x5,0x15,0x78,0x90,0x40,0x4b,0x29,0xd0,0x75,0x39,0x7,0xc3,0xeb,0xef,0xca,0x81,0xe9,0x6a,0x70,0xe3,0xb1,0x89,0xc8,0x3b,0xea,0xf7,0xd8,0x15,0x86,0xec,0xaa,0x5a,0xb6,0xe,0x70,0xc7,0x2e,0x85,0xa0,0x26,0x70,0x92,0xe,0xc0,0x88,0x22,0xd,0x3e,0x18,0x9b,0xc2,0x34,0x2b,0x20,0x93,0x4b,0x9c,0xe3,0xd0,0xc8,0x6b,0x88,0x2f,0x89,0xb8,0x97,0x56,0x80,0x5a,0x99,0x7e,0x18,0x26,0x8b,0x4d,0x49,0xda,0x8,0x33,0x55,0xd5,0xc,0x3d,0x1b,0x35,0xb4,0x2b,0xfa,0xd8,0x15,0x86,0xec,0x23,0x8e,0x6a,0x1c,0x1a,0xd3,0x78,0x4d,0xf,0x18,0x9b,0xe7,0x7f,0x92,0xe3,0x50,0x5a,0x1,0x27,0x4c,0x78,0xe4,0xd1,0xac,0x43,0xe4,0xc9,0x93,0x27,0x4f,0x9e,0x3c,0x4d,0xc5,0xc,0xf5,0xff,0x7f,0x1c,0x9d,0xee,0x32,0x91,0x98,0xd8,0x32,0x1f,0x95,0x8c,0x5b,0xdb,0x5c,0xd3,0x8e,0x56,0x37,0x4e,0x1a,0x8b,0xf,0x6d,0xd5,0xce,0x5,0xa1,0xae,0x38,0x30,0x62,0xfd,0x7d,0xc0,0x80,0xa,0x45,0x36,0xa5,0x66,0xa0,0x1c,0x13,0x1,0xce,0xe3,0x11,0x32,0x7f,0xf2,0x34,0x9b,0x1d,0xb0,0x24,0xcb,0x89,0x35,0xd5,0xbc,0x73,0x47,0xdb,0x1,0xab,0xac,0xaa,0xf0,0x8d,0xa2,0xea,0xd,0x15,0x8,0x53,0x9e,0xb,0x42,0x81,0x55,0x9,0xb0,0xc6,0xf1,0xaa,0x4d,0x36,0x29,0x52,0xd1,0xc4,0xc9,0x71,0x74,0x8d,0xa7,0xcf,0x3f,0xfd,0x1f,0x18,0x4d,0x4b,0x4e,0x48,0x14,0x80,0x4e,0x1c,0x5b,0xa2,0x9f,0xd7,0x11,0x9f,0xb,0xc2,0xb,0xc8,0xd8,0xdd,0xd9,0xe2,0x55,0x3d,0x7d,0x27,0x2,0x0,0xa5,0xa4,0x93,0x7c,0xa7,0x6e,0x1,0xd5,0xe0,0x9f,0xa7,0x1f,0xfe,0xa,0xd0,0xf7,0x3b,0xa9,0x27,0x4f,0x9e,0x3c,0x79,0xf2,0xe4,0xc9,0x93,0x27,0x4f,0x9e,0x3c,0x79,0xf2,0xe4,0xc9,0x93,0x27,0x4f,0x9e,0x3c,0x79,0xf2,0xe4,0xc9,0x93,0x27,0x4f,0x9e,0x3c,0x79,0xf2,0xe4,0xc9,0x93,0x27,0x4f,0x9e,0x3c,0x79,0xf2,0xe4,0xc9,0x93,0x27,0x4f,0x9e,0x3c,0x79,0xf2,0xe4,0xc9,0x93,0x27,0x4f,0x9e,0x3c,0x79,0xf2,0xe4,0xc9,0x93,0x27,0x4f,0x9e,0x3c,0x79,0xf2,0xe4,0xc9,0x93,0x27,0x4f,0x9e,0x3c,0x79,0xf2,0xe4,0xc9,0x93,0x27,0x4f,0x9e,0x3c,0x79,0xf2,0xf4,0xce,0xf4,0xff,0x58,0x4d,0x50,0xf3,0x40,0x3b,0xbb,0x2,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82
-};
-
-
-static const unsigned char font_normal_png[]={
-0x89,0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0,0x0,0x1,0x0,0x0,0x0,0x1,0x0,0x8,0x4,0x0,0x0,0x0,0xf6,0x7b,0x60,0xed,0x0,0x0,0x0,0x1,0x73,0x52,0x47,0x42,0x0,0xae,0xce,0x1c,0xe9,0x0,0x0,0x0,0x2,0x62,0x4b,0x47,0x44,0x0,0xff,0x87,0x8f,0xcc,0xbf,0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x13,0x0,0x0,0xb,0x13,0x1,0x0,0x9a,0x9c,0x18,0x0,0x0,0x0,0x7,0x74,0x49,0x4d,0x45,0x7,0xdb,0xb,0x4,0x13,0x15,0x34,0x44,0xfe,0xef,0x82,0x0,0x0,0x15,0x5f,0x49,0x44,0x41,0x54,0x78,0xda,0xed,0x9d,0x31,0x68,0x24,0x49,0x77,0xc7,0xdf,0x7d,0x13,0x8c,0x61,0x82,0xe1,0x43,0x86,0x9,0x14,0xc8,0xb0,0x81,0x82,0xc5,0x88,0xf,0x5,0x32,0x28,0x50,0xa0,0x40,0x81,0x2,0x61,0xc4,0x87,0xe,0x74,0x66,0x2,0x19,0x64,0x50,0xb0,0x86,0xd,0x2e,0xd8,0x40,0xc1,0x6,0x1b,0xac,0x41,0xc1,0x1a,0x84,0x51,0x20,0x83,0xc,0xfa,0x40,0x98,0x9,0x36,0x50,0x20,0x8c,0xc,0xa,0x14,0x28,0x98,0x40,0x81,0x2,0x19,0x26,0x98,0x60,0x2,0x5,0x63,0x50,0x30,0xc1,0x4,0x3f,0x7,0x5d,0x53,0x5d,0x55,0xdd,0xd3,0xd2,0x6a,0xf7,0xcc,0xde,0xdd,0xff,0xdf,0xdc,0x9d,0xba,0xbb,0xba,0xa7,0xbb,0xfa,0xd7,0x55,0xef,0xbd,0x7a,0xd5,0xf7,0x3,0x26,0xfd,0x9e,0xf5,0x7,0xf7,0xdf,0x98,0x83,0x96,0x75,0xac,0x15,0xac,0xaf,0x5b,0xc7,0x36,0xed,0x24,0x39,0x76,0xd3,0xce,0xa2,0xf5,0x33,0xdb,0x2c,0x9c,0x3f,0x2d,0x53,0x3c,0xd3,0x73,0x8e,0x4a,0xaf,0xa7,0x78,0x9e,0x35,0xbb,0x31,0xec,0x31,0xd8,0x12,0x9e,0xf7,0xa1,0xf0,0xb,0xc5,0x33,0xc6,0xbf,0x19,0x1e,0xdd,0xb5,0x85,0x8a,0xeb,0x4b,0xcf,0x94,0x5e,0xfb,0x6b,0xeb,0xba,0xbf,0x9a,0x36,0xb0,0xa6,0xab,0x6d,0x7c,0x8d,0x6f,0xdb,0xa3,0x99,0x99,0x9d,0xda,0xb6,0x3f,0x66,0xdb,0x4e,0x93,0x73,0xe7,0x47,0x3c,0xfa,0x72,0x93,0x5f,0x9a,0x5c,0x2b,0xc9,0x93,0xdc,0xb6,0xe3,0xe0,0x9c,0xd9,0x9d,0x98,0xbf,0x9a,0xc9,0x71,0xd9,0x99,0x1,0xb,0x96,0x43,0x16,0x38,0xc,0xd6,0x4f,0xd9,0xa4,0xc3,0x7a,0x54,0xc6,0x38,0x63,0x33,0x5a,0xdf,0xe4,0x2c,0x29,0x51,0x2c,0x53,0x3c,0xd3,0x73,0x8e,0x4a,0xaf,0x27,0x3d,0xcf,0x2a,0x7d,0x56,0xa9,0xd1,0xa,0xce,0x1c,0x9e,0x97,0xc2,0x2f,0x14,0xcf,0x18,0xff,0x66,0x78,0xf4,0x5b,0x3e,0x56,0x5c,0x5f,0x7a,0xa6,0xf4,0xda,0x3f,0xf0,0xd6,0xfd,0xd5,0x64,0x40,0xb3,0x70,0x4d,0x17,0xcc,0x61,0x18,0xcb,0xc,0xdd,0xde,0x26,0x43,0x96,0x93,0x73,0xe7,0x77,0x30,0xc7,0x45,0xf2,0x4b,0x93,0x6b,0x25,0x29,0x79,0xcb,0x2,0xdd,0xc2,0x9d,0x27,0xf7,0x68,0x18,0x6b,0xdc,0x1,0x23,0x7f,0xe2,0x5f,0xdf,0x72,0xc5,0x46,0xe5,0x7e,0xbe,0xea,0xec,0xb3,0xf4,0xa8,0xbd,0xf8,0xe8,0x1e,0xb3,0x95,0xd7,0x74,0xe9,0xb7,0x9c,0x38,0x54,0xde,0x72,0x52,0x79,0x7,0x97,0x95,0x77,0x99,0x97,0xdc,0x80,0xa4,0x5e,0x36,0x20,0xc1,0xd3,0xc,0xe3,0x81,0xd,0x8c,0x3a,0xaf,0x2b,0xa,0x7e,0xf9,0x96,0xb,0x4f,0xfe,0xcf,0xe,0xad,0x47,0x16,0xb,0x37,0xb4,0xcd,0x1d,0x70,0xcf,0xb6,0xdf,0xf3,0x92,0x2d,0x63,0xea,0x53,0xaa,0x6b,0x52,0x29,0x3,0xe0,0x8a,0xf9,0xa9,0xfb,0xd3,0xf5,0x89,0x26,0xf7,0xb2,0x1a,0x94,0x8,0xf7,0xc5,0x6b,0xf7,0xbc,0xc2,0x78,0x15,0xbc,0x77,0xab,0xd1,0x6b,0x45,0x25,0x0,0x6b,0x5c,0x63,0x18,0xd7,0xac,0x15,0x4a,0x95,0x1,0x50,0x7e,0x17,0xf9,0xd6,0xe,0xc7,0x9c,0x46,0xf5,0x72,0xc2,0x39,0x9d,0xf8,0x1a,0xc,0x63,0xc8,0x42,0xc2,0x52,0x5a,0xf0,0x25,0x5b,0x5e,0xd3,0xa7,0x81,0xd1,0xe4,0xc1,0xa1,0x5,0xf7,0xc9,0x23,0xd8,0xe4,0x9e,0x25,0x8c,0x25,0xee,0x7d,0x73,0xf6,0x92,0x2d,0x4f,0x3,0x30,0x43,0x8d,0x1d,0xfa,0xee,0x4d,0x7e,0x1a,0x80,0xb8,0x3e,0xb6,0x83,0x77,0x92,0x8a,0xb6,0xe5,0x3d,0xef,0x30,0xde,0xf1,0xce,0x6f,0x39,0xe,0xb0,0x2d,0x3,0xa0,0xc9,0x8d,0xdf,0xd2,0xe4,0xd1,0xbd,0x28,0xcd,0x4a,0x0,0x6e,0xdc,0xfe,0xf2,0xab,0x3e,0x76,0xdb,0x1a,0xf4,0x93,0x4e,0xa7,0xc1,0x88,0x39,0x86,0xcc,0xa4,0x0,0xac,0xd3,0xe3,0x53,0x65,0xc1,0x97,0x6d,0x39,0x60,0x1f,0xe3,0x3d,0x7,0xfe,0xe7,0xd6,0xb9,0xa3,0x15,0x5c,0xec,0x8d,0x67,0x7d,0xcd,0x55,0xc4,0xd7,0x6e,0xa9,0x7e,0xc3,0x6f,0x58,0x7a,0x11,0x0,0x75,0x6,0x34,0x9e,0x1,0xc0,0x22,0x57,0x18,0x77,0xbc,0xa,0x8e,0xab,0x57,0x2,0x70,0xc9,0x7e,0x45,0x23,0x5e,0xe,0xc0,0x7,0xd7,0x6,0x54,0x5f,0xf5,0xe,0x47,0x18,0x47,0xec,0xf8,0x2d,0x6d,0xae,0x30,0x3a,0xc1,0x16,0x7,0x80,0x51,0xa3,0xcd,0xad,0x33,0x3c,0xca,0xa,0xbe,0x6c,0x4b,0x93,0x7b,0x56,0xb8,0xf7,0x68,0x81,0xb1,0xc5,0x25,0x35,0x7f,0xb1,0xf9,0x9b,0x5b,0x67,0xfc,0x15,0x5b,0xb6,0xb8,0x67,0x5,0xa3,0xe9,0x9a,0xea,0xaf,0x7,0x20,0xec,0x0,0xe2,0x37,0x39,0xde,0x97,0x96,0xec,0xb3,0xe2,0x1a,0xf2,0xac,0xe5,0x38,0x9e,0x8a,0xcb,0x2f,0xd5,0x2,0xe4,0x1d,0xc5,0xa,0xc6,0x72,0xd0,0xc5,0x5c,0xf0,0xe,0x63,0x87,0xab,0x22,0x0,0x59,0x93,0x3d,0x98,0x5a,0xf0,0x65,0x5b,0x8c,0x4d,0x46,0x81,0x55,0x90,0x5d,0xe0,0x3b,0x3e,0x7d,0x73,0x0,0x8c,0x5d,0x6,0xc0,0x83,0x6b,0xaa,0x8b,0x55,0xb3,0x88,0xb1,0x49,0xdf,0x1d,0xf9,0xa5,0x2d,0x40,0xd8,0x97,0x53,0x69,0x5e,0x1e,0x70,0xc7,0x9b,0xa0,0x4e,0x56,0x9f,0x0,0xe0,0x97,0xb2,0x1,0x66,0x3,0xeb,0x64,0x76,0xca,0x16,0xf,0xc0,0x2a,0x4d,0x8c,0x35,0xc7,0xdf,0x73,0xe,0x7d,0xde,0xe9,0xa7,0xdd,0xf2,0x29,0x5b,0xdf,0xb8,0xb,0x30,0x8c,0xfd,0xa0,0xe7,0x7d,0x74,0x1d,0xd1,0x8c,0xbb,0x27,0xb8,0x81,0xa0,0x8d,0x4b,0xf7,0x17,0xcb,0x4f,0xb7,0xe6,0xab,0x1,0x58,0x9,0xee,0x7f,0x96,0x5e,0x85,0x2d,0xff,0x3c,0x2f,0xe0,0xa5,0x0,0xbc,0xe3,0x83,0xb7,0x4b,0x7e,0x76,0x5b,0xf2,0x17,0xfc,0xe7,0x18,0x80,0xe,0x23,0xa0,0xe7,0x5c,0x86,0x62,0xc1,0x97,0x6d,0x99,0x7e,0xcb,0xd,0xae,0xbe,0xb1,0x11,0x68,0x18,0xaf,0x18,0x6,0x51,0x82,0x63,0x1a,0x34,0xbc,0x15,0x9c,0x3e,0xa6,0x74,0xff,0x53,0xe5,0x43,0x7f,0xbe,0xa,0x80,0x3a,0x3b,0x9c,0x7,0xf1,0x83,0xf,0xc1,0xbe,0x1a,0xcb,0x3c,0x94,0x1c,0x59,0x15,0x7,0x28,0x3,0x60,0xae,0xa4,0x2d,0x2a,0x2,0xd0,0xf5,0x86,0xfd,0xbc,0xf3,0x49,0xba,0xbe,0x3b,0xda,0xb,0xa3,0x3,0xc5,0x1b,0x29,0x16,0x7c,0xd9,0x96,0xe9,0x0,0x18,0xaf,0xdd,0x9b,0xf6,0xad,0xdc,0xc0,0xcc,0x99,0xdd,0xf5,0x7f,0xb7,0x38,0x63,0xc4,0x88,0xb3,0xc8,0xe4,0xb4,0xa9,0xfb,0x8b,0xe5,0x8b,0x56,0xc0,0x6b,0x77,0x5f,0x55,0x6e,0x60,0xdf,0x39,0x82,0x93,0x9a,0x7c,0x1d,0x1c,0x3f,0xe0,0x81,0x76,0x64,0x39,0x4c,0xee,0xe5,0xd1,0x41,0x18,0xde,0xdf,0x69,0x1,0x80,0xc9,0x11,0x8f,0x81,0x35,0x52,0xed,0x6,0x3e,0x6b,0xf9,0x81,0x49,0x28,0xf8,0x7,0xc5,0xc5,0x7f,0x67,0xda,0xb4,0x1f,0xed,0xcf,0x93,0xb1,0x0,0x3d,0xfe,0xdf,0xaa,0x1e,0xa6,0x8e,0xa1,0xfc,0x68,0x7f,0xc9,0x7,0x83,0x8a,0x8a,0x7,0xe,0xd2,0xf5,0x19,0x3b,0xb4,0xbe,0x61,0xd8,0xc0,0x6f,0x63,0x6a,0xe9,0x70,0x6d,0xd7,0x86,0x36,0xb6,0x73,0xb7,0xb6,0x63,0x97,0xb6,0x93,0x94,0xa9,0xd9,0xa6,0x3f,0xeb,0x86,0x75,0xfc,0x59,0x6e,0x6c,0x6c,0x6d,0xbf,0x96,0xef,0x99,0x56,0x7e,0xc6,0xe,0xac,0x6f,0xd8,0x83,0x1d,0xd9,0x5c,0x70,0x6d,0x7,0xb6,0x67,0x9f,0x5c,0x25,0xbc,0xb6,0x1b,0xc3,0x6,0xee,0x1a,0x72,0xf5,0x4b,0x2a,0xef,0xe1,0x89,0x1,0xa5,0xe9,0x43,0x44,0xe9,0x80,0x57,0x58,0x32,0xde,0x17,0xf,0x72,0x55,0xfd,0x42,0x78,0x5c,0xc3,0xe,0xed,0xda,0x2e,0xfd,0xbd,0x87,0x67,0xf9,0xeb,0xe8,0x97,0x7f,0xb2,0xff,0xb0,0x9f,0xec,0x2f,0x66,0x66,0xf6,0x67,0xfb,0xcf,0xc9,0x60,0x50,0x59,0x9f,0x5a,0xbd,0x5c,0x6,0xbd,0xe0,0x97,0x45,0xdc,0x1f,0x7d,0x34,0xd0,0x30,0x46,0xb4,0x19,0x25,0x25,0xe6,0xb8,0x76,0xe7,0x6a,0x70,0x17,0xf8,0x14,0xb3,0x6c,0xf1,0xd9,0x1b,0x92,0xf9,0x9e,0xf2,0xf2,0x33,0xdc,0xf1,0x9e,0x39,0x8c,0x16,0xfb,0xf4,0x83,0xbe,0x79,0x87,0x5b,0x6f,0x3c,0x76,0xd9,0xa3,0xc6,0x52,0xe1,0x1a,0x78,0x86,0xc5,0x5f,0x35,0xc,0x14,0xef,0x4b,0x7,0xbc,0xc2,0x92,0xf1,0xbe,0x78,0x90,0xab,0xea,0x17,0xc2,0xe3,0x8e,0x22,0xc3,0x3b,0x3e,0xb,0xd5,0x23,0x24,0xd3,0xac,0xea,0x14,0x89,0xf2,0x50,0x49,0xbe,0xde,0xe2,0x92,0x3b,0x2e,0xdc,0x45,0xc5,0x31,0xf1,0xd8,0x50,0xba,0xe0,0x67,0x1f,0x55,0x33,0x76,0xb8,0xf4,0xa1,0xa3,0xa2,0xc1,0x78,0x10,0xf8,0xd4,0xd9,0xd6,0x5d,0xef,0x6f,0xbf,0x29,0x79,0x38,0xe1,0xd6,0x23,0xf6,0x58,0xa3,0x7,0xdc,0x63,0xbc,0x8d,0xc2,0xd6,0x9b,0xde,0xd1,0x82,0x1a,0xc6,0x6a,0x12,0xd4,0x7e,0x1e,0x0,0xdf,0xcf,0xf2,0x18,0xd4,0x68,0xf1,0x31,0xdf,0x0,0x57,0xfe,0xc5,0xe8,0x31,0x76,0xb8,0x78,0x0,0x8a,0x7e,0x75,0x11,0x89,0x14,0x80,0xfb,0x4,0x80,0x4e,0xc4,0x60,0x1c,0x13,0x4f,0x43,0x94,0x5d,0x7a,0xde,0x1e,0xae,0xf2,0x92,0x17,0xb9,0x8e,0x46,0xe1,0x5a,0x6c,0x39,0x17,0x28,0xdd,0x53,0x56,0xbe,0x4f,0x83,0x21,0x6b,0x6e,0x5f,0xc3,0xd9,0xda,0xf3,0xdc,0x2,0xd7,0xde,0x69,0x5,0x63,0x8f,0x8f,0xfe,0xb8,0x59,0xae,0x5c,0x95,0x65,0x7b,0x7b,0x41,0xfc,0x0,0x17,0x6f,0x38,0x28,0x71,0xd0,0xe2,0xb5,0x16,0x17,0x40,0x2f,0x3a,0xae,0x7c,0x5f,0xba,0x76,0xd,0x5c,0x7b,0xdf,0xe4,0xb9,0x6b,0xa3,0x8,0x80,0x1b,0x1e,0x81,0x3b,0xff,0xeb,0x8b,0xd4,0xd8,0xf7,0xee,0xe9,0xc,0x73,0x61,0xb4,0xa3,0x3c,0xb2,0x56,0x44,0x22,0x5,0x60,0x99,0xdb,0xe8,0xd6,0xe3,0x4b,0x88,0x63,0xe2,0x31,0x0,0x43,0x9a,0x81,0x1b,0x98,0xf3,0x98,0x2,0x50,0xe3,0x9a,0x45,0x8c,0xb6,0xdf,0xde,0x63,0xc4,0xe,0xe6,0xf6,0xb4,0x4b,0xcb,0x9f,0xd1,0x77,0x70,0xf5,0x98,0x73,0x81,0x98,0xc,0x80,0xb1,0x8f,0x57,0xd6,0x58,0x8b,0x1e,0xca,0x63,0x90,0x45,0x70,0xce,0x3e,0x35,0x16,0x83,0x41,0x24,0x63,0x97,0x5b,0x5f,0xf6,0x4d,0x30,0xb2,0x31,0x1d,0x80,0xe,0x5b,0x18,0xab,0xc1,0x71,0xd3,0xf6,0xa5,0x6b,0xef,0xa8,0xf3,0xce,0xb5,0x47,0xcf,0x5f,0xfb,0x9c,0xc4,0x5e,0x1a,0xc9,0x55,0x67,0x23,0x35,0xd9,0xeb,0xf7,0xc0,0x63,0x78,0xcd,0xcf,0xd,0xb6,0xf2,0xc4,0x40,0xcb,0x28,0x69,0x84,0xc2,0x98,0x78,0xec,0x53,0x3f,0xb0,0xc4,0xac,0x7f,0x3,0x73,0x1e,0x53,0x50,0xb2,0xaa,0x9e,0xe5,0xb4,0xd0,0xf4,0xbe,0xe1,0xa0,0x64,0x7b,0x56,0x7e,0x91,0xa6,0xbb,0xd5,0x3e,0x75,0x86,0xac,0x50,0x7,0x1a,0xec,0xbb,0xb6,0x63,0x9c,0x4,0x83,0xc1,0x58,0xe1,0x9c,0x7b,0xf7,0xbe,0x4c,0xee,0x23,0xbc,0xb7,0x9a,0x5f,0x7b,0xeb,0x1f,0x7f,0x35,0x0,0xa3,0x24,0x56,0x30,0x7d,0x5f,0xba,0xd6,0x8,0x1e,0xd6,0xf3,0xd7,0x5a,0x9c,0xd3,0xe5,0xc2,0xe1,0x90,0x5e,0x75,0x8,0xc0,0x23,0xb,0xd4,0x53,0x0,0xc2,0xf7,0xfd,0xea,0x85,0x0,0x7c,0x4e,0xcc,0x90,0x30,0x26,0x1e,0x3f,0xa8,0x75,0xee,0xe9,0xbb,0x8e,0x25,0xe4,0x31,0x2e,0x37,0xcb,0x1d,0xd,0x8c,0x53,0xff,0x36,0xc6,0x7b,0xd2,0xed,0x93,0xf2,0xc6,0x1,0x7b,0x2e,0xb0,0xba,0xcb,0x6,0x7d,0x6,0x1c,0x1,0xb7,0xce,0xf4,0xcc,0x6,0x5a,0xe6,0xb9,0x4b,0x7e,0x73,0xd5,0x45,0xe9,0xca,0x0,0xc8,0xd7,0x36,0x82,0x4,0xb,0x22,0x94,0xe2,0xb5,0x51,0x30,0x26,0x5a,0xbd,0x2f,0x5d,0x7b,0x19,0x0,0x59,0xa7,0xfc,0xf3,0x14,0x34,0xeb,0xd4,0x39,0x74,0x70,0x3c,0xb2,0x10,0xa3,0x91,0x19,0x7c,0x93,0x1e,0xff,0xce,0xd,0x5e,0x14,0xbb,0x80,0x34,0x5a,0x9e,0x56,0x52,0x8b,0xb,0xee,0x82,0x7c,0x80,0x95,0x78,0xc8,0x21,0x5a,0x6a,0xec,0xf9,0xb3,0xe6,0x3c,0xc6,0xe5,0x3a,0xae,0xaa,0x8b,0x11,0xb9,0x6c,0x4f,0xba,0x7d,0x52,0x7e,0xdf,0x9b,0x94,0x73,0xf4,0x78,0x4b,0xb,0x73,0xfd,0xe4,0xa4,0xdc,0x7b,0x6a,0x7c,0x8c,0x1a,0xf2,0x5,0x6a,0x2c,0xba,0xfb,0xea,0x70,0x48,0x3d,0x7e,0x47,0xa2,0x3b,0x9d,0xf7,0xd5,0x9c,0xf9,0xf,0xd,0x1f,0x7a,0xd,0xd7,0xce,0x38,0x66,0x6,0x73,0xd0,0x55,0xed,0x8b,0xd7,0x5e,0xda,0x5,0x64,0x35,0x3e,0x2a,0x5,0xa0,0xcb,0x98,0x31,0x1d,0x57,0xb,0xbb,0x3c,0x32,0xf6,0xf8,0xfb,0x50,0xf0,0x5b,0x97,0x31,0xb3,0xea,0xad,0xe4,0xd4,0x8,0x4c,0xa3,0xe5,0xd3,0x47,0xd2,0x8a,0x31,0xf1,0x18,0x80,0x5,0x6a,0xbc,0xa,0x1a,0xa4,0x5a,0x29,0x0,0xcf,0xb1,0xbe,0xcb,0xb6,0x8f,0x2,0x2c,0xe6,0x38,0x61,0xe8,0xbc,0x80,0xdc,0x90,0xbc,0x6,0xce,0xa3,0x21,0xea,0x6b,0x60,0xe0,0xc0,0x69,0xd1,0x61,0xcc,0xd8,0xfb,0x2f,0xc5,0x3b,0x5d,0x72,0x11,0xfe,0x65,0xee,0x80,0x47,0x87,0x72,0xbc,0xd6,0xe2,0x94,0x47,0x70,0x9d,0x60,0xd5,0xbe,0x74,0xed,0x65,0x46,0xa0,0x61,0x7c,0xa,0x2,0xcd,0x5f,0xe0,0xb5,0x58,0x90,0x42,0xb8,0x1f,0xf8,0xca,0xa9,0x1b,0x98,0x46,0xcb,0xab,0x1,0x88,0x63,0xe2,0xb1,0x1b,0x78,0x9,0xc,0x9d,0x3b,0x17,0xf3,0xf8,0xfd,0xba,0x59,0xbf,0xe1,0x25,0xec,0x45,0x4f,0x78,0x70,0x23,0x53,0x5a,0x7e,0x4b,0xcb,0x1a,0x37,0xc0,0x63,0x79,0xae,0xc4,0xaf,0xe5,0x26,0xda,0xdc,0x3,0x7d,0xe,0xb8,0x70,0xcd,0x77,0x9b,0x7,0x37,0xbe,0xb6,0x19,0xf4,0x84,0x8b,0x9c,0x33,0x62,0xc4,0x79,0x90,0x80,0xda,0x3,0x60,0xc0,0x49,0x30,0x3a,0x57,0x2c,0x87,0xef,0xfe,0x4e,0x7d,0xe6,0x20,0x49,0xeb,0x95,0xc7,0xe8,0x36,0xdc,0x6f,0x16,0xcf,0x5d,0x4c,0x86,0x3d,0xf1,0xd1,0xbc,0x43,0xf7,0x10,0xee,0x7d,0x73,0xbd,0x13,0xe4,0xc,0xc4,0x49,0xb5,0x65,0x29,0xb4,0xeb,0xdc,0x70,0x1b,0xc5,0x6b,0xd3,0x96,0x3a,0xbb,0x9e,0x7,0x8e,0x7d,0x4b,0x9d,0xa6,0xcc,0x7f,0x11,0x0,0x79,0xe8,0x71,0xd9,0xfd,0xd0,0xa4,0x9f,0x6c,0x39,0x97,0xce,0x4a,0x72,0xde,0xbb,0x85,0xfc,0xf3,0xb8,0x1a,0x1f,0xd2,0xd4,0x64,0x36,0xdc,0x99,0x48,0x6e,0x6e,0x72,0xb1,0x5b,0xdc,0xb1,0x88,0xb1,0xcc,0xd8,0x3f,0xec,0x47,0x16,0x58,0xe0,0x91,0x66,0x10,0xfe,0x5d,0x64,0xc0,0x36,0xd,0x1a,0x6c,0x33,0x48,0x1e,0xed,0x2c,0x6f,0xfc,0xb6,0xb2,0x72,0x24,0x8f,0xdf,0x4a,0x7d,0x93,0xae,0x4b,0x74,0xbd,0x8d,0xd2,0x43,0xc2,0x73,0x17,0x93,0x61,0x1b,0x2e,0xd7,0x62,0x83,0x9e,0xf3,0x31,0xde,0xfb,0x48,0x64,0x27,0x70,0x2c,0xe3,0xa4,0xda,0x62,0xa,0x6d,0x96,0xbf,0xbd,0x16,0x58,0xfe,0xd3,0x2,0x76,0x2d,0xde,0xfb,0xcc,0xac,0x34,0x65,0xbe,0x14,0x80,0xfc,0x91,0xc6,0x51,0xe6,0xfc,0xaf,0x1e,0x3b,0x98,0x7b,0xc4,0x65,0xd3,0x15,0xa6,0x3,0xf0,0x8a,0xfd,0xa4,0x77,0xbf,0x70,0x11,0xc2,0x9a,0x4f,0x11,0x9d,0xbc,0x2b,0x3,0x2e,0xbd,0x5b,0x34,0xc3,0x85,0x8f,0x16,0xdc,0xb0,0x8a,0x51,0xe3,0x8c,0x8f,0xf4,0x13,0x0,0x3e,0x5,0xe1,0xdf,0x73,0xda,0xec,0x30,0xe2,0x1a,0xa3,0xed,0xcd,0x50,0x2,0xa4,0xae,0x7c,0xb9,0x21,0x30,0x60,0xc3,0x97,0x3,0x63,0xb7,0x30,0x5,0x24,0xb5,0x4c,0xda,0x1c,0x26,0x19,0x82,0xe9,0xb9,0x8b,0xc9,0xb0,0xc6,0x12,0x3,0x96,0x2,0x24,0x5f,0xf1,0x40,0xcd,0xb9,0x71,0x8b,0x53,0x92,0x6a,0x8b,0x29,0xb4,0x46,0x9f,0x19,0x56,0x3,0x33,0x7c,0x7a,0xc0,0x2e,0x37,0xad,0x9f,0xc8,0x98,0x2e,0x1b,0x74,0x38,0x2b,0xbc,0xa1,0xd3,0xc,0xb4,0xa7,0xcd,0xb6,0x3a,0x87,0xc1,0xc5,0x4c,0x2a,0xe8,0xcc,0xbd,0xd7,0x43,0x87,0xc2,0xa9,0xab,0x78,0x58,0xb,0x9a,0xcb,0x95,0xe0,0x26,0x6a,0x18,0x1f,0xd9,0xb,0x7e,0x33,0xeb,0x2,0xe,0xa3,0xf0,0xef,0x88,0x6,0x8f,0x2c,0x30,0x13,0xf8,0xc8,0x61,0xdb,0x33,0x89,0x6a,0x8c,0x9c,0x53,0xb6,0xc8,0x20,0x28,0xf7,0x26,0x78,0x64,0xd3,0xef,0xf1,0xac,0xc4,0x13,0x8a,0xf3,0x13,0xd3,0x64,0xd8,0x2c,0x63,0x8a,0x28,0x52,0x72,0xc3,0x3a,0xc6,0x76,0x90,0xd2,0x96,0x26,0xd5,0x16,0x53,0x68,0x8d,0x77,0xdc,0xbb,0x28,0x87,0x55,0xc6,0x6b,0x5a,0xbc,0xf7,0x61,0xb8,0x67,0x1,0x30,0x7d,0x56,0x4b,0x3e,0x70,0x10,0xe7,0xc2,0x56,0xe5,0xfb,0x84,0xcb,0x47,0xe6,0xa,0x47,0x6f,0xbb,0x20,0x65,0x97,0x35,0x97,0x36,0x7d,0xeb,0x1b,0xb0,0x26,0x17,0xbc,0xc6,0x78,0xcd,0x45,0xe4,0x20,0xd6,0xd9,0xe5,0x53,0x54,0xcd,0xe6,0x82,0xc2,0x9f,0xbc,0x2d,0x90,0x3,0xd0,0x8a,0x82,0x24,0xc5,0x87,0x94,0x1,0x0,0xb0,0x17,0x0,0x30,0x2e,0x1d,0xd,0x4d,0x7,0x84,0xca,0x6b,0x22,0xbe,0xb2,0x38,0x19,0x36,0x6b,0xf4,0x47,0x51,0x2,0xf8,0x1e,0xa7,0x18,0x9d,0xe0,0x71,0xa6,0x49,0xb5,0xc5,0x14,0xda,0x3d,0xe,0xd9,0xe3,0x80,0x9a,0x6f,0x5,0xcb,0x0,0xc8,0x74,0xe5,0x5b,0xf4,0x34,0x65,0x3e,0x89,0xe8,0x14,0x23,0xf2,0xe1,0xdf,0xc9,0xc0,0x41,0x65,0xaa,0x62,0x19,0x0,0x5b,0xee,0x6,0x49,0x3a,0x5,0x68,0xd0,0xe6,0x33,0x46,0x87,0x37,0xd4,0xc1,0x79,0x1f,0x30,0xc7,0xa,0x1d,0x8c,0xe,0x2b,0xcc,0xf9,0xe3,0x6e,0x39,0xa0,0x43,0x2d,0x49,0x3,0xcd,0xc2,0xbf,0x93,0xae,0x60,0xd2,0xb4,0xef,0x32,0xe2,0xee,0x19,0x5d,0x0,0x2e,0xf5,0x2a,0xef,0x2,0x56,0xb8,0xe6,0xa8,0x30,0x9,0x8c,0x27,0x7,0xad,0xd2,0x2e,0xa0,0x78,0xd4,0x1a,0x7d,0x16,0xe8,0x7,0x8f,0xa2,0xc9,0x90,0x39,0x9f,0x5,0x58,0x96,0x54,0x5b,0x4c,0xa1,0x1d,0x51,0xc7,0x78,0xc3,0x35,0x9f,0x9e,0xe8,0x2,0x96,0x3,0xfb,0x61,0x33,0x49,0x99,0x4f,0x22,0x3a,0xc5,0x88,0x7c,0xfe,0x77,0x61,0xe0,0xe0,0x99,0x0,0xe0,0x1f,0xf4,0x63,0x49,0x24,0x2f,0xeb,0xeb,0x57,0xdc,0x65,0x2d,0x31,0x60,0xd5,0x5b,0xc2,0x19,0x8,0x97,0xec,0x73,0x89,0x5,0x0,0x1c,0x30,0x62,0x9,0x63,0x91,0x7b,0xb6,0x92,0xf0,0x6f,0x8,0xc0,0xd7,0x1a,0x81,0x35,0xf6,0x39,0xab,0x30,0x2,0xa7,0xb5,0x0,0xe1,0xb9,0xcb,0x4c,0xc7,0x7,0x56,0x30,0x56,0x18,0x4,0xd9,0xd,0x27,0xdc,0x4,0xd9,0xbf,0xc5,0xa4,0xda,0x62,0xa,0x6d,0x36,0xcc,0xb5,0xc4,0xd0,0x77,0x55,0xd3,0x47,0x6d,0x97,0xe9,0x79,0x4,0x32,0x4f,0x61,0xe8,0x3a,0xae,0x24,0xa2,0x93,0x3e,0xe8,0xf0,0xef,0xc2,0xc0,0xc1,0xb3,0x0,0x68,0x3a,0x8b,0xbe,0xc1,0xe5,0xd4,0x60,0xf0,0x31,0xf7,0x3e,0xb9,0xf9,0x92,0x7b,0x9f,0x50,0xa,0xcb,0x2e,0x8c,0xbc,0x82,0xb1,0xe0,0x27,0x4f,0x9c,0x73,0x40,0x1f,0x2,0xf7,0x29,0xf,0xff,0xb6,0x83,0x2e,0xe0,0xdb,0xb8,0x81,0xc7,0x5f,0xd0,0x2,0x94,0x9d,0x3b,0x2d,0xf3,0xd9,0xbf,0xb1,0x7,0x3e,0xa1,0xc5,0x58,0x2,0x37,0x4d,0xa5,0x3c,0xa9,0xb6,0x98,0x42,0xbb,0x4c,0xf,0xb8,0x61,0xde,0x99,0x99,0xd5,0x79,0x1b,0xed,0x30,0xe0,0x5b,0x1d,0x8,0xa,0x1f,0x74,0xfa,0x77,0xad,0x12,0x80,0x71,0x14,0xef,0x9b,0xb8,0x74,0xe7,0xee,0x21,0x6f,0x4d,0x7d,0x6f,0xb6,0xdc,0x23,0x9e,0x54,0xc4,0xa6,0x2f,0xb7,0x92,0xe4,0xd8,0x2b,0x8c,0xf3,0xff,0x10,0x9,0xc,0x1f,0x74,0xf8,0x77,0x18,0xa8,0x2d,0x7,0xe0,0x20,0x18,0x6,0xce,0xfb,0xac,0xb6,0xaa,0xf5,0xbb,0x5a,0xe6,0xdd,0x8c,0x89,0xae,0x77,0xd1,0xc9,0xdd,0xf5,0xf4,0x41,0x17,0x46,0x8b,0xbe,0x93,0xe5,0x80,0x1,0x70,0xe7,0x82,0x1a,0x4d,0xce,0x83,0x21,0x9d,0x1d,0x7a,0xc0,0x5d,0x60,0x62,0xb5,0x23,0x8b,0x24,0x6c,0x7b,0x16,0xb9,0xf2,0x13,0x48,0xe2,0x76,0x69,0x8d,0xdb,0x60,0x7a,0xcc,0xbc,0x4b,0xa4,0x6a,0x5,0xb1,0x8d,0x2e,0x4f,0x4f,0x10,0xb7,0x8a,0x2c,0x81,0xb4,0x3d,0xb,0xcf,0xb9,0xca,0x2d,0xf0,0xe8,0x2,0x41,0x37,0x8c,0x82,0x11,0xbc,0x6c,0x80,0x6a,0x14,0x98,0xbf,0x5d,0x1f,0x18,0xa,0x3b,0xc4,0x71,0xd0,0x15,0xe6,0xe7,0x5e,0x67,0x50,0xf8,0xe5,0x4,0x80,0x5f,0x76,0xa9,0x32,0xa2,0xe2,0xdc,0xc1,0xc9,0x8d,0x5e,0x97,0x54,0xd0,0x1a,0x2d,0x8c,0x75,0xf7,0xf0,0xe,0x38,0xa4,0xce,0xa1,0x33,0x86,0xf6,0x59,0xc4,0xd8,0xf2,0xce,0xd1,0x1c,0xfd,0x60,0x44,0xf0,0x9e,0x78,0xfe,0xe3,0x66,0x92,0xba,0xb2,0xe3,0xce,0xf2,0xc0,0x2a,0xc6,0x9a,0xfb,0x85,0x6b,0xf6,0x9c,0x49,0xf8,0xf4,0x1d,0x3d,0xfd,0xb1,0x86,0xa7,0xa7,0x6c,0x64,0xdf,0x68,0x68,0xfa,0x34,0xae,0x70,0xc,0x3f,0x1e,0xa2,0xb6,0x8,0xc5,0x78,0x94,0x75,0xa3,0xe4,0xd5,0xbd,0xa,0x5e,0x87,0x12,0xdb,0xed,0xcb,0x1e,0x21,0x53,0xe2,0xcd,0x1b,0xdc,0x0,0x43,0x6f,0xd5,0x2e,0x71,0xf,0xde,0x31,0xc9,0xbe,0x3e,0x32,0x1f,0xc5,0xd3,0x8e,0x4a,0x72,0x7,0x4f,0x39,0xa4,0xee,0xc7,0xcd,0x8b,0x4b,0x93,0x1d,0x67,0x3a,0x4e,0xc0,0xb9,0x8f,0xf6,0xe,0xfd,0xbb,0xb0,0x19,0xbc,0xf1,0xe1,0xf7,0x34,0x4e,0x82,0xb9,0xcb,0x13,0x40,0xba,0xce,0x97,0xee,0xb9,0xe4,0xac,0xbb,0x20,0x59,0x74,0x92,0x49,0x18,0xf,0xbe,0x7e,0x1b,0x0,0xe2,0x6c,0xc0,0x87,0x12,0x1f,0x22,0x4e,0xfe,0x28,0x37,0x47,0xe3,0xb6,0xa7,0xed,0xc3,0x68,0xa1,0x33,0x5f,0x7c,0xf0,0x3d,0x57,0xdf,0x1e,0x80,0x26,0x3,0x1a,0xbe,0x2,0xef,0x19,0x3,0x43,0x2e,0x93,0xa4,0xc6,0x34,0x5,0x64,0x12,0x6d,0x5a,0x65,0xc0,0x2a,0x46,0xcb,0x37,0xc2,0x37,0xec,0x60,0xde,0xb7,0x37,0x1a,0xbc,0x75,0xc1,0x9f,0xec,0x3d,0xbc,0x72,0x95,0x1e,0xe7,0xe,0x56,0x65,0xe3,0x64,0x37,0xdb,0x29,0x49,0xe8,0x9a,0x38,0x4b,0xe7,0xae,0xf1,0x5e,0xe1,0x3c,0x1a,0x3e,0x81,0xa1,0x1f,0xc4,0x7e,0xe0,0x3e,0x48,0x97,0xcc,0x4c,0xd5,0xd,0xf,0xf1,0x98,0x3b,0xff,0x51,0x95,0x3b,0x76,0x5c,0xc4,0xa2,0x98,0x7e,0x51,0x3d,0x41,0x3c,0xae,0xa9,0xda,0x54,0x0,0xe2,0x6c,0xc0,0x75,0xfa,0xdc,0xf2,0x31,0xaa,0x81,0x69,0x0,0x34,0x4b,0x42,0x5c,0x59,0x54,0x24,0x77,0x61,0x43,0xc7,0xbe,0x58,0x5f,0xa7,0x39,0x6,0x93,0xe6,0xe3,0xda,0xcf,0x7d,0xcb,0x67,0xae,0xb7,0x1d,0x12,0xd3,0x26,0x4f,0x4f,0x8c,0xc5,0xe2,0x17,0x7a,0x8,0xc2,0x8f,0xe9,0x8f,0xd7,0xb8,0x9,0xbe,0x48,0x12,0xe6,0xe,0x8e,0x2b,0x1,0x30,0x66,0xd8,0x73,0x2d,0x47,0xba,0xaf,0xc1,0x85,0x7f,0xa8,0xe7,0x2c,0x45,0x47,0xd5,0x78,0xcd,0xb1,0x1b,0x6b,0x80,0x57,0x18,0x3b,0xbe,0xa1,0x9c,0xd,0xda,0x90,0xb,0xb6,0x30,0xf6,0xa2,0x24,0x8e,0xfb,0x28,0x51,0x2c,0x8f,0x19,0x3e,0xbf,0x5,0x8,0x73,0x81,0x28,0x49,0x5d,0x9,0xd1,0x99,0xe5,0xd0,0xb9,0x89,0x71,0x26,0x6f,0x9c,0xa8,0x5a,0xe3,0xd4,0xc7,0xf,0xd3,0x33,0x36,0x7d,0xb7,0x16,0xa6,0xda,0x4d,0x4b,0x11,0xf1,0xa1,0x60,0xa,0x66,0x4d,0x56,0xa9,0x5b,0xae,0x7a,0xca,0xf7,0xcf,0xf2,0xc1,0x55,0x56,0x1a,0x6d,0x2e,0xc6,0x7,0xc2,0x16,0x60,0x3f,0xa,0x89,0x86,0xb9,0x83,0x17,0xbc,0xa7,0xc6,0xfc,0x54,0x0,0xf2,0xa9,0xd1,0x71,0x17,0x50,0x8b,0x46,0x2f,0xca,0x8c,0xb2,0xdc,0xb1,0x6d,0x44,0x3,0x25,0x6f,0x78,0x1f,0xc4,0xd5,0x6b,0x85,0xdf,0x6b,0xbb,0x77,0xfe,0x4b,0x1,0xc8,0x9d,0xe7,0x2e,0x30,0x2a,0x78,0xf6,0xc5,0x6c,0xc0,0x34,0xa0,0x1b,0xe6,0xf2,0xc7,0xa9,0xea,0xb1,0x7b,0x3d,0x6d,0x9e,0xc0,0x42,0x64,0x33,0xa4,0x75,0xd9,0x4d,0xc7,0x2,0xde,0xf0,0x81,0xbd,0x20,0x4f,0x2e,0xd3,0xd8,0x35,0xe9,0xe5,0x93,0x42,0x7a,0x1c,0xb9,0x86,0x35,0x7,0x80,0x29,0x4d,0xe4,0xc8,0x7f,0xa0,0x69,0x9e,0x6e,0x14,0x69,0xb,0x73,0x7,0x5f,0x71,0x5,0xdc,0x95,0xa6,0x59,0x2e,0xd3,0xc0,0x58,0x77,0xe1,0xd6,0xd8,0x8,0xfc,0x54,0x31,0x78,0xb5,0x44,0x9d,0x3a,0x7b,0xee,0x9d,0x3f,0x63,0x9f,0x9a,0x7f,0xcb,0x8d,0xcb,0x20,0x14,0x73,0x47,0x1b,0x63,0xd7,0xb7,0xe,0x75,0xd6,0xe9,0xbb,0xfd,0x69,0x17,0x60,0x15,0x41,0xdf,0x16,0xb5,0x92,0x60,0x4e,0x71,0x2d,0xce,0x6,0x5c,0xa7,0x85,0xb1,0xed,0xc,0xd9,0xaa,0x56,0x65,0xcc,0x2,0x75,0xd7,0x86,0xe,0x58,0xf1,0x5d,0x6d,0x38,0xa,0x1b,0xa7,0xda,0x3d,0x3,0x80,0x3,0xf6,0xf8,0x98,0x64,0xf1,0x36,0x79,0x57,0x88,0x1,0x94,0x5b,0xb3,0x79,0x44,0x9a,0xe8,0x7d,0x2b,0xbb,0xed,0xf3,0xe8,0x9b,0x19,0x71,0xee,0xe0,0x6b,0xea,0xd4,0xd8,0xf0,0x43,0x45,0x61,0xf3,0xf9,0x99,0x11,0x63,0x6f,0x4a,0xc6,0x6e,0xe0,0xa8,0xe4,0x9d,0xc7,0x47,0xe1,0xc2,0xe3,0x5a,0xee,0x5d,0x9a,0xf7,0x73,0x14,0x72,0x8f,0x20,0x6b,0xf4,0xf3,0x8f,0x48,0x8c,0xb9,0xf2,0x61,0xa9,0xd4,0x8,0x2c,0x4b,0xfa,0x9e,0x64,0xe6,0x65,0x19,0x7e,0xb,0x4f,0x7a,0x40,0x71,0x36,0xe0,0x11,0x43,0xa0,0x5b,0xb0,0xba,0x8a,0x0,0xbc,0xe1,0x91,0xb1,0xeb,0x2a,0xb6,0x18,0x78,0x63,0x3b,0x4,0xe0,0xb,0x9c,0xf9,0xe9,0x4d,0xbc,0x95,0x44,0x1,0xcb,0x1,0xd8,0xa2,0xc7,0x2a,0x46,0xd3,0x7b,0xd4,0x3c,0xd3,0xd,0x8c,0x73,0x7,0xaf,0x18,0x33,0xe6,0xda,0xbd,0x75,0x71,0x2a,0xa5,0x96,0x5f,0x34,0x27,0xb0,0xcb,0xeb,0xc0,0x34,0x9b,0xf4,0xf1,0x1f,0x1d,0x9d,0x4f,0x7f,0x41,0xa7,0xed,0x86,0x1b,0x2e,0xc9,0x27,0x8e,0xa2,0x40,0xee,0x77,0xb2,0x6c,0x78,0xf,0xa9,0xe4,0x3b,0x88,0x79,0x53,0xf8,0xe0,0x6d,0xc8,0x89,0x9f,0x7f,0x1a,0x65,0xd4,0x7f,0xf,0x4b,0x83,0x43,0x86,0xe0,0x2c,0x81,0x1e,0x73,0xe4,0x5f,0xe2,0xa9,0x9e,0x9d,0x97,0x3,0x79,0x1e,0xa5,0x8a,0xe7,0xfe,0xf2,0x6e,0xd4,0x9c,0x66,0x5e,0xc7,0x1b,0xba,0x81,0xed,0xf2,0x26,0x31,0xdb,0x76,0x38,0xf1,0xff,0x9e,0xc4,0x18,0xf2,0x48,0x43,0x8b,0x79,0x8c,0x79,0x5f,0x87,0x8b,0xee,0x53,0x55,0x56,0x9a,0x37,0x35,0xcd,0x5a,0xc8,0xa7,0xba,0xdd,0x30,0x76,0x7f,0xd5,0xd8,0x74,0x63,0x87,0x9f,0xfd,0xb6,0xb2,0xa8,0xe6,0xad,0xeb,0x9a,0x1f,0x68,0x3b,0x6f,0xa6,0x19,0xc5,0xe,0x9f,0x1d,0x8,0xfa,0xb6,0x4b,0xd6,0x9f,0xde,0xf0,0xd9,0x19,0x83,0x47,0x6e,0x1c,0xec,0xc4,0xb9,0x78,0xf1,0xd4,0xc6,0xb8,0xf7,0x3d,0x72,0x86,0xd3,0x1c,0x93,0xf9,0xbf,0x93,0xef,0xe1,0x55,0xcf,0xc0,0xcb,0x1e,0xf0,0x27,0x9f,0x74,0x62,0x41,0xe2,0xd9,0xc4,0x5f,0x1e,0x39,0xcf,0x22,0xb3,0x4d,0x36,0xe9,0x30,0xe0,0x20,0x70,0x58,0x17,0x38,0x60,0x40,0x87,0xd,0x77,0xdd,0x4b,0xdc,0xd2,0x72,0xff,0xce,0xae,0xf4,0x96,0x25,0xf7,0xef,0x1c,0x99,0xae,0xb7,0x37,0x8e,0x39,0x4e,0xc6,0x19,0xcb,0x1f,0xf9,0x5,0x7b,0x9c,0xb3,0xeb,0x20,0xcf,0xa7,0xba,0xe5,0x93,0xe3,0xf3,0xe9,0xf0,0x75,0xb6,0x93,0xf,0xfc,0x12,0x44,0x35,0x27,0xb3,0x9d,0x72,0x0,0x36,0x7c,0xee,0x43,0xd2,0x2,0x3c,0x67,0xe9,0x6,0x8f,0xa7,0xcf,0x47,0xee,0x80,0x9e,0xcb,0x34,0xed,0xd1,0xc2,0x98,0x71,0x5c,0xb6,0xfc,0xf8,0xfe,0x3,0x43,0x36,0xb8,0x8a,0x8c,0xab,0xcf,0xbc,0xa3,0xce,0xad,0xf,0xb2,0xd6,0xb8,0x61,0x8f,0x3d,0x6e,0xbc,0x1b,0x16,0x4e,0x6d,0x8c,0xed,0xef,0x78,0x1a,0xf4,0x3a,0x17,0x18,0x17,0x49,0xb6,0x2b,0xa5,0x86,0xe1,0xa,0xe7,0x25,0x6e,0x5e,0xe8,0x2f,0x9f,0x73,0xc1,0xa6,0x2b,0xb3,0x2,0x1c,0x17,0x9c,0x5b,0xa3,0xce,0xb1,0x1f,0xb1,0xcc,0x3e,0xc3,0xd4,0x8d,0x10,0xe9,0xfa,0x7f,0x67,0xe6,0x1a,0xde,0xb0,0x9e,0xa1,0x4f,0x9d,0xbe,0x3,0xaf,0x6a,0x34,0x61,0x99,0x3,0xc6,0x1c,0xf8,0xfa,0x3a,0x8,0xbc,0xfe,0xdd,0xe4,0x41,0xef,0x42,0xf2,0xe5,0xe0,0x32,0x0,0xf2,0x2e,0xa0,0x64,0xa0,0x2e,0x3f,0xe8,0xc4,0xdb,0xe7,0x6b,0xa5,0x1f,0x46,0xed,0x46,0x8f,0x67,0xc0,0x5c,0x90,0xd4,0x7c,0x44,0xdb,0xd,0xc1,0x2c,0x7,0xef,0xa4,0xd1,0x60,0x8e,0x21,0x4b,0xd1,0xbb,0x38,0xa2,0xce,0x21,0xef,0x82,0x38,0xd5,0x2c,0x7d,0xfa,0x49,0xee,0x40,0xad,0x62,0xba,0x64,0xfe,0x38,0xb2,0x54,0xcb,0x3a,0x4f,0xcd,0xc0,0x6b,0xd1,0xf5,0x4d,0x31,0x53,0xfc,0xe5,0x1a,0xeb,0x5c,0xb8,0xf7,0xa9,0xc6,0x46,0xa1,0x5,0x78,0xcd,0x47,0x7a,0x9c,0xb2,0xf6,0xa2,0x16,0x20,0x9b,0x56,0x7a,0xe0,0x53,0xc6,0xab,0xc6,0x17,0xf6,0xe9,0xf8,0xf8,0xc4,0x7e,0xd0,0xa5,0x6c,0x5,0x6f,0xfb,0x64,0x92,0xcd,0x87,0x52,0x0,0x56,0x5d,0x17,0xb0,0xfa,0x5c,0x2f,0xc0,0x5c,0x14,0x3c,0xfb,0x9c,0xc2,0x7d,0xf4,0x69,0xe4,0xb2,0xb,0xad,0x25,0xff,0xdd,0x70,0x69,0x5c,0xa7,0x1c,0x92,0xcf,0xd3,0x9b,0xbc,0x5f,0xf1,0xbb,0xf8,0xc8,0xcf,0x1c,0x51,0xf,0x92,0x9b,0xe7,0xe9,0xd3,0x2f,0xa4,0x40,0x97,0x1,0x70,0xca,0x51,0xd0,0x5,0x18,0x87,0xc,0x7c,0xf4,0xbb,0x6a,0x6,0xde,0xe7,0x60,0x2,0x78,0xa,0xc0,0xe4,0x1e,0x16,0x30,0xe6,0xa2,0x8c,0xc3,0xd4,0x6,0xd8,0xfb,0xa,0x1b,0xe0,0x88,0x5,0x8c,0x5,0xff,0x6a,0x54,0xd9,0x0,0x1d,0xe6,0x7d,0x7a,0x78,0x3e,0xd5,0x6d,0x32,0x39,0x3e,0x2c,0xdf,0xe,0xd2,0xe4,0xbf,0xc2,0xb,0xc8,0x87,0x8,0xf6,0x30,0xf6,0x82,0x4,0xad,0xe9,0xfe,0x35,0xc9,0xb0,0xc5,0xd0,0xa5,0x34,0xf7,0x98,0xf5,0xde,0x75,0xf6,0x7e,0x75,0xb,0x59,0xb5,0xf7,0xd1,0xb4,0xc6,0x26,0x77,0xb4,0x69,0x73,0x97,0x7c,0x0,0xb5,0x2c,0xa,0xdf,0xe0,0x98,0xa1,0xf7,0x9d,0x63,0xc3,0xaa,0x6a,0x6,0xde,0x34,0xbf,0x3d,0xf4,0x97,0xaf,0x81,0x61,0x32,0xc7,0xf9,0x77,0xe2,0x6,0x7e,0x49,0xae,0xef,0xb4,0xb2,0x27,0x74,0xe9,0x60,0x1c,0x6,0x99,0x6e,0x13,0x0,0xb2,0x4f,0xc2,0xcc,0xbb,0x66,0xfb,0x33,0x37,0xc0,0x85,0x6f,0x92,0xcf,0x9c,0x69,0x74,0x1c,0xfd,0x6f,0xf,0x72,0x6b,0x3e,0x9d,0x4,0xa9,0xe5,0x17,0x3,0x20,0x6d,0x1,0xca,0x6d,0x80,0x72,0x0,0xd6,0x5c,0x62,0xd7,0x22,0xf8,0xb8,0xe0,0xe,0x43,0x1e,0xf8,0xc8,0xd,0x30,0x8e,0x72,0x66,0xb5,0x7c,0x37,0xcb,0xf,0x4c,0x3e,0x12,0xb9,0x6a,0xff,0x6a,0x7f,0x65,0x7f,0x63,0xff,0x63,0x66,0xff,0x64,0xff,0x55,0xf2,0xd9,0xb8,0x3f,0xe9,0xa3,0x7b,0xbf,0x3d,0xe5,0x0,0x9c,0xd8,0xbf,0xbb,0xc7,0xbe,0x66,0x3f,0xd9,0x3f,0x44,0xdf,0xfd,0xfb,0xf6,0x9f,0x91,0x44,0x9f,0xa7,0xfc,0x4e,0xc4,0x4b,0xe6,0xe5,0x4f,0xe6,0xc,0x76,0xa3,0xce,0xa1,0xcc,0xbb,0x4d,0x93,0x11,0x15,0x20,0xfe,0xce,0x96,0x3f,0x7c,0xd1,0x7b,0x38,0xf9,0x3a,0xe5,0x8f,0xee,0x5b,0x93,0x51,0x5b,0x12,0x2c,0xf9,0xba,0x99,0xd9,0x9f,0xdc,0x3f,0xe1,0x36,0xe9,0x3b,0x6a,0x1,0xac,0x10,0x5f,0x1a,0x71,0xc9,0x22,0x8b,0xde,0x85,0x3b,0x25,0x9d,0x2d,0xac,0xe5,0x37,0x66,0x4,0x66,0x76,0xc0,0xd0,0xfe,0x68,0x66,0x5d,0xfb,0x47,0x33,0xfb,0x17,0xfb,0x3b,0xfb,0x67,0xfb,0x37,0x33,0xeb,0xdb,0xff,0xda,0xdf,0xea,0x55,0xf9,0xed,0x1a,0x81,0x43,0xfb,0xa3,0x7b,0xf4,0x1d,0xfb,0x7b,0x55,0xc9,0xef,0xef,0x7f,0x1d,0xfb,0xdf,0xee,0x1f,0xd3,0xe3,0xff,0x7d,0xb6,0x0,0xd2,0xef,0xbc,0x5,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x1,0xa0,0x2a,0x10,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x0,0x54,0x5,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0x9,0x0,0x49,0x0,0x48,0x2,0x40,0x12,0x0,0x92,0x0,0x90,0x4,0x80,0x24,0x0,0x24,0x1,0x20,0xfd,0x9a,0xf5,0x7f,0x85,0x7e,0x45,0x72,0x0,0x5,0xae,0x92,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82
-};
-
-
static const unsigned char frame_focus_png[]={
0x89,0x50,0x4e,0x47,0xd,0xa,0x1a,0xa,0x0,0x0,0x0,0xd,0x49,0x48,0x44,0x52,0x0,0x0,0x0,0xc,0x0,0x0,0x0,0xc,0x8,0x6,0x0,0x0,0x0,0x56,0x75,0x5c,0xe7,0x0,0x0,0x0,0x6,0x62,0x4b,0x47,0x44,0x0,0xff,0x0,0xff,0x0,0xff,0xa0,0xbd,0xa7,0x93,0x0,0x0,0x0,0x9,0x70,0x48,0x59,0x73,0x0,0x0,0xb,0x13,0x0,0x0,0xb,0x13,0x1,0x0,0x9a,0x9c,0x18,0x0,0x0,0x0,0x7,0x74,0x49,0x4d,0x45,0x7,0xdf,0xa,0x14,0x3,0x18,0x33,0x85,0xfa,0x9b,0x25,0x0,0x0,0x0,0x19,0x74,0x45,0x58,0x74,0x43,0x6f,0x6d,0x6d,0x65,0x6e,0x74,0x0,0x43,0x72,0x65,0x61,0x74,0x65,0x64,0x20,0x77,0x69,0x74,0x68,0x20,0x47,0x49,0x4d,0x50,0x57,0x81,0xe,0x17,0x0,0x0,0x0,0x95,0x49,0x44,0x41,0x54,0x28,0xcf,0xbd,0xd2,0x31,0xe,0xc1,0x70,0x18,0x86,0xf1,0xdf,0xbf,0xe9,0xa0,0x8b,0xc1,0x35,0x48,0xec,0xb5,0xd8,0xb8,0x2,0x2b,0x37,0x70,0xd,0x2e,0xa0,0xe,0x62,0xab,0x85,0x5d,0xc2,0x35,0x9a,0x98,0xb0,0x60,0xa9,0x41,0x68,0xda,0xc9,0xb3,0x7d,0x5f,0xde,0xe7,0xcb,0x37,0xbc,0x61,0xb4,0xcc,0xdb,0xe8,0xa2,0x8f,0xe,0x82,0x4f,0x9e,0x28,0x70,0xc4,0x39,0x46,0xf,0x29,0x36,0xb8,0xf9,0x4d,0xb,0x73,0x84,0xb8,0xbc,0x9c,0x6d,0x17,0xc3,0x8b,0x6a,0x6e,0xe3,0xd5,0x2e,0xc3,0x34,0x2a,0xdf,0xb8,0xaa,0xe7,0x8a,0x4e,0x54,0xe,0x51,0x3,0x21,0x6a,0x1a,0xfc,0xb6,0xfe,0x22,0x3c,0x1a,0x64,0x1f,0x6f,0xa1,0x40,0xd2,0x40,0x68,0xa1,0x8,0xa3,0x65,0x9e,0x62,0x80,0x35,0xee,0x15,0xe1,0x4,0x33,0x1c,0x62,0x9c,0xca,0xe5,0xa4,0xa6,0x1a,0x7b,0x9c,0x5f,0xce,0xb,0x1e,0x5e,0x4b,0xa1,0xce,0xa0,0x0,0x0,0x0,0x0,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82
};
diff --git a/scene/resources/dynamic_font.cpp b/scene/resources/dynamic_font.cpp
index 1edae01754..bb40c5ed93 100644
--- a/scene/resources/dynamic_font.cpp
+++ b/scene/resources/dynamic_font.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* dynamic_font.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifdef FREETYPE_ENABLED
#include "dynamic_font.h"
#include "os/file_access.h"
@@ -38,11 +66,22 @@ void DynamicFontData::set_font_path(const String& p_path) {
font_path=p_path;
}
+String DynamicFontData::get_font_path() const {
+ return font_path;
+}
+
void DynamicFontData::set_force_autohinter(bool p_force) {
force_autohinter=p_force;
}
+void DynamicFontData::_bind_methods() {
+ ObjectTypeDB::bind_method(_MD("set_font_path","path"),&DynamicFontData::set_font_path);
+ ObjectTypeDB::bind_method(_MD("get_font_path"),&DynamicFontData::get_font_path);
+
+ ADD_PROPERTY(PropertyInfo(Variant::STRING,"font_path",PROPERTY_HINT_FILE,"*.ttf,*.otf"),_SCS("set_font_path"),_SCS("get_font_path"));
+}
+
DynamicFontData::DynamicFontData()
{
@@ -516,7 +555,7 @@ void DynamicFontAtSize::_update_char(CharType p_char) {
if (tex.texture.is_null()) {
tex.texture.instance();
- tex.texture->create_from_image(img,0/*Texture::FLAG_FILTER*/);
+ tex.texture->create_from_image(img,Texture::FLAG_VIDEO_SURFACE);
} else {
tex.texture->set_data(img); //update
}
diff --git a/scene/resources/dynamic_font.h b/scene/resources/dynamic_font.h
index 1a46e1e468..508d630218 100644
--- a/scene/resources/dynamic_font.h
+++ b/scene/resources/dynamic_font.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* dynamic_font.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef DYNAMIC_FONT_H
#define DYNAMIC_FONT_H
@@ -32,10 +60,14 @@ friend class DynamicFont;
Ref<DynamicFontAtSize> _get_dynamic_font_at_size(int p_size);
+protected:
+
+ static void _bind_methods();
public:
void set_font_ptr(const uint8_t* p_font_mem,int p_font_mem_size);
void set_font_path(const String& p_path);
+ String get_font_path() const;
void set_force_autohinter(bool p_force);
DynamicFontData();
diff --git a/scene/resources/gibberish_stream.cpp b/scene/resources/gibberish_stream.cpp
index 9d67069a6c..73c135a913 100644
--- a/scene/resources/gibberish_stream.cpp
+++ b/scene/resources/gibberish_stream.cpp
@@ -29,6 +29,9 @@
#include "gibberish_stream.h"
#include "servers/audio_server.h"
+//TODO: This class needs to be adapted to the new AudioStream API,
+// or dropped if nobody cares about fixing it :) (GH-3307)
+
#if 0
int AudioStreamGibberish::get_channel_count() const {
diff --git a/scene/resources/gibberish_stream.h b/scene/resources/gibberish_stream.h
index e06dc5eff2..7affb4bd4d 100644
--- a/scene/resources/gibberish_stream.h
+++ b/scene/resources/gibberish_stream.h
@@ -29,6 +29,9 @@
#ifndef GIBBERISH_STREAM_H
#define GIBBERISH_STREAM_H
+//TODO: This class needs to be adapted to the new AudioStream API,
+// or dropped if nobody cares about fixing it :) (GH-3307)
+
#if 0
#include "scene/resources/audio_stream.h"
#include "scene/resources/sample_library.h"
diff --git a/scene/resources/height_map_shape.cpp b/scene/resources/height_map_shape.cpp
deleted file mode 100644
index e7b53c92c2..0000000000
--- a/scene/resources/height_map_shape.cpp
+++ /dev/null
@@ -1,33 +0,0 @@
-/*************************************************************************/
-/* height_map_shape.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#include "height_map_shape.h"
-
-HeightMapShape::HeightMapShape()
-{
-}
diff --git a/scene/resources/height_map_shape.h b/scene/resources/height_map_shape.h
deleted file mode 100644
index 5494075107..0000000000
--- a/scene/resources/height_map_shape.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*************************************************************************/
-/* height_map_shape.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#ifndef HEIGHT_MAP_SHAPE_H
-#define HEIGHT_MAP_SHAPE_H
-
-class HeightMapShape
-{
-public:
- HeightMapShape();
-};
-
-#endif // HEIGHT_MAP_SHAPE_H
diff --git a/scene/resources/mesh.cpp b/scene/resources/mesh.cpp
index e6356d3366..a1a1f0a935 100644
--- a/scene/resources/mesh.cpp
+++ b/scene/resources/mesh.cpp
@@ -149,12 +149,6 @@ bool Mesh::_set(const StringName& p_name, const Variant& p_value) {
return true;
}
- if (what=="custom_aabb") {
-
- surface_set_custom_aabb(idx,p_value);
- return true;
- }
-
return false;
}
diff --git a/scene/resources/packed_scene.cpp b/scene/resources/packed_scene.cpp
index 5ac7946391..ac528e6659 100644
--- a/scene/resources/packed_scene.cpp
+++ b/scene/resources/packed_scene.cpp
@@ -1413,8 +1413,7 @@ NodePath SceneState::get_node_path(int p_idx,bool p_for_parent) const {
}
}
- for(int i=0;i<base_path.get_name_count();i++) {
- StringName sn = base_path.get_name(i);
+ for(int i=base_path.get_name_count()-1;i>=0;i--) {
sub_path.insert(0,base_path.get_name(i));
}
diff --git a/scene/resources/polygon_path_finder.cpp b/scene/resources/polygon_path_finder.cpp
index 1a7dc56e40..d6d9cbc091 100644
--- a/scene/resources/polygon_path_finder.cpp
+++ b/scene/resources/polygon_path_finder.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* polygon_path_finder.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "polygon_path_finder.h"
#include "geometry.h"
diff --git a/scene/resources/polygon_path_finder.h b/scene/resources/polygon_path_finder.h
index b23dbd0bac..dcc38bfb9d 100644
--- a/scene/resources/polygon_path_finder.h
+++ b/scene/resources/polygon_path_finder.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* polygon_path_finder.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef POLYGON_PATH_FINDER_H
#define POLYGON_PATH_FINDER_H
diff --git a/scene/resources/rich_text.cpp b/scene/resources/rich_text.cpp
deleted file mode 100644
index 8acf5ff39b..0000000000
--- a/scene/resources/rich_text.cpp
+++ /dev/null
@@ -1,33 +0,0 @@
-/*************************************************************************/
-/* rich_text.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#include "rich_text.h"
-
-RichText::RichText()
-{
-}
diff --git a/scene/resources/rich_text.h b/scene/resources/rich_text.h
deleted file mode 100644
index c74a391b10..0000000000
--- a/scene/resources/rich_text.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*************************************************************************/
-/* rich_text.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#ifndef RICH_TEXT_H
-#define RICH_TEXT_H
-
-class RichText
-{
-public:
- RichText();
-};
-
-#endif // RICH_TEXT_H
diff --git a/scene/resources/scene_format_text.cpp b/scene/resources/scene_format_text.cpp
index f9f7f7807d..c7e2fc4e73 100644
--- a/scene/resources/scene_format_text.cpp
+++ b/scene/resources/scene_format_text.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* scene_format_text.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "scene_format_text.h"
#include "globals.h"
@@ -1112,7 +1140,12 @@ void ResourceFormatSaverTextInstance::_find_resources(const Variant& p_variant,b
}
+static String _valprop(const String& p_name) {
+ if (p_name.find("\"")!=-1 || p_name.find("=")!=-1 || p_name.find(" ")!=-1)
+ return "\""+p_name.c_escape()+"\"";
+ return p_name;
+}
Error ResourceFormatSaverTextInstance::save(const String &p_path,const RES& p_resource,uint32_t p_flags) {
@@ -1263,12 +1296,12 @@ Error ResourceFormatSaverTextInstance::save(const String &p_path,const RES& p_re
if ((PE->get().usage&PROPERTY_USAGE_STORE_IF_NONZERO && value.is_zero())||(PE->get().usage&PROPERTY_USAGE_STORE_IF_NONONE && value.is_one()) )
continue;
- if (PE->get().type==Variant::OBJECT && value.is_zero())
+ if (PE->get().type==Variant::OBJECT && value.is_zero() && (!PE->get().usage&PROPERTY_USAGE_STORE_IF_NULL))
continue;
String vars;
VariantWriter::write_to_string(value,vars,_write_resources,this);
- f->store_string(name+" = "+vars+"\n");
+ f->store_string(_valprop(name)+" = "+vars+"\n");
}
@@ -1292,8 +1325,6 @@ Error ResourceFormatSaverTextInstance::save(const String &p_path,const RES& p_re
Vector<StringName> groups = state->get_node_groups(i);
- if (instance.is_valid())
- print_line("for path "+String(path)+" instance "+instance->get_path());
String header="[node";
header+=" name=\""+String(name)+"\"";
@@ -1344,7 +1375,7 @@ Error ResourceFormatSaverTextInstance::save(const String &p_path,const RES& p_re
String vars;
VariantWriter::write_to_string(state->get_node_property_value(i,j),vars,_write_resources,this);
- f->store_string(String(state->get_node_property_name(i,j))+" = "+vars+"\n");
+ f->store_string(_valprop(String(state->get_node_property_name(i,j)))+" = "+vars+"\n");
}
if (state->get_node_property_count(i)) {
diff --git a/scene/resources/scene_format_text.h b/scene/resources/scene_format_text.h
index 02436a6e2d..8dbfbfda48 100644
--- a/scene/resources/scene_format_text.h
+++ b/scene/resources/scene_format_text.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* scene_format_text.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef SCENE_FORMAT_TEXT_H
#define SCENE_FORMAT_TEXT_H
diff --git a/scene/resources/theme.cpp b/scene/resources/theme.cpp
index 2f4d37053e..92a6f0c0b9 100644
--- a/scene/resources/theme.cpp
+++ b/scene/resources/theme.cpp
@@ -34,6 +34,32 @@
Ref<Theme> Theme::default_theme;
+void Theme::_emit_theme_changed() {
+
+ emit_changed();
+}
+
+void Theme::_ref_font( Ref<Font> p_sc) {
+
+ if (!font_refcount.has(p_sc)) {
+ font_refcount[p_sc]=1;
+ p_sc->connect("changed",this,"_emit_theme_changed");
+ } else {
+ font_refcount[p_sc]+=1;
+ }
+}
+
+void Theme::_unref_font(Ref<Font> p_sc) {
+
+ ERR_FAIL_COND(!font_refcount.has(p_sc));
+ font_refcount[p_sc]--;
+ if (font_refcount[p_sc]==0) {
+ p_sc->disconnect("changed",this,"_emit_theme_changed");
+ font_refcount.erase(p_sc);
+ }
+}
+
+
bool Theme::_set(const StringName& p_name, const Variant& p_value) {
String sname=p_name;
@@ -81,13 +107,22 @@ bool Theme::_get(const StringName& p_name,Variant &r_ret) const {
if (type=="icons") {
- r_ret= get_icon(name,node_type);
+ if (!has_icon(name,node_type))
+ r_ret=Ref<Texture>();
+ else
+ r_ret= get_icon(name,node_type);
} else if (type=="styles") {
- r_ret= get_stylebox(name,node_type);
+ if (!has_stylebox(name,node_type))
+ r_ret=Ref<StyleBox>();
+ else
+ r_ret= get_stylebox(name,node_type);
} else if (type=="fonts") {
- r_ret= get_font(name,node_type);
+ if (!has_font(name,node_type))
+ r_ret=Ref<Font>();
+ else
+ r_ret= get_font(name,node_type);
} else if (type=="colors") {
r_ret= get_color(name,node_type);
@@ -116,7 +151,7 @@ void Theme::_get_property_list( List<PropertyInfo> *p_list) const {
while((key2=icon_map[*key].next(key2))) {
- list.push_back( PropertyInfo( Variant::OBJECT, String()+*key+"/icons/"+*key2, PROPERTY_HINT_RESOURCE_TYPE, "Texture" ) );
+ list.push_back( PropertyInfo( Variant::OBJECT, String()+*key+"/icons/"+*key2, PROPERTY_HINT_RESOURCE_TYPE, "Texture",PROPERTY_USAGE_DEFAULT|PROPERTY_USAGE_STORE_IF_NULL ) );
}
}
@@ -128,7 +163,7 @@ void Theme::_get_property_list( List<PropertyInfo> *p_list) const {
while((key2=style_map[*key].next(key2))) {
- list.push_back( PropertyInfo( Variant::OBJECT, String()+*key+"/styles/"+*key2, PROPERTY_HINT_RESOURCE_TYPE, "StyleBox" ) );
+ list.push_back( PropertyInfo( Variant::OBJECT, String()+*key+"/styles/"+*key2, PROPERTY_HINT_RESOURCE_TYPE, "StyleBox", PROPERTY_USAGE_DEFAULT|PROPERTY_USAGE_STORE_IF_NULL ) );
}
}
@@ -141,7 +176,7 @@ void Theme::_get_property_list( List<PropertyInfo> *p_list) const {
while((key2=font_map[*key].next(key2))) {
- list.push_back( PropertyInfo( Variant::OBJECT, String()+*key+"/fonts/"+*key2, PROPERTY_HINT_RESOURCE_TYPE, "Font" ) );
+ list.push_back( PropertyInfo( Variant::OBJECT, String()+*key+"/fonts/"+*key2, PROPERTY_HINT_RESOURCE_TYPE, "Font",PROPERTY_USAGE_DEFAULT|PROPERTY_USAGE_STORE_IF_NULL ) );
}
}
@@ -217,7 +252,7 @@ void Theme::set_default_font( const Ref<Font>& p_font ) {
void Theme::set_icon(const StringName& p_name,const StringName& p_type,const Ref<Texture>& p_icon) {
- ERR_FAIL_COND(p_icon.is_null());
+// ERR_FAIL_COND(p_icon.is_null());
bool new_value=!icon_map.has(p_type) || !icon_map[p_type].has(p_name);
@@ -317,7 +352,7 @@ void Theme::get_shader_list(const StringName &p_type, List<StringName> *p_list)
void Theme::set_stylebox(const StringName& p_name,const StringName& p_type,const Ref<StyleBox>& p_style) {
- ERR_FAIL_COND(p_style.is_null());
+// ERR_FAIL_COND(p_style.is_null());
bool new_value=!style_map.has(p_type) || !style_map[p_type].has(p_name);
@@ -380,11 +415,21 @@ void Theme::get_stylebox_types(List<StringName> *p_list) const {
void Theme::set_font(const StringName& p_name,const StringName& p_type,const Ref<Font>& p_font) {
- ERR_FAIL_COND(p_font.is_null());
+// ERR_FAIL_COND(p_font.is_null());
bool new_value=!font_map.has(p_type) || !font_map[p_type].has(p_name);
+
+ if (!new_value) {
+ if (font_map[p_type][p_name].is_valid()) {
+ _unref_font(font_map[p_type][p_name]);
+ }
+ }
font_map[p_type][p_name]=p_font;
+ if (p_font.is_valid()) {
+ _ref_font(p_font);
+ }
+
if (new_value) {
_change_notify();
emit_changed();;
@@ -411,6 +456,10 @@ void Theme::clear_font(const StringName& p_name,const StringName& p_type) {
ERR_FAIL_COND(!font_map.has(p_type));
ERR_FAIL_COND(!font_map[p_type].has(p_name));
+ if (font_map.has(p_type) && font_map[p_type].has(p_name) && font_map[p_type][p_name].is_valid()) {
+ _unref_font(font_map[p_type][p_name]);
+ }
+
font_map[p_type].erase(p_name);
_change_notify();
emit_changed();;
@@ -636,6 +685,11 @@ void Theme::_bind_methods() {
ObjectTypeDB::bind_method(_MD("get_type_list","type"),&Theme::_get_type_list);
+ ObjectTypeDB::bind_method(_MD("_emit_theme_changed"),&Theme::_emit_theme_changed);
+
+
+
+
ObjectTypeDB::bind_method("copy_default_theme",&Theme::copy_default_theme);
ADD_PROPERTY(PropertyInfo(Variant::OBJECT,"default_font",PROPERTY_HINT_RESOURCE_TYPE,"Font"),_SCS("set_default_font"),_SCS("get_default_font"));
diff --git a/scene/resources/theme.h b/scene/resources/theme.h
index 9b84d0e8ad..1856bd4979 100644
--- a/scene/resources/theme.h
+++ b/scene/resources/theme.h
@@ -46,6 +46,15 @@ class Theme : public Resource {
static Ref<Theme> default_theme;
+
+ //keep a reference count to font, so each time the font changes, we emit theme changed too
+ Map< Ref<Font>, int> font_refcount;
+
+ void _ref_font(Ref<Font> p_sc);
+ void _unref_font( Ref<Font> p_sc);
+ void _emit_theme_changed();
+
+
HashMap<StringName,HashMap<StringName,Ref<Texture>,StringNameHasher >, StringNameHasher > icon_map;
HashMap<StringName,HashMap<StringName,Ref<StyleBox>,StringNameHasher >,StringNameHasher > style_map;
HashMap<StringName,HashMap<StringName,Ref<Font>,StringNameHasher >,StringNameHasher > font_map;
diff --git a/scene/resources/volume.cpp b/scene/resources/volume.cpp
deleted file mode 100644
index 8e056158cb..0000000000
--- a/scene/resources/volume.cpp
+++ /dev/null
@@ -1,211 +0,0 @@
-/*************************************************************************/
-/* volume.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#include "volume.h"
-
-#if 0
-void Volume::_set(const String& p_name, const Variant& p_value) {
-
-
- if (p_name.begins_with("shapes/")) {
-
- int idx=p_name.get_slice("/",1).to_int()-1;
- ERR_FAIL_COND( idx != get_shape_count() );
-
- Dictionary shape = p_value;
- ERR_FAIL_COND( !shape.has("type") || !shape.has("data"));
- String type = shape["type"];
- Variant data=shape["data"];
- Transform transform;
- if (shape.has("transform"))
- transform=shape["transform"];
-
- if (type=="plane")
- add_shape(SHAPE_PLANE,data,transform);
- else if (type=="sphere")
- add_shape(SHAPE_SPHERE,data,transform);
- else if (type=="box")
- add_shape(SHAPE_BOX,data,transform);
- else if (type=="cylinder")
- add_shape(SHAPE_CYLINDER,data,transform);
- else if (type=="capsule")
- add_shape(SHAPE_CAPSULE,data,transform);
- else if (type=="convex_polygon")
- add_shape(SHAPE_CONVEX_POLYGON,data,transform);
- else if (type=="concave_polygon")
- add_shape(SHAPE_CONCAVE_POLYGON,data,transform);
- else {
- ERR_FAIL();
- }
- }
-}
-
-Variant Volume::_get(const String& p_name) const {
-
- if (p_name.begins_with("shapes/")) {
-
- int idx=p_name.get_slice("/",1).to_int()-1;
- ERR_FAIL_INDEX_V( idx, get_shape_count(), Variant() );
-
- Dictionary shape;
-
- switch( get_shape_type(idx) ) {
-
- case SHAPE_PLANE: shape["type"]="plane"; break;
- case SHAPE_SPHERE: shape["type"]="sphere"; break;
- case SHAPE_BOX: shape["type"]="box"; break;
- case SHAPE_CYLINDER: shape["type"]="cylinder"; break;
- case SHAPE_CAPSULE: shape["type"]="capsule"; break;
- case SHAPE_CONVEX_POLYGON: shape["type"]="convex_polygon"; break;
- case SHAPE_CONCAVE_POLYGON: shape["type"]="concave_polygon"; break;
-
- }
-
- shape["transform"]=get_shape_transform(idx);
- shape["data"]=get_shape(idx);
-
- return shape;
- }
-
- return Variant();
-}
-
-void Volume::_get_property_list( List<PropertyInfo> *p_list) const {
-
- int count=get_shape_count();
- for(int i=0;i<count;i++) {
-
- p_list->push_back( PropertyInfo( Variant::DICTIONARY, "shapes/"+itos(i+1)) );
- }
-}
-
-
-
-
-
-void Volume::add_shape(ShapeType p_shape_type, const Variant& p_data, const Transform& p_transform) {
-
- PhysicsServer::get_singleton()->volume_add_shape(volume,(PhysicsServer::ShapeType)p_shape_type,p_data,p_transform);
- _change_notify();
-}
-
-
-void Volume::add_plane_shape(const Plane& p_plane,const Transform& p_transform) {
-
- add_shape(SHAPE_PLANE, p_plane, p_transform );
-}
-
-void Volume::add_sphere_shape(float p_radius,const Transform& p_transform) {
-
- add_shape(SHAPE_SPHERE, p_radius, p_transform );
-}
-
-void Volume::add_box_shape(const Vector3& p_half_extents,const Transform& p_transform) {
-
- add_shape(SHAPE_BOX, p_half_extents, p_transform );
-}
-void Volume::add_cylinder_shape(float p_radius, float p_height,const Transform& p_transform) {
-
- Dictionary d;
- d["radius"]=p_radius;
- d["height"]=p_height;
-
- add_shape(SHAPE_CYLINDER,d,p_transform);
-}
-void Volume::add_capsule_shape(float p_radius, float p_height,const Transform& p_transform) {
-
- Dictionary d;
- d["radius"]=p_radius;
- d["height"]=p_height;
-
- add_shape(SHAPE_CAPSULE,d,p_transform);
-}
-
-
-int Volume::get_shape_count() const {
-
- return PhysicsServer::get_singleton()->volume_get_shape_count(volume);
-}
-
-Volume::ShapeType Volume::get_shape_type(int p_shape) const {
-
- return (ShapeType)PhysicsServer::get_singleton()->volume_get_shape_type(volume,p_shape);
-}
-
-Transform Volume::get_shape_transform(int p_shape) const {
-
- return PhysicsServer::get_singleton()->volume_get_shape_transform(volume,p_shape);
-}
-
-Variant Volume::get_shape(int p_shape) const {
-
- return PhysicsServer::get_singleton()->volume_get_shape(volume,p_shape);
-}
-
-void Volume::_bind_methods() {
-
- ObjectTypeDB::bind_method(_MD("add_shape","type","data","transform"),&Volume::add_shape,DEFVAL( Transform() ));
- ObjectTypeDB::bind_method(_MD("add_plane_shape","plane","transform"),&Volume::add_plane_shape,DEFVAL( Transform() ));
- ObjectTypeDB::bind_method(_MD("add_sphere_shape"),&Volume::add_sphere_shape,DEFVAL( Transform() ));
- ObjectTypeDB::bind_method(_MD("add_box_shape","radius","transform"),&Volume::add_box_shape,DEFVAL( Transform() ));
- ObjectTypeDB::bind_method(_MD("add_cylinder_shape","radius","height","transform"),&Volume::add_cylinder_shape,DEFVAL( Transform() ));
- ObjectTypeDB::bind_method(_MD("add_capsule_shape","radius","height","transform"),&Volume::add_capsule_shape,DEFVAL( Transform() ));
- ObjectTypeDB::bind_method(_MD("get_shape_count"),&Volume::get_shape_count);
- ObjectTypeDB::bind_method(_MD("get_shape_type","shape_idx"),&Volume::get_shape_type);
- ObjectTypeDB::bind_method(_MD("get_shape_transform","shape_idx"),&Volume::get_shape_transform);
- ObjectTypeDB::bind_method(_MD("get_shape","shape_idx"),&Volume::get_shape);
-
- BIND_CONSTANT( SHAPE_PLANE );
- BIND_CONSTANT( SHAPE_SPHERE );
- BIND_CONSTANT( SHAPE_BOX );
- BIND_CONSTANT( SHAPE_CYLINDER );
- BIND_CONSTANT( SHAPE_CAPSULE );
- BIND_CONSTANT( SHAPE_CONVEX_POLYGON );
- BIND_CONSTANT( SHAPE_CONCAVE_POLYGON );
-
-}
-
-RID Volume::get_rid() {
-
- return volume;
-}
-
-Volume::Volume() {
-
- volume= PhysicsServer::get_singleton()->volume_create();
-
-}
-
-
-Volume::~Volume() {
-
- PhysicsServer::get_singleton()->free(volume);
-}
-
-
-#endif
diff --git a/scene/resources/volume.h b/scene/resources/volume.h
deleted file mode 100644
index f03e48f1d9..0000000000
--- a/scene/resources/volume.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/*************************************************************************/
-/* volume.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#ifndef VOLUME_H
-#define VOLUME_H
-
-#include "resource.h"
-
-#if 0
-#include "servers/physics_server.h"
-/**
- @author Juan Linietsky <reduzio@gmail.com>
-*/
-class Volume : public Resource {
-
- OBJ_TYPE( Volume, Resource );
- RID volume;
-
-protected:
-
- bool _set(const StringName& p_name, const Variant& p_value);
- bool _get(const StringName& p_name,Variant &r_ret) const;
- void _get_property_list( List<PropertyInfo> *p_list) const;
-
- static void _bind_methods();
-public:
-
- enum ShapeType {
- SHAPE_PLANE = PhysicsServer::SHAPE_PLANE, ///< plane:"plane"
- SHAPE_SPHERE = PhysicsServer::SHAPE_SPHERE, ///< float:"radius"
- SHAPE_BOX = PhysicsServer::SHAPE_BOX, ///< vec3:"extents"
- SHAPE_CYLINDER = PhysicsServer::SHAPE_CYLINDER, ///< dict(float:"radius", float:"height"):cylinder
- SHAPE_CAPSULE = PhysicsServer::SHAPE_CAPSULE, ///< dict(float:"radius", float:"height"):capsule
- SHAPE_CONVEX_POLYGON = PhysicsServer::SHAPE_CONVEX_POLYGON, ///< array of planes:"planes"
- SHAPE_CONCAVE_POLYGON = PhysicsServer::SHAPE_CONCAVE_POLYGON, ///< vector3 array:"triangles"
- };
-
- void add_shape(ShapeType p_shape_type, const Variant& p_data, const Transform& p_transform=Transform ());
-
- void add_plane_shape(const Plane& p_plane,const Transform& p_transform);
- void add_sphere_shape(float p_radius,const Transform& p_transform);
- void add_box_shape(const Vector3& p_half_extents,const Transform& p_transform);
- void add_cylinder_shape(float p_radius, float p_height,const Transform& p_transform);
- void add_capsule_shape(float p_radius, float p_height,const Transform& p_transform);
-
- int get_shape_count() const;
- ShapeType get_shape_type(int p_shape) const;
- Transform get_shape_transform(int p_shape) const;
- Variant get_shape(int p_shape) const;
-
- virtual RID get_rid();
-
- Volume();
- ~Volume();
-
-};
-
-VARIANT_ENUM_CAST( Volume::ShapeType );
-
-#endif
-#endif
diff --git a/servers/audio/audio_rb_resampler.cpp b/servers/audio/audio_rb_resampler.cpp
index d07d55f1b5..aa4fca3a62 100644
--- a/servers/audio/audio_rb_resampler.cpp
+++ b/servers/audio/audio_rb_resampler.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* audio_rb_resampler.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "audio_rb_resampler.h"
diff --git a/servers/audio/audio_rb_resampler.h b/servers/audio/audio_rb_resampler.h
index 3c08c79797..22643e4e82 100644
--- a/servers/audio/audio_rb_resampler.h
+++ b/servers/audio/audio_rb_resampler.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* audio_rb_resampler.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef AUDIO_RB_RESAMPLER_H
#define AUDIO_RB_RESAMPLER_H
@@ -37,6 +65,7 @@ public:
_FORCE_INLINE_ void flush() {
rb_read_pos=0;
rb_write_pos=0;
+ offset=0;
}
_FORCE_INLINE_ bool is_ready() const{
diff --git a/servers/audio/reverb_buffers_sw.cpp b/servers/audio/reverb_buffers_sw.cpp
deleted file mode 100644
index 04bc056313..0000000000
--- a/servers/audio/reverb_buffers_sw.cpp
+++ /dev/null
@@ -1,33 +0,0 @@
-/*************************************************************************/
-/* reverb_buffers_sw.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#include "reverb_buffers_sw.h"
-
-ReverbBuffersSW::ReverbBuffersSW()
-{
-}
diff --git a/servers/audio/reverb_buffers_sw.h b/servers/audio/reverb_buffers_sw.h
deleted file mode 100644
index f5885e6ee8..0000000000
--- a/servers/audio/reverb_buffers_sw.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*************************************************************************/
-/* reverb_buffers_sw.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#ifndef REVERB_BUFFERS_SW_H
-#define REVERB_BUFFERS_SW_H
-
-class ReverbBuffersSW
-{
-public:
- ReverbBuffersSW();
-};
-
-#endif // REVERB_BUFFERS_SW_H
diff --git a/servers/audio/voice_rb_sw.cpp b/servers/audio/voice_rb_sw.cpp
deleted file mode 100644
index 8d12e5085d..0000000000
--- a/servers/audio/voice_rb_sw.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-/*************************************************************************/
-/* voice_rb_sw.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#include "voice_rb_sw.h"
-/*
-VoiceRBSW::VoiceRBSW()
-{
-}
-*/
diff --git a/servers/physics/constraint_sw.cpp b/servers/physics/constraint_sw.cpp
deleted file mode 100644
index ce0e1e6963..0000000000
--- a/servers/physics/constraint_sw.cpp
+++ /dev/null
@@ -1,30 +0,0 @@
-/*************************************************************************/
-/* constraint_sw.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#include "constraint_sw.h"
-
diff --git a/servers/physics/gjk_epa.cpp b/servers/physics/gjk_epa.cpp
index f76f8c646a..71d6fee2ab 100644
--- a/servers/physics/gjk_epa.cpp
+++ b/servers/physics/gjk_epa.cpp
@@ -1,14 +1,31 @@
-/*************************************************/
-/* gjk_epa.cpp */
-/*************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/*************************************************/
-/* Source code within this file is: */
-/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */
-/* All Rights Reserved. */
-/*************************************************/
-
+/*************************************************************************/
+/* gjk_epa.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "gjk_epa.h"
/*************** Bullet's GJK-EPA2 IMPLEMENTATION *******************/
diff --git a/servers/physics/gjk_epa.h b/servers/physics/gjk_epa.h
index 23f51d66c4..78afd3149f 100644
--- a/servers/physics/gjk_epa.h
+++ b/servers/physics/gjk_epa.h
@@ -1,14 +1,31 @@
-/*************************************************/
-/* gjk_epa.h */
-/*************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/*************************************************/
-/* Source code within this file is: */
-/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */
-/* All Rights Reserved. */
-/*************************************************/
-
+/*************************************************************************/
+/* gjk_epa.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef GJK_EPA_H
#define GJK_EPA_H
diff --git a/servers/physics/joints/cone_twist_joint_sw.cpp b/servers/physics/joints/cone_twist_joint_sw.cpp
index d97d8c599f..5f1dde4e20 100644
--- a/servers/physics/joints/cone_twist_joint_sw.cpp
+++ b/servers/physics/joints/cone_twist_joint_sw.cpp
@@ -1,3 +1,37 @@
+/*************************************************************************/
+/* cone_twist_joint_sw.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+/*
+Adapted to Godot from the Bullet library.
+See corresponding header file for licensing info.
+*/
+
#include "cone_twist_joint_sw.h"
static void plane_space(const Vector3& n, Vector3& p, Vector3& q) {
diff --git a/servers/physics/joints/cone_twist_joint_sw.h b/servers/physics/joints/cone_twist_joint_sw.h
index 63502d2036..653259071d 100644
--- a/servers/physics/joints/cone_twist_joint_sw.h
+++ b/servers/physics/joints/cone_twist_joint_sw.h
@@ -1,9 +1,35 @@
-#ifndef CONE_TWIST_JOINT_SW_H
-#define CONE_TWIST_JOINT_SW_H
-
-#include "servers/physics/joints_sw.h"
-#include "servers/physics/joints/jacobian_entry_sw.h"
+/*************************************************************************/
+/* cone_twist_joint_sw.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+/*
+Adapted to Godot from the Bullet library.
+*/
/*
Bullet Continuous Collision Detection and Physics Library
@@ -22,6 +48,12 @@ subject to the following restrictions:
Written by: Marcus Hennix
*/
+#ifndef CONE_TWIST_JOINT_SW_H
+#define CONE_TWIST_JOINT_SW_H
+
+#include "servers/physics/joints_sw.h"
+#include "servers/physics/joints/jacobian_entry_sw.h"
+
///ConeTwistJointSW can be used to simulate ragdoll joints (upper arm, leg etc)
diff --git a/servers/physics/joints/generic_6dof_joint_sw.cpp b/servers/physics/joints/generic_6dof_joint_sw.cpp
index decc379461..06015a5228 100644
--- a/servers/physics/joints/generic_6dof_joint_sw.cpp
+++ b/servers/physics/joints/generic_6dof_joint_sw.cpp
@@ -1,3 +1,37 @@
+/*************************************************************************/
+/* generic_6dof_joint_sw.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+/*
+Adapted to Godot from the Bullet library.
+See corresponding header file for licensing info.
+*/
+
#include "generic_6dof_joint_sw.h"
diff --git a/servers/physics/joints/generic_6dof_joint_sw.h b/servers/physics/joints/generic_6dof_joint_sw.h
index 7f762e51a2..47ef43156d 100644
--- a/servers/physics/joints/generic_6dof_joint_sw.h
+++ b/servers/physics/joints/generic_6dof_joint_sw.h
@@ -1,3 +1,36 @@
+/*************************************************************************/
+/* generic_6dof_joint_sw.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+/*
+Adapted to Godot from the Bullet library.
+*/
+
#ifndef GENERIC_6DOF_JOINT_SW_H
#define GENERIC_6DOF_JOINT_SW_H
diff --git a/servers/physics/joints/hinge_joint_sw.cpp b/servers/physics/joints/hinge_joint_sw.cpp
index 37b73f64c7..035407065c 100644
--- a/servers/physics/joints/hinge_joint_sw.cpp
+++ b/servers/physics/joints/hinge_joint_sw.cpp
@@ -1,3 +1,37 @@
+/*************************************************************************/
+/* hinge_joint_sw.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+/*
+Adapted to Godot from the Bullet library.
+See corresponding header file for licensing info.
+*/
+
#include "hinge_joint_sw.h"
static void plane_space(const Vector3& n, Vector3& p, Vector3& q) {
diff --git a/servers/physics/joints/hinge_joint_sw.h b/servers/physics/joints/hinge_joint_sw.h
index 4f6cdaf799..f87c2ac4c5 100644
--- a/servers/physics/joints/hinge_joint_sw.h
+++ b/servers/physics/joints/hinge_joint_sw.h
@@ -1,3 +1,36 @@
+/*************************************************************************/
+/* hinge_joint_sw.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+/*
+Adapted to Godot from the Bullet library.
+*/
+
#ifndef HINGE_JOINT_SW_H
#define HINGE_JOINT_SW_H
diff --git a/servers/physics/joints/jacobian_entry_sw.cpp b/servers/physics/joints/jacobian_entry_sw.cpp
deleted file mode 100644
index faa3cf15c4..0000000000
--- a/servers/physics/joints/jacobian_entry_sw.cpp
+++ /dev/null
@@ -1,2 +0,0 @@
-#include "jacobian_entry_sw.h"
-
diff --git a/servers/physics/joints/jacobian_entry_sw.h b/servers/physics/joints/jacobian_entry_sw.h
index 16fa034215..b7ab58f16b 100644
--- a/servers/physics/joints/jacobian_entry_sw.h
+++ b/servers/physics/joints/jacobian_entry_sw.h
@@ -1,3 +1,36 @@
+/*************************************************************************/
+/* jacobian_entry_sw.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+/*
+Adapted to Godot from the Bullet library.
+*/
+
#ifndef JACOBIAN_ENTRY_SW_H
#define JACOBIAN_ENTRY_SW_H
diff --git a/servers/physics/joints/pin_joint_sw.cpp b/servers/physics/joints/pin_joint_sw.cpp
index 229863fb7b..013d750b4f 100644
--- a/servers/physics/joints/pin_joint_sw.cpp
+++ b/servers/physics/joints/pin_joint_sw.cpp
@@ -1,3 +1,37 @@
+/*************************************************************************/
+/* pin_joint_sw.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+/*
+Adapted to Godot from the Bullet library.
+See corresponding header file for licensing info.
+*/
+
#include "pin_joint_sw.h"
bool PinJointSW::setup(float p_step) {
diff --git a/servers/physics/joints/pin_joint_sw.h b/servers/physics/joints/pin_joint_sw.h
index dae6e7d5f2..4ef134fe73 100644
--- a/servers/physics/joints/pin_joint_sw.h
+++ b/servers/physics/joints/pin_joint_sw.h
@@ -1,3 +1,36 @@
+/*************************************************************************/
+/* pin_joint_sw.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+/*
+Adapted to Godot from the Bullet library.
+*/
+
#ifndef PIN_JOINT_SW_H
#define PIN_JOINT_SW_H
diff --git a/servers/physics/joints/slider_joint_sw.cpp b/servers/physics/joints/slider_joint_sw.cpp
index faa6875378..a9072e5de3 100644
--- a/servers/physics/joints/slider_joint_sw.cpp
+++ b/servers/physics/joints/slider_joint_sw.cpp
@@ -1,3 +1,37 @@
+/*************************************************************************/
+/* slider_joint_sw.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+/*
+Adapted to Godot from the Bullet library.
+See corresponding header file for licensing info.
+*/
+
#include "slider_joint_sw.h"
//-----------------------------------------------------------------------------
diff --git a/servers/physics/joints/slider_joint_sw.h b/servers/physics/joints/slider_joint_sw.h
index 517bb5e6bc..9ee6c83800 100644
--- a/servers/physics/joints/slider_joint_sw.h
+++ b/servers/physics/joints/slider_joint_sw.h
@@ -1,3 +1,36 @@
+/*************************************************************************/
+/* slider_joint_sw.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+/*
+Adapted to Godot from the Bullet library.
+*/
+
#ifndef SLIDER_JOINT_SW_H
#define SLIDER_JOINT_SW_H
diff --git a/servers/physics/joints_sw.cpp b/servers/physics/joints_sw.cpp
deleted file mode 100644
index 7f7df31534..0000000000
--- a/servers/physics/joints_sw.cpp
+++ /dev/null
@@ -1,450 +0,0 @@
-/*************************************************************************/
-/* joints_sw.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#include "joints_sw.h"
-#include "space_sw.h"
-
-#if 0
-
-//based on chipmunk joint constraints
-
-/* Copyright (c) 2007 Scott Lembcke
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-static inline real_t k_scalar(Body2DSW *a,Body2DSW *b,const Vector2& rA, const Vector2& rB, const Vector2& n) {
-
-
- real_t value=0;
-
-
- {
- value+=a->get_inv_mass();
- real_t rcn = rA.cross(n);
- value+=a->get_inv_inertia() * rcn * rcn;
- }
-
- if (b) {
-
- value+=b->get_inv_mass();
- real_t rcn = rB.cross(n);
- value+=b->get_inv_inertia() * rcn * rcn;
- }
-
- return value;
-
-}
-
-
-bool PinJoint2DSW::setup(float p_step) {
-
- Space2DSW *space = A->get_space();
- ERR_FAIL_COND_V(!space,false;)
- rA = A->get_transform().xform(anchor_A);
- rB = B?B->get_transform().xform(anchor_B):anchor_B;
-
- Vector2 delta = rB - rA;
-
- rA-= A->get_transform().get_origin();
- if (B)
- rB-=B->get_transform().get_origin();
-
-
- real_t jdist = delta.length();
- correct=false;
- if (jdist==0)
- return false; // do not correct
-
- correct=true;
-
- n = delta / jdist;
-
- // calculate mass normal
- mass_normal = 1.0f/k_scalar(A, B, rA, rB, n);
-
- // calculate bias velocity
- //real_t maxBias = joint->constraint.maxBias;
- bias = -(get_bias()==0?space->get_constraint_bias():get_bias())*(1.0/p_step)*(jdist-dist);
- bias = CLAMP(bias, -get_max_bias(), +get_max_bias());
-
- // compute max impulse
- jn_max = get_max_force() * p_step;
-
- // apply accumulated impulse
- Vector2 j = n * jn_acc;
- A->apply_impulse(rA,-j);
- if (B)
- B->apply_impulse(rB,j);
-
- return true;
-}
-
-
-static inline Vector2
-relative_velocity(Body2DSW *a, Body2DSW *b, Vector2 rA, Vector2 rB){
- Vector2 sum = a->get_linear_velocity() -rA.tangent() * a->get_angular_velocity();
- if (b)
- return (b->get_linear_velocity() -rB.tangent() * b->get_angular_velocity()) - sum;
- else
- return -sum;
-}
-
-static inline real_t
-normal_relative_velocity(Body2DSW *a, Body2DSW *b, Vector2 rA, Vector2 rB, Vector2 n){
- return relative_velocity(a, b, rA, rB).dot(n);
-}
-
-
-void PinJoint2DSW::solve(float p_step){
-
- if (!correct)
- return;
-
- Vector2 ln = n;
-
- // compute relative velocity
- real_t vrn = normal_relative_velocity(A,B, rA, rB, ln);
-
- // compute normal impulse
- real_t jn = (bias - vrn)*mass_normal;
- real_t jnOld = jn_acc;
- jn_acc = CLAMP(jnOld + jn,-jn_max,jn_max); //cpfclamp(jnOld + jn, -joint->jnMax, joint->jnMax);
- jn = jn_acc - jnOld;
-
- Vector2 j = jn*ln;
-
- A->apply_impulse(rA,-j);
- if (B)
- B->apply_impulse(rB,j);
-
-}
-
-
-PinJoint2DSW::PinJoint2DSW(const Vector2& p_pos,Body2DSW* p_body_a,Body2DSW* p_body_b) : Joint2DSW(_arr,p_body_b?2:1) {
-
- A=p_body_a;
- B=p_body_b;
- anchor_A = p_body_a->get_inv_transform().xform(p_pos);
- anchor_B = p_body_b?p_body_b->get_inv_transform().xform(p_pos):p_pos;
-
- jn_acc=0;
- dist=0;
-
- p_body_a->add_constraint(this,0);
- if (p_body_b)
- p_body_b->add_constraint(this,1);
-
-}
-
-PinJoint2DSW::~PinJoint2DSW() {
-
- if (A)
- A->remove_constraint(this);
- if (B)
- B->remove_constraint(this);
-
-}
-
-//////////////////////////////////////////////
-//////////////////////////////////////////////
-//////////////////////////////////////////////
-
-
-static inline void
-k_tensor(Body2DSW *a, Body2DSW *b, Vector2 r1, Vector2 r2, Vector2 *k1, Vector2 *k2)
-{
- // calculate mass matrix
- // If I wasn't lazy and wrote a proper matrix class, this wouldn't be so gross...
- real_t k11, k12, k21, k22;
- real_t m_sum = a->get_inv_mass() + b->get_inv_mass();
-
- // start with I*m_sum
- k11 = m_sum; k12 = 0.0f;
- k21 = 0.0f; k22 = m_sum;
-
- // add the influence from r1
- real_t a_i_inv = a->get_inv_inertia();
- real_t r1xsq = r1.x * r1.x * a_i_inv;
- real_t r1ysq = r1.y * r1.y * a_i_inv;
- real_t r1nxy = -r1.x * r1.y * a_i_inv;
- k11 += r1ysq; k12 += r1nxy;
- k21 += r1nxy; k22 += r1xsq;
-
- // add the influnce from r2
- real_t b_i_inv = b->get_inv_inertia();
- real_t r2xsq = r2.x * r2.x * b_i_inv;
- real_t r2ysq = r2.y * r2.y * b_i_inv;
- real_t r2nxy = -r2.x * r2.y * b_i_inv;
- k11 += r2ysq; k12 += r2nxy;
- k21 += r2nxy; k22 += r2xsq;
-
- // invert
- real_t determinant = k11*k22 - k12*k21;
- ERR_FAIL_COND(determinant== 0.0);
-
- real_t det_inv = 1.0f/determinant;
- *k1 = Vector2( k22*det_inv, -k12*det_inv);
- *k2 = Vector2(-k21*det_inv, k11*det_inv);
-}
-
-static _FORCE_INLINE_ Vector2
-mult_k(const Vector2& vr, const Vector2 &k1, const Vector2 &k2)
-{
- return Vector2(vr.dot(k1), vr.dot(k2));
-}
-
-bool GrooveJoint2DSW::setup(float p_step) {
-
-
- // calculate endpoints in worldspace
- Vector2 ta = A->get_transform().xform(A_groove_1);
- Vector2 tb = A->get_transform().xform(A_groove_2);
- Space2DSW *space=A->get_space();
-
- // calculate axis
- Vector2 n = -(tb - ta).tangent().normalized();
- real_t d = ta.dot(n);
-
- xf_normal = n;
- rB = B->get_transform().basis_xform(B_anchor);
-
- // calculate tangential distance along the axis of rB
- real_t td = (B->get_transform().get_origin() + rB).cross(n);
- // calculate clamping factor and rB
- if(td <= ta.cross(n)){
- clamp = 1.0f;
- rA = ta - A->get_transform().get_origin();
- } else if(td >= tb.cross(n)){
- clamp = -1.0f;
- rA = tb - A->get_transform().get_origin();
- } else {
- clamp = 0.0f;
- //joint->r1 = cpvsub(cpvadd(cpvmult(cpvperp(n), -td), cpvmult(n, d)), a->p);
- rA = ((-n.tangent() * -td) + n*d) - A->get_transform().get_origin();
- }
-
- // Calculate mass tensor
- k_tensor(A, B, rA, rB, &k1, &k2);
-
- // compute max impulse
- jn_max = get_max_force() * p_step;
-
- // calculate bias velocity
-// cpVect delta = cpvsub(cpvadd(b->p, joint->r2), cpvadd(a->p, joint->r1));
-// joint->bias = cpvclamp(cpvmult(delta, -joint->constraint.biasCoef*dt_inv), joint->constraint.maxBias);
-
-
- Vector2 delta = (B->get_transform().get_origin() +rB) - (A->get_transform().get_origin() + rA);
- gbias=(delta*-(get_bias()==0?space->get_constraint_bias():get_bias())*(1.0/p_step)).clamped(get_max_bias());
-
- // apply accumulated impulse
- A->apply_impulse(rA,-jn_acc);
- B->apply_impulse(rB,jn_acc);
-
- correct=true;
- return true;
-}
-
-void GrooveJoint2DSW::solve(float p_step){
-
-
- // compute impulse
- Vector2 vr = relative_velocity(A, B, rA,rB);
-
- Vector2 j = mult_k(gbias-vr, k1, k2);
- Vector2 jOld = jn_acc;
- j+=jOld;
-
- jn_acc = (((clamp * j.cross(xf_normal)) > 0) ? j : xf_normal.project(j)).clamped(jn_max);
-
- j = jn_acc - jOld;
-
- A->apply_impulse(rA,-j);
- B->apply_impulse(rB,j);
-}
-
-
-GrooveJoint2DSW::GrooveJoint2DSW(const Vector2& p_a_groove1,const Vector2& p_a_groove2, const Vector2& p_b_anchor, Body2DSW* p_body_a,Body2DSW* p_body_b) : Joint2DSW(_arr,2) {
-
- A=p_body_a;
- B=p_body_b;
-
- A_groove_1 = A->get_inv_transform().xform(p_a_groove1);
- A_groove_2 = A->get_inv_transform().xform(p_a_groove2);
- B_anchor=B->get_inv_transform().xform(p_b_anchor);
- A_groove_normal = -(A_groove_2 - A_groove_1).normalized().tangent();
-
- A->add_constraint(this,0);
- B->add_constraint(this,1);
-
-}
-
-GrooveJoint2DSW::~GrooveJoint2DSW() {
-
- A->remove_constraint(this);
- B->remove_constraint(this);
-}
-
-
-//////////////////////////////////////////////
-//////////////////////////////////////////////
-//////////////////////////////////////////////
-
-
-bool DampedSpringJoint2DSW::setup(float p_step) {
-
- rA = A->get_transform().basis_xform(anchor_A);
- rB = B->get_transform().basis_xform(anchor_B);
-
- Vector2 delta = (B->get_transform().get_origin() + rB) - (A->get_transform().get_origin() + rA) ;
- real_t dist = delta.length();
-
- if (dist)
- n=delta/dist;
- else
- n=Vector2();
-
- real_t k = k_scalar(A, B, rA, rB, n);
- n_mass = 1.0f/k;
-
- target_vrn = 0.0f;
- v_coef = 1.0f - Math::exp(-damping*(p_step)*k);
-
- // apply spring force
- real_t f_spring = (rest_length - dist) * stiffness;
- Vector2 j = n * f_spring*(p_step);
-
- A->apply_impulse(rA,-j);
- B->apply_impulse(rB,j);
-
-
- return true;
-}
-
-void DampedSpringJoint2DSW::solve(float p_step) {
-
- // compute relative velocity
- real_t vrn = normal_relative_velocity(A, B, rA, rB, n) - target_vrn;
-
- // compute velocity loss from drag
- // not 100% certain this is derived correctly, though it makes sense
- real_t v_damp = -vrn*v_coef;
- target_vrn = vrn + v_damp;
- Vector2 j=n*v_damp*n_mass;
-
- A->apply_impulse(rA,-j);
- B->apply_impulse(rB,j);
-
-}
-
-void DampedSpringJoint2DSW::set_param(Physics2DServer::DampedStringParam p_param, real_t p_value) {
-
- switch(p_param) {
-
- case Physics2DServer::DAMPED_STRING_REST_LENGTH: {
-
- rest_length=p_value;
- } break;
- case Physics2DServer::DAMPED_STRING_DAMPING: {
-
- damping=p_value;
- } break;
- case Physics2DServer::DAMPED_STRING_STIFFNESS: {
-
- stiffness=p_value;
- } break;
- }
-
-}
-
-real_t DampedSpringJoint2DSW::get_param(Physics2DServer::DampedStringParam p_param) const{
-
- switch(p_param) {
-
- case Physics2DServer::DAMPED_STRING_REST_LENGTH: {
-
- return rest_length;
- } break;
- case Physics2DServer::DAMPED_STRING_DAMPING: {
-
- return damping;
- } break;
- case Physics2DServer::DAMPED_STRING_STIFFNESS: {
-
- return stiffness;
- } break;
- }
-
- ERR_FAIL_V(0);
-}
-
-
-DampedSpringJoint2DSW::DampedSpringJoint2DSW(const Vector2& p_anchor_a,const Vector2& p_anchor_b, Body2DSW* p_body_a,Body2DSW* p_body_b) : Joint2DSW(_arr,2) {
-
-
- A=p_body_a;
- B=p_body_b;
- anchor_A = A->get_inv_transform().xform(p_anchor_a);
- anchor_B = B->get_inv_transform().xform(p_anchor_b);
-
- rest_length=p_anchor_a.distance_to(p_anchor_b);
- stiffness=20;
- damping=1.5;
-
-
- A->add_constraint(this,0);
- B->add_constraint(this,1);
-
-}
-
-DampedSpringJoint2DSW::~DampedSpringJoint2DSW() {
-
- A->remove_constraint(this);
- B->remove_constraint(this);
-
-}
-
-
-#endif
diff --git a/servers/physics/joints_sw.h b/servers/physics/joints_sw.h
index c42baae961..b54c655ea1 100644
--- a/servers/physics/joints_sw.h
+++ b/servers/physics/joints_sw.h
@@ -33,7 +33,6 @@
#include "body_sw.h"
-
class JointSW : public ConstraintSW {
@@ -45,122 +44,4 @@ public:
};
-#if 0
-class PinJointSW : public JointSW {
-
- union {
- struct {
- BodySW *A;
- BodySW *B;
- };
-
- BodySW *_arr[2];
- };
-
- Vector2 anchor_A;
- Vector2 anchor_B;
- real_t dist;
- real_t jn_acc;
- real_t jn_max;
- real_t max_distance;
- real_t mass_normal;
- real_t bias;
-
- Vector2 rA,rB;
- Vector2 n; //normal
- bool correct;
-
-
-public:
-
- virtual PhysicsServer::JointType get_type() const { return PhysicsServer::JOINT_PIN; }
-
- virtual bool setup(float p_step);
- virtual void solve(float p_step);
-
-
- PinJointSW(const Vector2& p_pos,BodySW* p_body_a,BodySW* p_body_b=NULL);
- ~PinJointSW();
-};
-
-
-class GrooveJointSW : public JointSW {
-
- union {
- struct {
- BodySW *A;
- BodySW *B;
- };
-
- BodySW *_arr[2];
- };
-
- Vector2 A_groove_1;
- Vector2 A_groove_2;
- Vector2 A_groove_normal;
- Vector2 B_anchor;
- Vector2 jn_acc;
- Vector2 gbias;
- real_t jn_max;
- real_t clamp;
- Vector2 xf_normal;
- Vector2 rA,rB;
- Vector2 k1,k2;
-
-
- bool correct;
-
-public:
-
- virtual PhysicsServer::JointType get_type() const { return PhysicsServer::JOINT_GROOVE; }
-
- virtual bool setup(float p_step);
- virtual void solve(float p_step);
-
-
- GrooveJointSW(const Vector2& p_a_groove1,const Vector2& p_a_groove2, const Vector2& p_b_anchor, BodySW* p_body_a,BodySW* p_body_b);
- ~GrooveJointSW();
-};
-
-
-class DampedSpringJointSW : public JointSW {
-
- union {
- struct {
- BodySW *A;
- BodySW *B;
- };
-
- BodySW *_arr[2];
- };
-
-
- Vector2 anchor_A;
- Vector2 anchor_B;
-
- real_t rest_length;
- real_t damping;
- real_t stiffness;
-
- Vector2 rA,rB;
- Vector2 n;
- real_t n_mass;
- real_t target_vrn;
- real_t v_coef;
-
-public:
-
- virtual PhysicsServer::JointType get_type() const { return PhysicsServer::JOINT_DAMPED_SPRING; }
-
- virtual bool setup(float p_step);
- virtual void solve(float p_step);
-
- void set_param(PhysicsServer::DampedStringParam p_param, real_t p_value);
- real_t get_param(PhysicsServer::DampedStringParam p_param) const;
-
- DampedSpringJointSW(const Vector2& p_anchor_a,const Vector2& p_anchor_b, BodySW* p_body_a,BodySW* p_body_b);
- ~DampedSpringJointSW();
-};
-#endif
-
-#endif // JOINTS__SW_H
+#endif // JOINTS_SW_H
diff --git a/servers/physics_2d/broad_phase_2d_hash_grid.cpp b/servers/physics_2d/broad_phase_2d_hash_grid.cpp
index 6a52d5fe5b..953c87021f 100644
--- a/servers/physics_2d/broad_phase_2d_hash_grid.cpp
+++ b/servers/physics_2d/broad_phase_2d_hash_grid.cpp
@@ -29,6 +29,8 @@
#include "broad_phase_2d_hash_grid.h"
#include "globals.h"
+#define LARGE_ELEMENT_FI 1.01239812
+
void BroadPhase2DHashGrid::_pair_attempt(Element *p_elem, Element* p_with) {
Map<Element*,PairData*>::Element *E=p_elem->paired.find(p_with);
@@ -102,6 +104,26 @@ void BroadPhase2DHashGrid::_check_motion(Element *p_elem) {
void BroadPhase2DHashGrid::_enter_grid( Element* p_elem, const Rect2& p_rect,bool p_static) {
+
+ Vector2 sz = (p_rect.size/cell_size*LARGE_ELEMENT_FI); //use magic number to avoid floating point issues
+ if (sz.width*sz.height > large_object_min_surface) {
+ //large object, do not use grid, must check against all elements
+ for (Map<ID,Element>::Element *E=element_map.front();E;E=E->next()) {
+ if (E->key()==p_elem->self)
+ continue; // do not pair against itself
+ if (E->get().owner == p_elem->owner)
+ continue;
+ if (E->get()._static && p_static)
+ continue;
+
+ _pair_attempt(p_elem,&E->get());
+ }
+
+
+ large_elements[p_elem].inc();
+ return;
+ }
+
Point2i from = (p_rect.pos/cell_size).floor();
Point2i to = ((p_rect.pos+p_rect.size)/cell_size).floor();
@@ -174,12 +196,40 @@ void BroadPhase2DHashGrid::_enter_grid( Element* p_elem, const Rect2& p_rect,boo
}
+ //pair separatedly with large elements
+
+ for (Map<Element*,RC>::Element *E=large_elements.front();E;E=E->next()) {
+
+ if (E->key()==p_elem)
+ continue; // do not pair against itself
+ if (E->key()->owner == p_elem->owner)
+ continue;
+ if (E->key()->_static && p_static)
+ continue;
+
+ _pair_attempt(E->key(),p_elem);
+ }
}
void BroadPhase2DHashGrid::_exit_grid( Element* p_elem, const Rect2& p_rect,bool p_static) {
+ Vector2 sz = (p_rect.size/cell_size*LARGE_ELEMENT_FI);
+ if (sz.width*sz.height > large_object_min_surface) {
+
+ //unpair all elements, instead of checking all, just check what is already paired, so we at least save from checking static vs static
+ for (Map<Element*,PairData*>::Element *E=p_elem->paired.front();E;E=E->next()) {
+
+ _unpair_attempt(p_elem,E->key());
+ }
+
+ if (large_elements[p_elem].dec()==0) {
+ large_elements.erase(p_elem);
+ }
+ return;
+ }
+
Point2i from = (p_rect.pos/cell_size).floor();
Point2i to = ((p_rect.pos+p_rect.size)/cell_size).floor();
@@ -274,6 +324,20 @@ void BroadPhase2DHashGrid::_exit_grid( Element* p_elem, const Rect2& p_rect,bool
}
+
+ for (Map<Element*,RC>::Element *E=large_elements.front();E;E=E->next()) {
+ if (E->key()==p_elem)
+ continue; // do not pair against itself
+ if (E->key()->owner == p_elem->owner)
+ continue;
+ if (E->key()->_static && p_static)
+ continue;
+
+ //unpair from large elements
+ _unpair_attempt(p_elem,E->key());
+ }
+
+
}
@@ -526,6 +590,28 @@ int BroadPhase2DHashGrid::cull_segment(const Vector2& p_from, const Vector2& p_t
}
+ for (Map<Element*,RC>::Element *E=large_elements.front();E;E=E->next()) {
+
+ if (cullcount>=p_max_results)
+ break;
+ if (E->key()->pass==pass)
+ continue;
+
+ E->key()->pass=pass;
+
+// if (use_aabb && !p_aabb.intersects(E->key()->aabb))
+// continue;
+
+ if (!E->key()->aabb.intersects_segment(p_from,p_to))
+ continue;
+
+ p_results[cullcount]=E->key()->owner;
+ p_result_indices[cullcount]=E->key()->subindex;
+ cullcount++;
+
+
+ }
+
return cullcount;
}
@@ -547,6 +633,27 @@ int BroadPhase2DHashGrid::cull_aabb(const Rect2& p_aabb,CollisionObject2DSW** p_
}
+ for (Map<Element*,RC>::Element *E=large_elements.front();E;E=E->next()) {
+
+ if (cullcount>=p_max_results)
+ break;
+ if (E->key()->pass==pass)
+ continue;
+
+ E->key()->pass=pass;
+
+ if (!p_aabb.intersects(E->key()->aabb))
+ continue;
+
+// if (!E->key()->aabb.intersects_segment(p_from,p_to))
+// continue;
+
+ p_results[cullcount]=E->key()->owner;
+ p_result_indices[cullcount]=E->key()->subindex;
+ cullcount++;
+
+
+ }
return cullcount;
}
@@ -581,6 +688,7 @@ BroadPhase2DHashGrid::BroadPhase2DHashGrid() {
hash_table = memnew_arr( PosBin*, hash_table_size);
cell_size = GLOBAL_DEF("physics_2d/cell_size",128);
+ large_object_min_surface = GLOBAL_DEF("physics_2d/large_object_surface_treshold_in_cells",512);
for(int i=0;i<hash_table_size;i++)
hash_table[i]=NULL;
diff --git a/servers/physics_2d/broad_phase_2d_hash_grid.h b/servers/physics_2d/broad_phase_2d_hash_grid.h
index bda5ea21cf..561d488484 100644
--- a/servers/physics_2d/broad_phase_2d_hash_grid.h
+++ b/servers/physics_2d/broad_phase_2d_hash_grid.h
@@ -55,8 +55,26 @@ class BroadPhase2DHashGrid : public BroadPhase2DSW {
};
+ struct RC {
+
+ int ref;
+
+ _FORCE_INLINE_ int inc() {
+ ref++;
+ return ref;
+ }
+ _FORCE_INLINE_ int dec() {
+ ref--;
+ return ref;
+ }
+
+ _FORCE_INLINE_ RC() {
+ ref=0;
+ }
+ };
Map<ID,Element> element_map;
+ Map<Element*,RC> large_elements;
ID current;
@@ -86,6 +104,7 @@ class BroadPhase2DHashGrid : public BroadPhase2DSW {
Map<PairKey,PairData> pair_map;
int cell_size;
+ int large_object_min_surface;
PairCallback pair_callback;
void *pair_userdata;
@@ -127,23 +146,7 @@ class BroadPhase2DHashGrid : public BroadPhase2DSW {
};
- struct RC {
-
- int ref;
-
- _FORCE_INLINE_ int inc() {
- ref++;
- return ref;
- }
- _FORCE_INLINE_ int dec() {
- ref--;
- return ref;
- }
- _FORCE_INLINE_ RC() {
- ref=0;
- }
- };
struct PosBin {
diff --git a/servers/physics_2d/collision_solver_2d_sat.cpp b/servers/physics_2d/collision_solver_2d_sat.cpp
index f22b676304..a6d12bdada 100644
--- a/servers/physics_2d/collision_solver_2d_sat.cpp
+++ b/servers/physics_2d/collision_solver_2d_sat.cpp
@@ -77,6 +77,7 @@ _FORCE_INLINE_ static void _generate_contacts_point_edge(const Vector2 * p_point
struct _generate_contacts_Pair {
+ bool a;
int idx;
float d;
_FORCE_INLINE_ bool operator <(const _generate_contacts_Pair& l) const { return d< l.d; }
@@ -89,12 +90,14 @@ _FORCE_INLINE_ static void _generate_contacts_edge_edge(const Vector2 * p_points
ERR_FAIL_COND( p_point_count_B != 2 ); // circle is actually a 4x3 matrix
#endif
-
+# if 0
Vector2 rel_A=p_points_A[1]-p_points_A[0];
Vector2 rel_B=p_points_B[1]-p_points_B[0];
Vector2 t = p_collector->normal.tangent();
+ print_line("tangent: "+t);
+
real_t dA[2]={t.dot(p_points_A[0]),t.dot(p_points_A[1])};
Vector2 pA[2]={p_points_A[0],p_points_A[1]};
@@ -201,41 +204,55 @@ _FORCE_INLINE_ static void _generate_contacts_edge_edge(const Vector2 * p_points
}
}
+#endif
+
+#if 1
-#if 0
- Vector2 axis = rel_A.normalized();
- Vector2 axis_B = rel_B.normalized();
- if (axis.dot(axis_B)<0)
- axis_B=-axis_B;
- axis=(axis+axis_B)*0.5;
- Vector2 normal_A = axis.tangent();
- real_t dA = normal_A.dot(p_points_A[0]);
- Vector2 normal_B = rel_B.tangent().normalized();
- real_t dB = normal_A.dot(p_points_B[0]);
- Vector2 A[4]={ normal_A.plane_project(dA,p_points_B[0]), normal_A.plane_project(dA,p_points_B[1]), p_points_A[0], p_points_A[1] };
- Vector2 B[4]={ p_points_B[0], p_points_B[1], normal_B.plane_project(dB,p_points_A[0]), normal_B.plane_project(dB,p_points_A[1]) };
+ Vector2 n = p_collector->normal;
+ Vector2 t = n.tangent();
+ real_t dA = n.dot(p_points_A[0]);
+ real_t dB = n.dot(p_points_B[0]);
_generate_contacts_Pair dvec[4];
- for(int i=0;i<4;i++) {
- dvec[i].d=axis.dot(p_points_A[0]-A[i]);
- dvec[i].idx=i;
- }
+
+ dvec[0].d=t.dot(p_points_A[0]);
+ dvec[0].a=true;
+ dvec[0].idx=0;
+ dvec[1].d=t.dot(p_points_A[1]);
+ dvec[1].a=true;
+ dvec[1].idx=1;
+ dvec[2].d=t.dot(p_points_B[0]);
+ dvec[2].a=false;
+ dvec[2].idx=0;
+ dvec[3].d=t.dot(p_points_B[1]);
+ dvec[3].a=false;
+ dvec[3].idx=1;
SortArray<_generate_contacts_Pair> sa;
sa.sort(dvec,4);
for(int i=1;i<=2;i++) {
- Vector2 a = A[i];
- Vector2 b = B[i];
- if (p_collector->normal.dot(a) > p_collector->normal.dot(b)-CMP_EPSILON)
- continue;
- p_collector->call(a,b);
+ if (dvec[i].a) {
+ Vector2 a = p_points_A[dvec[i].idx];
+ Vector2 b = n.plane_project(dB,a);
+ if (n.dot(a) > n.dot(b)-CMP_EPSILON)
+ continue;
+ p_collector->call(a,b);
+ } else {
+ Vector2 b = p_points_B[dvec[i].idx];
+ Vector2 a = n.plane_project(dA,b);
+ if (n.dot(a) > n.dot(b)-CMP_EPSILON)
+ continue;
+ p_collector->call(a,b);
+ }
}
+
+
#elif 0
Vector2 axis = rel_A.normalized(); //make an axis
Vector2 axis_B = rel_B.normalized();
diff --git a/servers/physics_2d/constraint_2d_sw.cpp b/servers/physics_2d/constraint_2d_sw.cpp
deleted file mode 100644
index 2f681e8590..0000000000
--- a/servers/physics_2d/constraint_2d_sw.cpp
+++ /dev/null
@@ -1,30 +0,0 @@
-/*************************************************************************/
-/* constraint_2d_sw.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#include "constraint_2d_sw.h"
-
diff --git a/servers/physics_2d/physics_2d_server_wrap_mt.cpp b/servers/physics_2d/physics_2d_server_wrap_mt.cpp
index c5f023f162..3e8b284b9b 100644
--- a/servers/physics_2d/physics_2d_server_wrap_mt.cpp
+++ b/servers/physics_2d/physics_2d_server_wrap_mt.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* physics_2d_server_wrap_mt.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "physics_2d_server_wrap_mt.h"
#include "os/os.h"
diff --git a/servers/physics_2d/physics_2d_server_wrap_mt.h b/servers/physics_2d/physics_2d_server_wrap_mt.h
index 891c45addf..fd98da2d9c 100644
--- a/servers/physics_2d/physics_2d_server_wrap_mt.h
+++ b/servers/physics_2d/physics_2d_server_wrap_mt.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* physics_2d_server_wrap_mt.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef PHYSICS2DSERVERWRAPMT_H
#define PHYSICS2DSERVERWRAPMT_H
diff --git a/servers/server_wrap_mt_common.h b/servers/server_wrap_mt_common.h
index 149e9ec4f9..dd9d603852 100644
--- a/servers/server_wrap_mt_common.h
+++ b/servers/server_wrap_mt_common.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* server_wrap_mt_common.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#define FUNC0R(m_r,m_type)\
virtual m_r m_type() { \
diff --git a/servers/spatial_sound/spatial_sound_server_sw.cpp b/servers/spatial_sound/spatial_sound_server_sw.cpp
index d87d05dc4d..dc15d61afa 100644
--- a/servers/spatial_sound/spatial_sound_server_sw.cpp
+++ b/servers/spatial_sound/spatial_sound_server_sw.cpp
@@ -1,14 +1,31 @@
-/*************************************************/
-/* spatial_sound_server_sw.cpp */
-/*************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/*************************************************/
-/* Source code within this file is: */
-/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */
-/* All Rights Reserved. */
-/*************************************************/
-
+/*************************************************************************/
+/* spatial_sound_server_sw.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "spatial_sound_server_sw.h"
#include "os/os.h"
#include "servers/audio/audio_filter_sw.h"
diff --git a/servers/spatial_sound/spatial_sound_server_sw.h b/servers/spatial_sound/spatial_sound_server_sw.h
index a8ae7beb59..b4295bf145 100644
--- a/servers/spatial_sound/spatial_sound_server_sw.h
+++ b/servers/spatial_sound/spatial_sound_server_sw.h
@@ -1,14 +1,31 @@
-/*************************************************/
-/* spatial_sound_server_sw.h */
-/*************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/*************************************************/
-/* Source code within this file is: */
-/* (c) 2007-2016 Juan Linietsky, Ariel Manzur */
-/* All Rights Reserved. */
-/*************************************************/
-
+/*************************************************************************/
+/* spatial_sound_server_sw.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef SPATIAL_SOUND_SERVER_SW_H
#define SPATIAL_SOUND_SERVER_SW_H
diff --git a/servers/visual/shader_compiler.cpp b/servers/visual/shader_compiler.cpp
deleted file mode 100644
index ee5dae5ae2..0000000000
--- a/servers/visual/shader_compiler.cpp
+++ /dev/null
@@ -1,30 +0,0 @@
-/*************************************************************************/
-/* shader_compiler.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#include "shader_compiler.h"
-
diff --git a/servers/visual/shader_compiler.h b/servers/visual/shader_compiler.h
deleted file mode 100644
index 29561b2145..0000000000
--- a/servers/visual/shader_compiler.h
+++ /dev/null
@@ -1,142 +0,0 @@
-/*************************************************************************/
-/* shader_compiler.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#ifndef SHADER_COMPILER_H
-#define SHADER_COMPILER_H
-
-#include "map.h"
-#include "list.h"
-#include "vector.h"
-#if 0
-class ShaderSyntax {
-public:
-
-
- enum DataType {
- TYPE_BOOL,
- TYPE_FLOAT,
- TYPE_VEC3,
- TYPE_TRANSFORM,
- TYPE_TEXTURE
- };
-
- enum Operator {
- OP_ASSIGN,
- OP_ADD,
- OP_SUB,
- OP_MUL,
- OP_DIV,
- OP_NEG,
- OP_CMP_EQ,
- OP_CMP_NEQ,
- OP_CMP_LEQ,
- OP_CMP_GEQ,
- OP_CMP_OR,
- OP_CMP_AND,
- OP_CALL
- };
-
- struct Node {
-
- enum Type {
- TYPE_PROGRAM,
- TYPE_FUNCTION,
- TYPE_BLOCK,
- TYPE_VARIABLE,
- TYPE_OPERATOR,
- TYPE_IF,
- };
-
- Node * parent;
- Type type;
-
- virtual ~Node() {}
- };
-
-
- struct OperatorNode : public Node {
-
- Operator op;
- Vector<Node*> arguments;
- OperatorNode() { type=TYPE_OPERATOR; }
- };
-
- struct VariableNode : public Node {
-
- StringName variable;
- VariableNode() { type=TYPE_VARIABLE; }
- };
-
- struct BlockNode : public Node {
-
- Map<StringName,DataType> variables;
- List<Node*> subnodes;
- BlockNode() { type=TYPE_BLOCK; }
- };
-
- struct ConditionalNode : public Node {
-
- Node *test;
- Node *do_if;
- Node *do_else;
- ConditionalNode() { type=TYPE_CONDITIONAL; }
- };
-
-
- struct FunctionNode : public Node {
-
- struct Argument {
-
- StringName name;
- DataType type;
- };
-
- Vector<Argument> arguments;
- Node *body;
-
- FunctionNode() { type=TYPE_FUNCTION; }
-
- };
-
-
- struct ProgramNode : public Node {
-
- Vector<FunctionNode*> functions;
- Node *body;
-
- ProgramNode() { type=TYPE_PROGRAM; }
- };
-
-
-
-
- ShaderCompiler();
-};
-
-#endif // SHADER_COMPILER_H
-#endif
diff --git a/servers/visual/shader_graph.cpp b/servers/visual/shader_graph.cpp
deleted file mode 100644
index 7fe949bec3..0000000000
--- a/servers/visual/shader_graph.cpp
+++ /dev/null
@@ -1,455 +0,0 @@
-/*************************************************************************/
-/* shader_graph.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#include "shader_graph.h"
-
-#if 0
-
-
-struct _ConnectionKey {
-
- int node;
- int slot;
-
- _FORCE_INLINE_ _ConnectionKey(int p_node=0,int p_slot=0) { node=p_node; slot=p_slot; }
-
- _FORCE_INLINE_ bool operator<(const _ConnectionKey& p_other) const {
-
- if (node<p_other.node)
- return true;
- else if (node>p_other.node)
- return false;
- else
- return slot<p_other.slot;
- }
-};
-
-Error ShaderGraph::generate(ShaderCodeGenerator * p_generator) const {
-
- Map<int,Node>::Element *E = node_map.front();
- int i=0;
- while(E) {
-
- E->get().order=i++;
- E->get().out_valid=false;
- E->get().in_valid=false;
- E=E->next();
- }
-
- int worst_case=connections.size() * connections.size(); // worst bubble case
- int iterations=0;
- int swaps;
-
- do {
- swaps=0;
- const List<Connection>::Element *E=connections.front();
-
- while(E) {
-
- const Connection &c = E->get();
-
- const Node *src = &node_map[c.src_id];
- const Node *dst = &node_map[c.dst_id];
-
- if (src->order > dst->order) {
-
- SWAP(src->order, dst->order);
- swaps++;
- }
-
- E=E->next();
- }
-
-
- iterations++;
-
- } while (iterations<=worst_case && swaps>0);
-
- ERR_FAIL_COND_V( swaps != 0 , ERR_CYCLIC_LINK );
-
- //node array
- Vector<const Node*> nodes;
- nodes.resize(node_map.size());
-
- E = node_map.front();
- while(E) {
-
- ERR_FAIL_INDEX_V( E->get().order, nodes.size(), ERR_BUG);
- nodes[E->get().order]=&E->get();
- E=E->next();
- }
-
- //connection set
-
- Map<_ConnectionKey,int> in_connection_map;
- Map<_ConnectionKey,List<int> > out_connection_map;
- Map<_ConnectionKey,int> in_node_map;
- Map<_ConnectionKey,List<int> > out_node_map;
-
- const List<Connection>::Element *CE=connections.front();
- i=0;
- while(CE) {
- const Connection &c = CE->get();
-
- _ConnectionKey in_k;
- in_k.node=node_map[c.dst_id].order;
- in_k.slot=c.dst_slot;
- in_connection_map[in_k]=i;
- in_node_map[in_k]=node_map[c.src_id].order;
-
- _ConnectionKey out_k;
- out_k.node=node_map[c.src_id].order;
- out_k.slot=c.src_slot;
- if (!out_connection_map.has(out_k))
- out_connection_map[out_k]=List<int>();
- out_connection_map[out_k].push_back(i);
- if(!out_node_map.has(out_k))
- out_node_map[out_k]=List<int>();
- out_node_map[out_k].push_back(node_map[c.dst_id].order);
-
- i++;
- CE=CE->next();
- }
-
- // validate nodes if they are connected to an output
-
- for(int i=nodes.size()-1;i>=0;i--) {
-
- if (VisualServer::shader_get_output_count(nodes[i]->type)==0) {
- // an actual graph output
-
- _ConnectionKey in_k;
- in_k.node=nodes[i]->order;
- in_k.slot=0;
-
- if (in_node_map.has(in_k)) {
- nodes[i]->out_valid=true;
- }
- } else {
- // regular node
-
- bool valid=false;
- for(int j=0;j<VS::shader_get_output_count(nodes[i]->type);j++) {
-
- _ConnectionKey key(nodes[i]->order,j);
-
- if (out_node_map.has(key)) {
- for(List<int>::Element *CE=out_node_map[key].front();CE;CE=CE->next()) {
-
- int to_node=CE->get();
- ERR_CONTINUE(to_node<0 || to_node >=nodes.size());
- if (nodes[to_node]->out_valid) {
- valid=true;
- break;
- }
-
-
- }
- }
- if (valid)
- break;
-
- }
-
- nodes[i]->out_valid=valid;
- }
- }
-
- // validate nodes if they are connected to an input
-
- for(int i=0;i<nodes.size();i++) {
-
- if (VisualServer::shader_get_input_count(nodes[i]->type)==0) {
- // an actual graph input
-
- int out_count=VisualServer::shader_get_output_count(nodes[i]->type);
-
-
- for(int j=0;j<out_count;j++) {
-
- _ConnectionKey out_k;
- out_k.node=nodes[i]->order;
- out_k.slot=j;
- if (out_node_map.has(out_k)) {
- nodes[i]->in_valid=true;
- break;
- }
- }
-
- } else {
- // regular node
- // this is very important.. for a node to be valid, all its inputs need to be valid
- bool valid=true;
- for(int j=0;j<VS::shader_get_input_count(nodes[i]->type);j++) {
-
-
- bool in_valid=false;
- _ConnectionKey key(nodes[i]->order,j);
- if (in_node_map.has(key)) {
-
- int from_node=in_node_map[key];
- ERR_CONTINUE(from_node<0 || from_node>=nodes.size());
- if (nodes[from_node]->in_valid)
- in_valid=true;
-
- }
-
- if (!in_valid) {
- valid=false;
- break;
- }
-
- }
-
- nodes[i]->in_valid=valid;
- }
- }
-
- // write code
-
- p_generator->begin();
-
- for(int i=0;i<nodes.size();i++) {
-
-
- if (!nodes[i]->out_valid || !nodes[i]->in_valid) // valid in both ways
- continue; // skip node
-
- Vector<int> in_indices;
- in_indices.resize(VS::shader_get_input_count(nodes[i]->type));
- Vector<int> out_indices;
- Vector<int> out_slot_indices;
-
- for(int j=0;j<in_indices.size();j++) {
-
- _ConnectionKey key(nodes[i]->order,j);
- if (in_connection_map.has(key))
- in_indices[j]=in_connection_map[key];
- else
- in_indices[j]=-1;
- }
-
- for(int j=0;j<VS::shader_get_output_count(nodes[i]->type);j++) {
-
- _ConnectionKey key(nodes[i]->order,j);
- if (out_connection_map.has(key)) {
- for(List<int>::Element *CE=out_connection_map[key].front();CE;CE=CE->next()) {
-
- out_indices.push_back(CE->get());
- out_slot_indices.push_back(j);
- }
- }
- }
-
- Error err = p_generator->add_node(nodes[i]->type,i,nodes[i]->id,nodes[i]->param,in_indices,out_indices,out_slot_indices);
- ERR_FAIL_COND_V( err, err );
- }
-
- p_generator->end();
-
-
- return OK;
-}
-
-void ShaderGraph::node_add(VS::ShaderNodeType p_type,int p_id) {
-
-
- ERR_FAIL_COND( node_map.has(p_id ) );
- ERR_FAIL_INDEX( p_type, VS::NODE_TYPE_MAX );
- Node node;
-
- node.type=p_type;
- node.id=p_id;
- node.x=0;
- node.y=0;
-
- node_map[p_id]=node;
-
-}
-
-void ShaderGraph::node_set_pos(int p_id, int p_x,int p_y) {
-
- ERR_FAIL_COND(!node_map.has(p_id));
- node_map[p_id].x=p_x;
- node_map[p_id].y=p_y;
-}
-int ShaderGraph::node_get_pos_x(int p_id) const {
-
- ERR_FAIL_COND_V(!node_map.has(p_id),-1);
- return node_map[p_id].x;
-}
-int ShaderGraph::node_get_pos_y(int p_id) const {
-
- ERR_FAIL_COND_V(!node_map.has(p_id),-1);
- return node_map[p_id].y;
-}
-
-void ShaderGraph::node_remove(int p_id) {
-
- ERR_FAIL_COND(!node_map.has(p_id));
-
- //erase connections associated with node
- List<Connection>::Element *N,*E=connections.front();
- while(E) {
- N=E->next();
- const Connection &c = E->get();
- if (c.src_id==p_id || c.dst_id==p_id) {
-
- connections.erase(E);
- }
- E=N;
- }
-
- node_map.erase(p_id);
-}
-
-void ShaderGraph::node_change_type(int p_id, VS::ShaderNodeType p_type) {
-
- ERR_FAIL_COND(!node_map.has(p_id));
- node_map[p_id].type=p_type;
- node_map[p_id].param=Variant();
-
-}
-
-void ShaderGraph::node_set_param(int p_id, const Variant& p_value) {
-
- ERR_FAIL_COND(!node_map.has(p_id));
- node_map[p_id].param=p_value;
-}
-
-void ShaderGraph::get_node_list(List<int> *p_node_list) const {
-
- Map<int,Node>::Element *E = node_map.front();
-
- while(E) {
-
- p_node_list->push_back(E->key());
- E=E->next();
- }
-}
-
-
-VS::ShaderNodeType ShaderGraph::node_get_type(int p_id) const {
-
- ERR_FAIL_COND_V(!node_map.has(p_id),VS::NODE_TYPE_MAX);
- return node_map[p_id].type;
-}
-
-Variant ShaderGraph::node_get_param(int p_id) const {
-
- ERR_FAIL_COND_V(!node_map.has(p_id),Variant());
- return node_map[p_id].param;
-}
-
-
-Error ShaderGraph::connect(int p_src_id,int p_src_slot, int p_dst_id,int p_dst_slot) {
-
- ERR_FAIL_COND_V(p_src_id==p_dst_id, ERR_INVALID_PARAMETER);
- ERR_FAIL_COND_V(!node_map.has(p_src_id), ERR_INVALID_PARAMETER);
- ERR_FAIL_COND_V(!node_map.has(p_dst_id), ERR_INVALID_PARAMETER);
- VisualServer::ShaderNodeType type_src=node_map[p_src_id].type;
- VisualServer::ShaderNodeType type_dst=node_map[p_dst_id].type;
- ERR_FAIL_INDEX_V( p_src_slot, VisualServer::shader_get_output_count(type_src), ERR_INVALID_PARAMETER );
- ERR_FAIL_INDEX_V( p_dst_slot, VisualServer::shader_get_input_count(type_dst), ERR_INVALID_PARAMETER );
- ERR_FAIL_COND_V(VisualServer::shader_is_output_vector(type_src,p_src_slot) != VisualServer::shader_is_input_vector(type_dst,p_dst_slot), ERR_INVALID_PARAMETER );
-
-
- List<Connection>::Element *E=connections.front();
- while(E) {
- const Connection &c = E->get();
- ERR_FAIL_COND_V(c.dst_slot==p_dst_slot && c.dst_id == p_dst_id, ERR_ALREADY_EXISTS);
-
- E=E->next();
- }
-
- Connection c;
- c.src_slot=p_src_slot;
- c.src_id=p_src_id;
- c.dst_slot=p_dst_slot;
- c.dst_id=p_dst_id;
-
- connections.push_back(c);
-
- return OK;
-}
-
-bool ShaderGraph::is_connected(int p_src_id,int p_src_slot, int p_dst_id,int p_dst_slot) const {
-
- const List<Connection>::Element *E=connections.front();
- while(E) {
- const Connection &c = E->get();
- if (c.dst_slot==p_dst_slot && c.dst_id == p_dst_id && c.src_slot==p_src_slot && c.src_id == p_src_id)
- return true;
-
- E=E->next();
- }
-
- return false;
-}
-
-void ShaderGraph::disconnect(int p_src_id,int p_src_slot, int p_dst_id,int p_dst_slot) {
-
- List<Connection>::Element *N,*E=connections.front();
- while(E) {
- N=E->next();
- const Connection &c = E->get();
- if (c.src_slot==p_src_slot && c.src_id==p_src_id && c.dst_slot==p_dst_slot && c.dst_id == p_dst_id) {
-
- connections.erase(E);
- }
- E=N;
- }
-
-
-}
-
-
-void ShaderGraph::clear() {
-
- connections.clear();
- node_map.clear();
-}
-
-List<ShaderGraph::Connection> ShaderGraph::get_connection_list() const {
-
- return connections;
-
-}
-
-ShaderGraph::ShaderGraph() {
-
-
-}
-
-
-ShaderGraph::~ShaderGraph() {
-
-}
-
-
-#endif
diff --git a/servers/visual/shader_graph.h b/servers/visual/shader_graph.h
deleted file mode 100644
index 41df0f60f1..0000000000
--- a/servers/visual/shader_graph.h
+++ /dev/null
@@ -1,109 +0,0 @@
-/*************************************************************************/
-/* shader_graph.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-
-#if 0
-
-/**
- @author Juan Linietsky <reduzio@gmail.com>
-*/
-
-#include "servers/visual_server.h"
-#include "map.h"
-
-
-class ShaderCodeGenerator {
-public:
-
- virtual void begin()=0;
- virtual Error add_node(VS::ShaderNodeType p_type,int p_node_pos,int p_id,const Variant& p_param,const Vector<int>& p_in_connections,const Vector<int>& p_out_connections,const Vector<int>& p_out_connection_outputs)=0;
- virtual void end()=0;
-
- virtual ~ShaderCodeGenerator() {}
-};
-
-class ShaderGraph {
-public:
-
-
- struct Connection {
-
- int src_id;
- int src_slot;
- int dst_id;
- int dst_slot;
- };
-
-private:
- struct Node {
-
- int16_t x,y;
- VS::ShaderNodeType type;
- Variant param;
- int id;
- mutable int order; // used for sorting
- mutable bool out_valid;
- mutable bool in_valid;
- };
-
- Map<int,Node> node_map;
-
- List<Connection> connections;
-
-public:
-
- Error generate(ShaderCodeGenerator * p_generator) const;
-
- void node_add(VS::ShaderNodeType p_type,int p_id);
- void node_remove(int p_id);
- void node_change_type(int p_id, VS::ShaderNodeType p_type);
- void node_set_param(int p_id, const Variant& p_value);
-
- void node_set_pos(int p_id, int p_x,int p_y);
- int node_get_pos_x(int p_id) const;
- int node_get_pos_y(int p_id) const;
-
- void get_node_list(List<int> *p_node_list) const;
- void get_sorted_node_list(List<int> *p_node_list) const;
- VS::ShaderNodeType node_get_type(int p_id) const;
- Variant node_get_param(int p_id) const;
-
- Error connect(int p_src_id,int p_src_slot, int p_dst_id,int p_dst_slot);
- bool is_connected(int p_src_id,int p_src_slot, int p_dst_id,int p_dst_slot) const;
- void disconnect(int p_src_id,int p_src_slot, int p_dst_id,int p_dst_slot);
-
- void clear();
-
- List<Connection> get_connection_list() const;
-
-
- ShaderGraph();
- ~ShaderGraph();
-
-};
-#endif
diff --git a/servers/visual/visual_server_raster.h b/servers/visual/visual_server_raster.h
index dcaac6e8d2..0480d9f5cb 100644
--- a/servers/visual/visual_server_raster.h
+++ b/servers/visual/visual_server_raster.h
@@ -32,7 +32,7 @@
#include "servers/visual_server.h"
#include "servers/visual/rasterizer.h"
-#include "balloon_allocator.h"
+#include "allocators.h"
#include "octree.h"
/**
diff --git a/tools/editor/animation_editor.cpp b/tools/editor/animation_editor.cpp
index 08b90b5408..dd3c3fee32 100644
--- a/tools/editor/animation_editor.cpp
+++ b/tools/editor/animation_editor.cpp
@@ -754,7 +754,7 @@ void AnimationKeyEditor::_menu_track(int p_type) {
undo_redo->add_undo_method(animation.ptr(),"track_set_interpolation_type",idx,animation->track_get_interpolation_type(idx));
if (animation->track_get_type(idx)==Animation::TYPE_VALUE) {
- undo_redo->add_undo_method(animation.ptr(),"value_track_set_continuous",idx,animation->value_track_is_continuous(idx));
+ undo_redo->add_undo_method(animation.ptr(),"value_track_set_update_mode",idx,animation->value_track_get_update_mode(idx));
}
@@ -918,7 +918,7 @@ void AnimationKeyEditor::_menu_track(int p_type) {
pos=animation->get_length();
timeline_pos=pos;
track_pos->update();
- emit_signal("timeline_changed",pos);
+ emit_signal("timeline_changed",pos,true);
} break;
case TRACK_MENU_PREV_STEP: {
@@ -934,7 +934,7 @@ void AnimationKeyEditor::_menu_track(int p_type) {
pos=0;
timeline_pos=pos;
track_pos->update();
- emit_signal("timeline_changed",pos);
+ emit_signal("timeline_changed",pos,true);
} break;
@@ -1169,8 +1169,9 @@ void AnimationKeyEditor::_track_editor_draw() {
get_icon("InterpCubic","EditorIcons")
};
Ref<Texture> cont_icon[3]={
+ get_icon("TrackContinuous","EditorIcons"),
get_icon("TrackDiscrete","EditorIcons"),
- get_icon("TrackContinuous","EditorIcons")
+ get_icon("TrackTrigger","EditorIcons")
};
Ref<Texture> type_icon[3]={
get_icon("KeyValue","EditorIcons"),
@@ -1442,15 +1443,15 @@ void AnimationKeyEditor::_track_editor_draw() {
if (animation->track_get_type(idx)==Animation::TYPE_VALUE) {
- int continuous = animation->value_track_is_continuous(idx)?1:0;
+ int umode = animation->value_track_get_update_mode(idx);
icon_ofs.x-=hsep;
icon_ofs.x-=down_icon->get_width();
te->draw_texture(down_icon,icon_ofs);
icon_ofs.x-=hsep;
- icon_ofs.x-=cont_icon[continuous]->get_width();
- te->draw_texture(cont_icon[continuous],icon_ofs);
+ icon_ofs.x-=cont_icon[umode]->get_width();
+ te->draw_texture(cont_icon[umode],icon_ofs);
} else {
icon_ofs.x -= hsep*2 + cont_icon[0]->get_width() + down_icon->get_width();
@@ -1626,8 +1627,8 @@ void AnimationKeyEditor::_track_menu_selected(int p_idx) {
ERR_FAIL_INDEX(cont_editing,animation->get_track_count());
undo_redo->create_action(TTR("Anim Track Change Value Mode"));
- undo_redo->add_do_method(animation.ptr(),"value_track_set_continuous",cont_editing,p_idx);
- undo_redo->add_undo_method(animation.ptr(),"value_track_set_continuous",cont_editing,animation->value_track_is_continuous(cont_editing));
+ undo_redo->add_do_method(animation.ptr(),"value_track_set_update_mode",cont_editing,p_idx);
+ undo_redo->add_undo_method(animation.ptr(),"value_track_set_update_mode",cont_editing,animation->value_track_get_update_mode(cont_editing));
undo_redo->commit_action();
}
@@ -1820,8 +1821,9 @@ void AnimationKeyEditor::_track_editor_input_event(const InputEvent& p_input) {
get_icon("InterpCubic","EditorIcons")
};
Ref<Texture> cont_icon[3]={
+ get_icon("TrackContinuous","EditorIcons"),
get_icon("TrackDiscrete","EditorIcons"),
- get_icon("TrackContinuous","EditorIcons")
+ get_icon("TrackTrigger","EditorIcons")
};
Ref<Texture> type_icon[3]={
get_icon("KeyValue","EditorIcons"),
@@ -1972,7 +1974,7 @@ void AnimationKeyEditor::_track_editor_input_event(const InputEvent& p_input) {
click.click=ClickOver::CLICK_DRAG_TIMELINE;
click.at=Point2(mb.x,mb.y);
click.to=click.at;
- emit_signal("timeline_changed",pos);
+ emit_signal("timeline_changed",pos,false);
}
@@ -2184,8 +2186,8 @@ void AnimationKeyEditor::_track_editor_input_event(const InputEvent& p_input) {
track_menu->clear();
track_menu->set_size(Point2(1,1));
- static const char *cont_name[3]={"Discrete","Continuous"};
- for(int i=0;i<2;i++) {
+ String cont_name[3]={TTR("Continuous"),TTR("Discrete"),TTR("Trigger")};
+ for(int i=0;i<3;i++) {
track_menu->add_icon_item(cont_icon[i],cont_name[i]);
}
@@ -2594,7 +2596,7 @@ void AnimationKeyEditor::_track_editor_input_event(const InputEvent& p_input) {
}
timeline_pos=pos;
- emit_signal("timeline_changed",pos);
+ emit_signal("timeline_changed",pos,true);
@@ -2920,6 +2922,7 @@ void AnimationKeyEditor::_notification(int p_what) {
edit_button->connect("pressed",this,"_toggle_edit_curves");
loop->set_icon(get_icon("Loop","EditorIcons"));
+ loop_interpolation->set_icon(get_icon("LoopInterpolation","EditorIcons"));
curve_edit->connect("transition_changed",this,"_curve_transition_changed");
//edit_button->add_color_override("font_color",get_color("font_color","Tree"));
@@ -2940,8 +2943,9 @@ void AnimationKeyEditor::_notification(int p_what) {
get_icon("InterpCubic","EditorIcons")
};
Ref<Texture> cont_icon[3]={
+ get_icon("TrackContinuous","EditorIcons"),
get_icon("TrackDiscrete","EditorIcons"),
- get_icon("TrackContinuous","EditorIcons")
+ get_icon("TrackTrigger","EditorIcons")
};
//right_data_size_cache = remove_icon->get_width() + move_up_icon->get_width() + move_down_icon->get_width() + down_icon->get_width() *2 + interp_icon[0]->get_width() + cont_icon[0]->get_width() + add_key_icon->get_width() + hsep*11;
@@ -3009,6 +3013,7 @@ void AnimationKeyEditor::_update_menu() {
length->set_val(animation->get_length());
loop->set_pressed(animation->has_loop());
+ loop_interpolation->set_pressed(animation->has_loop_interpolation());
step->set_val(animation->get_step());
}
@@ -3311,7 +3316,7 @@ int AnimationKeyEditor::_confirm_insert(InsertData p_id,int p_last_track) {
created=true;
undo_redo->create_action(TTR("Anim Insert Track & Key"));
- bool continuous=false;
+ Animation::UpdateMode update_mode=Animation::UPDATE_DISCRETE;
if (p_id.type==Animation::TYPE_VALUE) {
//wants a new tack
@@ -3324,16 +3329,21 @@ int AnimationKeyEditor::_confirm_insert(InsertData p_id,int p_last_track) {
PropertyInfo h = _find_hint_for_track(animation->get_track_count()-1,np);
animation->remove_track(animation->get_track_count()-1); //hack
-
- continuous =
- h.type==Variant::REAL ||
+ if ( h.type==Variant::REAL ||
h.type==Variant::VECTOR2 ||
h.type==Variant::RECT2 ||
h.type==Variant::VECTOR3 ||
h.type==Variant::_AABB ||
h.type==Variant::QUAT ||
h.type==Variant::COLOR ||
- h.type==Variant::TRANSFORM ;
+ h.type==Variant::TRANSFORM ) {
+
+ update_mode=Animation::UPDATE_CONTINUOUS;
+ }
+
+ if (h.usage&PROPERTY_USAGE_ANIMATE_AS_TRIGGER) {
+ update_mode=Animation::UPDATE_TRIGGER;
+ }
}
}
@@ -3342,7 +3352,7 @@ int AnimationKeyEditor::_confirm_insert(InsertData p_id,int p_last_track) {
undo_redo->add_do_method(animation.ptr(),"add_track",p_id.type);
undo_redo->add_do_method(animation.ptr(),"track_set_path",p_id.track_idx,p_id.path);
if (p_id.type==Animation::TYPE_VALUE)
- undo_redo->add_do_method(animation.ptr(),"value_track_set_continuous",p_id.track_idx,continuous);
+ undo_redo->add_do_method(animation.ptr(),"value_track_set_update_mode",p_id.track_idx,update_mode);
} else {
undo_redo->create_action(TTR("Anim Insert Key"));
@@ -3459,6 +3469,21 @@ void AnimationKeyEditor::_animation_loop_changed() {
}
+void AnimationKeyEditor::_animation_loop_interpolation_changed() {
+
+ if (updating)
+ return;
+
+ if (!animation.is_null()) {
+
+ undo_redo->create_action(TTR("Change Anim Loop Interpolation"));
+ undo_redo->add_do_method(animation.ptr(),"set_loop_interpolation",loop_interpolation->is_pressed());
+ undo_redo->add_undo_method(animation.ptr(),"set_loop_interpolation",!loop_interpolation->is_pressed());
+ undo_redo->commit_action();
+ }
+
+}
+
void AnimationKeyEditor::_create_value_item(int p_type) {
@@ -3536,7 +3561,7 @@ void AnimationKeyEditor::_insert_delay() {
pos=animation->get_length();
timeline_pos=pos;
track_pos->update();
- emit_signal("timeline_changed",pos);
+ emit_signal("timeline_changed",pos,true);
}
insert_queue=false;
}
@@ -3744,6 +3769,7 @@ void AnimationKeyEditor::_bind_methods() {
ObjectTypeDB::bind_method(_MD("_animation_loop_changed"),&AnimationKeyEditor::_animation_loop_changed);
+ ObjectTypeDB::bind_method(_MD("_animation_loop_interpolation_changed"),&AnimationKeyEditor::_animation_loop_interpolation_changed);
ObjectTypeDB::bind_method(_MD("_animation_len_changed"),&AnimationKeyEditor::_animation_len_changed);
ObjectTypeDB::bind_method(_MD("_create_value_item"),&AnimationKeyEditor::_create_value_item);
ObjectTypeDB::bind_method(_MD("_pane_drag"),&AnimationKeyEditor::_pane_drag);
@@ -3759,7 +3785,7 @@ void AnimationKeyEditor::_bind_methods() {
ADD_SIGNAL( MethodInfo("resource_selected", PropertyInfo( Variant::OBJECT, "res"),PropertyInfo( Variant::STRING, "prop") ) );
ADD_SIGNAL( MethodInfo("keying_changed" ) );
- ADD_SIGNAL( MethodInfo("timeline_changed", PropertyInfo(Variant::REAL,"pos") ) );
+ ADD_SIGNAL( MethodInfo("timeline_changed", PropertyInfo(Variant::REAL,"pos"), PropertyInfo(Variant::BOOL,"drag") ) );
ADD_SIGNAL( MethodInfo("animation_len_changed", PropertyInfo(Variant::REAL,"len") ) );
ADD_SIGNAL( MethodInfo("animation_step_changed", PropertyInfo(Variant::REAL,"step") ) );
ADD_SIGNAL( MethodInfo("key_edited", PropertyInfo(Variant::INT,"track"), PropertyInfo(Variant::INT,"key") ) );
@@ -3854,6 +3880,12 @@ AnimationKeyEditor::AnimationKeyEditor() {
hb->add_child(loop);
loop->set_tooltip(TTR("Enable/Disable looping in animation."));
+ loop_interpolation = memnew( ToolButton );
+ loop_interpolation->set_toggle_mode(true);
+ loop_interpolation->connect("pressed",this,"_animation_loop_interpolation_changed");
+ hb->add_child(loop_interpolation);
+ loop_interpolation->set_tooltip(TTR("Enable/Disable interpolation when looping animation."));
+
hb->add_child( memnew( VSeparator ) );
menu_add_track = memnew( MenuButton );
diff --git a/tools/editor/animation_editor.h b/tools/editor/animation_editor.h
index 413c73b4b9..c8de1d87c1 100644
--- a/tools/editor/animation_editor.h
+++ b/tools/editor/animation_editor.h
@@ -173,6 +173,7 @@ class AnimationKeyEditor : public VBoxContainer {
//MenuButton *menu;
SpinBox *length;
Button *loop;
+ Button *loop_interpolation;
bool keying;
ToolButton *edit_button;
ToolButton *move_up_button;
@@ -238,6 +239,7 @@ class AnimationKeyEditor : public VBoxContainer {
void _animation_len_changed(float p_len);
void _animation_loop_changed();
+ void _animation_loop_interpolation_changed();
void _step_changed(float p_len);
struct InsertData {
diff --git a/tools/editor/array_property_edit.cpp b/tools/editor/array_property_edit.cpp
index 1ff6e644d7..b6219ce67b 100644
--- a/tools/editor/array_property_edit.cpp
+++ b/tools/editor/array_property_edit.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* array_property_edit.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "array_property_edit.h"
#include "editor_node.h"
diff --git a/tools/editor/array_property_edit.h b/tools/editor/array_property_edit.h
index 948b2a71a3..a2aa24c8ed 100644
--- a/tools/editor/array_property_edit.h
+++ b/tools/editor/array_property_edit.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* array_property_edit.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef ARRAY_PROPERTY_EDIT_H
#define ARRAY_PROPERTY_EDIT_H
diff --git a/tools/editor/code_editor.cpp b/tools/editor/code_editor.cpp
index be5d9c47ff..644478923c 100644
--- a/tools/editor/code_editor.cpp
+++ b/tools/editor/code_editor.cpp
@@ -30,6 +30,7 @@
#include "editor_settings.h"
#include "scene/gui/margin_container.h"
#include "scene/gui/separator.h"
+#include "scene/resources/dynamic_font.h"
#include "os/keyboard.h"
void GotoLineDialog::popup_find_line(TextEdit *p_edit) {
@@ -974,6 +975,48 @@ FindReplaceDialog::FindReplaceDialog() {
/*** CODE EDITOR ****/
+void CodeTextEditor::_text_editor_input_event(const InputEvent& p_event) {
+
+ if (p_event.type==InputEvent::MOUSE_BUTTON) {
+
+ const InputEventMouseButton& mb=p_event.mouse_button;
+
+ if (mb.pressed && mb.mod.command) {
+
+ if (mb.button_index==BUTTON_WHEEL_UP) {
+
+ font_resize_val+=1;
+
+ if (font_resize_timer->get_time_left()==0)
+ font_resize_timer->start();
+
+ } else if (mb.button_index==BUTTON_WHEEL_DOWN) {
+
+ font_resize_val-=1;
+
+ if (font_resize_timer->get_time_left()==0)
+ font_resize_timer->start();
+ }
+ }
+ } else if (p_event.type==InputEvent::KEY) {
+
+ const InputEventKey& k=p_event.key;
+
+ if (k.pressed && k.mod.command) {
+
+ if (k.scancode==KEY_0) { // reset source font size to default
+
+ Ref<DynamicFont> font = text_editor->get_font("font");
+
+ if (font.is_valid()) {
+ EditorSettings::get_singleton()->set("global/source_font_size",14);
+ font->set_size(14);
+ }
+ }
+ }
+ }
+}
+
void CodeTextEditor::_line_col_changed() {
String text = String()+TTR("Line:")+" "+itos(text_editor->cursor_get_line()+1)+", "+TTR("Col:")+" "+itos(text_editor->cursor_get_column());
@@ -1011,6 +1054,22 @@ void CodeTextEditor::_complete_request() {
text_editor->code_complete(strs);
}
+void CodeTextEditor::_font_resize_timeout() {
+
+ Ref<DynamicFont> font = text_editor->get_font("font");
+
+ if (font.is_valid()) {
+ int size=font->get_size()+font_resize_val;
+
+ if (size>=8 && size<=96) {
+ EditorSettings::get_singleton()->set("global/source_font_size",size);
+ font->set_size(size);
+ }
+
+ font_resize_val=0;
+ }
+}
+
void CodeTextEditor::set_error(const String& p_error) {
if (p_error!="") {
@@ -1026,15 +1085,15 @@ void CodeTextEditor::_update_font() {
// FONTS
String editor_font = EDITOR_DEF("text_editor/font", "");
- bool font_overrode = false;
+ bool font_overridden = false;
if (editor_font!="") {
Ref<Font> fnt = ResourceLoader::load(editor_font);
if (fnt.is_valid()) {
text_editor->add_font_override("font",fnt);
- font_overrode = true;
+ font_overridden = true;
}
}
- if(!font_overrode)
+ if(!font_overridden)
text_editor->add_font_override("font",get_font("source","EditorFonts"));
}
@@ -1078,12 +1137,14 @@ void CodeTextEditor::_notification(int p_what) {
void CodeTextEditor::_bind_methods() {
+ ObjectTypeDB::bind_method("_text_editor_input_event",&CodeTextEditor::_text_editor_input_event);
ObjectTypeDB::bind_method("_line_col_changed",&CodeTextEditor::_line_col_changed);
ObjectTypeDB::bind_method("_text_changed",&CodeTextEditor::_text_changed);
ObjectTypeDB::bind_method("_on_settings_change",&CodeTextEditor::_on_settings_change);
ObjectTypeDB::bind_method("_text_changed_idle_timeout",&CodeTextEditor::_text_changed_idle_timeout);
ObjectTypeDB::bind_method("_code_complete_timer_timeout",&CodeTextEditor::_code_complete_timer_timeout);
ObjectTypeDB::bind_method("_complete_request",&CodeTextEditor::_complete_request);
+ ObjectTypeDB::bind_method("_font_resize_timeout",&CodeTextEditor::_font_resize_timeout);
}
CodeTextEditor::CodeTextEditor() {
@@ -1139,6 +1200,7 @@ CodeTextEditor::CodeTextEditor() {
line_col->set_valign(Label::VALIGN_CENTER);
+ text_editor->connect("input_event", this,"_text_editor_input_event");
text_editor->connect("cursor_changed", this,"_line_col_changed");
text_editor->connect("text_changed", this,"_text_changed");
text_editor->connect("request_completion", this,"_complete_request");
@@ -1151,5 +1213,12 @@ CodeTextEditor::CodeTextEditor() {
code_complete_timer->connect("timeout", this,"_code_complete_timer_timeout");
+ font_resize_val=0;
+ font_resize_timer = memnew(Timer);
+ add_child(font_resize_timer);
+ font_resize_timer->set_one_shot(true);
+ font_resize_timer->set_wait_time(0.07);
+ font_resize_timer->connect("timeout", this, "_font_resize_timeout");
+
EditorSettings::get_singleton()->connect("settings_changed",this,"_on_settings_change");
}
diff --git a/tools/editor/code_editor.h b/tools/editor/code_editor.h
index 2e1bf46c02..bdfd295ded 100644
--- a/tools/editor/code_editor.h
+++ b/tools/editor/code_editor.h
@@ -202,22 +202,27 @@ class CodeTextEditor : public VBoxContainer {
Timer *code_complete_timer;
bool enable_complete_timer;
+ Timer *font_resize_timer;
+ int font_resize_val;
+
Label *error;
void _on_settings_change();
void _update_font();
void _complete_request();
+ void _font_resize_timeout();
+
+ void _text_editor_input_event(const InputEvent& p_event);
+
protected:
void set_error(const String& p_error);
-
virtual void _load_theme_settings() {}
virtual void _validate_script()=0;
virtual void _code_complete_script(const String& p_code, List<String>* r_options) {};
-
void _text_changed_idle_timeout();
void _code_complete_timer_timeout();
void _text_changed();
@@ -225,7 +230,6 @@ protected:
void _notification(int);
static void _bind_methods();
-
public:
TextEdit *get_text_edit() { return text_editor; }
diff --git a/tools/editor/connections_dialog.cpp b/tools/editor/connections_dialog.cpp
index 8847654ad7..faaae4360b 100644
--- a/tools/editor/connections_dialog.cpp
+++ b/tools/editor/connections_dialog.cpp
@@ -309,7 +309,7 @@ ConnectDialog::ConnectDialog() {
tree = memnew(SceneTreeEditor(false));
- vbc_left->add_margin_child(TTR("Conect To Node:"),tree,true);
+ vbc_left->add_margin_child(TTR("Connect To Node:"),tree,true);
diff --git a/tools/editor/default_saver.cpp b/tools/editor/default_saver.cpp
deleted file mode 100644
index 611232e04b..0000000000
--- a/tools/editor/default_saver.cpp
+++ /dev/null
@@ -1,28 +0,0 @@
-/*************************************************************************/
-/* default_saver.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
diff --git a/tools/editor/default_saver.h b/tools/editor/default_saver.h
deleted file mode 100644
index 2b1a1edb23..0000000000
--- a/tools/editor/default_saver.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*************************************************************************/
-/* default_saver.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#ifndef DEFAULT_SAVER_H
-#define DEFAULT_SAVER_H
-
-
-
-
-#endif // DEFAULT_SAVER_H
diff --git a/tools/editor/dependency_editor.cpp b/tools/editor/dependency_editor.cpp
index 6ad7704815..ad2eb57f00 100644
--- a/tools/editor/dependency_editor.cpp
+++ b/tools/editor/dependency_editor.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* dependency_editor.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "dependency_editor.h"
#include "os/file_access.h"
#include "scene/gui/margin_container.h"
diff --git a/tools/editor/dependency_editor.h b/tools/editor/dependency_editor.h
index c372025ca0..60758f8f4e 100644
--- a/tools/editor/dependency_editor.h
+++ b/tools/editor/dependency_editor.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* dependency_editor.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef DEPENDENCY_EDITOR_H
#define DEPENDENCY_EDITOR_H
diff --git a/tools/editor/editor_asset_installer.cpp b/tools/editor/editor_asset_installer.cpp
index 2967abbc0a..ec36773d8d 100644
--- a/tools/editor/editor_asset_installer.cpp
+++ b/tools/editor/editor_asset_installer.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* editor_asset_installer.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "editor_asset_installer.h"
#include "io/zip_io.h"
#include "os/dir_access.h"
diff --git a/tools/editor/editor_asset_installer.h b/tools/editor/editor_asset_installer.h
index 713c5f14f1..d6e71dbb3c 100644
--- a/tools/editor/editor_asset_installer.h
+++ b/tools/editor/editor_asset_installer.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* editor_asset_installer.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef EDITORASSETINSTALLER_H
#define EDITORASSETINSTALLER_H
diff --git a/tools/editor/editor_data.h b/tools/editor/editor_data.h
index 79843c4df5..319155655d 100644
--- a/tools/editor/editor_data.h
+++ b/tools/editor/editor_data.h
@@ -34,7 +34,6 @@
#include "list.h"
#include "undo_redo.h"
#include "pair.h"
-#include "default_saver.h"
class EditorHistory {
diff --git a/tools/editor/editor_dir_dialog.cpp b/tools/editor/editor_dir_dialog.cpp
index 395c4ba680..a6e231cf18 100644
--- a/tools/editor/editor_dir_dialog.cpp
+++ b/tools/editor/editor_dir_dialog.cpp
@@ -30,6 +30,7 @@
#include "os/os.h"
#include "os/keyboard.h"
#include "tools/editor/editor_settings.h"
+#include "tools/editor/editor_file_system.h"
void EditorDirDialog::_update_dir(TreeItem* p_item) {
@@ -77,6 +78,11 @@ void EditorDirDialog::_update_dir(TreeItem* p_item) {
void EditorDirDialog::reload() {
+ if (!is_visible()) {
+ must_reload=true;
+ return;
+ }
+
tree->clear();
TreeItem *root = tree->create_item();
root->set_metadata(0,"res://");
@@ -84,13 +90,24 @@ void EditorDirDialog::reload() {
root->set_text(0,"/");
_update_dir(root);
_item_collapsed(root);
+ must_reload=false;
+
}
+
void EditorDirDialog::_notification(int p_what) {
if (p_what==NOTIFICATION_ENTER_TREE) {
reload();
tree->connect("item_collapsed",this,"_item_collapsed",varray(),CONNECT_DEFERRED);
+ EditorFileSystem::get_singleton()->connect("filesystem_changed",this,"reload");
+
+ }
+
+ if (p_what==NOTIFICATION_VISIBILITY_CHANGED) {
+ if (must_reload && is_visible()) {
+ reload();
+ }
}
}
@@ -198,6 +215,7 @@ void EditorDirDialog::_bind_methods() {
ObjectTypeDB::bind_method(_MD("_item_collapsed"),&EditorDirDialog::_item_collapsed);
ObjectTypeDB::bind_method(_MD("_make_dir"),&EditorDirDialog::_make_dir);
ObjectTypeDB::bind_method(_MD("_make_dir_confirm"),&EditorDirDialog::_make_dir_confirm);
+ ObjectTypeDB::bind_method(_MD("reload"),&EditorDirDialog::reload);
ADD_SIGNAL(MethodInfo("dir_selected",PropertyInfo(Variant::STRING,"dir")));
}
@@ -238,4 +256,8 @@ EditorDirDialog::EditorDirDialog() {
get_ok()->set_text(TTR("Choose"));
+ must_reload=false;
+
+
+
}
diff --git a/tools/editor/editor_dir_dialog.h b/tools/editor/editor_dir_dialog.h
index 1c2593219c..69f9850c30 100644
--- a/tools/editor/editor_dir_dialog.h
+++ b/tools/editor/editor_dir_dialog.h
@@ -53,6 +53,10 @@ class EditorDirDialog : public ConfirmationDialog {
void _make_dir_confirm();
void ok_pressed();
+
+ bool must_reload;
+
+
protected:
void _notification(int p_what);
diff --git a/tools/editor/editor_file_dialog.cpp b/tools/editor/editor_file_dialog.cpp
index e631aad7f6..97feaa80a5 100644
--- a/tools/editor/editor_file_dialog.cpp
+++ b/tools/editor/editor_file_dialog.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* editor_file_dialog.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "editor_file_dialog.h"
#include "scene/gui/label.h"
#include "scene/gui/center_container.h"
@@ -352,7 +380,7 @@ void EditorFileDialog::_action_pressed() {
}
- if (dir_access->file_exists(f)) {
+ if (dir_access->file_exists(f) && !disable_overwrite_warning) {
confirm_save->set_text(TTR("File Exists, Overwrite?"));
confirm_save->popup_centered(Size2(200,80));
} else {
@@ -508,6 +536,11 @@ void EditorFileDialog::update_file_list() {
}
}
+ if (dirs.find("..")==NULL) {
+ //may happen if lacking permissions
+ dirs.push_back("..");
+ }
+
dirs.sort_custom<NoCaseComparator>();
files.sort_custom<NoCaseComparator>();
@@ -1129,6 +1162,8 @@ void EditorFileDialog::_bind_methods() {
ObjectTypeDB::bind_method(_MD("set_display_mode","mode"),&EditorFileDialog::set_display_mode);
ObjectTypeDB::bind_method(_MD("get_display_mode"),&EditorFileDialog::get_display_mode);
ObjectTypeDB::bind_method(_MD("_thumbnail_result"),&EditorFileDialog::_thumbnail_result);
+ ObjectTypeDB::bind_method(_MD("set_disable_overwrite_warning","disable"),&EditorFileDialog::set_disable_overwrite_warning);
+ ObjectTypeDB::bind_method(_MD("is_overwrite_warning_disabled"),&EditorFileDialog::is_overwrite_warning_disabled);
ObjectTypeDB::bind_method(_MD("_recent_selected"),&EditorFileDialog::_recent_selected);
ObjectTypeDB::bind_method(_MD("_go_back"),&EditorFileDialog::_go_back);
@@ -1202,12 +1237,23 @@ void EditorFileDialog::_save_to_recent() {
}
+void EditorFileDialog::set_disable_overwrite_warning(bool p_disable) {
+
+ disable_overwrite_warning=p_disable;
+}
+
+bool EditorFileDialog::is_overwrite_warning_disabled() const{
+
+ return disable_overwrite_warning;
+}
+
+
EditorFileDialog::EditorFileDialog() {
show_hidden_files=default_show_hidden_files;
display_mode=default_display_mode;
local_history_pos=0;
-
+ disable_overwrite_warning=false;
VBoxContainer *vbc = memnew( VBoxContainer );
add_child(vbc);
set_child_rect(vbc);
@@ -1433,4 +1479,5 @@ EditorLineEditFileChooser::EditorLineEditFileChooser() {
dialog->connect("dir_selected",this,"_chosen");
dialog->connect("files_selected",this,"_chosen");
+
}
diff --git a/tools/editor/editor_file_dialog.h b/tools/editor/editor_file_dialog.h
index a8f62a5226..14683856c0 100644
--- a/tools/editor/editor_file_dialog.h
+++ b/tools/editor/editor_file_dialog.h
@@ -1,5 +1,5 @@
/*************************************************************************/
-/* file_dialog.h */
+/* editor_file_dialog.h */
/*************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
@@ -26,8 +26,6 @@
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-
-
#ifndef EDITORFILEDIALOG_H
#define EDITORFILEDIALOG_H
@@ -132,6 +130,7 @@ private:
bool show_hidden_files;
DisplayMode display_mode;
+ bool disable_overwrite_warning;
bool invalidated;
void update_dir();
@@ -218,6 +217,9 @@ public:
void invalidate();
+ void set_disable_overwrite_warning(bool p_disable);
+ bool is_overwrite_warning_disabled() const;
+
EditorFileDialog();
~EditorFileDialog();
diff --git a/tools/editor/editor_fonts.cpp b/tools/editor/editor_fonts.cpp
index 7ec22a4068..47891eef6c 100644
--- a/tools/editor/editor_fonts.cpp
+++ b/tools/editor/editor_fonts.cpp
@@ -157,12 +157,18 @@ void editor_register_fonts(Ref<Theme> p_theme) {
p_theme->set_font("doc_source","EditorFonts",df_doc_code);
+
if (editor_is_hidpi()) {
//replace default theme
Ref<Texture> di;
Ref<StyleBox> ds;
fill_default_theme(p_theme,df,df_doc,di,ds,true);
+ } else {
+ Ref<Texture> di;
+ Ref<StyleBox> ds;
+ fill_default_theme(p_theme,df,df_doc,di,ds,false);
+
}
}
diff --git a/tools/editor/editor_initialize_ssl.cpp b/tools/editor/editor_initialize_ssl.cpp
index e0602a88c7..c0b55b302f 100644
--- a/tools/editor/editor_initialize_ssl.cpp
+++ b/tools/editor/editor_initialize_ssl.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* editor_initialize_ssl.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "editor_initialize_ssl.h"
#include "certs_compressed.h"
#include "io/stream_peer_ssl.h"
diff --git a/tools/editor/editor_initialize_ssl.h b/tools/editor/editor_initialize_ssl.h
index 4eaf387a0a..082d546832 100644
--- a/tools/editor/editor_initialize_ssl.h
+++ b/tools/editor/editor_initialize_ssl.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* editor_initialize_ssl.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef EDITOR_INITIALIZE_SSL_H
#define EDITOR_INITIALIZE_SSL_H
diff --git a/tools/editor/editor_node.cpp b/tools/editor/editor_node.cpp
index 1132db5991..5a3e3069e4 100644
--- a/tools/editor/editor_node.cpp
+++ b/tools/editor/editor_node.cpp
@@ -29,8 +29,7 @@
#include "version.h"
#include "editor_node.h"
#include "print_string.h"
-#include "editor_icons.h"
-#include "editor_fonts.h"
+#include "editor_themes.h"
#include "editor_help.h"
#include "core/io/resource_saver.h"
@@ -206,6 +205,18 @@ void EditorNode::_unhandled_input(const InputEvent& p_event) {
case KEY_F6: _menu_option_confirm(RUN_PLAY_SCENE,true); break;
//case KEY_F7: _menu_option_confirm(RUN_PAUSE,true); break;
case KEY_F8: _menu_option_confirm(RUN_STOP,true); break;*/
+ case KEY_TAB:
+ if (p_event.key.mod.command) {
+ int current_tab = editor_data.get_edited_scene();
+ int tab_offset = 1;
+ if (p_event.key.mod.shift)
+ tab_offset = -1;
+ int next_tab = current_tab + tab_offset;
+ next_tab = next_tab >= 0 ? next_tab : editor_data.get_edited_scene_count() - 1;
+ next_tab %= editor_data.get_edited_scene_count();
+ _scene_tab_changed(next_tab);
+ }
+ break;
}
}
@@ -743,100 +754,6 @@ void EditorNode::_set_scene_metadata(const String& p_file) {
}
-static Error _fix_object_paths(Object* obj, Node* root, String save_path) {
-
- Globals* g = Globals::get_singleton();
-
- String import_dir = root->get_meta("__editor_import_file__");
- import_dir = import_dir.get_base_dir();
- import_dir = DirAccess::normalize_path(import_dir);
- if (import_dir[import_dir.length()-1] != '/') {
- import_dir = import_dir + "/";
- };
-
- String resource_dir = DirAccess::normalize_path(g->get_resource_path());
- if (resource_dir[resource_dir.length()-1] != '/') {
- resource_dir = resource_dir + "/";
- };
-
-
- List<PropertyInfo> list;
- obj->get_property_list(&list, false);
-
- List<PropertyInfo>::Element *E = list.front();
-
- while (E) {
-
- Variant v = obj->get(E->get().name);
- if (v.get_type() == Variant::OBJECT) {
-
- Ref<Resource> res = (RefPtr)v;
- if (res.is_null()) {
- E = E->next();
- continue;
- }
-
- if (res->get_path() != "") {
-
- String res_path = res->get_path();
- res_path = Globals::get_singleton()->globalize_path(res_path);
- res_path = DirAccess::normalize_path(res_path);
-
- if (res_path.find(resource_dir) != 0) {
-
- // path of resource is not inside engine's resource path
-
- String new_path;
-
- if (res_path.find(import_dir) == 0) {
-
- // path of resource is relative to path of import file
- new_path = save_path + "/" + res_path.substr(import_dir.length(), res_path.length() - import_dir.length());
-
- } else {
-
- // path of resource is not relative to import file
- new_path = save_path + "/" + res_path.get_file();
- };
-
- res->set_path(g->localize_path(new_path));
- DirAccess* d = DirAccess::create(DirAccess::ACCESS_RESOURCES);
- d->make_dir_recursive(new_path.get_base_dir());
- printf("copying from %ls to %ls\n", res_path.c_str(), new_path.c_str());
- Error err = d->copy(res_path, new_path);
- memdelete(d);
- ERR_FAIL_COND_V(err != OK, err);
- }
-
- } else {
-
- _fix_object_paths(res.operator->(), root, save_path);
- };
- };
-
-
- E = E->next();
- };
-
- return OK;
-};
-
-static Error _fix_imported_scene_paths(Node* node, Node* root, String save_path) {
-
- if (node == root || node->get_owner() == root) {
- Error e = _fix_object_paths(node, root, save_path);
- ERR_FAIL_COND_V(e != OK, e);
- };
-
- for (int i=0; i<node->get_child_count(); i++) {
-
- Error e = _fix_imported_scene_paths(node->get_child(i), root, save_path);
- ERR_FAIL_COND_V(e != OK, e);
- };
-
- return OK;
-};
-
bool EditorNode::_find_and_save_resource(RES res,Map<RES,bool>& processed,int32_t flags) {
@@ -1253,7 +1170,6 @@ void EditorNode::_dialog_action(String p_file) {
} break;
case FILE_RUN_SCRIPT: {
- print_line("RUN: "+p_file);
Ref<Script> scr = ResourceLoader::load(p_file,"Script",true);
if (scr.is_null()) {
add_io_error("Script Failed to Load:\n"+p_file);
@@ -1397,7 +1313,6 @@ void EditorNode::_dialog_action(String p_file) {
ret = unzGoToFirstFile(pkg);
EditorProgress p("ltask",TTR("Loading Export Templates"),fc);
- print_line("BEGIN IMPORT");
fc=0;
@@ -1427,7 +1342,6 @@ void EditorNode::_dialog_action(String p_file) {
file=file.get_file();
p.step(TTR("Importing:")+" "+file,fc);
- print_line("IMPORT "+file);
FileAccess *f = FileAccess::open(EditorSettings::get_singleton()->get_settings_path()+"/templates/"+file,FileAccess::WRITE);
@@ -2215,7 +2129,7 @@ void EditorNode::_menu_option_confirm(int p_option,bool p_confirmed) {
String existing;
if (extensions.size()) {
String root_name(get_edited_scene()->get_name());
- existing=root_name+"."+extensions.front()->get().to_lower();
+ existing=root_name+".tscn";//+extensions.front()->get().to_lower();
}
file->set_current_path(existing);
@@ -3646,7 +3560,6 @@ Error EditorNode::load_scene(const String& p_scene, bool p_ignore_broken_deps,bo
load_errors->clear();
String lpath = Globals::get_singleton()->localize_path(p_scene);
- print_line("LOCAL PATH: "+lpath+" from "+p_scene);
if (!lpath.begins_with("res://")) {
current_option=-1;
@@ -4293,7 +4206,6 @@ void EditorNode::_dock_select_input(const InputEvent& p_input) {
dock_slot[dock_popup_selected]->set_current_tab(0);
}
- print_line("performing reparent");
dock_slot[nrect]->add_child(dock);
dock_popup_selected=nrect;
dock_slot[nrect]->set_current_tab(dock_slot[nrect]->get_tab_count()-1);
@@ -4706,9 +4618,9 @@ void EditorNode::_update_layouts_menu() {
editor_layouts->set_size(Vector2());
editor_layouts->add_shortcut(ED_SHORTCUT("layout/save",TTR("Save Layout")), SETTINGS_LAYOUT_SAVE);
- editor_layouts->add_shortcut(ED_SHORTCUT("layout/load",TTR("Load Layout")), SETTINGS_LAYOUT_DELETE);
+ editor_layouts->add_shortcut(ED_SHORTCUT("layout/delete",TTR("Delete Layout")), SETTINGS_LAYOUT_DELETE);
editor_layouts->add_separator();
- editor_layouts->add_shortcut(ED_SHORTCUT("property_editor/reset",TTR("Default")), SETTINGS_LAYOUT_DEFAULT);
+ editor_layouts->add_shortcut(ED_SHORTCUT("layout/default",TTR("Default")), SETTINGS_LAYOUT_DEFAULT);
Ref<ConfigFile> config;
config.instance();
@@ -5267,7 +5179,6 @@ EditorNode::EditorNode() {
EditorSettings::create();
{
int dpi_mode = EditorSettings::get_singleton()->get("global/hidpi_mode");
- print_line("DPI MODE: "+itos(dpi_mode));
if (dpi_mode==0) {
editor_set_hidpi( OS::get_singleton()->get_screen_dpi(0) > 150 );
} else if (dpi_mode==2) {
@@ -5318,38 +5229,18 @@ EditorNode::EditorNode() {
ObjectTypeDB::set_type_enabled("CollisionShape",true);
ObjectTypeDB::set_type_enabled("CollisionShape2D",true);
ObjectTypeDB::set_type_enabled("CollisionPolygon2D",true);
- //ObjectTypeDB::set_type_enabled("BodyVolumeConvexPolygon",true);
+
+ Control *theme_base = memnew( Control );
+ add_child(theme_base);
+ theme_base->set_area_as_parent_rect();
gui_base = memnew( Panel );
- add_child(gui_base);
+ theme_base->add_child(gui_base);
gui_base->set_area_as_parent_rect();
-
- theme = Ref<Theme>( memnew( Theme ) );
- gui_base->set_theme( theme );
- editor_register_icons(theme);
- editor_register_fonts(theme);
-
- //theme->set_icon("folder","EditorFileDialog",Theme::get_default()->get_icon("folder","EditorFileDialog"));
- //theme->set_color("files_disabled","EditorFileDialog",Color(0,0,0,0.7));
-
- String global_font = EditorSettings::get_singleton()->get("global/custom_font");
- if (global_font!="") {
- Ref<Font> fnt = ResourceLoader::load(global_font);
- if (fnt.is_valid()) {
- theme->set_default_theme_font(fnt);
- }
- }
-
- Ref<StyleBoxTexture> focus_sbt=memnew( StyleBoxTexture );
- focus_sbt->set_texture(theme->get_icon("EditorFocus","EditorIcons"));
- for(int i=0;i<4;i++) {
- focus_sbt->set_margin_size(Margin(i),16);
- focus_sbt->set_default_margin(Margin(i),16);
- }
- focus_sbt->set_draw_center(false);
- theme->set_stylebox("EditorFocus","EditorStyles",focus_sbt);
-
+ theme_base->set_theme( create_default_theme() );
+ theme = create_editor_theme();
+ gui_base->set_theme(theme);
resource_preview = memnew( EditorResourcePreview );
add_child(resource_preview);
@@ -5635,8 +5526,8 @@ EditorNode::EditorNode() {
p->add_submenu_item(TTR("Convert To.."),"Export");
pm_export->add_item(TTR("Translatable Strings.."),FILE_DUMP_STRINGS);
pm_export->add_separator();
- pm_export->add_item(TTR("MeshLibrary.."),FILE_EXPORT_MESH_LIBRARY);
- pm_export->add_item(TTR("TileSet.."),FILE_EXPORT_TILESET);
+ pm_export->add_shortcut(ED_SHORTCUT("editor/convert_to_MeshLibrary", TTR("MeshLibrary..")), FILE_EXPORT_MESH_LIBRARY);
+ pm_export->add_shortcut(ED_SHORTCUT("editor/convert_to_TileSet", TTR("TileSet..")), FILE_EXPORT_TILESET);
pm_export->connect("item_pressed",this,"_menu_option");
p->add_separator();
@@ -6540,12 +6431,12 @@ EditorNode::EditorNode() {
{
List<StringName> tl;
StringName ei = "EditorIcons";
- gui_base->get_theme()->get_icon_list(ei,&tl);
+ theme_base->get_theme()->get_icon_list(ei,&tl);
for(List<StringName>::Element *E=tl.front();E;E=E->next()) {
if (!ObjectTypeDB::type_exists(E->get()))
continue;
- icon_type_cache[E->get()]=gui_base->get_theme()->get_icon(E->get(),ei);
+ icon_type_cache[E->get()]=theme_base->get_theme()->get_icon(E->get(),ei);
}
}
diff --git a/tools/editor/editor_node.h b/tools/editor/editor_node.h
index 7023c6c174..bea973a357 100644
--- a/tools/editor/editor_node.h
+++ b/tools/editor/editor_node.h
@@ -65,7 +65,6 @@
#include "tools/editor/editor_log.h"
#include "tools/editor/scene_tree_dock.h"
#include "tools/editor/resources_dock.h"
-#include "tools/editor/optimized_save_dialog.h"
#include "tools/editor/editor_run_script.h"
#include "tools/editor/editor_run_native.h"
@@ -693,6 +692,7 @@ public:
static void unregister_editor_types();
Control *get_gui_base() { return gui_base; }
+ Control *get_theme_base() { return gui_base->get_parent_control(); }
static void add_io_error(const String& p_error);
diff --git a/tools/editor/editor_plugin_settings.cpp b/tools/editor/editor_plugin_settings.cpp
index 1a6be05af3..5342007e6d 100644
--- a/tools/editor/editor_plugin_settings.cpp
+++ b/tools/editor/editor_plugin_settings.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* editor_plugin_settings.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "editor_plugin_settings.h"
#include "scene/gui/margin_container.h"
#include "io/config_file.h"
diff --git a/tools/editor/editor_plugin_settings.h b/tools/editor/editor_plugin_settings.h
index 4f3c5b8268..4a982e40e2 100644
--- a/tools/editor/editor_plugin_settings.h
+++ b/tools/editor/editor_plugin_settings.h
@@ -1,10 +1,37 @@
+/*************************************************************************/
+/* editor_plugin_settings.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef EDITORPLUGINSETTINGS_H
#define EDITORPLUGINSETTINGS_H
#include "scene/gui/dialogs.h"
#include "property_editor.h"
-#include "optimized_save_dialog.h"
#include "undo_redo.h"
#include "editor_data.h"
diff --git a/tools/editor/editor_resource_preview.cpp b/tools/editor/editor_resource_preview.cpp
index 05b935f26c..8975c0ec35 100644
--- a/tools/editor/editor_resource_preview.cpp
+++ b/tools/editor/editor_resource_preview.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* editor_resource_preview.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "editor_resource_preview.h"
#include "editor_settings.h"
#include "os/file_access.h"
diff --git a/tools/editor/editor_resource_preview.h b/tools/editor/editor_resource_preview.h
index 13c3d51313..63dc5c3dd3 100644
--- a/tools/editor/editor_resource_preview.h
+++ b/tools/editor/editor_resource_preview.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* editor_resource_preview.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef EDITORRESOURCEPREVIEW_H
#define EDITORRESOURCEPREVIEW_H
diff --git a/tools/editor/editor_run_script.cpp b/tools/editor/editor_run_script.cpp
index d34cac1530..765f36d3bc 100644
--- a/tools/editor/editor_run_script.cpp
+++ b/tools/editor/editor_run_script.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* editor_run_script.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "editor_run_script.h"
#include "editor_node.h"
diff --git a/tools/editor/editor_run_script.h b/tools/editor/editor_run_script.h
index 8dbefced7f..144fad5ab1 100644
--- a/tools/editor/editor_run_script.h
+++ b/tools/editor/editor_run_script.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* editor_run_script.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef EDITOR_RUN_SCRIPT_H
#define EDITOR_RUN_SCRIPT_H
diff --git a/tools/editor/editor_selection.cpp b/tools/editor/editor_selection.cpp
deleted file mode 100644
index f3fbdba907..0000000000
--- a/tools/editor/editor_selection.cpp
+++ /dev/null
@@ -1,30 +0,0 @@
-/*************************************************************************/
-/* editor_selection.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#include "editor_selection.h"
-
diff --git a/tools/editor/editor_selection.h b/tools/editor/editor_selection.h
deleted file mode 100644
index d238d86567..0000000000
--- a/tools/editor/editor_selection.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*************************************************************************/
-/* editor_selection.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#ifndef EDITOR_SELECTION_H
-#define EDITOR_SELECTION_H
-
-#endif // EDITOR_SELECTION_H
diff --git a/tools/editor/editor_settings.cpp b/tools/editor/editor_settings.cpp
index 0d0008fcb8..49a1158ec6 100644
--- a/tools/editor/editor_settings.cpp
+++ b/tools/editor/editor_settings.cpp
@@ -63,7 +63,6 @@ bool EditorSettings::_set(const StringName& p_name, const Variant& p_value) {
Array arr=p_value;
ERR_FAIL_COND_V(arr.size() && arr.size()&1,true);
- print_line("shortcuts: "+Variant(arr).get_construct_string());
for(int i=0;i<arr.size();i+=2) {
String name = arr[i];
@@ -381,7 +380,7 @@ void EditorSettings::create() {
singleton->save_changed_setting=true;
singleton->config_file_path=config_file_path;
singleton->settings_path=config_path+"/"+config_dir;
- singleton->_load_defaults(extra_config);
+ singleton->_load_defaults(extra_config);
singleton->setup_language();
singleton->setup_network();
singleton->list_text_editor_themes();
@@ -399,14 +398,11 @@ String EditorSettings::get_settings_path() const {
void EditorSettings::setup_language() {
String lang = get("global/editor_language");
- print_line("LANG IS "+lang);
if (lang=="en")
return; //none to do
for(int i=0;i<translations.size();i++) {
- print_line("TESTING "+translations[i]->get_locale());
if (translations[i]->get_locale()==lang) {
- print_line("ok translation");
TranslationServer::get_singleton()->set_tool_translation(translations[i]);
break;
}
@@ -515,9 +511,13 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) {
set("global/font_size",14);
hints["global/font_size"]=PropertyInfo(Variant::INT,"global/font_size",PROPERTY_HINT_RANGE,"10,40,1",PROPERTY_USAGE_DEFAULT|PROPERTY_USAGE_RESTART_IF_CHANGED);
set("global/source_font_size",14);
- hints["global/source_font_size"]=PropertyInfo(Variant::INT,"global/source_font_size",PROPERTY_HINT_RANGE,"10,40,1",PROPERTY_USAGE_DEFAULT|PROPERTY_USAGE_RESTART_IF_CHANGED);
+ hints["global/source_font_size"]=PropertyInfo(Variant::INT,"global/source_font_size",PROPERTY_HINT_RANGE,"8,96,1",PROPERTY_USAGE_DEFAULT|PROPERTY_USAGE_RESTART_IF_CHANGED);
set("global/custom_font","");
hints["global/custom_font"]=PropertyInfo(Variant::STRING,"global/custom_font",PROPERTY_HINT_GLOBAL_FILE,"*.fnt",PROPERTY_USAGE_DEFAULT|PROPERTY_USAGE_RESTART_IF_CHANGED);
+ set("global/custom_theme","");
+ hints["global/custom_theme"]=PropertyInfo(Variant::STRING,"global/custom_theme",PROPERTY_HINT_GLOBAL_FILE,"*.res,*.tres,*.theme",PROPERTY_USAGE_DEFAULT|PROPERTY_USAGE_RESTART_IF_CHANGED);
+
+
set("global/autoscan_project_path","");
hints["global/autoscan_project_path"]=PropertyInfo(Variant::STRING,"global/autoscan_project_path",PROPERTY_HINT_GLOBAL_DIR);
set("global/default_project_path","");
@@ -563,6 +563,8 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) {
hints["scenetree_editor/duplicate_node_name_num_separator"]=PropertyInfo(Variant::INT,"scenetree_editor/duplicate_node_name_num_separator",PROPERTY_HINT_ENUM, "None,Space,Underscore,Dash");
//set("scenetree_editor/display_old_action_buttons",false);
set("scenetree_editor/start_create_dialog_fully_expanded",false);
+ set("scenetree_editor/draw_relationship_lines",false);
+ set("scenetree_editor/relationship_line_color",Color::html("464646"));
set("gridmap_editor/pick_distance", 5000.0);
@@ -581,7 +583,7 @@ void EditorSettings::_load_defaults(Ref<ConfigFile> p_extra_config) {
set("3d_editor/zoom_modifier",4);
hints["3d_editor/zoom_modifier"]=PropertyInfo(Variant::INT,"3d_editor/zoom_modifier",PROPERTY_HINT_ENUM,"None,Shift,Alt,Meta,Ctrl");
set("3d_editor/emulate_numpad",false);
- set("3d_editor/trackpad_hint", false);
+ set("3d_editor/emulate_3_button_mouse", false);
set("2d_editor/bone_width",5);
set("2d_editor/bone_color1",Color(1.0,1.0,1.0,0.9));
@@ -705,7 +707,6 @@ void EditorSettings::notify_changes() {
sml = OS::get_singleton()->get_main_loop()->cast_to<SceneTree>();
if (!sml) {
- print_line("not SML");
return;
}
diff --git a/scene/gui/custom_button.cpp b/tools/editor/editor_themes.cpp
index a70af05418..44e21aee85 100644
--- a/scene/gui/custom_button.cpp
+++ b/tools/editor/editor_themes.cpp
@@ -1,5 +1,5 @@
/*************************************************************************/
-/* custom_button.cpp */
+/* editor_themes.cpp */
/*************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
@@ -26,15 +26,52 @@
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#include "custom_button.h"
-CustomButton::CustomButton()
+#include "editor_themes.h"
+#include "editor_icons.h"
+#include "editor_fonts.h"
+#include "editor_settings.h"
+#include "core/io/resource_loader.h"
+
+Ref<Theme> create_default_theme()
{
-}
+ Ref<Theme> theme = Ref<Theme>( memnew( Theme ) );
+ editor_register_fonts(theme);
+ editor_register_icons(theme);
-CustomButton::~CustomButton()
-{
+ Ref<StyleBoxTexture> focus_sbt=memnew( StyleBoxTexture );
+ focus_sbt->set_texture(theme->get_icon("EditorFocus","EditorIcons"));
+ for(int i=0;i<4;i++) {
+ focus_sbt->set_margin_size(Margin(i),16);
+ focus_sbt->set_default_margin(Margin(i),16);
+ }
+ focus_sbt->set_draw_center(false);
+ theme->set_stylebox("EditorFocus","EditorStyles",focus_sbt);
+
+ return theme;
}
+Ref<Theme> create_editor_theme()
+{
+ Ref<Theme> theme = NULL;
+ String custom_theme = EditorSettings::get_singleton()->get("global/custom_theme");
+ if (custom_theme!="") {
+ theme = ResourceLoader::load(custom_theme);
+ }
+
+ if (theme.is_null() || !theme.is_valid()) {
+ theme = create_default_theme();
+ }
+
+ String global_font = EditorSettings::get_singleton()->get("global/custom_font");
+ if (global_font!="") {
+ Ref<Font> fnt = ResourceLoader::load(global_font);
+ if (fnt.is_valid()) {
+ theme->set_default_theme_font(fnt);
+ }
+ }
+
+ return theme;
+}
diff --git a/drivers/chibi/cp_file_access_wrapper.cpp b/tools/editor/editor_themes.h
index 8ccde3735c..dbff8b3079 100644
--- a/drivers/chibi/cp_file_access_wrapper.cpp
+++ b/tools/editor/editor_themes.h
@@ -1,5 +1,5 @@
/*************************************************************************/
-/* cp_file_access_wrapper.cpp */
+/* editor_themes.h */
/*************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
@@ -26,10 +26,13 @@
/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
/*************************************************************************/
-#include "cp_file_access_wrapper.h"
+#ifndef EDITOR_THEMES_H
+#define EDITOR_THEMES_H
+#include "scene/resources/theme.h"
-//CPFileAccessWrapper* (*CPFileAccessWrapper::create)()=0;
-
+Ref<Theme> create_default_theme();
+Ref<Theme> create_editor_theme();
+#endif
diff --git a/tools/editor/editor_vu.cpp b/tools/editor/editor_vu.cpp
deleted file mode 100644
index 7a133c9736..0000000000
--- a/tools/editor/editor_vu.cpp
+++ /dev/null
@@ -1,30 +0,0 @@
-/*************************************************************************/
-/* editor_vu.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#include "editor_vu.h"
-
diff --git a/tools/editor/editor_vu.h b/tools/editor/editor_vu.h
deleted file mode 100644
index 78fe3eda86..0000000000
--- a/tools/editor/editor_vu.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*************************************************************************/
-/* editor_vu.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#ifndef EDITOR_VU_H
-#define EDITOR_VU_H
-
-#endif // EDITOR_VU_H
diff --git a/tools/editor/fileserver/editor_file_server.cpp b/tools/editor/fileserver/editor_file_server.cpp
index ea95e4da1c..c464e10fc2 100644
--- a/tools/editor/fileserver/editor_file_server.cpp
+++ b/tools/editor/fileserver/editor_file_server.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* editor_file_server.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "editor_file_server.h"
#include "io/marshalls.h"
#include "io/marshalls.h"
diff --git a/tools/editor/fileserver/editor_file_server.h b/tools/editor/fileserver/editor_file_server.h
index 587b2c4fdb..fcb3d8546c 100644
--- a/tools/editor/fileserver/editor_file_server.h
+++ b/tools/editor/fileserver/editor_file_server.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* editor_file_server.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef EDITOR_FILE_SERVER_H
#define EDITOR_FILE_SERVER_H
diff --git a/tools/editor/icons/2x/icon_cone_twist_joint.png b/tools/editor/icons/2x/icon_cone_twist_joint.png
new file mode 100644
index 0000000000..3aeba5855d
--- /dev/null
+++ b/tools/editor/icons/2x/icon_cone_twist_joint.png
Binary files differ
diff --git a/tools/editor/icons/2x/icon_generic_6_d_o_f_joint.png b/tools/editor/icons/2x/icon_generic_6_d_o_f_joint.png
new file mode 100644
index 0000000000..506c873376
--- /dev/null
+++ b/tools/editor/icons/2x/icon_generic_6_d_o_f_joint.png
Binary files differ
diff --git a/tools/editor/icons/2x/icon_hinge_joint.png b/tools/editor/icons/2x/icon_hinge_joint.png
new file mode 100644
index 0000000000..b888102573
--- /dev/null
+++ b/tools/editor/icons/2x/icon_hinge_joint.png
Binary files differ
diff --git a/tools/editor/icons/2x/icon_interpolated_camera.png b/tools/editor/icons/2x/icon_interpolated_camera.png
new file mode 100644
index 0000000000..e4551a84ce
--- /dev/null
+++ b/tools/editor/icons/2x/icon_interpolated_camera.png
Binary files differ
diff --git a/tools/editor/icons/2x/icon_loop_interpolation.png b/tools/editor/icons/2x/icon_loop_interpolation.png
new file mode 100644
index 0000000000..6009b50300
--- /dev/null
+++ b/tools/editor/icons/2x/icon_loop_interpolation.png
Binary files differ
diff --git a/tools/editor/icons/2x/icon_rating_no_star.png b/tools/editor/icons/2x/icon_rating_no_star.png
index 0d0c893938..f855fd8b56 100644
--- a/tools/editor/icons/2x/icon_rating_no_star.png
+++ b/tools/editor/icons/2x/icon_rating_no_star.png
Binary files differ
diff --git a/tools/editor/icons/2x/icon_tool_button.png b/tools/editor/icons/2x/icon_tool_button.png
new file mode 100644
index 0000000000..091fa8334f
--- /dev/null
+++ b/tools/editor/icons/2x/icon_tool_button.png
Binary files differ
diff --git a/tools/editor/icons/2x/icon_track_trigger.png b/tools/editor/icons/2x/icon_track_trigger.png
new file mode 100644
index 0000000000..c04d47f9a4
--- /dev/null
+++ b/tools/editor/icons/2x/icon_track_trigger.png
Binary files differ
diff --git a/tools/editor/icons/icon_cone_twist_joint.png b/tools/editor/icons/icon_cone_twist_joint.png
new file mode 100644
index 0000000000..bbf93f2f71
--- /dev/null
+++ b/tools/editor/icons/icon_cone_twist_joint.png
Binary files differ
diff --git a/tools/editor/icons/icon_generic_6_d_o_f_joint.png b/tools/editor/icons/icon_generic_6_d_o_f_joint.png
new file mode 100644
index 0000000000..00ba76c098
--- /dev/null
+++ b/tools/editor/icons/icon_generic_6_d_o_f_joint.png
Binary files differ
diff --git a/tools/editor/icons/icon_hinge_joint.png b/tools/editor/icons/icon_hinge_joint.png
new file mode 100644
index 0000000000..246ca1ba42
--- /dev/null
+++ b/tools/editor/icons/icon_hinge_joint.png
Binary files differ
diff --git a/tools/editor/icons/icon_interpolated_camera.png b/tools/editor/icons/icon_interpolated_camera.png
new file mode 100644
index 0000000000..c66724f513
--- /dev/null
+++ b/tools/editor/icons/icon_interpolated_camera.png
Binary files differ
diff --git a/tools/editor/icons/icon_loop_interpolation.png b/tools/editor/icons/icon_loop_interpolation.png
new file mode 100644
index 0000000000..488b33316e
--- /dev/null
+++ b/tools/editor/icons/icon_loop_interpolation.png
Binary files differ
diff --git a/tools/editor/icons/icon_rating_no_star.png b/tools/editor/icons/icon_rating_no_star.png
index d4085330ce..e7421bdb13 100644
--- a/tools/editor/icons/icon_rating_no_star.png
+++ b/tools/editor/icons/icon_rating_no_star.png
Binary files differ
diff --git a/tools/editor/icons/icon_tool_button.png b/tools/editor/icons/icon_tool_button.png
new file mode 100644
index 0000000000..b2f3f6103f
--- /dev/null
+++ b/tools/editor/icons/icon_tool_button.png
Binary files differ
diff --git a/tools/editor/icons/icon_track_trigger.png b/tools/editor/icons/icon_track_trigger.png
new file mode 100644
index 0000000000..e89f95561a
--- /dev/null
+++ b/tools/editor/icons/icon_track_trigger.png
Binary files differ
diff --git a/tools/editor/icons/source/icon_cone_twist_joint.svg b/tools/editor/icons/source/icon_cone_twist_joint.svg
new file mode 100644
index 0000000000..4799deb1d5
--- /dev/null
+++ b/tools/editor/icons/source/icon_cone_twist_joint.svg
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="16"
+ height="16"
+ viewBox="0 0 16 16"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.91 r13725"
+ inkscape:export-filename="/home/djrm/Projects/godot/tools/editor/icons/icon_area.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"
+ sodipodi:docname="icon_cone_twist_joint.svg">
+ <defs
+ id="defs4" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="22.627417"
+ inkscape:cx="8.6908051"
+ inkscape:cy="11.390572"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ units="px"
+ inkscape:snap-bbox="true"
+ inkscape:bbox-paths="true"
+ inkscape:bbox-nodes="true"
+ inkscape:snap-bbox-edge-midpoints="true"
+ inkscape:snap-bbox-midpoints="true"
+ inkscape:snap-object-midpoints="true"
+ inkscape:snap-center="true"
+ inkscape:window-width="1920"
+ inkscape:window-height="1016"
+ inkscape:window-x="0"
+ inkscape:window-y="27"
+ inkscape:window-maximized="1"
+ inkscape:snap-midpoints="true"
+ inkscape:snap-smooth-nodes="true"
+ inkscape:object-nodes="true">
+ <inkscape:grid
+ type="xygrid"
+ id="grid3336" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-1036.3622)">
+ <path
+ style="opacity:1;fill:none;fill-opacity:0.99607843;stroke:#fc9c9c;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 8 2 L 2 11 A 6 3 0 0 0 5 13.597656 A 6 3 0 0 0 11 13.597656 A 6 3 0 0 0 14 11 L 8 2 z "
+ transform="translate(0,1036.3622)"
+ id="path4172" />
+ <ellipse
+ style="opacity:1;fill:none;fill-opacity:0.99607843;stroke:#fc9c9c;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path4177"
+ cx="8"
+ cy="1047.3622"
+ rx="6"
+ ry="3" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#fc9c9c;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 8,1039.3622 0,8"
+ id="path4179"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ </g>
+</svg>
diff --git a/tools/editor/icons/source/icon_generic_6_d_o_f_joint.svg b/tools/editor/icons/source/icon_generic_6_d_o_f_joint.svg
new file mode 100644
index 0000000000..485040c6dc
--- /dev/null
+++ b/tools/editor/icons/source/icon_generic_6_d_o_f_joint.svg
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="16"
+ height="16"
+ viewBox="0 0 16 16"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.91 r13725"
+ inkscape:export-filename="/home/djrm/Projects/godot/tools/editor/icons/icon_area.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"
+ sodipodi:docname="icon_generic_6_dof_joint.svg">
+ <defs
+ id="defs4" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="22.627417"
+ inkscape:cx="8.4723042"
+ inkscape:cy="10.441783"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ units="px"
+ inkscape:snap-bbox="true"
+ inkscape:bbox-paths="true"
+ inkscape:bbox-nodes="true"
+ inkscape:snap-bbox-edge-midpoints="true"
+ inkscape:snap-bbox-midpoints="true"
+ inkscape:snap-object-midpoints="true"
+ inkscape:snap-center="true"
+ inkscape:window-width="1920"
+ inkscape:window-height="1016"
+ inkscape:window-x="0"
+ inkscape:window-y="27"
+ inkscape:window-maximized="1"
+ inkscape:snap-midpoints="true"
+ inkscape:snap-smooth-nodes="true"
+ inkscape:object-nodes="true">
+ <inkscape:grid
+ type="xygrid"
+ id="grid3336" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-1036.3622)">
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#fc9c9c;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843"
+ d="m 3,1042.3622 10,5"
+ id="path4241"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:#fc9c9c;fill-rule:evenodd;stroke:#fc9c9c;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:0.99607843;stroke-miterlimit:4;stroke-dasharray:none;fill-opacity:0.99607843"
+ d="m 8,1050.3622 0,-12"
+ id="path4243"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4245"
+ d="m 3,1047.3622 10,-5"
+ style="fill:none;fill-rule:evenodd;stroke:#fc9c9c;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.99607843"
+ sodipodi:nodetypes="cc" />
+ </g>
+</svg>
diff --git a/tools/editor/icons/source/icon_hinge_joint.svg b/tools/editor/icons/source/icon_hinge_joint.svg
new file mode 100644
index 0000000000..767feac9d5
--- /dev/null
+++ b/tools/editor/icons/source/icon_hinge_joint.svg
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="16"
+ height="16"
+ viewBox="0 0 16 16"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.91 r13725"
+ inkscape:export-filename="/home/djrm/Projects/godot/tools/editor/icons/icon_area.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"
+ sodipodi:docname="icon_hinge_joint.svg">
+ <defs
+ id="defs4" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="22.627417"
+ inkscape:cx="8.5772937"
+ inkscape:cy="8.9985765"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ units="px"
+ inkscape:snap-bbox="true"
+ inkscape:bbox-paths="true"
+ inkscape:bbox-nodes="true"
+ inkscape:snap-bbox-edge-midpoints="true"
+ inkscape:snap-bbox-midpoints="true"
+ inkscape:snap-object-midpoints="true"
+ inkscape:snap-center="true"
+ inkscape:window-width="1920"
+ inkscape:window-height="1016"
+ inkscape:window-x="0"
+ inkscape:window-y="27"
+ inkscape:window-maximized="1"
+ inkscape:snap-midpoints="true"
+ inkscape:snap-smooth-nodes="true"
+ inkscape:object-nodes="true">
+ <inkscape:grid
+ type="xygrid"
+ id="grid3336" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-1036.3622)">
+ <path
+ style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="m 4,1045.3622 a 3,2.9999826 0 0 0 -3,3 3,2.9999826 0 0 0 3,3 3,2.9999826 0 0 0 3,-3 3,2.9999826 0 0 0 -3,-3 z m 0,2 a 1.0000231,1.0000174 0 0 1 1,1 1.0000231,1.0000174 0 0 1 -1,1 1.0000231,1.0000174 0 0 1 -1,-1 1.0000231,1.0000174 0 0 1 1,-1 z"
+ id="path4145"
+ inkscape:connector-curvature="0" />
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#fc9c9c;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+ d="M 7.2832031 1.328125 A 1.0001 1.0001 0 0 0 6.4023438 1.8398438 L 2.7128906 8.2304688 C 3.1188799 8.0916963 3.5469997 8 4 8 C 4.3704308 8 4.722062 8.0678727 5.0625 8.1621094 L 8.1347656 2.8398438 A 1.0001 1.0001 0 0 0 7.2832031 1.328125 z "
+ transform="translate(0,1036.3622)"
+ id="path4147" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#fc9c9c;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 4,1050.3622 10,0"
+ id="path4149"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ </g>
+</svg>
diff --git a/tools/editor/icons/source/icon_interpolated_camera.svg b/tools/editor/icons/source/icon_interpolated_camera.svg
new file mode 100644
index 0000000000..16fc731c12
--- /dev/null
+++ b/tools/editor/icons/source/icon_interpolated_camera.svg
@@ -0,0 +1,259 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="16"
+ height="16"
+ viewBox="0 0 16 16"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.91 r13725"
+ inkscape:export-filename="/home/djrm/Projects/godot/tools/editor/icons/icon_camera.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"
+ sodipodi:docname="icon_interpolated_camera.svg">
+ <defs
+ id="defs4" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="32"
+ inkscape:cx="8.5491949"
+ inkscape:cy="8.618964"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ units="px"
+ inkscape:snap-bbox="true"
+ inkscape:bbox-paths="true"
+ inkscape:bbox-nodes="true"
+ inkscape:snap-bbox-edge-midpoints="true"
+ inkscape:snap-bbox-midpoints="true"
+ inkscape:snap-object-midpoints="true"
+ inkscape:snap-center="true"
+ inkscape:window-width="1920"
+ inkscape:window-height="1016"
+ inkscape:window-x="0"
+ inkscape:window-y="27"
+ inkscape:window-maximized="1"
+ showguides="true">
+ <inkscape:grid
+ type="xygrid"
+ id="grid3336"
+ empspacing="4" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-1036.3622)">
+ <rect
+ style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect4144"
+ width="10"
+ height="5.0000172"
+ x="1"
+ y="1039.3622" />
+ <rect
+ y="1037.3622"
+ x="3"
+ height="9.0000172"
+ width="6"
+ id="rect4146"
+ style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <circle
+ style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path4148"
+ cx="3"
+ cy="1039.3622"
+ r="2" />
+ <circle
+ r="2"
+ cy="1044.3622"
+ cx="3"
+ id="circle4150"
+ style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <circle
+ style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="circle4152"
+ cx="9"
+ cy="1039.3622"
+ r="2" />
+ <circle
+ r="2"
+ cy="1044.3622"
+ cx="9"
+ id="circle4154"
+ style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <path
+ style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="m 12,1040.3622 0,3 3,1 0,-5 z"
+ id="rect4156"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <rect
+ style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect4141"
+ width="1"
+ height="4"
+ x="6"
+ y="1047.3622"
+ ry="0" />
+ <rect
+ ry="0"
+ y="1047.3622"
+ x="7"
+ height="1.0000174"
+ width="1"
+ id="rect4143"
+ style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <rect
+ style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect4145"
+ width="1"
+ height="1.0000174"
+ x="7"
+ y="1049.3622"
+ ry="0" />
+ <rect
+ ry="0"
+ y="1048.3622"
+ x="8"
+ height="1.0000174"
+ width="1"
+ id="rect4147"
+ style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <rect
+ ry="0"
+ y="1047.3622"
+ x="3"
+ height="4"
+ width="1"
+ id="rect4149"
+ style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <rect
+ ry="0"
+ y="1048.3622"
+ x="10"
+ height="2.0000174"
+ width="1"
+ id="rect4157"
+ style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <rect
+ style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect4159"
+ width="1"
+ height="1.0000174"
+ x="11"
+ y="1047.3622"
+ ry="0" />
+ <rect
+ ry="0"
+ y="1050.3622"
+ x="11"
+ height="1.0000174"
+ width="1"
+ id="rect4161"
+ style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <rect
+ style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect4163"
+ width="1"
+ height="2.0000174"
+ x="12"
+ y="1048.3622"
+ ry="0" />
+ <path
+ style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path4165"
+ sodipodi:type="arc"
+ sodipodi:cx="8"
+ sodipodi:cy="1048.3622"
+ sodipodi:rx="1"
+ sodipodi:ry="1"
+ sodipodi:start="3.1415927"
+ sodipodi:end="0"
+ d="m 7,1048.3622 a 1,1 0 0 1 1,-1 1,1 0 0 1 1,1 l -1,0 z" />
+ <path
+ d="m 7,-1049.3622 a 1,1 0 0 1 1,-1 1,1 0 0 1 1,1 l -1,0 z"
+ sodipodi:end="0"
+ sodipodi:start="3.1415927"
+ sodipodi:ry="1"
+ sodipodi:rx="1"
+ sodipodi:cy="-1049.3622"
+ sodipodi:cx="8"
+ sodipodi:type="arc"
+ id="path4167"
+ style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ transform="scale(1,-1)" />
+ <path
+ transform="scale(1,-1)"
+ style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path4169"
+ sodipodi:type="arc"
+ sodipodi:cx="11"
+ sodipodi:cy="-1050.3622"
+ sodipodi:rx="1"
+ sodipodi:ry="1"
+ sodipodi:start="3.1415927"
+ sodipodi:end="0"
+ d="m 10,-1050.3622 a 1,1 0 0 1 1,-1 1,1 0 0 1 1,1 l -1,0 z" />
+ <path
+ d="m 11,-1050.3622 a 1,1 0 0 1 1,-1 1,1 0 0 1 1,1 l -1,0 z"
+ sodipodi:end="0"
+ sodipodi:start="3.1415927"
+ sodipodi:ry="1"
+ sodipodi:rx="1"
+ sodipodi:cy="-1050.3622"
+ sodipodi:cx="12"
+ sodipodi:type="arc"
+ id="path4171"
+ style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ transform="scale(1,-1)" />
+ <path
+ d="m 10,1048.3622 a 1,1 0 0 1 1,-1 1,1 0 0 1 1,1 l -1,0 z"
+ sodipodi:end="0"
+ sodipodi:start="3.1415927"
+ sodipodi:ry="1"
+ sodipodi:rx="1"
+ sodipodi:cy="1048.3622"
+ sodipodi:cx="11"
+ sodipodi:type="arc"
+ id="path4173"
+ style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <path
+ style="opacity:1;fill:#fc9c9c;fill-opacity:1;stroke:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path4175"
+ sodipodi:type="arc"
+ sodipodi:cx="12"
+ sodipodi:cy="1048.3622"
+ sodipodi:rx="1"
+ sodipodi:ry="1"
+ sodipodi:start="3.1415927"
+ sodipodi:end="0"
+ d="m 11,1048.3622 a 1,1 0 0 1 1,-1 1,1 0 0 1 1,1 l -1,0 z" />
+ </g>
+</svg>
diff --git a/tools/editor/icons/source/icon_loop_interpolation.svg b/tools/editor/icons/source/icon_loop_interpolation.svg
new file mode 100644
index 0000000000..3733acb253
--- /dev/null
+++ b/tools/editor/icons/source/icon_loop_interpolation.svg
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="16"
+ height="16"
+ viewBox="0 0 16 16"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.91 r13725"
+ inkscape:export-filename="/home/djrm/Projects/godot/tools/editor/icons/icon_loop_interpolation.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"
+ sodipodi:docname="icon_loop_interpolation.svg">
+ <defs
+ id="defs4" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="32"
+ inkscape:cx="3.8522581"
+ inkscape:cy="6.9411054"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ units="px"
+ inkscape:snap-bbox="true"
+ inkscape:bbox-paths="true"
+ inkscape:bbox-nodes="true"
+ inkscape:snap-bbox-edge-midpoints="true"
+ inkscape:snap-bbox-midpoints="false"
+ inkscape:snap-object-midpoints="true"
+ inkscape:snap-center="true"
+ inkscape:window-width="1920"
+ inkscape:window-height="1016"
+ inkscape:window-x="0"
+ inkscape:window-y="27"
+ inkscape:window-maximized="1"
+ inkscape:snap-midpoints="true"
+ inkscape:snap-smooth-nodes="true"
+ inkscape:object-nodes="true">
+ <inkscape:grid
+ type="xygrid"
+ id="grid3336" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-1036.3622)">
+ <g
+ id="layer1-8"
+ inkscape:label="Layer 1"
+ transform="matrix(0,-1,1,0,-1021.3622,1033.3622)" />
+ <circle
+ style="opacity:1;fill:#e0e0e0;fill-opacity:0.99607843;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path4155"
+ cx="3"
+ cy="1048.3622"
+ r="2" />
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#e0e0e0;fill-opacity:0.99607843;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+ d="M 4 3 A 2 2 0 0 0 2.2675781 4 A 2 2 0 0 0 2.0019531 5 L 2 5 L 2 5.046875 L 2 12 L 4 12 L 4 7 L 4 5 L 6 5 L 6 3 L 4 3 z "
+ transform="translate(0,1036.3622)"
+ id="path4157" />
+ <path
+ style="fill:#e0e0e0;fill-opacity:0.99607843;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 6,1037.3622 0,6 4,-3 z"
+ id="path4159"
+ inkscape:connector-curvature="0" />
+ <circle
+ r="2"
+ cy="1040.3622"
+ cx="13"
+ id="circle4161"
+ style="opacity:1;fill:#e0e0e0;fill-opacity:0.99607843;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <path
+ style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#e0e0e0;fill-opacity:0.99607843;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+ d="M 12 4 L 12 9 L 12 11 L 10 11 L 10 13 L 12 13 A 2 2 0 0 0 13.732422 12 A 2 2 0 0 0 13.998047 11 L 14 11 L 14 4 L 12 4 z "
+ transform="translate(0,1036.3622)"
+ id="path4163" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path4165"
+ d="m 10,1045.3622 0,6 -4,-3 z"
+ style="fill:#e0e0e0;fill-opacity:0.99607843;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ </g>
+</svg>
diff --git a/tools/editor/icons/source/icon_rating_no_star.svg b/tools/editor/icons/source/icon_rating_no_star.svg
index 123f524ed3..09a9efa112 100644
--- a/tools/editor/icons/source/icon_rating_no_star.svg
+++ b/tools/editor/icons/source/icon_rating_no_star.svg
@@ -29,8 +29,8 @@
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="32"
- inkscape:cx="6.994096"
- inkscape:cy="8.2713563"
+ inkscape:cx="6.5847936"
+ inkscape:cy="10.189102"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
@@ -47,10 +47,10 @@
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="1"
- inkscape:object-paths="true"
- inkscape:snap-intersection-paths="true"
- inkscape:object-nodes="true"
- inkscape:snap-smooth-nodes="true">
+ inkscape:object-paths="false"
+ inkscape:snap-intersection-paths="false"
+ inkscape:object-nodes="false"
+ inkscape:snap-smooth-nodes="false">
<inkscape:grid
type="xygrid"
id="grid3336"
@@ -64,7 +64,7 @@
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title></dc:title>
+ <dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
@@ -73,15 +73,16 @@
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-1036.3622)">
- <path
- style="opacity:1;fill:#ffe484;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- d="M 8.0000004,1038.0862 5.62591,1042.1835 1,1043.2813 l 3.2360991,3.4074 -0.3586608,4.6735 4.1388649,-1.9766 4.1572048,1.9421 -0.395342,-4.6532 3.221834,-3.3932 -4.625909,-1.0978 -2.3740906,-4.0973 z"
- id="path4254"
- inkscape:connector-curvature="0" />
- <path
- inkscape:connector-curvature="0"
- id="path4182"
- d="M 8.0000004,1038.0862 5.62591,1042.1835 1,1043.2813 l 3.2360991,3.4074 -0.3586608,4.6735 4.1388649,-1.9766 4.1572048,1.9421 -0.395342,-4.6532 3.221834,-3.3932 -4.625909,-1.0978 -2.3740906,-4.0973 z"
- style="opacity:1;fill:#000000;fill-opacity:0.23529412;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <g
+ id="layer1-7"
+ inkscape:label="Layer 1"
+ style="fill:#c3ae65;fill-opacity:1">
+ <path
+ id="path4254-1"
+ transform="translate(0,1036.3622)"
+ d="M 8,1.7246094 5.625,5.8222656 1,6.9199219 4.2363281,10.326172 3.8769531,15 8.015625,13.023438 12.173828,14.964844 11.777344,10.3125 15,6.9199219 10.375,5.8222656 8,1.7246094 Z M 8,4 l 1.6582031,2.7773438 3.2324219,0.7441406 -2.25,2.3007812 0.275391,3.1542964 L 8.0117188,11.660156 5.1191406,13 5.3710938,9.8320312 3.109375,7.5214844 6.3417969,6.7773438 8,4 Z"
+ style="opacity:1;fill:#c3ae65;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ </g>
</g>
</svg>
diff --git a/tools/editor/icons/source/icon_tool_button.svg b/tools/editor/icons/source/icon_tool_button.svg
new file mode 100644
index 0000000000..1c5176c8c9
--- /dev/null
+++ b/tools/editor/icons/source/icon_tool_button.svg
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="16"
+ height="16"
+ viewBox="0 0 16 16"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.91 r13725"
+ inkscape:export-filename="/home/djrm/Projects/godot/tools/editor/icons/icon_button.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"
+ sodipodi:docname="icon_tool_button.svg">
+ <defs
+ id="defs4" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="32"
+ inkscape:cx="8.173168"
+ inkscape:cy="9.7479984"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ units="px"
+ inkscape:snap-bbox="true"
+ inkscape:bbox-paths="true"
+ inkscape:bbox-nodes="true"
+ inkscape:snap-bbox-edge-midpoints="true"
+ inkscape:snap-bbox-midpoints="true"
+ inkscape:snap-object-midpoints="true"
+ inkscape:snap-center="true"
+ inkscape:window-width="1920"
+ inkscape:window-height="1016"
+ inkscape:window-x="0"
+ inkscape:window-y="27"
+ inkscape:window-maximized="1">
+ <inkscape:grid
+ type="xygrid"
+ id="grid3336"
+ empspacing="4" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-1036.3622)">
+ <path
+ style="opacity:1;fill:#a5efac;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 1 3 L 1 11 L 15 11 L 15 3 L 1 3 z M 11 4 A 3 3 0 0 1 13.826172 6 L 11 6 A 1 1 0 0 0 10 7 A 1 1 0 0 0 11 8 L 13.824219 8 A 3 3 0 0 1 11 10 A 3 3 0 0 1 8.1757812 8 L 3 8 A 1 1 0 0 1 2 7 A 1 1 0 0 1 3 6 L 8.1738281 6 A 3 3 0 0 1 11 4 z "
+ transform="translate(0,1036.3622)"
+ id="rect4139" />
+ <rect
+ transform="scale(1,-1)"
+ style="opacity:1;fill:#a5efac;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect4160"
+ width="14"
+ height="2.0000522"
+ x="1"
+ y="-1049.3622" />
+ <rect
+ y="-1049.3622"
+ x="1"
+ height="2.0000522"
+ width="14"
+ id="rect4142"
+ style="opacity:1;fill:#000000;fill-opacity:0.07843138;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ transform="scale(1,-1)" />
+ </g>
+</svg>
diff --git a/tools/editor/icons/source/icon_track_trigger.svg b/tools/editor/icons/source/icon_track_trigger.svg
new file mode 100644
index 0000000000..9c13791f70
--- /dev/null
+++ b/tools/editor/icons/source/icon_track_trigger.svg
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="16"
+ height="8"
+ viewBox="0 0 16 8"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.91 r13725"
+ inkscape:export-filename="/home/djrm/Projects/godot/tools/editor/icons/icon_track_trigger.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"
+ sodipodi:docname="icon_track_trigger.svg">
+ <defs
+ id="defs4" />
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="32"
+ inkscape:cx="0.93634514"
+ inkscape:cy="3.5256605"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ units="px"
+ inkscape:snap-bbox="true"
+ inkscape:bbox-paths="true"
+ inkscape:bbox-nodes="true"
+ inkscape:snap-bbox-edge-midpoints="true"
+ inkscape:snap-bbox-midpoints="true"
+ inkscape:snap-object-midpoints="true"
+ inkscape:snap-center="true"
+ inkscape:window-width="1920"
+ inkscape:window-height="1016"
+ inkscape:window-x="0"
+ inkscape:window-y="27"
+ inkscape:window-maximized="1"
+ showguides="true"
+ inkscape:snap-smooth-nodes="true"
+ inkscape:object-nodes="true"
+ inkscape:object-paths="true"
+ inkscape:snap-intersection-paths="true">
+ <inkscape:grid
+ type="xygrid"
+ id="grid3336" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-1044.3622)">
+ <circle
+ r="1"
+ cy="1048.3622"
+ cx="11"
+ id="circle4232"
+ style="opacity:1;fill:#e0e0e0;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+ <circle
+ style="opacity:1;fill:#e0e0e0;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="circle4234"
+ cx="14"
+ cy="1046.3622"
+ r="1" />
+ <rect
+ style="opacity:1;fill:#e0e0e0;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect4169"
+ width="6"
+ height="2"
+ x="1"
+ y="1045.3622" />
+ <rect
+ style="opacity:1;fill:#e0e0e0;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect4171"
+ width="2"
+ height="3.9999826"
+ x="3"
+ y="1047.3622" />
+ <circle
+ style="opacity:1;fill:#e0e0e0;fill-opacity:1;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="circle4173"
+ cx="8"
+ cy="1050.3622"
+ r="1" />
+ </g>
+</svg>
diff --git a/tools/editor/inspector_dock.cpp b/tools/editor/inspector_dock.cpp
index 57d19c3ec8..7b06761e53 100644
--- a/tools/editor/inspector_dock.cpp
+++ b/tools/editor/inspector_dock.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* inspector_dock.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "inspector_dock.h"
#if 0
diff --git a/tools/editor/inspector_dock.h b/tools/editor/inspector_dock.h
index 90f043aba8..40c153e2d4 100644
--- a/tools/editor/inspector_dock.h
+++ b/tools/editor/inspector_dock.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* inspector_dock.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef INSPECTOR_DOCK_H
#define INSPECTOR_DOCK_H
diff --git a/tools/editor/io_plugins/editor_export_scene.cpp b/tools/editor/io_plugins/editor_export_scene.cpp
index dff41a59ed..acbbf8c737 100644
--- a/tools/editor/io_plugins/editor_export_scene.cpp
+++ b/tools/editor/io_plugins/editor_export_scene.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* editor_export_scene.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "editor_export_scene.h"
#include "io/resource_loader.h"
#include "io/resource_saver.h"
diff --git a/tools/editor/io_plugins/editor_export_scene.h b/tools/editor/io_plugins/editor_export_scene.h
index 134da6c234..2c7fe9a1ab 100644
--- a/tools/editor/io_plugins/editor_export_scene.h
+++ b/tools/editor/io_plugins/editor_export_scene.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* editor_export_scene.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef EDITOR_EXPORT_SCENE_H
#define EDITOR_EXPORT_SCENE_H
diff --git a/tools/editor/io_plugins/editor_font_import_plugin.cpp b/tools/editor/io_plugins/editor_font_import_plugin.cpp
index d5e6e3077e..70bc44ba7d 100644
--- a/tools/editor/io_plugins/editor_font_import_plugin.cpp
+++ b/tools/editor/io_plugins/editor_font_import_plugin.cpp
@@ -102,6 +102,7 @@ public:
bool disable_filter;
bool round_advance;
+ bool premultiply_alpha;
@@ -167,6 +168,8 @@ public:
round_advance=p_value;
else if (n=="advanced/disable_filter")
disable_filter=p_value;
+ else if (n=="advanced/premultiply_alpha")
+ premultiply_alpha=p_value;
else
return false;
@@ -235,6 +238,8 @@ public:
r_ret=round_advance;
else if (n=="advanced/disable_filter")
r_ret=disable_filter;
+ else if (n=="advanced/premultiply_alpha")
+ r_ret=premultiply_alpha;
else
return false;
@@ -297,6 +302,7 @@ public:
p_list->push_back(PropertyInfo(Variant::BOOL,"advanced/round_advance"));
p_list->push_back(PropertyInfo(Variant::BOOL,"advanced/disable_filter"));
+ p_list->push_back(PropertyInfo(Variant::BOOL,"advanced/premultiply_alpha"));
}
@@ -336,6 +342,7 @@ public:
font_mode=FONT_BITMAP;
round_advance=true;
disable_filter=false;
+ premultiply_alpha=false;
}
@@ -368,6 +375,7 @@ public:
round_advance=true;
disable_filter=false;
+ premultiply_alpha=false;
}
@@ -489,18 +497,22 @@ class EditorFontImportDialog : public ConfirmationDialog {
Image img = tex->get_data();
f->store_line("static const int _builtin_font_img_width="+itos(img.get_width())+";");
- f->store_line("static const int _builtin_font_img_height="+itos(img.get_height())+";");
- f->store_line("static const unsigned char _builtin_font_img_data["+itos(img.get_width()*img.get_height()*2)+"]={");
- for(int i=0;i<img.get_height();i++) {
+ f->store_line("static const int _builtin_font_img_height="+itos(img.get_height())+";");
- for(int j=0;j<img.get_width();j++) {
+ String fname = p_font.basename()+".sv.png";
+ ResourceSaver::save(fname,tex);
+ Vector<uint8_t> data=FileAccess::get_file_as_array(fname);
- Color c = img.get_pixel(j,i);
- int v = CLAMP(((c.r+c.g+c.b)/3.0)*255,0,255);
- int a = CLAMP(c.a*255,0,255);
- f->store_line(itos(v)+","+itos(a)+",");
- }
+ f->store_line("static const int _builtin_font_img_data_size="+itos(data.size())+";");
+ f->store_line("static const unsigned char _builtin_font_img_data["+itos(data.size())+"]={");
+
+
+
+ for(int i=0;i<data.size();i++) {
+
+ f->store_line(itos(data[i])+",");
+
}
f->store_line("};");
@@ -524,6 +536,16 @@ class EditorFontImportDialog : public ConfirmationDialog {
dest->get_line_edit()->set_text(dest->get_line_edit()->get_text().get_base_dir() + "/" + source->get_line_edit()->get_text().get_file().basename() + ".fnt" );
}
+ if (dest->get_line_edit()->get_text().extension() == dest->get_line_edit()->get_text()) {
+ dest->get_line_edit()->set_text(dest->get_line_edit()->get_text() + ".fnt");
+ }
+
+ if (dest->get_line_edit()->get_text().extension().to_lower() != "fnt") {
+ error_dialog->set_text(TTR("Invalid file extension.\nPlease use .fnt."));
+ error_dialog->popup_centered(Size2(200,100));
+ return;
+ }
+
Ref<ResourceImportMetadata> rimd = get_rimd();
if (rimd.is_null()) {
@@ -1528,12 +1550,30 @@ Ref<BitmapFont> EditorFontImportPlugin::generate_font(const Ref<ResourceImportMe
}
+ if (from->has_option("advanced/premultiply_alpha") && bool(from->get_option("advanced/premultiply_alpha"))) {
+
+ DVector<uint8_t> data = atlas.get_data();
+ int dl = data.size();
+ {
+ DVector<uint8_t>::Write w = data.write();
+
+ for(int i=0;i<dl;i+=4) {
+
+ w[i+0]= uint8_t(int(w[i+0])*int(w[i+3])/255);
+ w[i+1]= uint8_t(int(w[i+1])*int(w[i+3])/255);
+ w[i+2]= uint8_t(int(w[i+2])*int(w[i+3])/255);
+ }
+ }
+
+ atlas=Image(res_size.x,res_size.y,0,Image::FORMAT_RGBA,data);
+ }
if (from->has_option("color/monochrome") && bool(from->get_option("color/monochrome"))) {
atlas.convert(Image::FORMAT_GRAYSCALE_ALPHA);
}
+
if (0) {
//debug the texture
Ref<ImageTexture> atlast = memnew( ImageTexture );
diff --git a/tools/editor/io_plugins/editor_import_collada.cpp b/tools/editor/io_plugins/editor_import_collada.cpp
index 80cd54756e..363cba3678 100644
--- a/tools/editor/io_plugins/editor_import_collada.cpp
+++ b/tools/editor/io_plugins/editor_import_collada.cpp
@@ -2077,6 +2077,7 @@ void ColladaImport::create_animation(int p_clip, bool p_make_tracks_in_all_bones
animation->add_track(Animation::TYPE_TRANSFORM);
int track = animation->get_track_count() -1;
animation->track_set_path( track , path );
+ animation->track_set_imported( track , true ); //helps merging later
Vector<float> snapshots = base_snapshots;
@@ -2229,6 +2230,7 @@ void ColladaImport::create_animation(int p_clip, bool p_make_tracks_in_all_bones
animation->add_track(Animation::TYPE_TRANSFORM);
int track = animation->get_track_count() -1;
animation->track_set_path( track , path );
+ animation->track_set_imported( track , true ); //helps merging later
Transform xform = cn->compute_transform(collada);
@@ -2284,8 +2286,11 @@ void ColladaImport::create_animation(int p_clip, bool p_make_tracks_in_all_bones
animation->add_track(Animation::TYPE_VALUE);
int track = animation->get_track_count() -1;
+
path = path +":"+at.param;
animation->track_set_path( track , path );
+ animation->track_set_imported( track , true ); //helps merging later
+
for(int i=0;i<at.keys.size();i++) {
@@ -2376,6 +2381,7 @@ Node* EditorSceneImporterCollada::import_scene(const String& p_path, uint32_t p_
state.create_animations(p_flags&IMPORT_ANIMATION_FORCE_ALL_TRACKS_IN_ALL_CLIPS);
AnimationPlayer *ap = memnew( AnimationPlayer );
+ ap->set_name("animations");
for(int i=0;i<state.animations.size();i++) {
String name;
if (state.animations[i]->get_name()=="")
diff --git a/tools/editor/io_plugins/editor_mesh_import_plugin.cpp b/tools/editor/io_plugins/editor_mesh_import_plugin.cpp
index c20515f0f3..095c56a373 100644
--- a/tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+++ b/tools/editor/io_plugins/editor_mesh_import_plugin.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* editor_mesh_import_plugin.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "editor_mesh_import_plugin.h"
#include "tools/editor/editor_file_dialog.h"
diff --git a/tools/editor/io_plugins/editor_mesh_import_plugin.h b/tools/editor/io_plugins/editor_mesh_import_plugin.h
index ed30d69e18..d200603e6a 100644
--- a/tools/editor/io_plugins/editor_mesh_import_plugin.h
+++ b/tools/editor/io_plugins/editor_mesh_import_plugin.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* editor_mesh_import_plugin.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef EDITOR_MESH_IMPORT_PLUGIN_H
#define EDITOR_MESH_IMPORT_PLUGIN_H
diff --git a/tools/editor/io_plugins/editor_scene_import_plugin.cpp b/tools/editor/io_plugins/editor_scene_import_plugin.cpp
index f346306f61..c7d92a9658 100644
--- a/tools/editor/io_plugins/editor_scene_import_plugin.cpp
+++ b/tools/editor/io_plugins/editor_scene_import_plugin.cpp
@@ -30,6 +30,7 @@
#include "globals.h"
#include "tools/editor/editor_node.h"
#include "scene/resources/packed_scene.h"
+#include "scene/resources/box_shape.h"
#include "os/file_access.h"
#include "scene/3d/path.h"
#include "scene/animation/animation_player.h"
@@ -1068,12 +1069,14 @@ const EditorSceneImportDialog::FlagInfo EditorSceneImportDialog::scene_flag_name
{EditorSceneImportPlugin::SCENE_FLAG_IMPORT_ANIMATIONS,("Actions"),"Import Animations",true},
{EditorSceneImportPlugin::SCENE_FLAG_COMPRESS_GEOMETRY,("Actions"),"Compress Geometry",false},
{EditorSceneImportPlugin::SCENE_FLAG_GENERATE_TANGENT_ARRAYS,("Actions"),"Force Generation of Tangent Arrays",false},
- {EditorSceneImportPlugin::SCENE_FLAG_DETECT_ALPHA,("Materials"),"Set Alpha in Materials (-alpha)",true},
- {EditorSceneImportPlugin::SCENE_FLAG_DETECT_VCOLOR,("Materials"),"Set Vert. Color in Materials (-vcol)",true},
{EditorSceneImportPlugin::SCENE_FLAG_LINEARIZE_DIFFUSE_TEXTURES,("Actions"),"SRGB->Linear Of Diffuse Textures",false},
{EditorSceneImportPlugin::SCENE_FLAG_CONVERT_NORMALMAPS_TO_XY,("Actions"),"Convert Normal Maps to XY",true},
{EditorSceneImportPlugin::SCENE_FLAG_SET_LIGHTMAP_TO_UV2_IF_EXISTS,("Actions"),"Set Material Lightmap to UV2 if Tex2Array Exists",true},
- {EditorSceneImportPlugin::SCENE_FLAG_CREATE_COLLISIONS,("Create"),"Create Collisions (-col},-colonly)",true},
+ {EditorSceneImportPlugin::SCENE_FLAG_MERGE_KEEP_MATERIALS,("Merge"),"Keep Materials after first import (delete them for re-import).",true},
+ {EditorSceneImportPlugin::SCENE_FLAG_MERGE_KEEP_EXTRA_ANIM_TRACKS,("Merge"),"Keep user-added Animation tracks.",true},
+ {EditorSceneImportPlugin::SCENE_FLAG_DETECT_ALPHA,("Materials"),"Set Alpha in Materials (-alpha)",true},
+ {EditorSceneImportPlugin::SCENE_FLAG_DETECT_VCOLOR,("Materials"),"Set Vert. Color in Materials (-vcol)",true},
+ {EditorSceneImportPlugin::SCENE_FLAG_CREATE_COLLISIONS,("Create"),"Create Collisions and/or Rigid Bodies (-col,-colonly,-rigid)",true},
{EditorSceneImportPlugin::SCENE_FLAG_CREATE_PORTALS,("Create"),"Create Portals (-portal)",true},
{EditorSceneImportPlugin::SCENE_FLAG_CREATE_ROOMS,("Create"),"Create Rooms (-room)",true},
{EditorSceneImportPlugin::SCENE_FLAG_SIMPLIFY_ROOMS,("Create"),"Simplify Rooms",false},
@@ -1745,6 +1748,49 @@ Node* EditorSceneImportPlugin::_fix_node(Node *p_node,Node *p_root,Map<Ref<Mesh>
colshape->set_owner(sb->get_owner());
}
+ } else if (p_flags&SCENE_FLAG_CREATE_COLLISIONS && _teststr(name,"rigid") && p_node->cast_to<MeshInstance>()) {
+
+ if (isroot)
+ return p_node;
+
+ // get mesh instance and bounding box
+ MeshInstance *mi = p_node->cast_to<MeshInstance>();
+ AABB aabb = mi->get_aabb();
+
+ // create a new rigid body collision node
+ RigidBody * rigid_body = memnew( RigidBody );
+ Node * col = rigid_body;
+ ERR_FAIL_COND_V(!col,NULL);
+
+ // remove node name postfix
+ col->set_name(_fixstr(name,"rigid"));
+ // get mesh instance xform matrix to the rigid body collision node
+ col->cast_to<Spatial>()->set_transform(mi->get_transform());
+ // save original node by duplicating it into a new instance and correcting the name
+ Node * mesh = p_node->duplicate();
+ mesh->set_name(_fixstr(name,"rigid"));
+ // reset the xform matrix of the duplicated node so it can inherit parent node xform
+ mesh->cast_to<Spatial>()->set_transform(Transform(Matrix3()));
+ // reparent the new mesh node to the rigid body collision node
+ p_node->add_child(mesh);
+ mesh->set_owner(p_node->get_owner());
+ // replace the original node with the rigid body collision node
+ p_node->replace_by(col);
+ memdelete(p_node);
+ p_node=col;
+
+ // create an alias for the rigid body collision node
+ RigidBody *rb = col->cast_to<RigidBody>();
+ // create a new Box collision shape and set the right extents
+ Ref<BoxShape> shape = memnew( BoxShape );
+ shape->set_extents(aabb.get_size() * 0.5);
+ CollisionShape *colshape = memnew( CollisionShape);
+ colshape->set_name("shape");
+ colshape->set_shape(shape);
+ // reparent the new collision shape to the rigid body collision node
+ rb->add_child(colshape);
+ colshape->set_owner(p_node->get_owner());
+
} else if (p_flags&SCENE_FLAG_CREATE_COLLISIONS &&_teststr(name,"col") && p_node->cast_to<MeshInstance>()) {
@@ -2411,6 +2457,138 @@ void EditorSceneImportPlugin::_optimize_animations(Node *scene, float p_max_lin_
}
+void EditorSceneImportPlugin::_find_resources_to_merge(Node *scene, Node *node, bool p_merge_material, Map<String, Ref<Material> > &materials, bool p_merge_anims, Map<String,Ref<Animation> >& merged_anims,Set<Ref<Mesh> > &tested_meshes) {
+
+ if (node->get_owner()!=scene)
+ return;
+
+ String path = scene->get_path_to(node);
+
+ if (p_merge_anims && node->cast_to<AnimationPlayer>()) {
+
+ AnimationPlayer *ap = node->cast_to<AnimationPlayer>();
+ List<StringName> anims;
+ ap->get_animation_list(&anims);
+ for (List<StringName>::Element *E=anims.front();E;E=E->next()) {
+ Ref<Animation> anim = ap->get_animation(E->get());
+ Ref<Animation> clone;
+
+ bool has_user_tracks=false;
+
+ for(int i=0;i<anim->get_track_count();i++) {
+
+ if (!anim->track_is_imported(i)) {
+ has_user_tracks=true;
+ break;
+ }
+ }
+
+ if (has_user_tracks) {
+
+ clone = anim->duplicate();
+ for(int i=0;i<clone->get_track_count();i++) {
+ if (clone->track_is_imported(i)) {
+ clone->remove_track(i);
+ i--;
+ }
+ }
+
+ merged_anims[path+"::"+String(E->get())]=clone;
+ }
+ }
+ }
+
+
+
+ if (p_merge_material && node->cast_to<MeshInstance>()) {
+ MeshInstance *mi=node->cast_to<MeshInstance>();
+ Ref<Mesh> mesh = mi->get_mesh();
+ if (mesh.is_valid() && mesh->get_name()!=String() && !tested_meshes.has(mesh)) {
+
+ for(int i=0;i<mesh->get_surface_count();i++) {
+ Ref<Material> material = mesh->surface_get_material(i);
+ materials[mesh->get_name()+":surf:"+mesh->surface_get_name(i)]=material;
+ }
+
+ tested_meshes.insert(mesh);
+ }
+ }
+
+
+
+ for(int i=0;i<node->get_child_count();i++) {
+ _find_resources_to_merge(scene,node->get_child(i),p_merge_material,materials,p_merge_anims,merged_anims,tested_meshes);
+ }
+
+}
+
+
+void EditorSceneImportPlugin::_merge_found_resources(Node *scene, Node *node, bool p_merge_material, const Map<String, Ref<Material> > &materials, bool p_merge_anims, const Map<String,Ref<Animation> >& merged_anims, Set<Ref<Mesh> > &tested_meshes) {
+
+ if (node->get_owner()!=scene)
+ return;
+
+ String path = scene->get_path_to(node);
+
+ if (node->cast_to<AnimationPlayer>()) {
+
+ AnimationPlayer *ap = node->cast_to<AnimationPlayer>();
+ List<StringName> anims;
+ ap->get_animation_list(&anims);
+ for (List<StringName>::Element *E=anims.front();E;E=E->next()) {
+ Ref<Animation> anim = ap->get_animation(E->get());
+
+ String anim_path = path+"::"+String(E->get());
+
+ if (merged_anims.has(anim_path)) {
+
+ Ref<Animation> user_tracks = merged_anims[anim_path];
+ for(int i=0;i<user_tracks->get_track_count();i++) {
+
+ int idx = anim->get_track_count();
+ anim->add_track(user_tracks->track_get_type(i));
+ anim->track_set_path(idx,user_tracks->track_get_path(i));
+ anim->track_set_interpolation_type(idx,user_tracks->track_get_interpolation_type(i));
+ for(int j=0;j<user_tracks->track_get_key_count(i);j++) {
+
+ float ofs = user_tracks->track_get_key_time(i,j);
+ float trans = user_tracks->track_get_key_transition(i,j);
+ Variant value = user_tracks->track_get_key_value(i,j);
+
+ anim->track_insert_key(idx,ofs,value,trans);
+ }
+ }
+ }
+ }
+ }
+
+
+
+ if (node->cast_to<MeshInstance>()) {
+ MeshInstance *mi=node->cast_to<MeshInstance>();
+ Ref<Mesh> mesh = mi->get_mesh();
+ if (mesh.is_valid() && mesh->get_name()!=String() && !tested_meshes.has(mesh)) {
+
+ for(int i=0;i<mesh->get_surface_count();i++) {
+ String sname = mesh->get_name()+":surf:"+mesh->surface_get_name(i);
+
+ if (materials.has(sname)) {
+ mesh->surface_set_material(i,materials[sname]);
+ }
+ }
+
+ tested_meshes.insert(mesh);
+ }
+ }
+
+
+
+ for(int i=0;i<node->get_child_count();i++) {
+ _merge_found_resources(scene,node->get_child(i),p_merge_material,materials,p_merge_anims,merged_anims,tested_meshes);
+ }
+
+}
+
Error EditorSceneImportPlugin::import2(Node *scene, const String& p_dest_path, const Ref<ResourceImportMetadata>& p_from) {
Error err=OK;
@@ -2462,6 +2640,28 @@ Error EditorSceneImportPlugin::import2(Node *scene, const String& p_dest_path, c
_filter_tracks(scene,animation_filter);
+ if (scene_flags&(SCENE_FLAG_MERGE_KEEP_MATERIALS|SCENE_FLAG_MERGE_KEEP_EXTRA_ANIM_TRACKS) && FileAccess::exists(p_dest_path)) {
+ //must merge!
+
+ Ref<PackedScene> pscene = ResourceLoader::load(p_dest_path,"PackedScene",true);
+ if (pscene.is_valid()) {
+
+ Node *instance = pscene->instance();
+ if (instance) {
+ Map<String,Ref<Animation> > merged_anims;
+ Map<String,Ref<Material> > merged_materials;
+ Set<Ref<Mesh> > tested_meshes;
+
+ _find_resources_to_merge(instance,instance,scene_flags&SCENE_FLAG_MERGE_KEEP_MATERIALS,merged_materials,scene_flags&SCENE_FLAG_MERGE_KEEP_EXTRA_ANIM_TRACKS,merged_anims,tested_meshes);
+ tested_meshes.clear();
+ _merge_found_resources(instance,instance,scene_flags&SCENE_FLAG_MERGE_KEEP_MATERIALS,merged_materials,scene_flags&SCENE_FLAG_MERGE_KEEP_EXTRA_ANIM_TRACKS,merged_anims,tested_meshes);
+
+ memdelete(instance);
+ }
+
+ }
+
+ }
/// BEFORE ANYTHING, RUN SCRIPT
diff --git a/tools/editor/io_plugins/editor_scene_import_plugin.h b/tools/editor/io_plugins/editor_scene_import_plugin.h
index 8a2d30f1f6..c31d3a33d3 100644
--- a/tools/editor/io_plugins/editor_scene_import_plugin.h
+++ b/tools/editor/io_plugins/editor_scene_import_plugin.h
@@ -116,6 +116,10 @@ class EditorSceneImportPlugin : public EditorImportPlugin {
void _tag_import_paths(Node *p_scene,Node *p_node);
+ void _find_resources_to_merge(Node *scene, Node *node, bool p_merge_material, Map<String,Ref<Material> >&materials, bool p_merge_anims, Map<String,Ref<Animation> >& merged_anims, Set<Ref<Mesh> > &tested_meshes);
+ void _merge_found_resources(Node *scene, Node *node, bool p_merge_material, const Map<String, Ref<Material> > &materials, bool p_merge_anims, const Map<String,Ref<Animation> >& merged_anims, Set<Ref<Mesh> > &tested_meshes);
+
+
public:
enum SceneFlags {
@@ -134,6 +138,9 @@ public:
SCENE_FLAG_CREATE_NAVMESH=1<<17,
SCENE_FLAG_DETECT_LIGHTMAP_LAYER=1<<18,
+ SCENE_FLAG_MERGE_KEEP_MATERIALS=1<<20,
+ SCENE_FLAG_MERGE_KEEP_EXTRA_ANIM_TRACKS=1<<21,
+
SCENE_FLAG_REMOVE_NOIMP=1<<24,
SCENE_FLAG_IMPORT_ANIMATIONS=1<<25,
SCENE_FLAG_COMPRESS_GEOMETRY=1<<26,
@@ -144,6 +151,7 @@ public:
};
+
virtual String get_name() const;
virtual String get_visible_name() const;
virtual void import_dialog(const String& p_from="");
diff --git a/tools/editor/io_plugins/editor_scene_importer_fbxconv.cpp b/tools/editor/io_plugins/editor_scene_importer_fbxconv.cpp
index 0c388b91ca..ac3c4637c2 100644
--- a/tools/editor/io_plugins/editor_scene_importer_fbxconv.cpp
+++ b/tools/editor/io_plugins/editor_scene_importer_fbxconv.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* editor_scene_importer_fbxconv.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "editor_scene_importer_fbxconv.h"
#include "os/file_access.h"
#include "os/os.h"
diff --git a/tools/editor/io_plugins/editor_scene_importer_fbxconv.h b/tools/editor/io_plugins/editor_scene_importer_fbxconv.h
index 261b072b04..b0cbc07ba3 100644
--- a/tools/editor/io_plugins/editor_scene_importer_fbxconv.h
+++ b/tools/editor/io_plugins/editor_scene_importer_fbxconv.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* editor_scene_importer_fbxconv.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef EDITOR_SCENE_IMPORTER_FBXCONV_H
#define EDITOR_SCENE_IMPORTER_FBXCONV_H
diff --git a/tools/editor/multi_node_edit.cpp b/tools/editor/multi_node_edit.cpp
index b5bae82ae0..4d27b8e349 100644
--- a/tools/editor/multi_node_edit.cpp
+++ b/tools/editor/multi_node_edit.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* multi_node_edit.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "multi_node_edit.h"
#include "editor_node.h"
@@ -7,9 +35,15 @@ bool MultiNodeEdit::_set(const StringName& p_name, const Variant& p_value){
if (!es)
return false;
+ String name = p_name;
+
+ if (name=="scripts/script") { // script/script set is intercepted at object level (check Variant Object::get() ) ,so use a different name
+ name="script/script";
+ }
+
UndoRedo *ur=EditorNode::get_singleton()->get_undo_redo();
- ur->create_action(TTR("MultiNode Set")+" "+String(p_name));
+ ur->create_action(TTR("MultiNode Set")+" "+String(name));
for (const List<NodePath>::Element *E=nodes.front();E;E=E->next()) {
if (!es->has_node(E->get()))
@@ -19,10 +53,13 @@ bool MultiNodeEdit::_set(const StringName& p_name, const Variant& p_value){
if (!n)
continue;
- ur->add_do_property(n,p_name,p_value);
- ur->add_undo_property(n,p_name,n->get(p_name));
+ ur->add_do_property(n,name,p_value);
+ ur->add_undo_property(n,name,n->get(name));
+
}
+ ur->add_do_method(EditorNode::get_singleton()->get_property_editor(),"refresh");
+ ur->add_undo_method(EditorNode::get_singleton()->get_property_editor(),"refresh");
ur->commit_action();
return true;
@@ -34,6 +71,11 @@ bool MultiNodeEdit::_get(const StringName& p_name,Variant &r_ret) const {
if (!es)
return false;
+ String name=p_name;
+ if (name=="scripts/script") { // script/script set is intercepted at object level (check Variant Object::get() ) ,so use a different name
+ name="script/script";
+ }
+
for (const List<NodePath>::Element *E=nodes.front();E;E=E->next()) {
if (!es->has_node(E->get()))
@@ -44,7 +86,7 @@ bool MultiNodeEdit::_get(const StringName& p_name,Variant &r_ret) const {
continue;
bool found;
- r_ret=n->get(p_name,&found);
+ r_ret=n->get(name,&found);
if (found)
return true;
@@ -79,6 +121,8 @@ void MultiNodeEdit::_get_property_list( List<PropertyInfo> *p_list) const{
for(List<PropertyInfo>::Element *F=plist.front();F;F=F->next()) {
+ if (F->get().name=="script/script")
+ continue; //added later manually, since this is intercepted before being set (check Variant Object::get() )
if (!usage.has(F->get().name)) {
PLData pld;
pld.uses=0;
@@ -100,6 +144,8 @@ void MultiNodeEdit::_get_property_list( List<PropertyInfo> *p_list) const{
}
}
+ p_list->push_back(PropertyInfo(Variant::OBJECT,"scripts/script",PROPERTY_HINT_RESOURCE_TYPE,"Script"));
+
}
diff --git a/tools/editor/multi_node_edit.h b/tools/editor/multi_node_edit.h
index 5a0cabf4be..fd50dc5bf4 100644
--- a/tools/editor/multi_node_edit.h
+++ b/tools/editor/multi_node_edit.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* multi_node_edit.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef MULTI_NODE_EDIT_H
#define MULTI_NODE_EDIT_H
@@ -13,6 +41,7 @@ class MultiNodeEdit : public Reference {
PropertyInfo info;
};
+
protected:
bool _set(const StringName& p_name, const Variant& p_value);
diff --git a/tools/editor/optimized_save_dialog.cpp b/tools/editor/optimized_save_dialog.cpp
deleted file mode 100644
index 4814b3b021..0000000000
--- a/tools/editor/optimized_save_dialog.cpp
+++ /dev/null
@@ -1,28 +0,0 @@
-/*************************************************************************/
-/* optimized_save_dialog.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
diff --git a/tools/editor/optimized_save_dialog.h b/tools/editor/optimized_save_dialog.h
deleted file mode 100644
index bdc36eddc1..0000000000
--- a/tools/editor/optimized_save_dialog.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*************************************************************************/
-/* optimized_save_dialog.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#ifndef OPTIMIZED_SAVE_DIALOG_H
-#define OPTIMIZED_SAVE_DIALOG_H
-
-
-
-#endif // OPTIMIZED_SAVE_DIALOG_H
diff --git a/tools/editor/plugins/animation_data_editor_plugin.cpp b/tools/editor/plugins/animation_data_editor_plugin.cpp
deleted file mode 100644
index a73c75056b..0000000000
--- a/tools/editor/plugins/animation_data_editor_plugin.cpp
+++ /dev/null
@@ -1,33 +0,0 @@
-/*************************************************************************/
-/* animation_data_editor_plugin.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#include "animation_data_editor_plugin.h"
-
-AnimationDataEditorPlugin::AnimationDataEditorPlugin()
-{
-}
diff --git a/tools/editor/plugins/animation_data_editor_plugin.h b/tools/editor/plugins/animation_data_editor_plugin.h
deleted file mode 100644
index 0a12638474..0000000000
--- a/tools/editor/plugins/animation_data_editor_plugin.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*************************************************************************/
-/* animation_data_editor_plugin.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#ifndef ANIMATION_DATA_EDITOR_PLUGIN_H
-#define ANIMATION_DATA_EDITOR_PLUGIN_H
-
-class AnimationDataEditorPlugin
-{
-public:
- AnimationDataEditorPlugin();
-};
-
-#endif // ANIMATION_DATA_EDITOR_PLUGIN_H
diff --git a/tools/editor/plugins/animation_player_editor_plugin.cpp b/tools/editor/plugins/animation_player_editor_plugin.cpp
index 4bbcb396af..10c7bf79a3 100644
--- a/tools/editor/plugins/animation_player_editor_plugin.cpp
+++ b/tools/editor/plugins/animation_player_editor_plugin.cpp
@@ -952,7 +952,7 @@ void AnimationPlayerEditor::_animation_duplicate() {
}
-void AnimationPlayerEditor::_seek_value_changed(float p_value) {
+void AnimationPlayerEditor::_seek_value_changed(float p_value,bool p_set) {
if (updating || !player || player->is_playing()) {
return;
@@ -980,7 +980,7 @@ void AnimationPlayerEditor::_seek_value_changed(float p_value) {
pos=anim->get_length();
}
- if (player->is_valid()) {
+ if (player->is_valid() && !p_set) {
float cpos = player->get_current_animation_pos();
player->seek_delta(pos,pos-cpos);
@@ -988,6 +988,7 @@ void AnimationPlayerEditor::_seek_value_changed(float p_value) {
player->seek(pos,true);
}
+
key_editor->set_anim_pos(pos);
updating=true;
@@ -1078,6 +1079,7 @@ void AnimationPlayerEditor::_editor_load(){
void AnimationPlayerEditor::_animation_key_editor_anim_len_changed(float p_len) {
+
frame->set_max(p_len);
}
@@ -1092,7 +1094,7 @@ void AnimationPlayerEditor::_animation_key_editor_anim_step_changed(float p_len)
}
-void AnimationPlayerEditor::_animation_key_editor_seek(float p_pos) {
+void AnimationPlayerEditor::_animation_key_editor_seek(float p_pos,bool p_drag) {
if (!is_visible())
return;
@@ -1102,7 +1104,11 @@ void AnimationPlayerEditor::_animation_key_editor_seek(float p_pos) {
if (player->is_playing() )
return;
- frame->set_val(p_pos);
+ updating=true;
+ frame->set_val(p_pos);
+ updating=false;
+ _seek_value_changed(p_pos,!p_drag);
+
EditorNode::get_singleton()->get_property_editor()->refresh();
@@ -1254,7 +1260,7 @@ void AnimationPlayerEditor::_bind_methods() {
ObjectTypeDB::bind_method(_MD("_animation_edit"),&AnimationPlayerEditor::_animation_edit);
ObjectTypeDB::bind_method(_MD("_animation_resource_edit"),&AnimationPlayerEditor::_animation_resource_edit);
ObjectTypeDB::bind_method(_MD("_dialog_action"),&AnimationPlayerEditor::_dialog_action);
- ObjectTypeDB::bind_method(_MD("_seek_value_changed"),&AnimationPlayerEditor::_seek_value_changed);
+ ObjectTypeDB::bind_method(_MD("_seek_value_changed"),&AnimationPlayerEditor::_seek_value_changed,DEFVAL(true));
ObjectTypeDB::bind_method(_MD("_animation_player_changed"),&AnimationPlayerEditor::_animation_player_changed);
ObjectTypeDB::bind_method(_MD("_blend_edited"),&AnimationPlayerEditor::_blend_edited);
// ObjectTypeDB::bind_method(_MD("_seek_frame_changed"),&AnimationPlayerEditor::_seek_frame_changed);
@@ -1350,19 +1356,23 @@ AnimationPlayerEditor::AnimationPlayerEditor(EditorNode *p_editor) {
add_anim = memnew( ToolButton );
+ ED_SHORTCUT("animation_player_editor/add_animation", TTR("Create new animation in player."));
+ add_anim->set_shortcut(ED_GET_SHORTCUT("animation_player_editor/add_animation"));
add_anim->set_tooltip(TTR("Create new animation in player."));
hb->add_child(add_anim);
load_anim = memnew( ToolButton );
+ ED_SHORTCUT("animation_player_editor/load_from_disk", TTR("Load animation from disk."));
+ add_anim->set_shortcut(ED_GET_SHORTCUT("animation_player_editor/load_from_disk"));
load_anim->set_tooltip(TTR("Load an animation from disk."));
hb->add_child(load_anim);
save_anim = memnew(MenuButton);
save_anim->set_tooltip(TTR("Save the current animation"));
- save_anim->get_popup()->add_item(TTR("Save"), ANIM_SAVE);
- save_anim->get_popup()->add_item(TTR("Save As.."), ANIM_SAVE_AS);
+ save_anim->get_popup()->add_shortcut(ED_SHORTCUT("animation_player_editor/save", TTR("Save")), ANIM_SAVE);
+ save_anim->get_popup()->add_shortcut(ED_SHORTCUT("animation_player_editor/save_as", TTR("Save As")), ANIM_SAVE_AS);
save_anim->set_focus_mode(Control::FOCUS_NONE);
hb->add_child(save_anim);
@@ -1372,15 +1382,21 @@ AnimationPlayerEditor::AnimationPlayerEditor(EditorNode *p_editor) {
duplicate_anim = memnew( ToolButton );
hb->add_child(duplicate_anim);
+ ED_SHORTCUT("animation_player_editor/duplicate_animation", TTR("Duplicate Animation"));
+ duplicate_anim->set_shortcut(ED_GET_SHORTCUT("animation_player_editor/duplicate_animation"));
duplicate_anim->set_tooltip(TTR("Duplicate Animation"));
rename_anim = memnew( ToolButton );
hb->add_child(rename_anim);
+ ED_SHORTCUT("animation_player_editor/rename_animation", TTR("Rename Animation"));
+ rename_anim->set_shortcut(ED_GET_SHORTCUT("animation_player_editor/rename_animation"));
rename_anim->set_tooltip(TTR("Rename Animation"));
remove_anim = memnew( ToolButton );
hb->add_child(remove_anim);
+ ED_SHORTCUT("animation_player_editor/remove_animation", TTR("Remove Animation"));
+ remove_anim->set_shortcut(ED_GET_SHORTCUT("animation_player_editor/remove_animation"));
remove_anim->set_tooltip(TTR("Remove Animation"));
@@ -1402,8 +1418,8 @@ AnimationPlayerEditor::AnimationPlayerEditor(EditorNode *p_editor) {
tool_anim = memnew( MenuButton);
//tool_anim->set_flat(false);
tool_anim->set_tooltip(TTR("Animation Tools"));
- tool_anim->get_popup()->add_item(TTR("Copy Animation"),TOOL_COPY_ANIM);
- tool_anim->get_popup()->add_item(TTR("Paste Animation"),TOOL_PASTE_ANIM);
+ tool_anim->get_popup()->add_shortcut(ED_SHORTCUT("animation_player_editor/copy_animation", TTR("Copy Animation")),TOOL_COPY_ANIM);
+ tool_anim->get_popup()->add_shortcut(ED_SHORTCUT("animation_player_editor/paste_animation", TTR("Paste Animation")),TOOL_PASTE_ANIM);
//tool_anim->get_popup()->add_separator();
//tool_anim->get_popup()->add_item("Edit Anim Resource",TOOL_PASTE_ANIM);
hb->add_child(tool_anim);
@@ -1487,8 +1503,8 @@ AnimationPlayerEditor::AnimationPlayerEditor(EditorNode *p_editor) {
animation->connect("item_selected", this,"_animation_selected",Vector<Variant>(),true);
resource_edit_anim->connect("pressed", this,"_animation_resource_edit");
file->connect("file_selected", this,"_dialog_action");
- frame->connect("value_changed", this, "_seek_value_changed",Vector<Variant>(),true);
- scale->connect("text_entered", this, "_scale_changed",Vector<Variant>(),true);
+ frame->connect("value_changed", this, "_seek_value_changed",Vector<Variant>(),true);
+ scale->connect("text_entered", this, "_scale_changed",Vector<Variant>(),true);
diff --git a/tools/editor/plugins/animation_player_editor_plugin.h b/tools/editor/plugins/animation_player_editor_plugin.h
index 3f3cda25b2..b0c930b66e 100644
--- a/tools/editor/plugins/animation_player_editor_plugin.h
+++ b/tools/editor/plugins/animation_player_editor_plugin.h
@@ -145,7 +145,7 @@ class AnimationPlayerEditor : public VBoxContainer {
void _scale_changed(const String& p_scale);
void _dialog_action(String p_file);
void _seek_frame_changed(const String& p_frame);
- void _seek_value_changed(float p_value);
+ void _seek_value_changed(float p_value, bool p_set=false);
void _blend_editor_next_changed(const int p_idx);
void _list_changed();
@@ -158,7 +158,7 @@ class AnimationPlayerEditor : public VBoxContainer {
void _animation_player_changed(Object *p_pl);
- void _animation_key_editor_seek(float p_pos);
+ void _animation_key_editor_seek(float p_pos, bool p_drag);
void _animation_key_editor_anim_len_changed(float p_new);
void _animation_key_editor_anim_step_changed(float p_len);
diff --git a/tools/editor/plugins/baked_light_baker.cpp b/tools/editor/plugins/baked_light_baker.cpp
index b6bb774364..1962f81e87 100644
--- a/tools/editor/plugins/baked_light_baker.cpp
+++ b/tools/editor/plugins/baked_light_baker.cpp
@@ -1,4 +1,31 @@
-
+/*************************************************************************/
+/* baked_light_baker.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "baked_light_baker.h"
#include <stdlib.h>
#include <cmath>
diff --git a/tools/editor/plugins/baked_light_baker.h b/tools/editor/plugins/baked_light_baker.h
index 5c172f79c6..d0fddf5563 100644
--- a/tools/editor/plugins/baked_light_baker.h
+++ b/tools/editor/plugins/baked_light_baker.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* baked_light_baker.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef BAKED_LIGHT_BAKER_H
#define BAKED_LIGHT_BAKER_H
diff --git a/tools/editor/plugins/baked_light_baker_cmpxchg.cpp b/tools/editor/plugins/baked_light_baker_cmpxchg.cpp
index 42d3fc5276..c581995916 100644
--- a/tools/editor/plugins/baked_light_baker_cmpxchg.cpp
+++ b/tools/editor/plugins/baked_light_baker_cmpxchg.cpp
@@ -1,4 +1,31 @@
-
+/*************************************************************************/
+/* baked_light_baker_cmpxchg.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "typedefs.h"
diff --git a/tools/editor/plugins/baked_light_editor_plugin.cpp b/tools/editor/plugins/baked_light_editor_plugin.cpp
index 3e7d7b63a1..df76f28ae0 100644
--- a/tools/editor/plugins/baked_light_editor_plugin.cpp
+++ b/tools/editor/plugins/baked_light_editor_plugin.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* baked_light_editor_plugin.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "baked_light_editor_plugin.h"
#include "scene/gui/box_container.h"
#include "scene/3d/mesh_instance.h"
diff --git a/tools/editor/plugins/baked_light_editor_plugin.h b/tools/editor/plugins/baked_light_editor_plugin.h
index 27ab88d70b..4985d7513e 100644
--- a/tools/editor/plugins/baked_light_editor_plugin.h
+++ b/tools/editor/plugins/baked_light_editor_plugin.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* baked_light_editor_plugin.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef BAKED_LIGHT_EDITOR_PLUGIN_H
#define BAKED_LIGHT_EDITOR_PLUGIN_H
diff --git a/tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp b/tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp
index 14a61d46b5..5ed9f8ab5f 100644
--- a/tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp
+++ b/tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* collision_polygon_2d_editor_plugin.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "collision_polygon_2d_editor_plugin.h"
#include "canvas_item_editor_plugin.h"
diff --git a/tools/editor/plugins/collision_polygon_2d_editor_plugin.h b/tools/editor/plugins/collision_polygon_2d_editor_plugin.h
index f34405b355..982ba35fe8 100644
--- a/tools/editor/plugins/collision_polygon_2d_editor_plugin.h
+++ b/tools/editor/plugins/collision_polygon_2d_editor_plugin.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* collision_polygon_2d_editor_plugin.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef COLLISION_POLYGON_2D_EDITOR_PLUGIN_H
#define COLLISION_POLYGON_2D_EDITOR_PLUGIN_H
diff --git a/tools/editor/plugins/collision_shape_2d_editor_plugin.cpp b/tools/editor/plugins/collision_shape_2d_editor_plugin.cpp
index 296362447f..d0cd73dcad 100644
--- a/tools/editor/plugins/collision_shape_2d_editor_plugin.cpp
+++ b/tools/editor/plugins/collision_shape_2d_editor_plugin.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* collision_shape_2d_editor_plugin.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "collision_shape_2d_editor_plugin.h"
#include "canvas_item_editor_plugin.h"
diff --git a/tools/editor/plugins/collision_shape_2d_editor_plugin.h b/tools/editor/plugins/collision_shape_2d_editor_plugin.h
index 75e9b68ea7..1ee81eda43 100644
--- a/tools/editor/plugins/collision_shape_2d_editor_plugin.h
+++ b/tools/editor/plugins/collision_shape_2d_editor_plugin.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* collision_shape_2d_editor_plugin.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef COLLISION_SHAPE_2D_EDITOR_PLUGIN_H
#define COLLISION_SHAPE_2D_EDITOR_PLUGIN_H
diff --git a/tools/editor/plugins/color_ramp_editor_plugin.cpp b/tools/editor/plugins/color_ramp_editor_plugin.cpp
index 267f3aa5bd..cb7f6a1809 100644
--- a/tools/editor/plugins/color_ramp_editor_plugin.cpp
+++ b/tools/editor/plugins/color_ramp_editor_plugin.cpp
@@ -1,7 +1,31 @@
-/*
- * color_ramp_editor_plugin.cpp
- */
-
+/*************************************************************************/
+/* color_ramp_editor_plugin.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "color_ramp_editor_plugin.h"
#include "spatial_editor_plugin.h"
#include "canvas_item_editor_plugin.h"
diff --git a/tools/editor/plugins/color_ramp_editor_plugin.h b/tools/editor/plugins/color_ramp_editor_plugin.h
index 02d691239f..300a9030b9 100644
--- a/tools/editor/plugins/color_ramp_editor_plugin.h
+++ b/tools/editor/plugins/color_ramp_editor_plugin.h
@@ -1,7 +1,31 @@
-/*
- * color_ramp_editor_plugin.h
- */
-
+/*************************************************************************/
+/* color_ramp_editor_plugin.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef TOOLS_EDITOR_PLUGINS_COLOR_RAMP_EDITOR_PLUGIN_H_
#define TOOLS_EDITOR_PLUGINS_COLOR_RAMP_EDITOR_PLUGIN_H_
diff --git a/tools/editor/plugins/control_editor_plugin.cpp b/tools/editor/plugins/control_editor_plugin.cpp
deleted file mode 100644
index 9dff5e6ce4..0000000000
--- a/tools/editor/plugins/control_editor_plugin.cpp
+++ /dev/null
@@ -1,825 +0,0 @@
-/*************************************************************************/
-/* control_editor_plugin.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#if 0
-#include "control_editor_plugin.h"
-#include "print_string.h"
-#include "editor_node.h"
-#include "os/keyboard.h"
-#include "scene/main/viewport.h"
-
-void ControlEditor::_add_control(Control *p_control,const EditInfo& p_info) {
-
- if (controls.has(p_control))
- return;
-
- controls.insert(p_control,p_info);
- p_control->call_deferred("connect","visibility_changed",this,"_visibility_changed",varray(p_control->get_instance_ID()));
-}
-
-void ControlEditor::_remove_control(Control *p_control) {
-
- p_control->call_deferred("disconnect","visibility_changed",this,"_visibility_changed");
- controls.erase(p_control);
-}
-void ControlEditor::_clear_controls(){
-
- while(controls.size())
- _remove_control(controls.front()->key());
-}
-
-void ControlEditor::_visibility_changed(ObjectID p_control) {
-
- Object *c = ObjectDB::get_instance(p_control);
- if (!c)
- return;
- Control *ct = c->cast_to<Control>();
- if (!ct)
- return;
-
- _remove_control(ct);
-}
-
-
-void ControlEditor::_node_removed(Node *p_node) {
-
- Control *control = (Control*)p_node; //not a good cast, but safe
- if (controls.has(control))
- _remove_control(control);
-
- if (current_window==p_node) {
- _clear_controls();
- }
- update();
-}
-
-// slow as hell
-Control* ControlEditor::_select_control_at_pos(const Point2& p_pos,Node* p_node) {
-
- for (int i=p_node->get_child_count()-1;i>=0;i--) {
-
- Control *r=_select_control_at_pos(p_pos,p_node->get_child(i));
- if (r)
- return r;
- }
-
- Control *c=p_node->cast_to<Control>();
-
- if (c) {
- Rect2 rect = c->get_window_rect();
- if (c->get_window()==current_window) {
- rect.pos=transform.xform(rect.pos).floor();
- }
- if (rect.has_point(p_pos))
- return c;
- }
-
- return NULL;
-}
-
-
-void ControlEditor::_key_move(const Vector2& p_dir, bool p_snap) {
-
- if (drag!=DRAG_NONE)
- return;
-
- Vector2 motion=p_dir;
- if (p_snap)
- motion*=snap_val->get_text().to_double();
-
- undo_redo->create_action("Edit Control");
- for(ControlMap::Element *E=controls.front();E;E=E->next()) {
- Control *control = E->key();
- undo_redo->add_do_method(control,"set_pos",control->get_pos()+motion);
- undo_redo->add_undo_method(control,"set_pos",control->get_pos());
- }
- undo_redo->commit_action();
-}
-
-
-void ControlEditor::_input_event(InputEvent p_event) {
-
- if (p_event.type==InputEvent::MOUSE_BUTTON) {
-
- const InputEventMouseButton &b=p_event.mouse_button;
-
- if (b.button_index==BUTTON_RIGHT) {
-
- if (controls.size() && drag!=DRAG_NONE) {
- //cancel drag
- for(ControlMap::Element *E=controls.front();E;E=E->next()) {
- Control *control = E->key();
- control->set_pos(E->get().drag_pos);
- control->set_size(E->get().drag_size);
- }
-
- } else if (b.pressed) {
- popup->set_pos(Point2(b.x,b.y));
- popup->popup();
- }
- return;
- }
- //if (!controls.size())
- // return;
-
- if (b.button_index!=BUTTON_LEFT)
- return;
-
- if (!b.pressed) {
-
- if (drag!=DRAG_NONE) {
-
- if (undo_redo) {
-
- undo_redo->create_action("Edit Control");
- for(ControlMap::Element *E=controls.front();E;E=E->next()) {
- Control *control = E->key();
- undo_redo->add_do_method(control,"set_pos",control->get_pos());
- undo_redo->add_do_method(control,"set_size",control->get_size());
- undo_redo->add_undo_method(control,"set_pos",E->get().drag_pos);
- undo_redo->add_undo_method(control,"set_size",E->get().drag_size);
- }
- undo_redo->commit_action();
- }
-
- drag=DRAG_NONE;
-
- }
- return;
- }
-
-
- if (controls.size()==1) {
- //try single control edit
- Control *control = controls.front()->key();
- ERR_FAIL_COND(!current_window);
-
- Rect2 rect=control->get_window_rect();
- Point2 ofs=Point2();//get_global_pos();
- Rect2 draw_rect=Rect2(rect.pos-ofs,rect.size);
- Point2 click=Point2(b.x,b.y);
- click = transform.affine_inverse().xform(click);
- Size2 handle_size=Size2(handle_len,handle_len);
-
- drag = DRAG_NONE;
-
- if (Rect2(draw_rect.pos-handle_size,handle_size).has_point(click))
- drag=DRAG_TOP_LEFT;
- else if (Rect2(draw_rect.pos+draw_rect.size,handle_size).has_point(click))
- drag=DRAG_BOTTOM_RIGHT;
- else if(Rect2(draw_rect.pos+Point2(draw_rect.size.width,-handle_size.y),handle_size).has_point(click))
- drag=DRAG_TOP_RIGHT;
- else if (Rect2(draw_rect.pos+Point2(-handle_size.x,draw_rect.size.height),handle_size).has_point(click))
- drag=DRAG_BOTTOM_LEFT;
- else if (Rect2(draw_rect.pos+Point2(Math::floor((draw_rect.size.width-handle_size.x)/2.0),-handle_size.height),handle_size).has_point(click))
- drag=DRAG_TOP;
- else if( Rect2(draw_rect.pos+Point2(-handle_size.width,Math::floor((draw_rect.size.height-handle_size.y)/2.0)),handle_size).has_point(click))
- drag=DRAG_LEFT;
- else if ( Rect2(draw_rect.pos+Point2(Math::floor((draw_rect.size.width-handle_size.x)/2.0),draw_rect.size.height),handle_size).has_point(click))
- drag=DRAG_BOTTOM;
- else if( Rect2(draw_rect.pos+Point2(draw_rect.size.width,Math::floor((draw_rect.size.height-handle_size.y)/2.0)),handle_size).has_point(click))
- drag=DRAG_RIGHT;
-
- if (drag!=DRAG_NONE) {
- drag_from=click;
- controls[control].drag_pos=control->get_pos();
- controls[control].drag_size=control->get_size();
- controls[control].drag_limit=drag_from+controls[control].drag_size-control->get_minimum_size();
- return;
- }
-
-
- }
-
- //multi control edit
-
- Point2 click=Point2(b.x,b.y);
- Node* scene = get_scene()->get_root_node()->cast_to<EditorNode>()->get_edited_scene();
- if (!scene)
- return;
- /*
- if (current_window) {
- //no window.... ?
- click-=current_window->get_scroll();
- }*/
- Control *c=_select_control_at_pos(click, scene);
-
- Node* n = c;
- while ((n && n != scene && n->get_owner() != scene) || (n && !n->is_type("Control"))) {
- n = n->get_parent();
- };
- c = n->cast_to<Control>();
-
-
- if (b.mod.control) { //additive selection
-
- if (!c)
- return; //nothing to add
-
- if (current_window && controls.size() && c->get_window()!=current_window)
- return; //cant multiple select from multiple windows
-
- if (!controls.size())
- current_window=c->get_window();
-
- if (controls.has(c)) {
- //already in here, erase it
- _remove_control(c);
- update();
- return;
- }
-
- //check parents!
- Control *parent = c->get_parent()->cast_to<Control>();
-
- while(parent) {
-
- if (controls.has(parent))
- return; //a parent is already selected, so this is pointless
- parent=parent->get_parent()->cast_to<Control>();
- }
-
- //check childrens of everything!
- List<Control*> to_erase;
-
- for(ControlMap::Element *E=controls.front();E;E=E->next()) {
- parent = E->key()->get_parent()->cast_to<Control>();
- while(parent) {
- if (parent==c) {
- to_erase.push_back(E->key());
- break;
- }
- parent=parent->get_parent()->cast_to<Control>();
- }
- }
-
- while(to_erase.size()) {
- _remove_control(to_erase.front()->get());
- to_erase.pop_front();
- }
-
- _add_control(c,EditInfo());
- update();
- } else {
- //regular selection
- if (!c) {
- _clear_controls();
- update();
- return;
- }
-
- if (!controls.has(c)) {
- _clear_controls();
- current_window=c->get_window();
- _add_control(c,EditInfo());
- //reselect
- if (get_scene()->is_editor_hint()) {
- get_scene()->get_root_node()->call("edit_node",c);
- }
-
- }
-
-
-
- for(ControlMap::Element *E=controls.front();E;E=E->next()) {
-
- EditInfo &ei=E->get();
- Control *control=E->key();
- ei.drag_pos=control->get_pos();
- ei.drag_size=control->get_size();
- ei.drag_limit=drag_from+ei.drag_size-control->get_minimum_size();
- }
-
- drag=DRAG_ALL;
- drag_from=click;
- update();
- }
-
- }
-
- if (p_event.type==InputEvent::MOUSE_MOTION) {
-
- const InputEventMouseMotion &m=p_event.mouse_motion;
-
- if (drag==DRAG_NONE || !current_window)
- return;
-
- for(ControlMap::Element *E=controls.front();E;E=E->next()) {
-
- Control *control = E->key();
- Point2 control_drag_pos=E->get().drag_pos;
- Point2 control_drag_size=E->get().drag_size;
- Point2 control_drag_limit=E->get().drag_limit;
-
- Point2 pos=Point2(m.x,m.y);
- pos = transform.affine_inverse().xform(pos);
-
- switch(drag) {
- case DRAG_ALL: {
-
- control->set_pos( snapify(control_drag_pos+(pos-drag_from)) );
- } break;
- case DRAG_RIGHT: {
-
- control->set_size( snapify(Size2(control_drag_size.width+(pos-drag_from).x,control_drag_size.height)) );
- } break;
- case DRAG_BOTTOM: {
-
- control->set_size( snapify(Size2(control_drag_size.width,control_drag_size.height+(pos-drag_from).y)) );
- } break;
- case DRAG_BOTTOM_RIGHT: {
-
- control->set_size( snapify(control_drag_size+(pos-drag_from)) );
- } break;
- case DRAG_TOP_LEFT: {
-
- if(pos.x>control_drag_limit.x)
- pos.x=control_drag_limit.x;
- if(pos.y>control_drag_limit.y)
- pos.y=control_drag_limit.y;
-
- Point2 old_size = control->get_size();
- Point2 new_pos = snapify(control_drag_pos+(pos-drag_from));
- Point2 new_size = old_size + (control->get_pos() - new_pos);
-
- control->set_pos( new_pos );
- control->set_size( new_size );
- } break;
- case DRAG_TOP: {
-
- if(pos.y>control_drag_limit.y)
- pos.y=control_drag_limit.y;
-
- Point2 old_size = control->get_size();
- Point2 new_pos = snapify(control_drag_pos+Point2(0,pos.y-drag_from.y));
- Point2 new_size = old_size + (control->get_pos() - new_pos);
-
- control->set_pos( new_pos );
- control->set_size( new_size );
- } break;
- case DRAG_LEFT: {
-
- if(pos.x>control_drag_limit.x)
- pos.x=control_drag_limit.x;
-
- Point2 old_size = control->get_size();
- Point2 new_pos = snapify(control_drag_pos+Point2(pos.x-drag_from.x,0));
- Point2 new_size = old_size + (control->get_pos() - new_pos);
-
- control->set_pos( new_pos );
- control->set_size( new_size );
-
- } break;
- case DRAG_TOP_RIGHT: {
-
- if(pos.y>control_drag_limit.y)
- pos.y=control_drag_limit.y;
-
- Point2 old_size = control->get_size();
- Point2 new_pos = snapify(control_drag_pos+Point2(0,pos.y-drag_from.y));
-
- float new_size_y = Point2( old_size + (control->get_pos() - new_pos)).y;
- float new_size_x = snapify(control_drag_size+Point2(pos.x-drag_from.x,0)).x;
-
- control->set_pos( new_pos );
- control->set_size( Point2(new_size_x, new_size_y) );
- } break;
- case DRAG_BOTTOM_LEFT: {
-
- if(pos.x>control_drag_limit.x)
- pos.x=control_drag_limit.x;
-
- Point2 old_size = control->get_size();
- Point2 new_pos = snapify(control_drag_pos+Point2(pos.x-drag_from.x,0));
-
- float new_size_y = snapify(control_drag_size+Point2(0,pos.y-drag_from.y)).y;
- float new_size_x = Point2( old_size + (control->get_pos() - new_pos)).x;
-
- control->set_pos( new_pos );
- control->set_size( Point2(new_size_x, new_size_y) );
-
-
- } break;
-
- default:{}
- }
- }
- }
-
- if (p_event.type==InputEvent::KEY) {
-
- const InputEventKey &k=p_event.key;
-
- if (k.pressed) {
-
- if (k.scancode==KEY_UP)
- _key_move(Vector2(0,-1),k.mod.shift);
- else if (k.scancode==KEY_DOWN)
- _key_move(Vector2(0,1),k.mod.shift);
- else if (k.scancode==KEY_LEFT)
- _key_move(Vector2(-1,0),k.mod.shift);
- else if (k.scancode==KEY_RIGHT)
- _key_move(Vector2(1,0),k.mod.shift);
- }
-
- }
-
-
-}
-
-
-bool ControlEditor::get_remove_list(List<Node*> *p_list) {
-
- for(ControlMap::Element *E=controls.front();E;E=E->next()) {
-
- p_list->push_back(E->key());
- }
-
- return !p_list->empty();
-}
-
-void ControlEditor::_update_scroll(float) {
-
- if (updating_scroll)
- return;
-
- if (!current_window)
- return;
-
- Point2 ofs;
- ofs.x=h_scroll->get_val();
- ofs.y=v_scroll->get_val();
-
-// current_window->set_scroll(-ofs);
-
- transform=Matrix32();
-
- transform.scale_basis(Size2(zoom,zoom));
- transform.elements[2]=-ofs*zoom;
-
-
- RID viewport = editor->get_scene_root()->get_viewport();
-
- VisualServer::get_singleton()->viewport_set_global_canvas_transform(viewport,transform);
-
- update();
-
-}
-
-void ControlEditor::_notification(int p_what) {
-
- if (p_what==NOTIFICATION_PROCESS) {
-
- for(ControlMap::Element *E=controls.front();E;E=E->next()) {
-
- Control *control = E->key();
- Rect2 r=control->get_window_rect();
- if (r != E->get().last_rect ) {
- update();
- E->get().last_rect=r;
- }
- }
-
- }
-
- if (p_what==NOTIFICATION_CHILDREN_CONFIGURED) {
-
- get_scene()->connect("node_removed",this,"_node_removed");
- }
-
- if (p_what==NOTIFICATION_DRAW) {
-
- // TODO fetch the viewport?
- /*
- if (!control) {
- h_scroll->hide();
- v_scroll->hide();
- return;
- }
- */
- _update_scrollbars();
-
- if (!current_window)
- return;
-
- for(ControlMap::Element *E=controls.front();E;E=E->next()) {
-
- Control *control = E->key();
-
- Rect2 rect=control->get_window_rect();
- RID ci=get_canvas_item();
- VisualServer::get_singleton()->canvas_item_set_clip(ci,true);
- Point2 ofs=Point2();//get_global_pos();
- Rect2 draw_rect=Rect2(rect.pos-ofs,rect.size);
- draw_rect.pos = transform.xform(draw_rect.pos);
- Color light_edit_color=Color(1.0,0.8,0.8);
- Color dark_edit_color=Color(0.4,0.1,0.1);
- Size2 handle_size=Size2(handle_len,handle_len);
-
-#define DRAW_RECT( m_rect, m_color )\
-VisualServer::get_singleton()->canvas_item_add_rect(ci,m_rect,m_color);
-
-#define DRAW_EMPTY_RECT( m_rect, m_color )\
- DRAW_RECT( Rect2(m_rect.pos,Size2(m_rect.size.width,1)), m_color );\
- DRAW_RECT(Rect2(Point2(m_rect.pos.x,m_rect.pos.y+m_rect.size.height-1),Size2(m_rect.size.width,1)), m_color);\
- DRAW_RECT(Rect2(m_rect.pos,Size2(1,m_rect.size.height)), m_color);\
- DRAW_RECT(Rect2(Point2(m_rect.pos.x+m_rect.size.width-1,m_rect.pos.y),Size2(1,m_rect.size.height)), m_color);
-
-#define DRAW_BORDER_RECT( m_rect, m_border_color,m_color )\
- DRAW_RECT( m_rect, m_color );\
- DRAW_EMPTY_RECT( m_rect, m_border_color );
-
- DRAW_EMPTY_RECT( draw_rect.grow(2), light_edit_color );
- DRAW_EMPTY_RECT( draw_rect.grow(1), dark_edit_color );
-
- if (controls.size()==1) {
- DRAW_BORDER_RECT( Rect2(draw_rect.pos-handle_size,handle_size), light_edit_color,dark_edit_color );
- DRAW_BORDER_RECT( Rect2(draw_rect.pos+draw_rect.size,handle_size), light_edit_color,dark_edit_color );
- DRAW_BORDER_RECT( Rect2(draw_rect.pos+Point2(draw_rect.size.width,-handle_size.y),handle_size), light_edit_color,dark_edit_color );
- DRAW_BORDER_RECT( Rect2(draw_rect.pos+Point2(-handle_size.x,draw_rect.size.height),handle_size), light_edit_color,dark_edit_color );
-
- DRAW_BORDER_RECT( Rect2(draw_rect.pos+Point2(Math::floor((draw_rect.size.width-handle_size.x)/2.0),-handle_size.height),handle_size), light_edit_color,dark_edit_color );
- DRAW_BORDER_RECT( Rect2(draw_rect.pos+Point2(-handle_size.width,Math::floor((draw_rect.size.height-handle_size.y)/2.0)),handle_size), light_edit_color,dark_edit_color );
- DRAW_BORDER_RECT( Rect2(draw_rect.pos+Point2(Math::floor((draw_rect.size.width-handle_size.x)/2.0),draw_rect.size.height),handle_size), light_edit_color,dark_edit_color );
- DRAW_BORDER_RECT( Rect2(draw_rect.pos+Point2(draw_rect.size.width,Math::floor((draw_rect.size.height-handle_size.y)/2.0)),handle_size), light_edit_color,dark_edit_color );
- }
-
- //DRAW_EMPTY_RECT( Rect2( current_window->get_scroll()-Point2(1,1), get_size()+Size2(2,2)), Color(0.8,0.8,1.0,0.8) );
- E->get().last_rect = rect;
- }
- }
-}
-
-void ControlEditor::edit(Control *p_control) {
-
- drag=DRAG_NONE;
-
- _clear_controls();
- _add_control(p_control,EditInfo());
- current_window=p_control->get_window();
- update();
-
-}
-
-
-void ControlEditor::_find_controls_span(Node *p_node, Rect2& r_rect) {
-
- if (!editor->get_scene())
- return;
-
- if (p_node!=editor->get_edited_scene() && p_node->get_owner()!=editor->get_edited_scene())
- return;
-
- if (p_node->cast_to<Control>()) {
- Control *c = p_node->cast_to<Control>();
- if (c->get_viewport() != editor->get_viewport()->get_viewport())
- return; //bye, it's in another viewport
-
- if (!c->get_parent_control()) {
-
- Rect2 span = c->get_subtree_span_rect();
- r_rect.merge(span);
- }
- }
-
- for(int i=0;i<p_node->get_child_count();i++) {
-
- _find_controls_span(p_node->get_child(i),r_rect);
- }
-}
-
-void ControlEditor::_update_scrollbars() {
-
-
- if (!editor->get_scene()) {
- h_scroll->hide();
- v_scroll->hide();
- return;
- }
-
- updating_scroll=true;
-
-
- Size2 size = get_size();
- Size2 hmin = h_scroll->get_minimum_size();
- Size2 vmin = v_scroll->get_minimum_size();
-
- v_scroll->set_begin( Point2(size.width - vmin.width, 0) );
- v_scroll->set_end( Point2(size.width, size.height) );
-
- h_scroll->set_begin( Point2( 0, size.height - hmin.height) );
- h_scroll->set_end( Point2(size.width-vmin.width, size.height) );
-
-
- Rect2 local_rect = Rect2(Point2(),get_size()-Size2(vmin.width,hmin.height));
-
- Rect2 control_rect=local_rect;
- if (editor->get_edited_scene())
- _find_controls_span(editor->get_edited_scene(),control_rect);
- control_rect.pos*=zoom;
- control_rect.size*=zoom;
-
- /*
- for(ControlMap::Element *E=controls.front();E;E=E->next()) {
-
- Control *control = E->key();
- Rect2 r = control->get_window()->get_subtree_span_rect();
- if (E==controls.front()) {
- control_rect = r.merge(local_rect);
- } else {
- control_rect = control_rect.merge(r);
- }
- }
-
- */
- Point2 ofs;
-
-
- if (control_rect.size.height <= local_rect.size.height) {
-
- v_scroll->hide();
- ofs.y=0;
- } else {
-
- v_scroll->show();
- v_scroll->set_min(control_rect.pos.y);
- v_scroll->set_max(control_rect.pos.y+control_rect.size.y);
- v_scroll->set_page(local_rect.size.y);
- ofs.y=-v_scroll->get_val();
- }
-
- if (control_rect.size.width <= local_rect.size.width) {
-
- h_scroll->hide();
- ofs.x=0;
- } else {
-
- h_scroll->show();
- h_scroll->set_min(control_rect.pos.x);
- h_scroll->set_max(control_rect.pos.x+control_rect.size.x);
- h_scroll->set_page(local_rect.size.x);
- ofs.x=-h_scroll->get_val();
- }
-
-// transform=Matrix32();
- transform.elements[2]=ofs*zoom;
- RID viewport = editor->get_scene_root()->get_viewport();
- VisualServer::get_singleton()->viewport_set_global_canvas_transform(viewport,transform);
-
-// transform.scale_basis(Vector2(zoom,zoom));
- updating_scroll=false;
-
-}
-
-
-Point2i ControlEditor::snapify(const Point2i& p_pos) const {
-
- bool active=popup->is_item_checked(0);
- int snap = snap_val->get_text().to_int();
-
- if (!active || snap<1)
- return p_pos;
-
- Point2i pos=p_pos;
- pos.x-=pos.x%snap;
- pos.y-=pos.y%snap;
- return pos;
-
-
-}
-void ControlEditor::_popup_callback(int p_op) {
-
- switch(p_op) {
-
- case SNAP_USE: {
-
- popup->set_item_checked(0,!popup->is_item_checked(0));
- } break;
- case SNAP_CONFIGURE: {
- snap_dialog->popup_centered(Size2(200,85));
- } break;
- }
-}
-
-void ControlEditor::_bind_methods() {
-
- ObjectTypeDB::bind_method("_input_event",&ControlEditor::_input_event);
- ObjectTypeDB::bind_method("_node_removed",&ControlEditor::_node_removed);
- ObjectTypeDB::bind_method("_update_scroll",&ControlEditor::_update_scroll);
- ObjectTypeDB::bind_method("_popup_callback",&ControlEditor::_popup_callback);
- ObjectTypeDB::bind_method("_visibility_changed",&ControlEditor::_visibility_changed);
-}
-
-ControlEditor::ControlEditor(EditorNode *p_editor) {
-
- editor=p_editor;
- h_scroll = memnew( HScrollBar );
- v_scroll = memnew( VScrollBar );
-
- add_child(h_scroll);
- add_child(v_scroll);
- h_scroll->connect("value_changed", this,"_update_scroll",Vector<Variant>(),true);
- v_scroll->connect("value_changed", this,"_update_scroll",Vector<Variant>(),true);
-
-
- updating_scroll=false;
- set_focus_mode(FOCUS_ALL);
- handle_len=10;
-
- popup=memnew( PopupMenu );
- popup->add_check_item("Use Snap");
- popup->add_item("Configure Snap..");
- add_child(popup);
-
- snap_dialog = memnew( ConfirmationDialog );
- snap_dialog->get_ok()->hide();
- snap_dialog->get_cancel()->set_text("Close");
- add_child(snap_dialog);
-
- Label *l = memnew(Label);
- l->set_text("Snap:");
- l->set_pos(Point2(5,5));
- snap_dialog->add_child(l);
-
- snap_val=memnew(LineEdit);
- snap_val->set_text("5");
- snap_val->set_anchor(MARGIN_RIGHT,ANCHOR_END);
- snap_val->set_begin(Point2(15,25));
- snap_val->set_end(Point2(10,25));
- snap_dialog->add_child(snap_val);
-
- popup->connect("item_pressed", this,"_popup_callback");
- current_window=NULL;
-
- zoom=0.5;
-}
-
-
-void ControlEditorPlugin::edit(Object *p_object) {
-
- control_editor->set_undo_redo(&get_undo_redo());
- control_editor->edit(p_object->cast_to<Control>());
-}
-
-bool ControlEditorPlugin::handles(Object *p_object) const {
-
- return p_object->is_type("Control");
-}
-
-void ControlEditorPlugin::make_visible(bool p_visible) {
-
- if (p_visible) {
- control_editor->show();
- control_editor->set_process(true);
- } else {
-
- control_editor->hide();
- control_editor->set_process(false);
- }
-
-}
-
-ControlEditorPlugin::ControlEditorPlugin(EditorNode *p_node) {
-
- editor=p_node;
- control_editor = memnew( ControlEditor(editor) );
- editor->get_viewport()->add_child(control_editor);
- control_editor->set_area_as_parent_rect();
- control_editor->hide();
-
-
-
-}
-
-
-ControlEditorPlugin::~ControlEditorPlugin()
-{
-}
-
-
-#endif
diff --git a/tools/editor/plugins/control_editor_plugin.h b/tools/editor/plugins/control_editor_plugin.h
deleted file mode 100644
index 6234698ee8..0000000000
--- a/tools/editor/plugins/control_editor_plugin.h
+++ /dev/null
@@ -1,141 +0,0 @@
-/*************************************************************************/
-/* control_editor_plugin.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#ifndef CONTROL_EDITOR_PLUGIN_H
-#define CONTROL_EDITOR_PLUGIN_H
-
-#include "tools/editor/editor_plugin.h"
-#include "tools/editor/editor_node.h"
-/**
- @author Juan Linietsky <reduzio@gmail.com>
-*/
-
-#if 0
-class ControlEditor : public Control {
-
- OBJ_TYPE(ControlEditor, Control );
-
- EditorNode *editor;
-
- enum {
- SNAP_USE,
- SNAP_CONFIGURE
- };
-
- enum DragType {
- DRAG_NONE,
- DRAG_LEFT,
- DRAG_TOP_LEFT,
- DRAG_TOP,
- DRAG_TOP_RIGHT,
- DRAG_RIGHT,
- DRAG_BOTTOM_RIGHT,
- DRAG_BOTTOM,
- DRAG_BOTTOM_LEFT,
- DRAG_ALL
- };
-
- HScrollBar *h_scroll;
- VScrollBar *v_scroll;
-
- Matrix32 transform;
- float zoom;
-
- Control *current_window;
- PopupMenu *popup;
- DragType drag;
- Point2 drag_from;
-
- struct EditInfo {
-
- Point2 drag_pos;
- Point2 drag_size;
- Point2 drag_limit;
- Rect2 last_rect;
- };
-
- typedef Map<Control*,EditInfo> ControlMap;
- ControlMap controls;
- int handle_len;
- Control* _select_control_at_pos(const Point2& p_pos,Node* p_node);
-
- ConfirmationDialog *snap_dialog;
- LineEdit *snap_val;
-
- void _add_control(Control *p_control,const EditInfo& p_info);
- void _remove_control(Control *p_control);
- void _clear_controls();
- void _visibility_changed(ObjectID p_control);
- void _key_move(const Vector2& p_dir, bool p_snap);
-
-
- Point2i snapify(const Point2i& p_pos) const;
- void _popup_callback(int p_op);
- bool updating_scroll;
- void _update_scroll(float);
- void _update_scrollbars();
- UndoRedo *undo_redo;
-
- void _find_controls_span(Node *p_node, Rect2& r_rect);
-
-protected:
- void _notification(int p_what);
- void _input_event(InputEvent p_event);
- void _node_removed(Node *p_node);
- static void _bind_methods();
-public:
-
- bool get_remove_list(List<Node*> *p_list);
- void set_undo_redo(UndoRedo *p_undo_redo) {undo_redo=p_undo_redo; }
- void edit(Control *p_control);
- ControlEditor(EditorNode *p_editor);
-};
-
-class ControlEditorPlugin : public EditorPlugin {
-
- OBJ_TYPE( ControlEditorPlugin, EditorPlugin );
-
- ControlEditor *control_editor;
- EditorNode *editor;
-
-public:
-
- virtual String get_name() const { return "GUI"; }
- bool has_main_screen() const { return true; }
- virtual void edit(Object *p_object);
- virtual bool handles(Object *p_object) const;
- virtual void make_visible(bool p_visible);
- virtual bool get_remove_list(List<Node*> *p_list) { return control_editor->get_remove_list(p_list); }
-
-
- ControlEditorPlugin(EditorNode *p_node);
- ~ControlEditorPlugin();
-
-};
-#endif
-#endif
diff --git a/tools/editor/plugins/editor_preview_plugins.cpp b/tools/editor/plugins/editor_preview_plugins.cpp
index 300e35f94d..a057e6c2a1 100644
--- a/tools/editor/plugins/editor_preview_plugins.cpp
+++ b/tools/editor/plugins/editor_preview_plugins.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* editor_preview_plugins.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "editor_preview_plugins.h"
#include "io/resource_loader.h"
#include "tools/editor/editor_settings.h"
@@ -641,7 +669,7 @@ Ref<Texture> EditorSamplePreviewPlugin::generate(const RES& p_from) {
for(int j=0;j<h;j++) {
float v = (j/(float)h) * 2.0 - 1.0;
- uint8_t* imgofs = &imgw[(j*w+i)*3];
+ uint8_t* imgofs = &imgw[(uint64_t(j)*w+i)*3];
if (v>min[0] && v<max[0]) {
imgofs[0]=255;
imgofs[1]=150;
@@ -659,8 +687,8 @@ Ref<Texture> EditorSamplePreviewPlugin::generate(const RES& p_from) {
float max[2]={-1e10,-1e10};
float min[2]={1e10,1e10};
int c=stereo?2:1;
- int from = i*len/w;
- int to = (i+1)*len/w;
+ int from = uint64_t(i)*len/w;
+ int to = (uint64_t(i)+1)*len/w;
if (to>=len)
to=len-1;
@@ -671,7 +699,7 @@ Ref<Texture> EditorSamplePreviewPlugin::generate(const RES& p_from) {
for(int k=from;k<=to;k++) {
- float v = src[k*c+j]/32768.0;
+ float v = src[uint64_t(k)*c+j]/32768.0;
if (v>max[j])
max[j]=v;
if (v<min[j])
@@ -687,7 +715,7 @@ Ref<Texture> EditorSamplePreviewPlugin::generate(const RES& p_from) {
for(int k=from;k<=to;k++) {
- float v = src[k*c+j]/128.0;
+ float v = src[uint64_t(k)*c+j]/128.0;
if (v>max[j])
max[j]=v;
if (v<min[j])
diff --git a/tools/editor/plugins/editor_preview_plugins.h b/tools/editor/plugins/editor_preview_plugins.h
index b3bfda8045..b33aefaa23 100644
--- a/tools/editor/plugins/editor_preview_plugins.h
+++ b/tools/editor/plugins/editor_preview_plugins.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* editor_preview_plugins.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef EDITORPREVIEWPLUGINS_H
#define EDITORPREVIEWPLUGINS_H
diff --git a/tools/editor/plugins/light_occluder_2d_editor_plugin.cpp b/tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
index bf3b2fa68d..14e7b14fc3 100644
--- a/tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+++ b/tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* light_occluder_2d_editor_plugin.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "light_occluder_2d_editor_plugin.h"
#include "canvas_item_editor_plugin.h"
diff --git a/tools/editor/plugins/light_occluder_2d_editor_plugin.h b/tools/editor/plugins/light_occluder_2d_editor_plugin.h
index 5fb5631d05..b570fff506 100644
--- a/tools/editor/plugins/light_occluder_2d_editor_plugin.h
+++ b/tools/editor/plugins/light_occluder_2d_editor_plugin.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* light_occluder_2d_editor_plugin.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef LIGHT_OCCLUDER_2D_EDITOR_PLUGIN_H
#define LIGHT_OCCLUDER_2D_EDITOR_PLUGIN_H
diff --git a/tools/editor/plugins/mesh_editor_plugin.cpp b/tools/editor/plugins/mesh_editor_plugin.cpp
index 51a436e58d..71cf33ba1b 100644
--- a/tools/editor/plugins/mesh_editor_plugin.cpp
+++ b/tools/editor/plugins/mesh_editor_plugin.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* mesh_editor_plugin.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "mesh_editor_plugin.h"
void MeshEditor::_input_event(InputEvent p_event) {
diff --git a/tools/editor/plugins/mesh_editor_plugin.h b/tools/editor/plugins/mesh_editor_plugin.h
index 190dfca464..0715a96e74 100644
--- a/tools/editor/plugins/mesh_editor_plugin.h
+++ b/tools/editor/plugins/mesh_editor_plugin.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* mesh_editor_plugin.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef MESH_EDITOR_PLUGIN_H
#define MESH_EDITOR_PLUGIN_H
diff --git a/tools/editor/plugins/mesh_instance_editor_plugin.cpp b/tools/editor/plugins/mesh_instance_editor_plugin.cpp
index f604e4c57c..c952feb1da 100644
--- a/tools/editor/plugins/mesh_instance_editor_plugin.cpp
+++ b/tools/editor/plugins/mesh_instance_editor_plugin.cpp
@@ -183,6 +183,12 @@ void MeshInstanceEditor::_create_outline_mesh() {
return;
}
+ if (mesh->get_surface_count() == 0) {
+ err_dialog->set_text(TTR("Mesh has not surface to create outlines from!"));
+ err_dialog->popup_centered_minsize();
+ return;
+ }
+
Ref<Mesh> mesho = mesh->create_outline(outline_size->get_val());
if (mesho.is_null()) {
diff --git a/tools/editor/plugins/navigation_polygon_editor_plugin.cpp b/tools/editor/plugins/navigation_polygon_editor_plugin.cpp
index 1ee388ca18..5a8cd8791e 100644
--- a/tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+++ b/tools/editor/plugins/navigation_polygon_editor_plugin.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* navigation_polygon_editor_plugin.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "navigation_polygon_editor_plugin.h"
#include "canvas_item_editor_plugin.h"
diff --git a/tools/editor/plugins/navigation_polygon_editor_plugin.h b/tools/editor/plugins/navigation_polygon_editor_plugin.h
index f742cb011d..503b4c2662 100644
--- a/tools/editor/plugins/navigation_polygon_editor_plugin.h
+++ b/tools/editor/plugins/navigation_polygon_editor_plugin.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* navigation_polygon_editor_plugin.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef NAVIGATIONPOLYGONEDITORPLUGIN_H
#define NAVIGATIONPOLYGONEDITORPLUGIN_H
diff --git a/tools/editor/plugins/path_2d_editor_plugin.cpp b/tools/editor/plugins/path_2d_editor_plugin.cpp
index 107ec30a91..95f330a1d5 100644
--- a/tools/editor/plugins/path_2d_editor_plugin.cpp
+++ b/tools/editor/plugins/path_2d_editor_plugin.cpp
@@ -633,35 +633,35 @@ Path2DEditor::Path2DEditor(EditorNode *p_editor) {
sep = memnew( VSeparator);
base_hb->add_child(sep);
curve_edit = memnew( ToolButton );
- curve_edit->set_icon(CanvasItemEditor::get_singleton()->get_icon("CurveEdit","EditorIcons"));
+ curve_edit->set_icon(EditorNode::get_singleton()->get_gui_base()->get_icon("CurveEdit","EditorIcons"));
curve_edit->set_toggle_mode(true);
curve_edit->set_focus_mode(Control::FOCUS_NONE);
curve_edit->set_tooltip(TTR("Select Points")+"\n"+TTR("Shift+Drag: Select Control Points")+"\n"+keycode_get_string(KEY_MASK_CMD)+TTR("Click: Add Point")+"\n"+TTR("Right Click: Delete Point"));
curve_edit->connect("pressed",this,"_mode_selected",varray(MODE_EDIT));
base_hb->add_child(curve_edit);
curve_edit_curve = memnew( ToolButton );
- curve_edit_curve->set_icon(CanvasItemEditor::get_singleton()->get_icon("CurveCurve","EditorIcons"));
+ curve_edit_curve->set_icon(EditorNode::get_singleton()->get_gui_base()->get_icon("CurveCurve","EditorIcons"));
curve_edit_curve->set_toggle_mode(true);
curve_edit_curve->set_focus_mode(Control::FOCUS_NONE);
curve_edit_curve->set_tooltip(TTR("Select Control Points (Shift+Drag)"));
curve_edit_curve->connect("pressed",this,"_mode_selected",varray(MODE_EDIT_CURVE));
base_hb->add_child(curve_edit_curve);
curve_create = memnew( ToolButton );
- curve_create->set_icon(CanvasItemEditor::get_singleton()->get_icon("CurveCreate","EditorIcons"));
+ curve_create->set_icon(EditorNode::get_singleton()->get_gui_base()->get_icon("CurveCreate","EditorIcons"));
curve_create->set_toggle_mode(true);
curve_create->set_focus_mode(Control::FOCUS_NONE);
curve_create->set_tooltip(TTR("Add Point (in empty space)")+"\n"+TTR("Split Segment (in curve)"));
curve_create->connect("pressed",this,"_mode_selected",varray(MODE_CREATE));
base_hb->add_child(curve_create);
curve_del = memnew( ToolButton );
- curve_del->set_icon(CanvasItemEditor::get_singleton()->get_icon("CurveDelete","EditorIcons"));
+ curve_del->set_icon(EditorNode::get_singleton()->get_gui_base()->get_icon("CurveDelete","EditorIcons"));
curve_del->set_toggle_mode(true);
curve_del->set_focus_mode(Control::FOCUS_NONE);
curve_del->set_tooltip(TTR("Delete Point"));
curve_del->connect("pressed",this,"_mode_selected",varray(MODE_DELETE));
base_hb->add_child(curve_del);
curve_close = memnew( ToolButton );
- curve_close->set_icon(CanvasItemEditor::get_singleton()->get_icon("CurveClose","EditorIcons"));
+ curve_close->set_icon(EditorNode::get_singleton()->get_gui_base()->get_icon("CurveClose","EditorIcons"));
curve_close->set_focus_mode(Control::FOCUS_NONE);
curve_close->set_tooltip(TTR("Close Curve"));
curve_close->connect("pressed",this,"_mode_selected",varray(ACTION_CLOSE));
diff --git a/tools/editor/plugins/path_editor_plugin.cpp b/tools/editor/plugins/path_editor_plugin.cpp
index d7cc2bd157..33ef71efab 100644
--- a/tools/editor/plugins/path_editor_plugin.cpp
+++ b/tools/editor/plugins/path_editor_plugin.cpp
@@ -542,28 +542,28 @@ PathEditorPlugin::PathEditorPlugin(EditorNode *p_node) {
sep->hide();
SpatialEditor::get_singleton()->add_control_to_menu_panel(sep);
curve_edit = memnew( ToolButton );
- curve_edit->set_icon(SpatialEditor::get_singleton()->get_icon("CurveEdit","EditorIcons"));
+ curve_edit->set_icon(EditorNode::get_singleton()->get_gui_base()->get_icon("CurveEdit","EditorIcons"));
curve_edit->set_toggle_mode(true);
curve_edit->hide();
curve_edit->set_focus_mode(Control::FOCUS_NONE);
curve_edit->set_tooltip(TTR("Select Points")+"\n"+TTR("Shift+Drag: Select Control Points")+"\n"+keycode_get_string(KEY_MASK_CMD)+TTR("Click: Add Point")+"\n"+TTR("Right Click: Delete Point"));
SpatialEditor::get_singleton()->add_control_to_menu_panel(curve_edit);
curve_create = memnew( ToolButton );
- curve_create->set_icon(SpatialEditor::get_singleton()->get_icon("CurveCreate","EditorIcons"));
+ curve_create->set_icon(EditorNode::get_singleton()->get_gui_base()->get_icon("CurveCreate","EditorIcons"));
curve_create->set_toggle_mode(true);
curve_create->hide();
curve_create->set_focus_mode(Control::FOCUS_NONE);
curve_create->set_tooltip(TTR("Add Point (in empty space)")+"\n"+TTR("Split Segment (in curve)"));
SpatialEditor::get_singleton()->add_control_to_menu_panel(curve_create);
curve_del = memnew( ToolButton );
- curve_del->set_icon(SpatialEditor::get_singleton()->get_icon("CurveDelete","EditorIcons"));
+ curve_del->set_icon(EditorNode::get_singleton()->get_gui_base()->get_icon("CurveDelete","EditorIcons"));
curve_del->set_toggle_mode(true);
curve_del->hide();
curve_del->set_focus_mode(Control::FOCUS_NONE);
curve_del->set_tooltip(TTR("Delete Point"));
SpatialEditor::get_singleton()->add_control_to_menu_panel(curve_del);
curve_close = memnew( ToolButton );
- curve_close->set_icon(SpatialEditor::get_singleton()->get_icon("CurveClose","EditorIcons"));
+ curve_close->set_icon(EditorNode::get_singleton()->get_gui_base()->get_icon("CurveClose","EditorIcons"));
curve_close->hide();
curve_close->set_focus_mode(Control::FOCUS_NONE);
curve_close->set_tooltip(TTR("Close Curve"));
diff --git a/tools/editor/plugins/polygon_2d_editor_plugin.cpp b/tools/editor/plugins/polygon_2d_editor_plugin.cpp
index f873b43fd9..d78508c429 100644
--- a/tools/editor/plugins/polygon_2d_editor_plugin.cpp
+++ b/tools/editor/plugins/polygon_2d_editor_plugin.cpp
@@ -1,5 +1,5 @@
/*************************************************************************/
-/* collision_polygon_editor_plugin.cpp */
+/* polygon_2d_editor_plugin.cpp */
/*************************************************************************/
/* This file is part of: */
/* GODOT ENGINE */
diff --git a/tools/editor/plugins/polygon_2d_editor_plugin.h b/tools/editor/plugins/polygon_2d_editor_plugin.h
index 0939c44264..d8b951ec44 100644
--- a/tools/editor/plugins/polygon_2d_editor_plugin.h
+++ b/tools/editor/plugins/polygon_2d_editor_plugin.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* polygon_2d_editor_plugin.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#ifndef POLYGON_2D_EDITOR_PLUGIN_H
#define POLYGON_2D_EDITOR_PLUGIN_H
diff --git a/tools/editor/plugins/sample_editor_plugin.cpp b/tools/editor/plugins/sample_editor_plugin.cpp
index a3891a648b..b094184a29 100644
--- a/tools/editor/plugins/sample_editor_plugin.cpp
+++ b/tools/editor/plugins/sample_editor_plugin.cpp
@@ -211,7 +211,7 @@ void SampleEditor::generate_preview_texture(const Ref<Sample>& p_sample,Ref<Imag
for(int j=0;j<h;j++) {
float v = (j/(float)h) * 2.0 - 1.0;
- uint8_t* imgofs = &imgw[(j*w+i)*3];
+ uint8_t* imgofs = &imgw[(uint64_t(j)*w+i)*3];
if (v>min[0] && v<max[0]) {
imgofs[0]=255;
imgofs[1]=150;
@@ -229,8 +229,8 @@ void SampleEditor::generate_preview_texture(const Ref<Sample>& p_sample,Ref<Imag
float max[2]={-1e10,-1e10};
float min[2]={1e10,1e10};
int c=stereo?2:1;
- int from = i*len/w;
- int to = (i+1)*len/w;
+ int from = uint64_t(i)*len/w;
+ int to = (uint64_t(i)+1)*len/w;
if (to>=len)
to=len-1;
@@ -241,7 +241,7 @@ void SampleEditor::generate_preview_texture(const Ref<Sample>& p_sample,Ref<Imag
for(int k=from;k<=to;k++) {
- float v = src[k*c+j]/32768.0;
+ float v = src[uint64_t(k)*c+j]/32768.0;
if (v>max[j])
max[j]=v;
if (v<min[j])
@@ -257,7 +257,7 @@ void SampleEditor::generate_preview_texture(const Ref<Sample>& p_sample,Ref<Imag
for(int k=from;k<=to;k++) {
- float v = src[k*c+j]/128.0;
+ float v = src[uint64_t(k)*c+j]/128.0;
if (v>max[j])
max[j]=v;
if (v<min[j])
@@ -270,7 +270,7 @@ void SampleEditor::generate_preview_texture(const Ref<Sample>& p_sample,Ref<Imag
if (!stereo) {
for(int j=0;j<h;j++) {
float v = (j/(float)h) * 2.0 - 1.0;
- uint8_t* imgofs = &imgw[(j*w+i)*3];
+ uint8_t* imgofs = &imgw[(uint64_t(j)*w+i)*3];
if (v>min[0] && v<max[0]) {
imgofs[0]=255;
imgofs[1]=150;
@@ -297,7 +297,7 @@ void SampleEditor::generate_preview_texture(const Ref<Sample>& p_sample,Ref<Imag
v = ((j-(h/2))/(float)(h/2)) * 2.0 - 1.0;
}
- uint8_t* imgofs = &imgw[(j*w+i)*3];
+ uint8_t* imgofs = &imgw[(uint64_t(j)*w+i)*3];
if (v>min[half] && v<max[half]) {
imgofs[0]=255;
imgofs[1]=150;
diff --git a/tools/editor/plugins/script_editor_plugin.cpp b/tools/editor/plugins/script_editor_plugin.cpp
index a313b0053a..7de80e767b 100644
--- a/tools/editor/plugins/script_editor_plugin.cpp
+++ b/tools/editor/plugins/script_editor_plugin.cpp
@@ -531,7 +531,7 @@ static void _find_changed_scripts_for_external_editor(Node* p_base, Node*p_curre
}
-void ScriptEditor::_update_modified_scripts_for_external_editor() {
+void ScriptEditor::_update_modified_scripts_for_external_editor(Ref<Script> p_for_script) {
if (!bool(EditorSettings::get_singleton()->get("external_editor/use_external_editor")))
return;
@@ -547,6 +547,9 @@ void ScriptEditor::_update_modified_scripts_for_external_editor() {
Ref<Script> script = E->get();
+ if (p_for_script.is_valid() && p_for_script!=script)
+ continue;
+
if (script->get_path()=="" || script->get_path().find("local://")!=-1 || script->get_path().find("::")!=-1) {
continue; //internal script, who cares, though weird
@@ -900,7 +903,7 @@ void ScriptEditor::_live_auto_reload_running_scripts() {
}
-bool ScriptEditor::_test_script_times_on_disk() {
+bool ScriptEditor::_test_script_times_on_disk(Ref<Script> p_for_script) {
disk_changed_list->clear();
@@ -920,6 +923,9 @@ bool ScriptEditor::_test_script_times_on_disk() {
Ref<Script> script = ste->get_edited_script();
+ if (p_for_script.is_valid() && p_for_script!=script)
+ continue;
+
if (script->get_path()=="" || script->get_path().find("local://")!=-1 || script->get_path().find("::")!=-1)
continue; //internal script, who cares
@@ -2128,6 +2134,12 @@ void ScriptEditor::edit(const Ref<Script>& p_script) {
if (!restoring_layout) {
EditorNode::get_singleton()->save_layout();
}
+
+ //test for modification, maybe the script was not edited but was loaded
+
+ _test_script_times_on_disk(p_script);
+ _update_modified_scripts_for_external_editor(p_script);
+
}
void ScriptEditor::save_all_scripts() {
@@ -2201,7 +2213,7 @@ void ScriptEditor::_editor_stop() {
void ScriptEditor::_add_callback(Object *p_obj, const String& p_function, const StringArray& p_args) {
- print_line("add callback! hohoho");
+ //print_line("add callback! hohoho"); kinda sad to remove this
ERR_FAIL_COND(!p_obj);
Ref<Script> script = p_obj->get_script();
ERR_FAIL_COND( !script.is_valid() );
@@ -2243,7 +2255,6 @@ void ScriptEditor::_add_callback(Object *p_obj, const String& p_function, const
void ScriptEditor::_editor_settings_changed() {
- print_line("settings changed");
trim_trailing_whitespace_on_save = EditorSettings::get_singleton()->get("text_editor/trim_trailing_whitespace_on_save");
float autosave_time = EditorSettings::get_singleton()->get("text_editor/autosave_interval_secs");
if (autosave_time>0) {
@@ -2284,7 +2295,6 @@ void ScriptEditor::_editor_settings_changed() {
void ScriptEditor::_autosave_scripts() {
- print_line("autosaving");
save_all_scripts();
}
@@ -2625,7 +2635,7 @@ ScriptEditor::ScriptEditor(EditorNode *p_editor) {
file_menu->get_popup()->add_separator();
file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/save", TTR("Save"), KEY_MASK_ALT|KEY_MASK_CMD|KEY_S), FILE_SAVE);
file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/save_as", TTR("Save As..")), FILE_SAVE_AS);
- file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/save_all", TTR("Save All"), KEY_MASK_CMD|KEY_MASK_SHIFT|KEY_S), FILE_SAVE_ALL);
+ file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/save_all", TTR("Save All"), KEY_MASK_CMD|KEY_MASK_SHIFT|KEY_MASK_ALT|KEY_S), FILE_SAVE_ALL);
file_menu->get_popup()->add_separator();
file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/history_previous", TTR("History Prev"), KEY_MASK_CTRL|KEY_MASK_ALT|KEY_LEFT), WINDOW_PREV);
file_menu->get_popup()->add_shortcut(ED_SHORTCUT("script_editor/history_next", TTR("History Next"), KEY_MASK_CTRL|KEY_MASK_ALT|KEY_RIGHT), WINDOW_NEXT);
diff --git a/tools/editor/plugins/script_editor_plugin.h b/tools/editor/plugins/script_editor_plugin.h
index 3d723adfe9..0636190a41 100644
--- a/tools/editor/plugins/script_editor_plugin.h
+++ b/tools/editor/plugins/script_editor_plugin.h
@@ -232,7 +232,7 @@ class ScriptEditor : public VBoxContainer {
void _resave_scripts(const String& p_str);
void _reload_scripts();
- bool _test_script_times_on_disk();
+ bool _test_script_times_on_disk(Ref<Script> p_for_script=Ref<Script>());
void _close_current_tab();
@@ -291,7 +291,7 @@ class ScriptEditor : public VBoxContainer {
void _go_to_tab(int p_idx);
void _update_history_pos(int p_new_pos);
void _update_script_colors();
- void _update_modified_scripts_for_external_editor();
+ void _update_modified_scripts_for_external_editor(Ref<Script> p_for_script=Ref<Script>());
int file_dialog_option;
void _file_dialog_action(String p_file);
diff --git a/tools/editor/plugins/shader_editor_plugin.cpp b/tools/editor/plugins/shader_editor_plugin.cpp
index f4b294daa5..83db650952 100644
--- a/tools/editor/plugins/shader_editor_plugin.cpp
+++ b/tools/editor/plugins/shader_editor_plugin.cpp
@@ -30,6 +30,7 @@
#include "tools/editor/editor_settings.h"
#include "spatial_editor_plugin.h"
+#include "scene/resources/shader_graph.h"
#include "io/resource_loader.h"
#include "io/resource_saver.h"
#include "os/keyboard.h"
@@ -144,8 +145,6 @@ void ShaderTextEditor::_validate_script() {
//List<StringName> params;
//shader->get_param_list(&params);
- print_line("compile: type: "+itos(type)+" code:\n"+code);
-
Error err = ShaderLanguage::compile(code,type,NULL,NULL,&errortxt,&line,&col);
if (err!=OK) {
@@ -557,34 +556,41 @@ ShaderEditor::ShaderEditor() {
void ShaderEditorPlugin::edit(Object *p_object) {
- if (!p_object->cast_to<Shader>())
+ Shader* s = p_object->cast_to<Shader>();
+ if (!s || s->cast_to<ShaderGraph>()) {
+ shader_editor->hide(); //Dont edit ShaderGraph
return;
+ }
- shader_editor->edit(p_object->cast_to<Shader>());
+ if (_2d && s->get_mode()==Shader::MODE_CANVAS_ITEM)
+ shader_editor->edit(s);
+ else if (!_2d && s->get_mode()==Shader::MODE_MATERIAL)
+ shader_editor->edit(s);
}
bool ShaderEditorPlugin::handles(Object *p_object) const {
+ bool handles = true;
Shader *shader=p_object->cast_to<Shader>();
- if (!shader)
- return false;
- if (_2d)
- return shader->get_mode()==Shader::MODE_CANVAS_ITEM;
- else
+ if (!shader || shader->cast_to<ShaderGraph>()) // Dont handle ShaderGraph's
+ handles = false;
+ if (handles && _2d)
+ handles = shader->get_mode()==Shader::MODE_CANVAS_ITEM;
+ else if (handles && !_2d)
return shader->get_mode()==Shader::MODE_MATERIAL;
+
+ if (!handles)
+ shader_editor->hide();
+ return handles;
}
void ShaderEditorPlugin::make_visible(bool p_visible) {
if (p_visible) {
shader_editor->show();
- //shader_editor->set_process(true);
} else {
-
shader_editor->apply_shaders();
- //shader_editor->hide();
- //shader_editor->set_process(false);
}
}
diff --git a/tools/editor/plugins/shader_graph_editor_plugin.h b/tools/editor/plugins/shader_graph_editor_plugin.h
index 8d1d08ee1d..67ee5e2d45 100644
--- a/tools/editor/plugins/shader_graph_editor_plugin.h
+++ b/tools/editor/plugins/shader_graph_editor_plugin.h
@@ -33,7 +33,6 @@
#include "tools/editor/editor_plugin.h"
#include "tools/editor/editor_node.h"
#include "scene/resources/shader.h"
-#include "servers/visual/shader_graph.h"
#include "scene/gui/tree.h"
#include "scene/gui/button.h"
#include "scene/gui/graph_edit.h"
diff --git a/tools/editor/plugins/spatial_editor_plugin.cpp b/tools/editor/plugins/spatial_editor_plugin.cpp
index fdb654571a..8d72178f23 100644
--- a/tools/editor/plugins/spatial_editor_plugin.cpp
+++ b/tools/editor/plugins/spatial_editor_plugin.cpp
@@ -1580,7 +1580,7 @@ void SpatialEditorViewport::_sinput(const InputEvent &p_event) {
nav_mode = NAVIGATION_PAN;
}
- } else if (EditorSettings::get_singleton()->get("3d_editor/trackpad_hint")) {
+ } else if (EditorSettings::get_singleton()->get("3d_editor/emulate_3_button_mouse")) {
// Handle trackpad (no external mouse) use case
int mod = 0;
if (m.mod.shift)
diff --git a/tools/editor/plugins/theme_editor_plugin.cpp b/tools/editor/plugins/theme_editor_plugin.cpp
index 2673948365..5db331ba45 100644
--- a/tools/editor/plugins/theme_editor_plugin.cpp
+++ b/tools/editor/plugins/theme_editor_plugin.cpp
@@ -348,7 +348,7 @@ void ThemeEditor::_dialog_cbk() {
names.clear();
Theme::get_default()->get_icon_list(fromtype,&names);
for(List<StringName>::Element *E=names.front();E;E=E->next()) {
- theme->set_icon(E->get(),fromtype,Theme::get_default()->get_icon(E->get(),fromtype));
+ theme->set_icon(E->get(),fromtype,Ref<Texture>());
}
@@ -357,7 +357,7 @@ void ThemeEditor::_dialog_cbk() {
names.clear();
Theme::get_default()->get_stylebox_list(fromtype,&names);
for(List<StringName>::Element *E=names.front();E;E=E->next()) {
- theme->set_stylebox(E->get(),fromtype,Theme::get_default()->get_stylebox(E->get(),fromtype));
+ theme->set_stylebox(E->get(),fromtype,Ref<StyleBox>());
}
@@ -366,7 +366,7 @@ void ThemeEditor::_dialog_cbk() {
names.clear();
Theme::get_default()->get_font_list(fromtype,&names);
for(List<StringName>::Element *E=names.front();E;E=E->next()) {
- theme->set_font(E->get(),fromtype,Theme::get_default()->get_font(E->get(),fromtype));
+ theme->set_font(E->get(),fromtype,Ref<Font>());
}
}
@@ -454,11 +454,73 @@ void ThemeEditor::_dialog_cbk() {
void ThemeEditor::_theme_menu_cbk(int p_option) {
- if (p_option==POPUP_CREATE_TEMPLATE) {
+ if (p_option==POPUP_CREATE_EMPTY || p_option==POPUP_CREATE_EDITOR_EMPTY) {
- file_dialog->set_mode(EditorFileDialog::MODE_SAVE_FILE);
- file_dialog->set_current_path("custom.theme");
- file_dialog->popup_centered_ratio();
+
+ Ref<Theme> base_theme;
+
+ if (p_option==POPUP_CREATE_EMPTY) {
+ base_theme = Theme::get_default();
+ } else {
+ base_theme = EditorNode::get_singleton()->get_theme_base()->get_theme();
+ }
+
+
+ {
+
+ List<StringName> types;
+ base_theme->get_type_list(&types);
+
+
+ for (List<StringName>::Element *T=types.front();T;T=T->next()) {
+ StringName type = T->get();
+
+ List<StringName> icons;
+ base_theme->get_icon_list(type,&icons);
+
+ for (List<StringName>::Element *E=icons.front();E;E=E->next()) {
+ theme->set_icon(E->get(),type,Ref<Texture>());
+ }
+
+ List<StringName> shaders;
+ base_theme->get_shader_list(type,&shaders);
+
+ for (List<StringName>::Element *E=shaders.front();E;E=E->next()) {
+ theme->set_shader(E->get(),type,Ref<Shader>());
+ }
+
+ List<StringName> styleboxs;
+ base_theme->get_stylebox_list(type,&styleboxs);
+
+ for (List<StringName>::Element *E=styleboxs.front();E;E=E->next()) {
+ theme->set_stylebox(E->get(),type,Ref<StyleBox>());
+ }
+
+ List<StringName> fonts;
+ base_theme->get_font_list(type,&fonts);
+
+ for (List<StringName>::Element *E=fonts.front();E;E=E->next()) {
+ theme->set_font(E->get(),type,Ref<Font>());
+ }
+
+ List<StringName> colors;
+ base_theme->get_color_list(type,&colors);
+
+ for (List<StringName>::Element *E=colors.front();E;E=E->next()) {
+ theme->set_color(E->get(),type,Color());
+ }
+
+
+ List<StringName> constants;
+ base_theme->get_constant_list(type,&constants);
+
+ for (List<StringName>::Element *E=constants.front();E;E=E->next()) {
+ theme->set_constant(E->get(),type,base_theme->get_constant(type,E->get()));
+ }
+
+ }
+
+ }
return;
}
@@ -475,7 +537,7 @@ void ThemeEditor::_theme_menu_cbk(int p_option) {
add_del_dialog->set_title(TTR("Add Item"));
add_del_dialog->get_ok()->set_text(TTR("Add"));
- add_del_dialog->popup_centered(Size2(490,85));
+ add_del_dialog->popup_centered(Size2(490,85)*EDSCALE);
base_theme=Theme::get_default();
@@ -483,7 +545,7 @@ void ThemeEditor::_theme_menu_cbk(int p_option) {
add_del_dialog->set_title(TTR("Add All Items"));
add_del_dialog->get_ok()->set_text(TTR("Add All"));
- add_del_dialog->popup_centered(Size2(240,85));
+ add_del_dialog->popup_centered(Size2(240,85)*EDSCALE);
base_theme=Theme::get_default();
@@ -497,7 +559,7 @@ void ThemeEditor::_theme_menu_cbk(int p_option) {
add_del_dialog->set_title(TTR("Remove Item"));
add_del_dialog->get_ok()->set_text(TTR("Remove"));
- add_del_dialog->popup_centered(Size2(490,85));
+ add_del_dialog->popup_centered(Size2(490,85)*EDSCALE);
base_theme=theme;
@@ -505,7 +567,7 @@ void ThemeEditor::_theme_menu_cbk(int p_option) {
add_del_dialog->set_title("Remove All Items");
add_del_dialog->get_ok()->set_text("Remove All");
- add_del_dialog->popup_centered(Size2(240,85));
+ add_del_dialog->popup_centered(Size2(240,85)*EDSCALE);
base_theme=Theme::get_default();
@@ -521,12 +583,14 @@ void ThemeEditor::_theme_menu_cbk(int p_option) {
List<StringName> types;
base_theme->get_type_list(&types);
+
type_menu->get_popup()->clear();;
if (p_option==0 || p_option==1) {//add
List<StringName> new_types;
theme->get_type_list(&new_types);
+
//uh kind of sucks
for(List<StringName>::Element *F=new_types.front();F;F=F->next()) {
@@ -544,8 +608,8 @@ void ThemeEditor::_theme_menu_cbk(int p_option) {
}
}
- types.sort();
-
+ //types.sort();
+ types.sort_custom<StringName::AlphCompare>();
for(List<StringName>::Element *E=types.front();E;E=E->next()) {
type_menu->get_popup()->add_item( E->get() );
@@ -579,15 +643,23 @@ ThemeEditor::ThemeEditor() {
time_left=0;
+ scroll = memnew( ScrollContainer );
+ add_child(scroll);
+ scroll->set_area_as_parent_rect(3);
+ scroll->set_margin(MARGIN_TOP,30*EDSCALE);
+ //scroll->set_enable_h_scroll(true);
+ scroll->set_enable_v_scroll(true);
+ scroll->set_enable_h_scroll(false);
+
Panel * panel = memnew( Panel );
- add_child(panel);
- panel->set_area_as_parent_rect(0);
- panel->set_margin(MARGIN_TOP,25);
+ scroll->add_child(panel);
+ panel->set_custom_minimum_size(Size2(500,800)*EDSCALE);
panel->set_theme(Theme::get_default());
+ panel->set_h_size_flags(SIZE_EXPAND_FILL);
main_vb= memnew( VBoxContainer );
panel->add_child(main_vb);
- main_vb->set_area_as_parent_rect(4);
+ main_vb->set_area_as_parent_rect(4*EDSCALE);
HBoxContainer *hb_menu = memnew(HBoxContainer);
@@ -602,8 +674,11 @@ ThemeEditor::ThemeEditor() {
theme_menu->get_popup()->add_item(TTR("Remove Item"),POPUP_REMOVE);
theme_menu->get_popup()->add_item(TTR("Remove Class Items"),POPUP_CLASS_REMOVE);
theme_menu->get_popup()->add_separator();
- theme_menu->get_popup()->add_item(TTR("Create Template"),POPUP_CREATE_TEMPLATE);
- hb_menu->add_child(theme_menu);
+ theme_menu->get_popup()->add_item(TTR("Create Empty Template"),POPUP_CREATE_EMPTY);
+ theme_menu->get_popup()->add_item(TTR("Create Empty Editor Template"),POPUP_CREATE_EDITOR_EMPTY);
+
+ add_child(theme_menu);
+ theme_menu->set_pos(Vector2(3,3)*EDSCALE);
theme_menu->get_popup()->connect("item_pressed", this,"_theme_menu_cbk");
@@ -678,26 +753,26 @@ ThemeEditor::ThemeEditor() {
pb->set_val(50);
first_vb->add_child( pb);
Panel *pn=memnew( Panel );
- pn->set_custom_minimum_size(Size2(40,40));
+ pn->set_custom_minimum_size(Size2(40,40)*EDSCALE);
first_vb->add_child( pn);
- first_vb->add_constant_override("separation",10);
+ first_vb->add_constant_override("separation",10*EDSCALE);
VBoxContainer *second_vb = memnew( VBoxContainer );
second_vb->set_h_size_flags(SIZE_EXPAND_FILL);
main_hb->add_child(second_vb);
- second_vb->add_constant_override("separation",10);
+ second_vb->add_constant_override("separation",10*EDSCALE);
LineEdit *le = memnew( LineEdit );
le->set_text("LineEdit");
second_vb->add_child(le);
TextEdit *te = memnew( TextEdit );
te->set_text("TextEdit");
//te->set_v_size_flags(SIZE_EXPAND_FILL);
- te->set_custom_minimum_size(Size2(0,160));
+ te->set_custom_minimum_size(Size2(0,160)*EDSCALE);
second_vb->add_child(te);
Tree *test_tree = memnew(Tree);
second_vb->add_child(test_tree);
- test_tree->set_custom_minimum_size(Size2(0,160));
+ test_tree->set_custom_minimum_size(Size2(0,160)*EDSCALE);
TreeItem *item = test_tree->create_item();
@@ -725,7 +800,7 @@ ThemeEditor::ThemeEditor() {
main_hb->add_child(third_vb);
HBoxContainer *vhb = memnew( HBoxContainer );
- vhb->set_custom_minimum_size(Size2(0,160));
+ vhb->set_custom_minimum_size(Size2(0,160)*EDSCALE);
vhb->add_child(memnew(VSeparator));
vhb->add_child(memnew(VSlider));
vhb->add_child(memnew(VScrollBar));
@@ -733,7 +808,7 @@ ThemeEditor::ThemeEditor() {
TabContainer *tc = memnew( TabContainer );
third_vb->add_child(tc);
- tc->set_custom_minimum_size(Size2(0,160));
+ tc->set_custom_minimum_size(Size2(0,160)*EDSCALE);
Control *tcc = memnew( Control );
tcc->set_name(TTR("Tab 1"));
tc->add_child(tcc);
@@ -744,7 +819,7 @@ ThemeEditor::ThemeEditor() {
tcc->set_name(TTR("Tab 3"));
tc->add_child(tcc);
- main_hb->add_constant_override("separation",20);
+ main_hb->add_constant_override("separation",20*EDSCALE);
@@ -807,37 +882,37 @@ ThemeEditor::ThemeEditor() {
Label *l = memnew( Label );
- l->set_pos( Point2(5,5) );
+ l->set_pos( Point2(5,5)*EDSCALE );
l->set_text(TTR("Type:"));
add_del_dialog->add_child(l);
dtype_select_label=l;
type_edit = memnew( LineEdit );
- type_edit->set_pos(Point2(5,25));
- type_edit->set_size(Point2(150,5));
+ type_edit->set_pos(Point2(5,25)*EDSCALE);
+ type_edit->set_size(Point2(150,5)*EDSCALE);
add_del_dialog->add_child(type_edit);
type_menu = memnew( MenuButton );
- type_menu->set_pos(Point2(160,25));
- type_menu->set_size(Point2(30,5));
+ type_menu->set_pos(Point2(160,25)*EDSCALE);
+ type_menu->set_size(Point2(30,5)*EDSCALE);
type_menu->set_text("..");
add_del_dialog->add_child(type_menu);
type_menu->get_popup()->connect("item_pressed", this,"_type_menu_cbk");
l = memnew( Label );
- l->set_pos( Point2(200,5) );
+ l->set_pos( Point2(200,5)*EDSCALE );
l->set_text(TTR("Name:"));
add_del_dialog->add_child(l);
name_select_label=l;
name_edit = memnew( LineEdit );
- name_edit->set_pos(Point2(200,25));
- name_edit->set_size(Point2(150,5));
+ name_edit->set_pos(Point2(200,25)*EDSCALE);
+ name_edit->set_size(Point2(150,5)*EDSCALE);
add_del_dialog->add_child(name_edit);
name_menu = memnew( MenuButton );
- name_menu->set_pos(Point2(360,25));
- name_menu->set_size(Point2(30,5));
+ name_menu->set_pos(Point2(360,25)*EDSCALE);
+ name_menu->set_size(Point2(30,5)*EDSCALE);
name_menu->set_text("..");
add_del_dialog->add_child(name_menu);
@@ -846,7 +921,7 @@ ThemeEditor::ThemeEditor() {
name_menu->get_popup()->connect("item_pressed", this,"_name_menu_cbk");
type_select_label= memnew( Label );
- type_select_label->set_pos( Point2(400,5) );
+ type_select_label->set_pos( Point2(400,5)*EDSCALE );
type_select_label->set_text(TTR("Data Type:"));
add_del_dialog->add_child(type_select_label);
@@ -856,8 +931,8 @@ ThemeEditor::ThemeEditor() {
type_select->add_item(TTR("Font"));
type_select->add_item(TTR("Color"));
type_select->add_item(TTR("Constant"));
- type_select->set_pos( Point2( 400,25 ) );
- type_select->set_size( Point2( 80,5 ) );
+ type_select->set_pos( Point2( 400,25 )*EDSCALE );
+ type_select->set_size( Point2( 80,5 )*EDSCALE );
add_del_dialog->add_child(type_select);
@@ -910,7 +985,7 @@ ThemeEditorPlugin::ThemeEditorPlugin(EditorNode *p_node) {
editor=p_node;
theme_editor = memnew( ThemeEditor );
- theme_editor->set_custom_minimum_size(Size2(0,500));
+ theme_editor->set_custom_minimum_size(Size2(0,200));
// p_node->get_viewport()->add_child(theme_editor);
button=editor->add_bottom_panel_item("Theme",theme_editor);
diff --git a/tools/editor/plugins/theme_editor_plugin.h b/tools/editor/plugins/theme_editor_plugin.h
index 49d5ae3096..ea8f8c1d3c 100644
--- a/tools/editor/plugins/theme_editor_plugin.h
+++ b/tools/editor/plugins/theme_editor_plugin.h
@@ -35,16 +35,19 @@
#include "scene/gui/file_dialog.h"
#include "scene/gui/check_box.h"
#include "scene/gui/button_group.h"
+#include "scene/gui/scroll_container.h"
#include "tools/editor/editor_node.h"
+
class ThemeEditor : public Control {
OBJ_TYPE( ThemeEditor, Control );
+ ScrollContainer *scroll;
VBoxContainer *main_vb;
Ref<Theme> theme;
@@ -68,7 +71,8 @@ class ThemeEditor : public Control {
POPUP_CLASS_ADD,
POPUP_REMOVE,
POPUP_CLASS_REMOVE,
- POPUP_CREATE_TEMPLATE
+ POPUP_CREATE_EMPTY,
+ POPUP_CREATE_EDITOR_EMPTY
};
int popup_mode;
diff --git a/tools/editor/plugins/tile_map_editor_plugin.cpp b/tools/editor/plugins/tile_map_editor_plugin.cpp
index 5a40777665..d5f85d3333 100644
--- a/tools/editor/plugins/tile_map_editor_plugin.cpp
+++ b/tools/editor/plugins/tile_map_editor_plugin.cpp
@@ -893,59 +893,53 @@ bool TileMapEditor::forward_input_event(const InputEvent& p_event) {
if (tool!=TOOL_NONE || !mouse_over)
return false;
- if (k.scancode==KEY_DELETE) {
-
+ if (ED_IS_SHORTCUT("tile_map_editor/erase_selection", p_event)) {
_menu_option(OPTION_ERASE_SELECTION);
return true;
}
+ if (ED_IS_SHORTCUT("tile_map_editor/select", p_event)) {
+ tool=TOOL_SELECTING;
+ selection_active=false;
- if (k.mod.command) {
-
- if (k.scancode==KEY_F) {
-
- search_box->select_all();
- search_box->grab_focus();
+ canvas_item_editor->update();
- return true;
- }
- if (k.scancode==KEY_B) {
+ return true;
+ }
+ if (ED_IS_SHORTCUT("tile_map_editor/duplicate_selection", p_event)) {
+ _update_copydata();
- tool=TOOL_SELECTING;
- selection_active=false;
+ if (selection_active) {
+ tool=TOOL_DUPLICATING;
canvas_item_editor->update();
return true;
}
- if (k.scancode==KEY_D) {
-
- _update_copydata();
-
- if (selection_active) {
- tool=TOOL_DUPLICATING;
-
- canvas_item_editor->update();
-
- return true;
- }
- }
- } else {
-
- if (k.scancode==KEY_A) {
-
- flip_h=!flip_h;
- mirror_x->set_pressed(flip_h);
- canvas_item_editor->update();
- return true;
- }
- if (k.scancode==KEY_S) {
+ }
+ if (ED_IS_SHORTCUT("tile_map_editor/find_tile", p_event)) {
+ search_box->select_all();
+ search_box->grab_focus();
- flip_v=!flip_v;
- mirror_y->set_pressed(flip_v);
- canvas_item_editor->update();
- return true;
- }
+ return true;
+ }
+ if (ED_IS_SHORTCUT("tile_map_editor/mirror_x", p_event)) {
+ flip_h=!flip_h;
+ mirror_x->set_pressed(flip_h);
+ canvas_item_editor->update();
+ return true;
+ }
+ if (ED_IS_SHORTCUT("tile_map_editor/mirror_y", p_event)) {
+ flip_v=!flip_v;
+ mirror_y->set_pressed(flip_v);
+ canvas_item_editor->update();
+ return true;
+ }
+ if (ED_IS_SHORTCUT("tile_map_editor/transpose", p_event)) {
+ transpose = !transpose;
+ transp->set_pressed(transpose);
+ canvas_item_editor->update();
+ return true;
}
} break;
}
@@ -1308,6 +1302,12 @@ TileMapEditor::TileMapEditor(EditorNode *p_editor) {
flip_v=false;
transpose=false;
+ ED_SHORTCUT("tile_map_editor/erase_selection", TTR("Erase selection"), KEY_DELETE);
+ ED_SHORTCUT("tile_map_editor/find_tile", TTR("Find tile"), KEY_MASK_CMD+KEY_F);
+ ED_SHORTCUT("tile_map_editor/transpose", TTR("Transpose"));
+ ED_SHORTCUT("tile_map_editor/mirror_x", TTR("Mirror X"), KEY_A);
+ ED_SHORTCUT("tile_map_editor/mirror_y", TTR("Mirror Y"), KEY_S);
+
search_box = memnew( LineEdit );
search_box->set_h_size_flags(SIZE_EXPAND_FILL);
search_box->connect("text_entered", this, "_text_entered");
@@ -1349,9 +1349,9 @@ TileMapEditor::TileMapEditor(EditorNode *p_editor) {
p->add_separator();
p->add_item(TTR("Pick Tile"), OPTION_PICK_TILE, KEY_CONTROL);
p->add_separator();
- p->add_item(TTR("Select"), OPTION_SELECT, KEY_MASK_CMD+KEY_B);
- p->add_item(TTR("Duplicate Selection"), OPTION_DUPLICATE, KEY_MASK_CMD+KEY_D);
- p->add_item(TTR("Erase Selection"), OPTION_ERASE_SELECTION, KEY_DELETE);
+ p->add_shortcut(ED_SHORTCUT("tile_map_editor/select", TTR("Select"), KEY_MASK_CMD+KEY_B), OPTION_SELECT);
+ p->add_shortcut(ED_SHORTCUT("tile_map_editor/duplicate_selection", TTR("Duplicate Selection"), KEY_MASK_CMD+KEY_D), OPTION_DUPLICATE);
+ p->add_shortcut(ED_GET_SHORTCUT("tile_map_editor/erase_selection"), OPTION_ERASE_SELECTION);
p->connect("item_pressed", this, "_menu_option");
@@ -1361,19 +1361,19 @@ TileMapEditor::TileMapEditor(EditorNode *p_editor) {
transp = memnew( ToolButton );
transp->set_toggle_mode(true);
- transp->set_tooltip(TTR("Transpose"));
+ transp->set_tooltip(TTR("Transpose") + " ("+ED_GET_SHORTCUT("tile_map_editor/transpose")->get_as_text()+")");
transp->set_focus_mode(FOCUS_NONE);
transp->connect("pressed", this, "_update_transform_buttons", make_binds(transp));
toolbar->add_child(transp);
mirror_x = memnew( ToolButton );
mirror_x->set_toggle_mode(true);
- mirror_x->set_tooltip(TTR("Mirror X (A)"));
+ mirror_x->set_tooltip(TTR("Mirror X") + " ("+ED_GET_SHORTCUT("tile_map_editor/mirror_x")->get_as_text()+")");
mirror_x->set_focus_mode(FOCUS_NONE);
mirror_x->connect("pressed", this, "_update_transform_buttons", make_binds(mirror_x));
toolbar->add_child(mirror_x);
mirror_y = memnew( ToolButton );
mirror_y->set_toggle_mode(true);
- mirror_y->set_tooltip(TTR("Mirror Y (S)"));
+ mirror_y->set_tooltip(TTR("Mirror Y") + " ("+ED_GET_SHORTCUT("tile_map_editor/mirror_y")->get_as_text()+")");
mirror_y->set_focus_mode(FOCUS_NONE);
mirror_y->connect("pressed", this, "_update_transform_buttons", make_binds(mirror_y));
toolbar->add_child(mirror_y);
diff --git a/tools/editor/project_export.cpp b/tools/editor/project_export.cpp
index 3b02c73189..3f82199fc3 100644
--- a/tools/editor/project_export.cpp
+++ b/tools/editor/project_export.cpp
@@ -36,7 +36,6 @@
#include "io/resource_saver.h"
#include "os/os.h"
#include "scene/gui/box_container.h"
-#include "default_saver.h"
#include "scene/gui/tab_container.h"
#include "scene/gui/scroll_container.h"
diff --git a/tools/editor/project_manager.cpp b/tools/editor/project_manager.cpp
index 419f05f2cf..d8814fd50e 100644
--- a/tools/editor/project_manager.cpp
+++ b/tools/editor/project_manager.cpp
@@ -45,8 +45,7 @@
#include "scene/gui/margin_container.h"
#include "io/resource_saver.h"
-#include "editor_icons.h"
-#include "editor_fonts.h"
+#include "editor_themes.h"
#include "editor_scale.h"
@@ -846,21 +845,16 @@ ProjectManager::ProjectManager() {
set_area_as_parent_rect();
- Ref<Theme> theme = Ref<Theme>( memnew( Theme ) );
- set_theme(theme);
- editor_register_icons(theme);
- editor_register_fonts(theme);
+ gui_base = memnew( Control );
+ add_child(gui_base);
+ gui_base->set_area_as_parent_rect();
- String global_font = EditorSettings::get_singleton()->get("global/font");
- if (global_font!="") {
- Ref<Font> fnt = ResourceLoader::load(global_font);
- if (fnt.is_valid()) {
- theme->set_default_theme_font(fnt);
- }
- }
+ set_theme(create_default_theme());
+ Ref<Theme> theme = create_editor_theme();
+ gui_base->set_theme(theme);
Panel *panel = memnew( Panel );
- add_child(panel);
+ gui_base->add_child(panel);
panel->set_area_as_parent_rect();
VBoxContainer *vb = memnew( VBoxContainer );
@@ -961,7 +955,7 @@ ProjectManager::ProjectManager() {
scan_dir->set_access(FileDialog::ACCESS_FILESYSTEM);
scan_dir->set_mode(FileDialog::MODE_OPEN_DIR);
scan_dir->set_current_dir( EditorSettings::get_singleton()->get("global/default_project_path") );
- add_child(scan_dir);
+ gui_base->add_child(scan_dir);
scan_dir->connect("dir_selected",this,"_scan_begin");
@@ -1010,26 +1004,26 @@ ProjectManager::ProjectManager() {
erase_ask->get_ok()->set_text(TTR("Remove"));
erase_ask->get_ok()->connect("pressed", this,"_erase_project_confirm");
- add_child(erase_ask);
+ gui_base->add_child(erase_ask);
multi_open_ask = memnew( ConfirmationDialog );
multi_open_ask->get_ok()->set_text(TTR("Edit"));
multi_open_ask->get_ok()->connect("pressed", this, "_open_project_confirm");
- add_child(multi_open_ask);
+ gui_base->add_child(multi_open_ask);
multi_run_ask = memnew( ConfirmationDialog );
multi_run_ask->get_ok()->set_text(TTR("Run"));
multi_run_ask->get_ok()->connect("pressed", this, "_run_project_confirm");
- add_child(multi_run_ask);
+ gui_base->add_child(multi_run_ask);
OS::get_singleton()->set_low_processor_usage_mode(true);
npdialog = memnew( NewProjectDialog );
- add_child(npdialog);
+ gui_base->add_child(npdialog);
npdialog->connect("project_created", this,"_load_recent_projects");
_load_recent_projects();
diff --git a/tools/editor/project_manager.h b/tools/editor/project_manager.h
index cfedfd7a69..2db1bb839e 100644
--- a/tools/editor/project_manager.h
+++ b/tools/editor/project_manager.h
@@ -67,6 +67,8 @@ class ProjectManager : public Control {
TabContainer *tabs;
+ Control *gui_base;
+
void _item_doubleclicked();
diff --git a/tools/editor/project_settings.h b/tools/editor/project_settings.h
index 5108378ff7..79e1acf75e 100644
--- a/tools/editor/project_settings.h
+++ b/tools/editor/project_settings.h
@@ -31,7 +31,6 @@
#include "scene/gui/dialogs.h"
#include "property_editor.h"
-#include "optimized_save_dialog.h"
#include "undo_redo.h"
#include "editor_data.h"
#include "scene/gui/tab_container.h"
diff --git a/tools/editor/property_editor.cpp b/tools/editor/property_editor.cpp
index 763734f035..246785932d 100644
--- a/tools/editor/property_editor.cpp
+++ b/tools/editor/property_editor.cpp
@@ -2142,6 +2142,7 @@ void PropertyEditor::set_item_text(TreeItem *p_item, int p_type, const String& p
if (obj->get( p_name ).get_type() == Variant::NIL || obj->get( p_name ).operator RefPtr().is_null()) {
p_item->set_text(1,"<null>");
+ p_item->set_icon(1,Ref<Texture>());
Dictionary d = p_item->get_metadata(0);
int hint=d.has("hint")?d["hint"].operator int():-1;
@@ -3349,6 +3350,7 @@ void PropertyEditor::update_tree() {
if (obj->get( p.name ).get_type() == Variant::NIL || obj->get( p.name ).operator RefPtr().is_null()) {
item->set_text(1,"<null>");
+ item->set_icon(1,Ref<Texture>());
} else {
RES res = obj->get( p.name ).operator RefPtr();
@@ -3934,6 +3936,7 @@ void PropertyEditor::_bind_methods() {
ObjectTypeDB::bind_method( "_filter_changed",&PropertyEditor::_filter_changed);
ObjectTypeDB::bind_method( "update_tree",&PropertyEditor::update_tree);
ObjectTypeDB::bind_method( "_resource_preview_done",&PropertyEditor::_resource_preview_done);
+ ObjectTypeDB::bind_method( "refresh",&PropertyEditor::refresh);
ObjectTypeDB::bind_method(_MD("get_drag_data_fw"), &PropertyEditor::get_drag_data_fw);
ObjectTypeDB::bind_method(_MD("can_drop_data_fw"), &PropertyEditor::can_drop_data_fw);
diff --git a/tools/editor/scene_tree_dock.cpp b/tools/editor/scene_tree_dock.cpp
index 5124505b90..30ffdf6664 100644
--- a/tools/editor/scene_tree_dock.cpp
+++ b/tools/editor/scene_tree_dock.cpp
@@ -49,11 +49,37 @@ void SceneTreeDock::_unhandled_key_input(InputEvent p_event) {
if (!p_event.key.pressed || p_event.key.echo)
return;
+ if (ED_IS_SHORTCUT("scene_tree/add_child_node", p_event)) {
+ _tool_selected(TOOL_NEW);
+ }
+ else if (ED_IS_SHORTCUT("scene_tree/instance_scene", p_event)) {
+ _tool_selected(TOOL_INSTANCE);
+ }
+ else if (ED_IS_SHORTCUT("scene_tree/change_node_type", p_event)) {
+ _tool_selected(TOOL_REPLACE);
+ }
+ else if (ED_IS_SHORTCUT("scene_tree/duplicate", p_event)) {
+ _tool_selected(TOOL_DUPLICATE);
+ }
+ else if (ED_IS_SHORTCUT("scene_tree/add_script", p_event)) {
+ _tool_selected(TOOL_SCRIPT);
+ }
+ else if (ED_IS_SHORTCUT("scene_tree/move_up", p_event)) {
+ _tool_selected(TOOL_MOVE_UP);
+ }
+ else if (ED_IS_SHORTCUT("scene_tree/move_down", p_event)) {
+ _tool_selected(TOOL_MOVE_DOWN);
+ }
+ else if (ED_IS_SHORTCUT("scene_tree/reparent", p_event)) {
+ _tool_selected(TOOL_REPARENT);
+ }
+ else if (ED_IS_SHORTCUT("scene_tree/merge_from_scene", p_event)) {
+ _tool_selected(TOOL_MERGE_FROM_SCENE);
+ }
+ else if (ED_IS_SHORTCUT("scene_tree/save_branch_as_scene", p_event)) {
+ _tool_selected(TOOL_NEW_SCENE_FROM);
+ }
switch(sc) {
- case KEY_MASK_CMD|KEY_A: { _tool_selected(TOOL_NEW); } break;
- case KEY_MASK_CMD|KEY_D: { _tool_selected(TOOL_DUPLICATE); } break;
- case KEY_MASK_CMD|KEY_UP: { _tool_selected(TOOL_MOVE_UP); } break;
- case KEY_MASK_CMD|KEY_DOWN: { _tool_selected(TOOL_MOVE_DOWN); } break;
case KEY_MASK_SHIFT|KEY_DELETE: { _tool_selected(TOOL_ERASE, true); } break;
case KEY_DELETE: { _tool_selected(TOOL_ERASE); } break;
}
@@ -1362,6 +1388,13 @@ void SceneTreeDock::_create() {
}
String newname=n->get_name();
+
+ List<Node*> to_erase;
+ for(int i=0;i<n->get_child_count();i++) {
+ if (n->get_child(i)->get_owner()==NULL && n->is_owned_by_parent()) {
+ to_erase.push_back(n->get_child(i));
+ }
+ }
n->replace_by(newnode,true);
if (n==edited_scene) {
@@ -1382,6 +1415,11 @@ void SceneTreeDock::_create() {
memdelete(n);
+ while(to_erase.front()) {
+ memdelete(to_erase.front()->get());
+ to_erase.pop_front();
+ }
+
}
@@ -1512,12 +1550,18 @@ static bool _has_visible_children(Node* p_node) {
}
+
static Node* _find_last_visible(Node*p_node) {
Node*last=NULL;
- for(int i=0;i<p_node->get_child_count();i++) {
- if (_is_node_visible(p_node->get_child(i))) {
- last=p_node->get_child(i);
+
+ bool collapsed = p_node->has_meta("_editor_collapsed") ? (bool)p_node->get_meta("_editor_collapsed") : false;
+
+ if (!collapsed) {
+ for(int i=0;i<p_node->get_child_count();i++) {
+ if (_is_node_visible(p_node->get_child(i))) {
+ last=p_node->get_child(i);
+ }
}
}
@@ -1588,18 +1632,27 @@ void SceneTreeDock::_normalize_drop(Node*& to_node, int &to_pos,int p_type) {
Node* lower_sibling=NULL;
- for(int i=to_node->get_index()+1;i<to_node->get_parent()->get_child_count();i++) {
- Node *c =to_node->get_parent()->get_child(i);
- if (_is_node_visible(c)) {
- lower_sibling=c;
+
+
+ if (_has_visible_children(to_node) ) {
+ to_pos=0;
+ } else {
+
+
+ for(int i=to_node->get_index()+1;i<to_node->get_parent()->get_child_count();i++) {
+ Node *c =to_node->get_parent()->get_child(i);
+ if (_is_node_visible(c)) {
+ lower_sibling=c;
+ break;
+ }
+ }
+
+ if (lower_sibling) {
+ to_pos=lower_sibling->get_index();
}
- }
- if (lower_sibling) {
- to_pos=lower_sibling->get_index();
+ to_node=to_node->get_parent();
}
-
- to_node=to_node->get_parent();
#if 0
//quite complicated, look for next visible in tree
upper_sibling=_find_last_visible(upper_sibling);
@@ -1660,13 +1713,11 @@ void SceneTreeDock::_nodes_dragged(Array p_nodes,NodePath p_to,int p_type) {
}
void SceneTreeDock::_tree_rmb(const Vector2& p_menu_pos) {
-
-
if (!EditorNode::get_singleton()->get_edited_scene()) {
menu->clear();
- menu->add_icon_item(get_icon("Add","EditorIcons"),TTR("New Scene Root"),TOOL_NEW,KEY_MASK_CMD|KEY_A);
- menu->add_icon_item(get_icon("Instance","EditorIcons"),TTR("Inherit Scene"),TOOL_INSTANCE);
+ menu->add_icon_shortcut(get_icon("Add","EditorIcons"), ED_GET_SHORTCUT("scene_tree/add_child_node"), TOOL_NEW);
+ menu->add_icon_shortcut(get_icon("Instance","EditorIcons"), ED_GET_SHORTCUT("scene_tree/instance_scene"), TOOL_INSTANCE);
menu->set_size(Size2(1,1));
menu->set_pos(p_menu_pos);
@@ -1683,31 +1734,31 @@ void SceneTreeDock::_tree_rmb(const Vector2& p_menu_pos) {
if (selection.size()==1) {
- menu->add_icon_item(get_icon("Add","EditorIcons"),TTR("Add Child Node"),TOOL_NEW,KEY_MASK_CMD|KEY_A);
- menu->add_icon_item(get_icon("Instance","EditorIcons"),TTR("Instance Child Scene"),TOOL_INSTANCE);
+ menu->add_icon_shortcut(get_icon("Add","EditorIcons"), ED_GET_SHORTCUT("scene_tree/add_child_node"), TOOL_NEW);
+ menu->add_icon_shortcut(get_icon("Instance","EditorIcons"), ED_GET_SHORTCUT("scene_tree/instance_scene"), TOOL_INSTANCE);
menu->add_separator();
- menu->add_icon_item(get_icon("Reload","EditorIcons"),TTR("Change Type"),TOOL_REPLACE);
+ menu->add_icon_shortcut(get_icon("Reload","EditorIcons"),ED_GET_SHORTCUT("scene_tree/change_node_type"), TOOL_REPLACE);
//menu->add_separator(); moved to their own dock
//menu->add_icon_item(get_icon("Groups","EditorIcons"),TTR("Edit Groups"),TOOL_GROUP);
//menu->add_icon_item(get_icon("Connect","EditorIcons"),TTR("Edit Connections"),TOOL_CONNECT);
menu->add_separator();
- menu->add_icon_item(get_icon("Script","EditorIcons"),TTR("Add Script"),TOOL_SCRIPT);
+ menu->add_icon_shortcut(get_icon("Script","EditorIcons"),ED_GET_SHORTCUT("scene_tree/add_script"), TOOL_SCRIPT);
menu->add_separator();
}
- menu->add_icon_item(get_icon("Up","EditorIcons"),TTR("Move Up"),TOOL_MOVE_UP,KEY_MASK_CMD|KEY_UP);
- menu->add_icon_item(get_icon("Down","EditorIcons"),TTR("Move Down"),TOOL_MOVE_DOWN,KEY_MASK_CMD|KEY_DOWN);
- menu->add_icon_item(get_icon("Duplicate","EditorIcons"),TTR("Duplicate"),TOOL_DUPLICATE,KEY_MASK_CMD|KEY_D);
- menu->add_icon_item(get_icon("Reparent","EditorIcons"),TTR("Reparent"),TOOL_REPARENT);
+ menu->add_icon_shortcut(get_icon("Up","EditorIcons"),ED_GET_SHORTCUT("scene_tree/move_up"), TOOL_MOVE_UP);
+ menu->add_icon_shortcut(get_icon("Down","EditorIcons"),ED_GET_SHORTCUT("scene_tree/move_down"), TOOL_MOVE_DOWN);
+ menu->add_icon_shortcut(get_icon("Duplicate","EditorIcons"),ED_GET_SHORTCUT("scene_tree/duplicate"), TOOL_DUPLICATE);
+ menu->add_icon_shortcut(get_icon("Reparent","EditorIcons"),ED_GET_SHORTCUT("scene_tree/reparent"), TOOL_REPARENT);
if (selection.size()==1) {
menu->add_separator();
- menu->add_icon_item(get_icon("Blend","EditorIcons"),TTR("Merge From Scene"),TOOL_MERGE_FROM_SCENE);
- menu->add_icon_item(get_icon("Save","EditorIcons"),TTR("Save Branch as Scene"),TOOL_NEW_SCENE_FROM);
+ menu->add_icon_shortcut(get_icon("Blend","EditorIcons"),ED_GET_SHORTCUT("scene_tree/merge_from_scene"), TOOL_MERGE_FROM_SCENE);
+ menu->add_icon_shortcut(get_icon("Save","EditorIcons"),ED_GET_SHORTCUT("scene_tree/save_branch_as_scene"), TOOL_NEW_SCENE_FROM);
}
menu->add_separator();
- menu->add_icon_item(get_icon("Remove","EditorIcons"),TTR("Delete Node(s)"),TOOL_ERASE,KEY_DELETE);
+ menu->add_icon_item(get_icon("Remove","EditorIcons"),TTR("Delete Node(s)"), TOOL_ERASE, KEY_DELETE);
menu->set_size(Size2(1,1));
menu->set_pos(p_menu_pos);
@@ -1774,15 +1825,28 @@ SceneTreeDock::SceneTreeDock(EditorNode *p_editor,Node *p_scene_root,EditorSelec
HBoxContainer *filter_hbc = memnew( HBoxContainer );
ToolButton *tb;
+ ED_SHORTCUT("scene_tree/add_child_node",TTR("Add Child Node"), KEY_MASK_CMD|KEY_A);
+ ED_SHORTCUT("scene_tree/instance_scene",TTR("Instance Child Scene"));
+ ED_SHORTCUT("scene_tree/change_node_type", TTR("Change Type"));
+ ED_SHORTCUT("scene_tree/add_script", TTR("Add Script"));
+ ED_SHORTCUT("scene_tree/move_up", TTR("Move Up"), KEY_MASK_CMD | KEY_UP);
+ ED_SHORTCUT("scene_tree/move_down", TTR("Move Down"), KEY_MASK_CMD | KEY_DOWN);
+ ED_SHORTCUT("scene_tree/duplicate", TTR("Duplicate"),KEY_MASK_CMD | KEY_D);
+ ED_SHORTCUT("scene_tree/reparent", TTR("Reparent"));
+ ED_SHORTCUT("scene_tree/merge_from_scene", TTR("Merge From Scene"));
+ ED_SHORTCUT("scene_tree/save_branch_as_scene", TTR("Save Branch as Scene"));
+
tb = memnew( ToolButton );
tb->connect("pressed",this,"_tool_selected",make_binds(TOOL_NEW, false));
- tb->set_tooltip(TTR("Add/Create a New Node")+"\n("+keycode_get_string(KEY_MASK_CMD|KEY_A)+")");
+ tb->set_tooltip(TTR("Add/Create a New Node"));
+ tb->set_shortcut(ED_GET_SHORTCUT("scene_tree/add_child_node"));
filter_hbc->add_child(tb);
button_add=tb;
tb = memnew( ToolButton );
tb->connect("pressed",this,"_tool_selected",make_binds(TOOL_INSTANCE, false));
tb->set_tooltip(TTR("Instance a scene file as a Node. Creates an inherited scene if no root node exists."));
+ tb->set_shortcut(ED_GET_SHORTCUT("scene_tree/instance_scene"));
filter_hbc->add_child(tb);
button_instance=tb;
diff --git a/tools/editor/scene_tree_editor.cpp b/tools/editor/scene_tree_editor.cpp
index 2de6fc5cf2..a155f0c0cf 100644
--- a/tools/editor/scene_tree_editor.cpp
+++ b/tools/editor/scene_tree_editor.cpp
@@ -653,6 +653,8 @@ void SceneTreeEditor::_notification(int p_what) {
inheritance_menu->set_item_icon(2,get_icon("Load","EditorIcons"));
clear_inherit_confirm->connect("confirmed",this,"_subscene_option",varray(SCENE_MENU_CLEAR_INHERITANCE_CONFIRM));
+ EditorSettings::get_singleton()->connect("settings_changed",this,"_editor_settings_changed");
+
// get_scene()->connect("tree_changed",this,"_tree_changed",Vector<Variant>(),CONNECT_DEFERRED);
// get_scene()->connect("node_removed",this,"_node_removed",Vector<Variant>(),CONNECT_DEFERRED);
@@ -665,6 +667,7 @@ void SceneTreeEditor::_notification(int p_what) {
tree->disconnect("item_collapsed",this,"_cell_collapsed");
clear_inherit_confirm->disconnect("confirmed",this,"_subscene_option");
get_tree()->disconnect("node_configuration_warning_changed",this,"_warning_changed");
+ EditorSettings::get_singleton()->disconnect("settings_changed",this,"_editor_settings_changed");
}
}
@@ -1048,6 +1051,21 @@ void SceneTreeEditor::_warning_changed(Node* p_for_node) {
}
+
+void SceneTreeEditor::_editor_settings_changed() {
+ bool enable_rl = EditorSettings::get_singleton()->get("scenetree_editor/draw_relationship_lines");
+ Color rl_color = EditorSettings::get_singleton()->get("scenetree_editor/relationship_line_color");
+
+ if (enable_rl) {
+ tree->add_constant_override("draw_relationship_lines",1);
+ tree->add_color_override("relationship_line_color", rl_color);
+ }
+ else
+ tree->add_constant_override("draw_relationship_lines",0);
+
+}
+
+
void SceneTreeEditor::_bind_methods() {
ObjectTypeDB::bind_method("_tree_changed",&SceneTreeEditor::_tree_changed);
@@ -1068,6 +1086,8 @@ void SceneTreeEditor::_bind_methods() {
ObjectTypeDB::bind_method("_node_script_changed",&SceneTreeEditor::_node_script_changed);
ObjectTypeDB::bind_method("_node_visibility_changed",&SceneTreeEditor::_node_visibility_changed);
+ ObjectTypeDB::bind_method("_editor_settings_changed", &SceneTreeEditor::_editor_settings_changed);
+
ObjectTypeDB::bind_method(_MD("get_drag_data_fw"), &SceneTreeEditor::get_drag_data_fw);
ObjectTypeDB::bind_method(_MD("can_drop_data_fw"), &SceneTreeEditor::can_drop_data_fw);
ObjectTypeDB::bind_method(_MD("drop_data_fw"), &SceneTreeEditor::drop_data_fw);
@@ -1252,4 +1272,3 @@ SceneTreeDialog::SceneTreeDialog() {
SceneTreeDialog::~SceneTreeDialog()
{
}
-
diff --git a/tools/editor/scene_tree_editor.h b/tools/editor/scene_tree_editor.h
index e184891200..79b7a64468 100644
--- a/tools/editor/scene_tree_editor.h
+++ b/tools/editor/scene_tree_editor.h
@@ -34,6 +34,7 @@
#include "scene/gui/dialogs.h"
#include "undo_redo.h"
#include "editor_data.h"
+#include "editor_settings.h"
/**
@author Juan Linietsky <reduzio@gmail.com>
*/
@@ -132,6 +133,8 @@ class SceneTreeEditor : public Control {
void _warning_changed(Node* p_for_node);
+ void _editor_settings_changed();
+
Timer* update_timer;
public:
diff --git a/tools/editor/scenes.cpp b/tools/editor/scenes.cpp
deleted file mode 100644
index e6569c98a9..0000000000
--- a/tools/editor/scenes.cpp
+++ /dev/null
@@ -1,33 +0,0 @@
-/*************************************************************************/
-/* scenes.cpp */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#include "scenes.h"
-
-Scenes::Scenes()
-{
-}
diff --git a/tools/editor/scenes.h b/tools/editor/scenes.h
deleted file mode 100644
index bae9ef65f0..0000000000
--- a/tools/editor/scenes.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*************************************************************************/
-/* scenes.h */
-/*************************************************************************/
-/* This file is part of: */
-/* GODOT ENGINE */
-/* http://www.godotengine.org */
-/*************************************************************************/
-/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
-/* */
-/* Permission is hereby granted, free of charge, to any person obtaining */
-/* a copy of this software and associated documentation files (the */
-/* "Software"), to deal in the Software without restriction, including */
-/* without limitation the rights to use, copy, modify, merge, publish, */
-/* distribute, sublicense, and/or sell copies of the Software, and to */
-/* permit persons to whom the Software is furnished to do so, subject to */
-/* the following conditions: */
-/* */
-/* The above copyright notice and this permission notice shall be */
-/* included in all copies or substantial portions of the Software. */
-/* */
-/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
-/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
-/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
-/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
-/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
-/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
-/*************************************************************************/
-#ifndef SCENES_H
-#define SCENES_H
-
-class Scenes{
-public:
- Scenes();
-};
-
-#endif // SCENES_H
diff --git a/tools/editor/script_create_dialog.cpp b/tools/editor/script_create_dialog.cpp
index e88d603b30..e93a40efbc 100644
--- a/tools/editor/script_create_dialog.cpp
+++ b/tools/editor/script_create_dialog.cpp
@@ -185,6 +185,7 @@ void ScriptCreateDialog::_built_in_pressed() {
void ScriptCreateDialog::_browse_path() {
file_browse->set_mode(EditorFileDialog::MODE_SAVE_FILE);
+ file_browse->set_disable_overwrite_warning(true);
file_browse->clear_filters();
List<String> extensions;
diff --git a/tools/pck/pck_packer.cpp b/tools/pck/pck_packer.cpp
index 228d37df7c..04b88ea028 100644
--- a/tools/pck/pck_packer.cpp
+++ b/tools/pck/pck_packer.cpp
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* pkc_packer.cpp */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "pck_packer.h"
#include "core/os/file_access.h"
diff --git a/tools/pck/pck_packer.h b/tools/pck/pck_packer.h
index 2bb51128e9..b1182335e2 100644
--- a/tools/pck/pck_packer.h
+++ b/tools/pck/pck_packer.h
@@ -1,3 +1,31 @@
+/*************************************************************************/
+/* pck_packer.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* http://www.godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2016 Juan Linietsky, Ariel Manzur. */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
#include "core/reference.h"
class FileAccess;
diff --git a/tools/translations/Makefile b/tools/translations/Makefile
index 8f336694e8..bea20e877d 100644
--- a/tools/translations/Makefile
+++ b/tools/translations/Makefile
@@ -12,7 +12,7 @@ update:
merge:
@for po in $(POFILES); do \
echo -e "\nMerging $$po..."; \
- msgmerge -w 80 -C $$po $$po $(TEMPLATE) > "$$po".new; \
+ msgmerge -w 79 -C $$po $$po $(TEMPLATE) > "$$po".new; \
mv -f "$$po".new $$po; \
done
diff --git a/tools/translations/ar.po b/tools/translations/ar.po
new file mode 100644
index 0000000000..772404006a
--- /dev/null
+++ b/tools/translations/ar.po
@@ -0,0 +1,6102 @@
+# Arabic translation of the Godot Engine editor
+# Copyright (C) 2016 Juan Linietsky, Ariel Manzur and the Godot community
+# This file is distributed under the same license as the Godot source code.
+#
+# Mohammmad Khashashneh <mohammad.rasmi@gmail.com>, 2016.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Godot Engine editor\n"
+"PO-Revision-Date: 2016-06-19 08:49+0000\n"
+"Last-Translator: Mohammmad Khashashneh <mohammad.rasmi@gmail.com>\n"
+"Language-Team: Arabic <https://hosted.weblate.org/projects/godot-engine/"
+"godot/ar/>\n"
+"Language: ar\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8-bit\n"
+"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
+"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
+"X-Generator: Weblate 2.7-dev\n"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid type argument to convert(), use TYPE_* constants."
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not enough bytes for decoding bytes, or invalid format."
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "step argument is zero!"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not a script with an instance"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not based on a script"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not based on a resource file"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (missing @path)"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (can't load script at @path)"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (invalid script at @path)"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary (invalid subclasses)"
+msgstr ""
+
+#: scene/2d/animated_sprite.cpp
+msgid ""
+"A SpriteFrames resource must be created or set in the 'Frames' property in "
+"order for AnimatedSprite to display frames."
+msgstr ""
+"ليتم إظهار الأطر (اللقطات) ÙÙŠ الAnimatedSprite (النقوش المتحركة), يجب تكوين "
+"مصدر لها من نوع SpriteFrames و ضبط خاصية الFrames (الأطر) بها. "
+
+#: scene/2d/canvas_modulate.cpp
+msgid ""
+"Only one visible CanvasModulate is allowed per scene (or set of instanced "
+"scenes). The first created one will work, while the rest will be ignored."
+msgstr ""
+
+#: scene/2d/collision_polygon_2d.cpp
+msgid ""
+"CollisionPolygon2D only serves to provide a collision shape to a "
+"CollisionObject2D derived node. Please only use it as a child of Area2D, "
+"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape."
+msgstr ""
+
+#: scene/2d/collision_polygon_2d.cpp
+msgid "An empty CollisionPolygon2D has no effect on collision."
+msgstr ""
+
+#: scene/2d/collision_shape_2d.cpp
+msgid ""
+"CollisionShape2D only serves to provide a collision shape to a "
+"CollisionObject2D derived node. Please only use it as a child of Area2D, "
+"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape."
+msgstr ""
+
+#: scene/2d/collision_shape_2d.cpp
+msgid ""
+"A shape must be provided for CollisionShape2D to function. Please create a "
+"shape resource for it!"
+msgstr ""
+
+#: scene/2d/light_2d.cpp
+msgid ""
+"A texture with the shape of the light must be supplied to the 'texture' "
+"property."
+msgstr ""
+
+#: scene/2d/light_occluder_2d.cpp
+msgid ""
+"An occluder polygon must be set (or drawn) for this occluder to take effect."
+msgstr ""
+
+#: scene/2d/light_occluder_2d.cpp
+msgid "The occluder polygon for this occluder is empty. Please draw a polygon!"
+msgstr ""
+
+#: scene/2d/navigation_polygon.cpp
+msgid ""
+"A NavigationPolygon resource must be set or created for this node to work. "
+"Please set a property or draw a polygon."
+msgstr ""
+
+#: scene/2d/navigation_polygon.cpp
+msgid ""
+"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
+"node. It only provides navigation data."
+msgstr ""
+
+#: scene/2d/parallax_layer.cpp
+msgid ""
+"ParallaxLayer node only works when set as child of a ParallaxBackground node."
+msgstr ""
+
+#: scene/2d/particles_2d.cpp
+msgid "Path property must point to a valid Particles2D node to work."
+msgstr ""
+
+#: scene/2d/path_2d.cpp
+msgid "PathFollow2D only works when set as a child of a Path2D node."
+msgstr ""
+
+#: scene/2d/remote_transform_2d.cpp
+msgid "Path property must point to a valid Node2D node to work."
+msgstr ""
+
+#: scene/2d/sample_player_2d.cpp scene/audio/sample_player.cpp
+msgid ""
+"A SampleLibrary resource must be created or set in the 'samples' property in "
+"order for SamplePlayer to play sound."
+msgstr ""
+
+#: scene/2d/sprite.cpp
+msgid ""
+"Path property must point to a valid Viewport node to work. Such Viewport "
+"must be set to 'render target' mode."
+msgstr ""
+
+#: scene/2d/sprite.cpp
+msgid ""
+"The Viewport set in the path property must be set as 'render target' in "
+"order for this sprite to work."
+msgstr ""
+
+#: scene/2d/visibility_notifier_2d.cpp
+msgid ""
+"VisibilityEnable2D works best when used with the edited scene root directly "
+"as parent."
+msgstr ""
+
+#: scene/3d/body_shape.cpp
+msgid ""
+"CollisionShape only serves to provide a collision shape to a CollisionObject "
+"derived node. Please only use it as a child of Area, StaticBody, RigidBody, "
+"KinematicBody, etc. to give them a shape."
+msgstr ""
+
+#: scene/3d/body_shape.cpp
+msgid ""
+"A shape must be provided for CollisionShape to function. Please create a "
+"shape resource for it!"
+msgstr ""
+
+#: scene/3d/collision_polygon.cpp
+msgid ""
+"CollisionPolygon only serves to provide a collision shape to a "
+"CollisionObject derived node. Please only use it as a child of Area, "
+"StaticBody, RigidBody, KinematicBody, etc. to give them a shape."
+msgstr ""
+
+#: scene/3d/collision_polygon.cpp
+msgid "An empty CollisionPolygon has no effect on collision."
+msgstr ""
+
+#: scene/3d/navigation_mesh.cpp
+msgid "A NavigationMesh resource must be set or created for this node to work."
+msgstr ""
+
+#: scene/3d/navigation_mesh.cpp
+msgid ""
+"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
+"It only provides navigation data."
+msgstr ""
+
+#: scene/3d/scenario_fx.cpp
+msgid ""
+"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)."
+msgstr ""
+
+#: scene/3d/spatial_sample_player.cpp
+msgid ""
+"A SampleLibrary resource must be created or set in the 'samples' property in "
+"order for SpatialSamplePlayer to play sound."
+msgstr ""
+
+#: scene/3d/sprite_3d.cpp
+msgid ""
+"A SpriteFrames resource must be created or set in the 'Frames' property in "
+"order for AnimatedSprite3D to display frames."
+msgstr ""
+
+#: scene/gui/dialogs.cpp tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Cancel"
+msgstr ""
+
+#: scene/gui/dialogs.cpp
+msgid "OK"
+msgstr ""
+
+#: scene/gui/dialogs.cpp
+msgid "Alert!"
+msgstr ""
+
+#: scene/gui/dialogs.cpp
+msgid "Please Confirm..."
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+msgid "File Exists, Overwrite?"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+msgid "All Recognized"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+msgid "All Files (*)"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+#: tools/editor/editor_help.cpp tools/editor/editor_node.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/quick_open.cpp
+#: tools/editor/scenes_dock.cpp
+msgid "Open"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp
+msgid "Open a File"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp
+msgid "Open File(s)"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp
+msgid "Open a Directory"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp
+msgid "Open a File or Directory"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+#: tools/editor/editor_node.cpp
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Save"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+msgid "Save a File"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_dir_dialog.cpp
+#: tools/editor/editor_file_dialog.cpp
+msgid "Create Folder"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+#: tools/editor/project_settings.cpp tools/editor/script_create_dialog.cpp
+msgid "Path:"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+msgid "Directories & Files:"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "File:"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+msgid "Filter:"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_dir_dialog.cpp
+#: tools/editor/editor_file_dialog.cpp tools/editor/editor_plugin_settings.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Name:"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_dir_dialog.cpp
+#: tools/editor/editor_file_dialog.cpp
+msgid "Could not create folder."
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+msgid "Must use a valid extension."
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+#: tools/editor/settings_config_dialog.cpp
+msgid "Shift+"
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+#: tools/editor/settings_config_dialog.cpp
+msgid "Alt+"
+msgstr ""
+
+#: scene/gui/input_action.cpp
+msgid "Ctrl+"
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+#: tools/editor/settings_config_dialog.cpp
+msgid "Meta+"
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+msgid "Device"
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+msgid "Button"
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+msgid "Left Button."
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+msgid "Right Button."
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+msgid "Middle Button."
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+msgid "Wheel Up."
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+msgid "Wheel Down."
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+msgid "Axis"
+msgstr ""
+
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Cut"
+msgstr ""
+
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+#: tools/editor/property_editor.cpp tools/editor/resources_dock.cpp
+msgid "Copy"
+msgstr ""
+
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+#: tools/editor/property_editor.cpp tools/editor/resources_dock.cpp
+msgid "Paste"
+msgstr ""
+
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+#: tools/editor/project_export.cpp
+msgid "Select All"
+msgstr ""
+
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp tools/editor/editor_log.cpp
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+#: tools/editor/plugins/rich_text_editor_plugin.cpp
+#: tools/editor/property_editor.cpp tools/editor/script_editor_debugger.cpp
+msgid "Clear"
+msgstr ""
+
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp tools/editor/editor_node.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Undo"
+msgstr ""
+
+#: scene/gui/popup.cpp
+msgid ""
+"Popups will hide by default unless you call popup() or any of the popup*() "
+"functions. Making them visible for editing is fine though, but they will "
+"hide upon running."
+msgstr ""
+
+#: scene/main/viewport.cpp
+msgid ""
+"This viewport is not set as render target. If you intend for it to display "
+"its contents directly to the screen, make it a child of a Control so it can "
+"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
+"texture to some node for display."
+msgstr ""
+
+#: scene/resources/dynamic_font.cpp
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Error initializing FreeType."
+msgstr ""
+
+#: scene/resources/dynamic_font.cpp
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Unknown font format."
+msgstr ""
+
+#: scene/resources/dynamic_font.cpp
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Error loading font."
+msgstr ""
+
+#: scene/resources/dynamic_font.cpp
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Invalid font size."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Disabled"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "All Selection"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Move Add Key"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Change Transition"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Change Transform"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Change Value"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Change Call"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Add Track"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Move Anim Track Up"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Move Anim Track Down"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Remove Anim Track"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Duplicate Keys"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Set Transitions to:"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Track Rename"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Track Change Interpolation"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Track Change Value Mode"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Edit Node Curve"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Edit Selection Curve"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Delete Keys"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Continuous"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Discrete"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Trigger"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Add Key"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Move Keys"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Scale Selection"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Scale From Cursor"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Duplicate Selection"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Duplicate Transposed"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Goto Next Step"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Goto Prev Step"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp tools/editor/property_editor.cpp
+msgid "Linear"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Constant"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "In"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Out"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "In-Out"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Out-In"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Transitions"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Optimize Animation"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Clean-Up Animation"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Create NEW track for %s and insert key?"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Create %d NEW tracks and insert keys?"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp tools/editor/create_dialog.cpp
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+#: tools/editor/plugins/particles_editor_plugin.cpp
+#: tools/editor/project_manager.cpp tools/editor/script_create_dialog.cpp
+msgid "Create"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Create & Insert"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Insert Track & Key"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Insert Key"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Change Anim Len"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Change Anim Loop"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Change Anim Loop Interpolation"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Create Typed Value Key"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Insert"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Scale Keys"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Add Call Track"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Animation zoom."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Length (s):"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Animation length (in seconds)."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Step (s):"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Cursor step snap (in seconds)."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Enable/Disable looping in animation."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Enable/Disable interpolation when looping animation."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Add new tracks."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Move current track up."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Move current track down."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Remove selected track."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Track tools"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Enable editing of individual keys by clicking them."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim. Optimizer"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Max. Linear Error:"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Max. Angular Error:"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Max Optimizable Angle:"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Optimize"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Key"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Transition"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Scale Ratio:"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Call Functions in Which Node?"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Remove invalid keys"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Remove unresolved and empty tracks"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Clean-up all animations"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Clean-Up Animation(s) (NO UNDO!)"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Clean-Up"
+msgstr ""
+
+#: tools/editor/array_property_edit.cpp
+msgid "Resize Array"
+msgstr ""
+
+#: tools/editor/array_property_edit.cpp
+msgid "Change Array Value Type"
+msgstr ""
+
+#: tools/editor/array_property_edit.cpp
+msgid "Change Array Value"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp tools/editor/create_dialog.cpp
+#: tools/editor/editor_help.cpp tools/editor/editor_node.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/quick_open.cpp
+#: tools/editor/settings_config_dialog.cpp
+msgid "Search:"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "Sort:"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "Reverse"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+#: tools/editor/project_settings.cpp
+msgid "Category:"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "All"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "Site:"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "Support.."
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "Official"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "Community"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "Testing"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "Assets ZIP File"
+msgstr ""
+
+#: tools/editor/call_dialog.cpp
+msgid "Method List For '%s':"
+msgstr ""
+
+#: tools/editor/call_dialog.cpp
+msgid "Call"
+msgstr ""
+
+#: tools/editor/call_dialog.cpp tools/editor/connections_dialog.cpp
+#: tools/editor/import_settings.cpp
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+#: tools/editor/project_settings.cpp tools/editor/property_editor.cpp
+#: tools/editor/run_settings_dialog.cpp tools/editor/settings_config_dialog.cpp
+msgid "Close"
+msgstr ""
+
+#: tools/editor/call_dialog.cpp
+msgid "Method List:"
+msgstr ""
+
+#: tools/editor/call_dialog.cpp
+msgid "Arguments:"
+msgstr ""
+
+#: tools/editor/call_dialog.cpp
+msgid "Return:"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Go to Line"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Line Number:"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "No Matches"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Replaced %d Ocurrence(s)."
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Replace"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Replace All"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Match Case"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Whole Words"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Selection Only"
+msgstr ""
+
+#: tools/editor/code_editor.cpp tools/editor/editor_help.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+#: tools/editor/project_settings.cpp
+msgid "Search"
+msgstr ""
+
+#: tools/editor/code_editor.cpp tools/editor/editor_help.cpp
+msgid "Find"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Next"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Replaced %d ocurrence(s)."
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Not found!"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Replace By"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Case Sensitive"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Backwards"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Prompt On Replace"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Skip"
+msgstr ""
+
+#: tools/editor/code_editor.cpp tools/editor/script_editor_debugger.cpp
+msgid "Line:"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Col:"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Method in target Node must be specified!"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Conect To Node:"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp
+#: tools/editor/plugins/item_list_editor_plugin.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+#: tools/editor/project_settings.cpp
+msgid "Add"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp tools/editor/dependency_editor.cpp
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+#: tools/editor/project_manager.cpp
+msgid "Remove"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Add Extra Call Argument:"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Extra Call Arguments:"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Path to Node:"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Make Function"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Deferred"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Oneshot"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Connect"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Connect '%s' to '%s'"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Connecting Signal:"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Create Subscription"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Connect.."
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Disconnect"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp tools/editor/node_dock.cpp
+msgid "Signals"
+msgstr ""
+
+#: tools/editor/create_dialog.cpp
+msgid "Create New"
+msgstr ""
+
+#: tools/editor/create_dialog.cpp tools/editor/editor_help.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/quick_open.cpp
+msgid "Matches:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Search Replacement For:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Dependencies For:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid ""
+"Scene '%s' is currently being edited.\n"
+"Changes will not take effect unless reloaded."
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid ""
+"Resource '%s' is in use.\n"
+"Changes will take effect when reloaded."
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Dependencies"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Resource"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp tools/editor/project_manager.cpp
+#: tools/editor/project_settings.cpp
+msgid "Path"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Dependencies:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Fix Broken"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Dependency Editor"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Search Replacement Resource:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Owners Of:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid ""
+"The files being removed are required by other resources in order for them to "
+"work.\n"
+"Remove them anyway? (no undo)"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Remove selected files from the project? (no undo)"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Error loading:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Scene failed to load due to missing dependencies:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Open Anyway"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Which action should be taken?"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Fix Dependencies"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Errors loading!"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Permanently delete %d item(s)? (No undo!)"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Owns"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Resources Without Explicit Ownership:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp
+msgid "Orphan Resource Explorer"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Delete selected files?"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp
+#: tools/editor/plugins/item_list_editor_plugin.cpp
+#: tools/editor/scenes_dock.cpp
+msgid "Delete"
+msgstr ""
+
+#: tools/editor/editor_data.cpp
+msgid "Updating Scene"
+msgstr ""
+
+#: tools/editor/editor_data.cpp
+msgid "Storing local changes.."
+msgstr ""
+
+#: tools/editor/editor_data.cpp
+msgid "Updating scene.."
+msgstr ""
+
+#: tools/editor/editor_dir_dialog.cpp
+msgid "Choose a Directory"
+msgstr ""
+
+#: tools/editor/editor_dir_dialog.cpp
+msgid "Choose"
+msgstr ""
+
+#: tools/editor/editor_file_dialog.cpp tools/editor/scenes_dock.cpp
+msgid "Favorites:"
+msgstr ""
+
+#: tools/editor/editor_file_dialog.cpp
+msgid "Recent:"
+msgstr ""
+
+#: tools/editor/editor_file_dialog.cpp
+msgid "Preview:"
+msgstr ""
+
+#: tools/editor/editor_file_system.cpp
+msgid "Cannot go into subdir:"
+msgstr ""
+
+#: tools/editor/editor_file_system.cpp
+msgid "ScanSources"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Search Classes"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Class List:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp tools/editor/property_editor.cpp
+msgid "Class:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp tools/editor/scene_tree_editor.cpp
+#: tools/editor/script_create_dialog.cpp
+msgid "Inherits:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Inherited by:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Brief Description:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Public Methods:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Members:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "GUI Theme Items:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Signals:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Constants:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp tools/editor/script_editor_debugger.cpp
+msgid "Description:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Method Description:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Search Text"
+msgstr ""
+
+#: tools/editor/editor_import_export.cpp
+msgid "Added:"
+msgstr ""
+
+#: tools/editor/editor_import_export.cpp
+msgid "Removed:"
+msgstr ""
+
+#: tools/editor/editor_import_export.cpp tools/editor/project_export.cpp
+msgid "Error saving atlas:"
+msgstr ""
+
+#: tools/editor/editor_import_export.cpp
+msgid "Could not save atlas subtexture:"
+msgstr ""
+
+#: tools/editor/editor_import_export.cpp
+msgid "Storing File:"
+msgstr ""
+
+#: tools/editor/editor_import_export.cpp
+msgid "Packing"
+msgstr ""
+
+#: tools/editor/editor_import_export.cpp
+msgid "Exporting for %s"
+msgstr ""
+
+#: tools/editor/editor_import_export.cpp
+msgid "Setting Up.."
+msgstr ""
+
+#: tools/editor/editor_log.cpp
+msgid " Output:"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp
+msgid "Re-Importing"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Importing:"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Node From Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/scenes_dock.cpp
+msgid "Re-Import.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/resources_dock.cpp
+msgid "Error saving resource!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/resources_dock.cpp
+msgid "Save Resource As.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp
+msgid "I see.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Can't open file for writing:"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Requested file format unknown:"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Error while saving."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Saving Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Analyzing"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Creating Thumbnail"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"Couldn't save scene. Likely dependencies (instances) couldn't be satisfied."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Failed to load resource."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Can't load MeshLibrary for merging!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Error saving MeshLibrary!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Can't load TileSet for merging!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Error saving TileSet!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Can't open export templates zip."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Loading Export Templates"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Error trying to save layout!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Default editor layout overridden."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Layout name not found!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Restored default layout to base settings."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Copy Params"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Paste Params"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Paste Resource"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Copy Resource"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Make Built-In"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Make Sub-Resources Unique"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Open in Help"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "There is no defined scene to run."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"No main scene has ever been defined.\n"
+"Select one from \"Project Settings\" under the 'application' category."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Current scene was never saved, please save it prior to running."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Could not start subprocess!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Open Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Open Base Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Quick Open Scene.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Quick Open Script.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Yes"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Close scene? (Unsaved changes will be lost)"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Save Scene As.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "This scene has never been saved. Save before running?"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Please save the scene first."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Save Translatable Strings"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Export Mesh Library"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Export Tile Set"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Quit"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Exit the editor?"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Current scene not saved. Open anyway?"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Can't reload a scene that was never saved."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Revert"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "This action cannot be undone. Revert anyway?"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Quick Run Scene.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"Open Project Manager? \n"
+"(Unsaved changes will be lost)"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp
+msgid "Ugh"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"Error loading scene, it must be inside the project path. Use 'Import' to "
+"open the scene, then save it inside the project path."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Error loading scene."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Scene '%s' has broken dependencies:"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Save Layout"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Load Layout"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/project_export.cpp
+msgid "Default"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Delete Layout"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Switch Scene Tab"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "%d more file(s)"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "%d more file(s) or folder(s)"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Go to previously opened scene."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Fullscreen Mode"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Distraction Free Mode"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Operations with scene files."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "New Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "New Inherited Scene.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Open Scene.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Save Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Close Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Close Goto Prev. Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Open Recent"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Quick Filter Files.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Convert To.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Translatable Strings.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "MeshLibrary.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "TileSet.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Redo"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Run Script"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Project Settings"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Revert Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Quit to Project List"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Import assets to the project."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+#: tools/editor/project_manager.cpp
+msgid "Import"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Miscellaneous project or scene-wide tools."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Tools"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Export the project to many platforms."
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/project_export.cpp
+msgid "Export"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Play the project."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Play"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Pause the scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Pause Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Stop the scene."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Stop"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Play the edited scene."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Play Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Play custom scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Debug options"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Deploy with Remote Debug"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"When exporting or deploying, the resulting executable will attempt to "
+"connect to the IP of this computer in order to be debugged."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Small Deploy with Network FS"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"When this option is enabled, export or deploy will produce a minimal "
+"executable.\n"
+"The filesystem will be provided from the project by the editor over the "
+"network.\n"
+"On Android, deploy will use the USB cable for faster performance. This "
+"option speeds up testing for games with a large footprint."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Visible Collision Shapes"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"Collision shapes and raycast nodes (for 2D and 3D) will be visible on the "
+"running game if this option is turned on."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Visible Navigation"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"Navigation meshes and polygons will be visible on the running game if this "
+"option is turned on."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Sync Scene Changes"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"When this option is turned on, any changes made to the scene in the editor "
+"will be replicated in the running game.\n"
+"When used remotely on a device, this is more efficient with network "
+"filesystem."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Sync Script Changes"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"When this option is turned on, any script that is saved will be reloaded on "
+"the running game.\n"
+"When used remotely on a device, this is more efficient with network "
+"filesystem."
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Settings"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/settings_config_dialog.cpp
+msgid "Editor Settings"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Editor Layout"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Install Export Templates"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "About"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Alerts when an external resource has changed."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Spins when the editor window repaints!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Update Always"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Update Changes"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Inspector"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Create a new resource in memory and edit it."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Load an existing resource from disk and edit it."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Save the currently edited resource."
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp
+msgid "Save As.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Go to the previous edited object in history."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Go to the next edited object in history."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "History of recently edited objects."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Object properties."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "FileSystem"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Output"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp
+#: tools/editor/import_settings.cpp
+msgid "Re-Import"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/editor_plugin_settings.cpp
+msgid "Update"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Thanks from the Godot community!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Thanks!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Import Templates From ZIP File"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/project_export.cpp
+msgid "Export Project"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Export Library"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Merge With Existing"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/project_export.cpp
+msgid "Password:"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Open & Run a Script"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Load Errors"
+msgstr ""
+
+#: tools/editor/editor_plugin_settings.cpp
+msgid "Installed Plugins:"
+msgstr ""
+
+#: tools/editor/editor_plugin_settings.cpp
+msgid "Version:"
+msgstr ""
+
+#: tools/editor/editor_plugin_settings.cpp
+msgid "Author:"
+msgstr ""
+
+#: tools/editor/editor_plugin_settings.cpp
+msgid "Status:"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Stop Profiling"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Start Profiling"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Measure:"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Frame Time (sec)"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Average Time (sec)"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Frame %"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Fixed Frame %"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp tools/editor/script_editor_debugger.cpp
+msgid "Time:"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Inclusive"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Self"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Frame #:"
+msgstr ""
+
+#: tools/editor/editor_reimport_dialog.cpp
+msgid "Please wait for scan to complete."
+msgstr ""
+
+#: tools/editor/editor_reimport_dialog.cpp
+msgid "Current scene must be saved to re-import."
+msgstr ""
+
+#: tools/editor/editor_reimport_dialog.cpp
+msgid "Save & Re-Import"
+msgstr ""
+
+#: tools/editor/editor_reimport_dialog.cpp
+msgid "Re-Import Changed Resources"
+msgstr ""
+
+#: tools/editor/editor_run_script.cpp
+msgid "Write your logic in the _run() method."
+msgstr ""
+
+#: tools/editor/editor_run_script.cpp
+msgid "There is an edited scene already."
+msgstr ""
+
+#: tools/editor/editor_run_script.cpp
+msgid "Couldn't instance script:"
+msgstr ""
+
+#: tools/editor/editor_run_script.cpp
+msgid "Did you forget the 'tool' keyword?"
+msgstr ""
+
+#: tools/editor/editor_run_script.cpp
+msgid "Couldn't run script:"
+msgstr ""
+
+#: tools/editor/editor_run_script.cpp
+msgid "Did you forget the '_run' method?"
+msgstr ""
+
+#: tools/editor/editor_settings.cpp
+msgid "Default (Same as Editor)"
+msgstr ""
+
+#: tools/editor/editor_sub_scene.cpp
+msgid "Select Node(s) to Import"
+msgstr ""
+
+#: tools/editor/editor_sub_scene.cpp
+msgid "Scene Path:"
+msgstr ""
+
+#: tools/editor/editor_sub_scene.cpp
+msgid "Import From Node:"
+msgstr ""
+
+#: tools/editor/file_type_cache.cpp
+msgid "Can't open file_type_cache.cch for writing, not saving file type cache!"
+msgstr ""
+
+#: tools/editor/groups_editor.cpp
+msgid "Add to Group"
+msgstr ""
+
+#: tools/editor/groups_editor.cpp
+msgid "Remove from Group"
+msgstr ""
+
+#: tools/editor/import_settings.cpp
+msgid "Imported Resources"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+msgid "No bit masks to import!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Target path is empty."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Target path must be a complete resource path."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Target path must exist."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+msgid "Save path is empty!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+msgid "Import BitMasks"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Source Texture(s):"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Target Path:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Accept"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+msgid "Bit Mask"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "No source font file!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "No target font resource!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Can't load/process source font."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Couldn't save font."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Source Font:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Source Font Size:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Dest Resource:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "The quick brown fox jumps over the lazy dog."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Test:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Options:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Font Import"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid ""
+"This file is already a Godot font file, please supply a BMFont type file "
+"instead."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Failed opening as BMFont file."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Invalid font custom source."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Font"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+msgid "No meshes to import!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+msgid "Single Mesh Import"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+msgid "Source Mesh(es):"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Mesh"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+msgid "Surface %d"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+msgid "No samples to import!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+msgid "Import Audio Samples"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+msgid "Source Sample(s):"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+msgid "Audio Sample"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "New Clip"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Animation Options"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Flags"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Bake FPS:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Optimizer"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Max Linear Error"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Max Angular Error"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Max Angle"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Clips"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp
+msgid "Name"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Start(s)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "End(s)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Loop"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Filters"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Source path is empty."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Couldn't load post-import script."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Invalid/broken script for post-import."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Error importing scene."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Import 3D Scene"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Source Scene:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Same as Target Scene"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Shared"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Target Texture Folder:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Post-Process Script:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Custom Root Node Type:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Auto"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "The Following Files are Missing:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Import Anyway"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Import & Open"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Edited scene has not been saved, open imported scene anyway?"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
+msgid "Import Scene"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Importing Scene.."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Running Custom Script.."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Couldn't load post-import script:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Invalid/broken script for post-import:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Error running post-import script:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Import Image:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Can't import a file over itself:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Couldn't localize path: %s (already local)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Saving.."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "3D Scene Animation"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Uncompressed"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Compress Lossless (PNG)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Compress Lossy (WebP)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Compress (VRAM)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Texture Format"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Texture Compression Quality (WebP):"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Texture Options"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Please specify some files!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "At least one file needed for Atlas."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Error importing:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Only one file is required for large texture."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Max Texture Size:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Import Textures for Atlas (2D)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Cell Size:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Large Texture"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Import Large Textures (2D)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Source Texture"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Base Atlas Texture"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Source Texture(s)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Import Textures for 2D"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Import Textures for 3D"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Import Textures"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "2D Texture"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "3D Texture"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Atlas Texture"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid ""
+"NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files to "
+"the project."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Crop empty space."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Texture"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Import Large Texture"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Load Source Image"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Slicing"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Inserting"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Saving"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Couldn't save large texture:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Build Atlas For:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Loading Image:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Couldn't load image:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Converting Images"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Cropping Images"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Blitting Images"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Couldn't save atlas image:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Couldn't save converted texture:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Invalid source!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Invalid translation source!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Column"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+#: tools/editor/script_create_dialog.cpp
+msgid "Language"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "No items to import!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "No target path!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Import Translations"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Couldn't import!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Import Translation"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Source CSV:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Ignore First Row"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Compress"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Add to Project (engine.cfg)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Import Languages:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Translation"
+msgstr ""
+
+#: tools/editor/multi_node_edit.cpp
+msgid "MultiNode Set"
+msgstr ""
+
+#: tools/editor/node_dock.cpp
+msgid "Node"
+msgstr ""
+
+#: tools/editor/node_dock.cpp
+msgid "Groups"
+msgstr ""
+
+#: tools/editor/node_dock.cpp
+msgid "Select a Node to edit Signals and Groups."
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Toggle Autoplay"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "New Animation Name:"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "New Anim"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Change Animation Name:"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Remove Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "ERROR: Invalid animation name!"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "ERROR: Animation name already exists!"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Add Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Blend Next Changed"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Change Blend Time"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Load Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Duplicate Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "ERROR: No animation to copy!"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "ERROR: No animation resource on clipboard!"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Pasted Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Paste Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "ERROR: No animation to edit!"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Play selected animation backwards from current pos. (A)"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Play selected animation backwards from end. (Shift+A)"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Stop animation playback. (S)"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Play selected animation from start. (Shift+D)"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Play selected animation from current pos. (D)"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Animation position (in seconds)."
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Scale animation playback globally for the node."
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create new animation in player."
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Load animation from disk."
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Load an animation from disk."
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Save the current animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Save As"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Display list of animations in player."
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Autoplay on Load"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Edit Target Blend Times"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Animation Tools"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Copy Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Animation Name:"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+#: tools/editor/property_editor.cpp tools/editor/script_create_dialog.cpp
+msgid "Error!"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Blend Times:"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Next (Auto Queue):"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Cross-Animation Blend Times"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "New name:"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Fade In (s):"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Fade Out (s):"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Blend"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Mix"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Auto Restart:"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Restart (s):"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Random Restart (s):"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Start!"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Amount:"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Blend:"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Blend 0:"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Blend 1:"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "X-Fade Time (s):"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Current:"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Add Input"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Clear Auto-Advance"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Set Auto-Advance"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Delete Input"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Rename"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Animation tree is valid."
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Animation tree is invalid."
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Animation Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "OneShot Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Mix Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Blend2 Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Blend3 Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Blend4 Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "TimeScale Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "TimeSeek Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Transition Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Import Animations.."
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Edit Node Filters"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Filters.."
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Parsing %d Triangles:"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Triangle #"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Light Baker Setup:"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Parsing Geometry"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Fixing Lights"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Making BVH"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Creating Light Octree"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Creating Octree Texture"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Transfer to Lightmaps:"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Allocating Texture #"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Baking Triangle #"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Post-Processing Texture #"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_editor_plugin.cpp
+msgid "BakedLightInstance does not contain a BakedLight resource."
+msgstr ""
+
+#: tools/editor/plugins/baked_light_editor_plugin.cpp
+msgid "Bake!"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_editor_plugin.cpp
+msgid "Reset the lightmap octree baking process (start over)."
+msgstr ""
+
+#: tools/editor/plugins/camera_editor_plugin.cpp
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Preview"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Configure Snap"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid "Grid Offset:"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid "Grid Step:"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Rotation Offset:"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Rotation Step:"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move Pivot"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move Action"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Edit IK Chain"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Edit CanvasItem"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Change Anchors"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom (%):"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Paste Pose"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Select Mode (Q)"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Drag: Rotate"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Alt+Drag: Move"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Alt+RMB: Depth list selection"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Move Mode (W)"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Rotate Mode (E)"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Show a list of all objects at the position clicked\n"
+"(same as Alt+RMB in select mode)."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Click to change object's rotation pivot."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Pan Mode"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Lock the selected object in place (can't be moved)."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Unlock the selected object (can be moved)."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Makes sure the object's children are not selectable."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Restores the object's children's ability to be selected."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+#: tools/editor/project_manager.cpp
+msgid "Edit"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Use Snap"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid "Show Grid"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Use Rotation Snap"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Snap Relative"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Configure Snap.."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Use Pixel Snap"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Expand to Parent"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Skeleton.."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Make Bones"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Clear Bones"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Make IK Chain"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Clear IK Chain"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom In"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom Out"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom Reset"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom Set.."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Center Selection"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Frame Selection"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Anchor"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Keys (Ins)"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key (Existing Tracks)"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Copy Pose"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Clear Pose"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Set a Value"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Snap (Pixels):"
+msgstr ""
+
+#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Create Poly"
+msgstr ""
+
+#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/collision_polygon_editor_plugin.cpp
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Edit Poly"
+msgstr ""
+
+#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/collision_polygon_editor_plugin.cpp
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Edit Poly (Remove Point)"
+msgstr ""
+
+#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+msgid "Create a new polygon from scratch."
+msgstr ""
+
+#: tools/editor/plugins/collision_polygon_editor_plugin.cpp
+msgid "Create Poly3D"
+msgstr ""
+
+#: tools/editor/plugins/collision_shape_2d_editor_plugin.cpp
+msgid "Set Handle"
+msgstr ""
+
+#: tools/editor/plugins/color_ramp_editor_plugin.cpp
+msgid "Add/Remove Color Ramp Point"
+msgstr ""
+
+#: tools/editor/plugins/color_ramp_editor_plugin.cpp
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Modify Color Ramp"
+msgstr ""
+
+#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
+msgid "Creating Mesh Library"
+msgstr ""
+
+#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
+msgid "Thumbnail.."
+msgstr ""
+
+#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr ""
+
+#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+msgid "Add Item"
+msgstr ""
+
+#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
+msgid "Remove Selected Item"
+msgstr ""
+
+#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
+msgid "Import from Scene"
+msgstr ""
+
+#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr ""
+
+#: tools/editor/plugins/item_list_editor_plugin.cpp
+msgid "Item %d"
+msgstr ""
+
+#: tools/editor/plugins/item_list_editor_plugin.cpp
+msgid "Items"
+msgstr ""
+
+#: tools/editor/plugins/item_list_editor_plugin.cpp
+msgid "Item List Editor"
+msgstr ""
+
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+msgid "Create Occluder Polygon"
+msgstr ""
+
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+msgid "Edit existing polygon:"
+msgstr ""
+
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+msgid "LMB: Move Point."
+msgstr ""
+
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+msgid "Ctrl+LMB: Split Segment."
+msgstr ""
+
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+msgid "RMB: Erase Point."
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Mesh is empty!"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Static Trimesh Body"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Static Convex Body"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "This doesn't work on scene root!"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Trimesh Shape"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Convex Shape"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Navigation Mesh"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "MeshInstance lacks a Mesh!"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Could not create outline!"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Outline"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Trimesh Static Body"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Convex Static Body"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Trimesh Collision Sibling"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Convex Collision Sibling"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Outline Mesh.."
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Outline Mesh"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Outline Size:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "No mesh source specified (and no MultiMesh set in node)."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "No mesh source specified (and MultiMesh contains no Mesh)."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Mesh source is invalid (invalid path)."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Mesh source is invalid (not a MeshInstance)."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Mesh source is invalid (contains no Mesh resource)."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "No surface source specified."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Surface source is invalid (invalid path)."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Surface source is invalid (no geometry)."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Surface source is invalid (no faces)."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Parent has no solid faces to populate."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Couldn't map area."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Select a Source Mesh:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Select a Target Surface:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Populate Surface"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Populate MultiMesh"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Target Surface:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Source Mesh:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "X-Axis"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Y-Axis"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Z-Axis"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Mesh Up Axis:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Random Rotation:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Random Tilt:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Random Scale:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Populate"
+msgstr ""
+
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+msgid "Create Navigation Polygon"
+msgstr ""
+
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+msgid "Remove Poly And Point"
+msgstr ""
+
+#: tools/editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Error loading image:"
+msgstr ""
+
+#: tools/editor/plugins/particles_2d_editor_plugin.cpp
+msgid "No pixels with transparency > 128 in image.."
+msgstr ""
+
+#: tools/editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Set Emission Mask"
+msgstr ""
+
+#: tools/editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Clear Emission Mask"
+msgstr ""
+
+#: tools/editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Load Emission Mask"
+msgstr ""
+
+#: tools/editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Generated Point Count:"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Node does not contain geometry."
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Node does not contain geometry (faces)."
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Faces contain no area!"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "No faces!"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Generate AABB"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emitter From Mesh"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emitter From Node"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Clear Emitter"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emitter"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Emission Positions:"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Emission Fill:"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Surface"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Volume"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+msgid "Remove Point from Curve"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Add Point to Curve"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+msgid "Move Point in Curve"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+msgid "Move In-Control in Curve"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+msgid "Move Out-Control in Curve"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Select Points"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Shift+Drag: Select Control Points"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Click: Add Point"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Right Click: Delete Point"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+msgid "Select Control Points (Shift+Drag)"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Add Point (in empty space)"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Split Segment (in curve)"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Delete Point"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Close Curve"
+msgstr ""
+
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Curve Point #"
+msgstr ""
+
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Set Curve Point Pos"
+msgstr ""
+
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Set Curve In Pos"
+msgstr ""
+
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Set Curve Out Pos"
+msgstr ""
+
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Split Path"
+msgstr ""
+
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Remove Path Point"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Create UV Map"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Transform UV Map"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Polygon 2D UV Editor"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Move Point"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Ctrl: Rotate"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Shift: Move All"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Shift+Ctrl: Scale"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Move Polygon"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Rotate Polygon"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Scale Polygon"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Polygon->UV"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV->Polygon"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Clear UV"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid "Snap"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid "Enable Snap"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid "Grid"
+msgstr ""
+
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "ERROR: Couldn't load resource!"
+msgstr ""
+
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Add Resource"
+msgstr ""
+
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Rename Resource"
+msgstr ""
+
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Delete Resource"
+msgstr ""
+
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Resource clipboard is empty!"
+msgstr ""
+
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Load Resource"
+msgstr ""
+
+#: tools/editor/plugins/rich_text_editor_plugin.cpp
+msgid "Parse BBCode"
+msgstr ""
+
+#: tools/editor/plugins/sample_editor_plugin.cpp
+msgid "Length:"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Open Sample File(s)"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "ERROR: Couldn't load sample!"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Add Sample"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Rename Sample"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Delete Sample"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "16 Bits"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "8 Bits"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Stereo"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Mono"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "Format"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Pitch"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Error while saving theme"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Error saving"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Error importing theme"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Error importing"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Import Theme"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Save Theme As.."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/project_export.cpp
+msgid "File"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/property_editor.cpp
+msgid "New"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Save All"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "History Prev"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "History Next"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Reload Theme"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Save Theme"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Save Theme As"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/scene_tree_dock.cpp
+msgid "Move Up"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/scene_tree_dock.cpp
+msgid "Move Down"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Indent Left"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Indent Right"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Toggle Comment"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Clone Down"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Complete Symbol"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Trim Trailing Whitespace"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Auto Indent"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Soft Reload Script"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Find.."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Find Next"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Find Previous"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Replace.."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Goto Function.."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Goto Line.."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Debug"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Toggle Breakpoint"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Remove All Breakpoints"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Goto Next Breakpoint"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Goto Previous Breakpoint"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "Step Over"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "Step Into"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "Break"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "Continue"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Keep Debugger Open"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Window"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Move Left"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Move Right"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Help"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Contextual Help"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Tutorials"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Open https://godotengine.org at tutorials section."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Classes"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Search the class hierarchy."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Search Help"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Search the reference documentation."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Go to previous edited document."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Go to next edited document."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid ""
+"The following files are newer on disk.\n"
+"What action should be taken?:"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Reload"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Resave"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "Debugger"
+msgstr ""
+
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Vertex"
+msgstr ""
+
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Fragment"
+msgstr ""
+
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Lighting"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Scalar Constant"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Vec Constant"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change RGB Constant"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Scalar Operator"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Vec Operator"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Vec Scalar Operator"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change RGB Operator"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Toggle Rot Only"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Scalar Function"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Vec Function"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Scalar Uniform"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Vec Uniform"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change RGB Uniform"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Default Value"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change XForm Uniform"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Texture Uniform"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Cubemap Uniform"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Comment"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Add/Remove to Color Ramp"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Add/Remove to Curve Map"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Modify Curve Map"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Input Name"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Connect Graph Nodes"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Disconnect Graph Nodes"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Remove Shader Graph Node"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Move Shader Graph Node"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Duplicate Graph Node(s)"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Delete Shader Graph Node(s)"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Error: Cyclic Connection Link"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Error: Missing Input Connections"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Add Shader Graph Node"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Orthogonal"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Perspective"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Transform Aborted."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "X-Axis Transform."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Y-Axis Transform."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Z-Axis Transform."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View Plane Transform."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Scaling to %s%%."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Rotating %s degrees."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Bottom View."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Bottom"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Top View."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Top"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Rear View."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Rear"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Front View."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Front"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Left View."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Left"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Right View."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Right"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Keying is disabled (no key inserted)."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Animation Key Inserted."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Align with view"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Top (Num7)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Bottom (Shift+Num7)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Left (Num3)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Right (Shift+Num3)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Front (Num1)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Rear (Shift+Num1)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Perspective (Num5)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Orthogonal (Num5)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Environment"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Audio Listener"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Gizmos"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Selection (F)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Align with view (Ctrl+Shift+F)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "XForm Dialog"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "No scene selected to instance!"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Instance at Cursor"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Could not instance scene!"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Scale Mode (R)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Transform"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Local Coords"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Transform Dialog.."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Use Default Light"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Use Default sRGB"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "1 Viewport"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "2 Viewports"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "2 Viewports (Alt)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "3 Viewports"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "3 Viewports (Alt)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "4 Viewports"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Display Normal"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Display Wireframe"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Display Overdraw"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Display Shadeless"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View Origin"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View Grid"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap Settings"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Translate Snap:"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Rotate Snap (deg.):"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Scale Snap (%):"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Viewport Settings"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Default Light Normal:"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Ambient Light Color:"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Perspective FOV (deg.):"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View Z-Near:"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View Z-Far:"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Transform Change"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Translate:"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Rotate (deg.):"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Scale (ratio):"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Transform Type"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Pre"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Post"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "ERROR: Couldn't load frame resource!"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Add Frame"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Resource clipboard is empty or not a texture!"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Paste Frame"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Add Empty"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Change Animation Loop"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Change Animation FPS"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "(empty)"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Animations"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Speed (FPS):"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Animation Frames"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Insert Empty (Before)"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Insert Empty (After)"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Up"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Down"
+msgstr ""
+
+#: tools/editor/plugins/style_box_editor_plugin.cpp
+msgid "StyleBox Preview:"
+msgstr ""
+
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid "Texture Region Editor"
+msgstr ""
+
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid "Scale Region Editor"
+msgstr ""
+
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid ""
+"No texture in this node.\n"
+"Set a texture to be able to edit region."
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Can't save theme to file:"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Add All Items"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Add All"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Add Class Items"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Class Items"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Create Empty Template"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Create Empty Editor Template"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "CheckBox Radio1"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "CheckBox Radio2"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Item"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Check Item"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Checked Item"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Has"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Many"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp tools/editor/project_export.cpp
+msgid "Options"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Have,Many,Several,Options!"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Tab 1"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Tab 2"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Tab 3"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+#: tools/editor/project_settings.cpp tools/editor/scene_tree_editor.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "Type:"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Data Type:"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Icon"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Style"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Color"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Paint TileMap"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+#: tools/editor/scene_tree_dock.cpp
+msgid "Duplicate"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Erase TileMap"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Erase selection"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Find tile"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Transpose"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Mirror X"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Mirror Y"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Bucket"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Pick Tile"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Select"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Rotate 0 degrees"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Rotate 90 degrees"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Rotate 180 degrees"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Rotate 270 degrees"
+msgstr ""
+
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+msgid "Could not find tile:"
+msgstr ""
+
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+msgid "Item name or ID:"
+msgstr ""
+
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create from scene?"
+msgstr ""
+
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+msgid "Merge from scene?"
+msgstr ""
+
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create from Scene"
+msgstr ""
+
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+msgid "Merge from Scene"
+msgstr ""
+
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "Error"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Edit Script Options"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Please export outside the project folder!"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Error exporting project!"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Error writing the project PCK!"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "No exporter for platform '%s' yet."
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Include"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Change Image Group"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Group name can't be empty!"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Invalid character in group name!"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Group name already exists!"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Add Image Group"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Delete Image Group"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Atlas Preview"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Project Export Settings"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Target"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export to Platform"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Resources"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export selected resources (including dependencies)."
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export all resources in the project."
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export all files in the project directory."
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export Mode:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Resources to Export:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Action"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid ""
+"Filters to export non-resource files (comma-separated, e.g.: *.json, *.txt):"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Filters to exclude from export (comma-separated, e.g.: *.json, *.txt):"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Convert text scenes to binary on export."
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Images"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Keep Original"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compress for Disk (Lossy, WebP)"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compress for RAM (BC/PVRTC/ETC)"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Convert Images (*.png):"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compress for Disk (Lossy) Quality:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Shrink All Images:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compress Formats:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Image Groups"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Groups:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compress Disk"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compress RAM"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compress Mode:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Lossy Quality:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Atlas:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Shrink By:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Preview Atlas"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Image Filter:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Images:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Select None"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Group"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Samples"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Sample Conversion Mode: (.wav files):"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Keep"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compress (RAM - IMA-ADPCM)"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Sampling Rate Limit (Hz):"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Trim"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Trailing Silence:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Script"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Script Export Mode:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Text"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compiled"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Encrypted (Provide Key Below)"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Script Encryption Key (256-bits as hex):"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export PCK/Zip"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export Project PCK"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export.."
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Project Export"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export Preset:"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Invalid project path, the path must exist!"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Invalid project path, engine.cfg must not exist."
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Invalid project path, engine.cfg must exist."
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Imported Project"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Invalid project path (changed anything?)."
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Couldn't create engine.cfg in project path."
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Import Existing Project"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Project Path (Must Exist):"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Project Name:"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Create New Project"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Project Path:"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Browse"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "New Game Project"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "That's a BINGO!"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Unnamed Project"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Are you sure to open more than one projects?"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Are you sure to run more than one projects?"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Remove project from the list? (Folder contents will not be modified)"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Project Manager"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Project List"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Run"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Scan"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "New Project"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Exit"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Key "
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Joy Button"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Joy Axis"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Mouse Button"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Invalid action (anything goes but '/' or ':')."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Action '%s' already exists!"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Rename Input Action Event"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Add Input Action Event"
+msgstr ""
+
+#: tools/editor/project_settings.cpp tools/editor/settings_config_dialog.cpp
+msgid "Control+"
+msgstr ""
+
+#: tools/editor/project_settings.cpp tools/editor/settings_config_dialog.cpp
+msgid "Press a Key.."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Mouse Button Index:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Left Button"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Right Button"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Middle Button"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Wheel Up Button"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Wheel Down Button"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Button 6"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Button 7"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Button 8"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Button 9"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Joystick Axis Index:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Joystick Button Index:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Add Input Action"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Erase Input Action Event"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Toggle Persisting"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Error saving settings."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Settings saved OK."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Add Translation"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Invalid name."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Valid characters:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Invalid name. Must not collide with an existing engine class name."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Invalid name. Must not collide with an existing buit-in type name."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Invalid name. Must not collide with an existing global constant name."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Autoload '%s' already exists!"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Rename Autoload"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Toggle AutoLoad Globals"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Add Autoload"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Remove Autoload"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Move Autoload"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Remove Translation"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Add Remapped Path"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Resource Remap Add Remap"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Change Resource Remap Language"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Remove Resource Remap"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Remove Resource Remap Option"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Enable"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Project Settings (engine.cfg)"
+msgstr ""
+
+#: tools/editor/project_settings.cpp tools/editor/settings_config_dialog.cpp
+msgid "General"
+msgstr ""
+
+#: tools/editor/project_settings.cpp tools/editor/property_editor.cpp
+msgid "Property:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Del"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Copy To Platform.."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Input Map"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Action:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Device:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Index:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Localization"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Translations"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Translations:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Add.."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Remaps"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Resources:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Remaps by Locale:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Locale"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "AutoLoad"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Node Name:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "List:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Singleton"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Plugins"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Preset.."
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Ease In"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Ease Out"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Zero"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Easing In-Out"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Easing Out-In"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "File.."
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Dir.."
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Load"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Assign"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Error loading file: Not a resource!"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Couldn't load image"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Bit %d, val %d."
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "On"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Set"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Properties:"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Global"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Sections:"
+msgstr ""
+
+#: tools/editor/pvrtc_compress.cpp
+msgid "Could not execute PVRTC tool:"
+msgstr ""
+
+#: tools/editor/pvrtc_compress.cpp
+msgid "Can't load back converted image using PVRTC tool:"
+msgstr ""
+
+#: tools/editor/reparent_dialog.cpp tools/editor/scene_tree_dock.cpp
+msgid "Reparent Node"
+msgstr ""
+
+#: tools/editor/reparent_dialog.cpp
+msgid "Reparent Location (Select new Parent):"
+msgstr ""
+
+#: tools/editor/reparent_dialog.cpp
+msgid "Keep Global Transform"
+msgstr ""
+
+#: tools/editor/reparent_dialog.cpp tools/editor/scene_tree_dock.cpp
+msgid "Reparent"
+msgstr ""
+
+#: tools/editor/resources_dock.cpp
+msgid "Create New Resource"
+msgstr ""
+
+#: tools/editor/resources_dock.cpp
+msgid "Open Resource"
+msgstr ""
+
+#: tools/editor/resources_dock.cpp
+msgid "Save Resource"
+msgstr ""
+
+#: tools/editor/resources_dock.cpp
+msgid "Resource Tools"
+msgstr ""
+
+#: tools/editor/resources_dock.cpp
+msgid "Make Local"
+msgstr ""
+
+#: tools/editor/run_settings_dialog.cpp
+msgid "Run Mode:"
+msgstr ""
+
+#: tools/editor/run_settings_dialog.cpp
+msgid "Current Scene"
+msgstr ""
+
+#: tools/editor/run_settings_dialog.cpp
+msgid "Main Scene"
+msgstr ""
+
+#: tools/editor/run_settings_dialog.cpp
+msgid "Main Scene Arguments:"
+msgstr ""
+
+#: tools/editor/run_settings_dialog.cpp
+msgid "Scene Run Settings"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "OK :("
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "No parent to instance a child at."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Error loading scene from %s"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Error instancing scene from %s"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid ""
+"Cannot instance the scene '%s' because the current scene exists within one "
+"of its nodes."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Instance Scene(s)"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "This operation can't be done on the tree root."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Move Node In Parent"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Move Nodes In Parent"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Duplicate Node(s)"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Delete Node(s)?"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "This operation can't be done without a scene."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "This operation requires a single selected node."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "This operation can't be done on instanced scenes."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Save New Scene As.."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Makes Sense!"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Can't operate on nodes from a foreign scene!"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Can't operate on nodes the current scene inherits from!"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Remove Node(s)"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Create Node"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid ""
+"Couldn't save new scene. Likely dependencies (instances) couldn't be "
+"satisfied."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Error saving scene."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Error duplicating scene to save it."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "New Scene Root"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Inherit Scene"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Add Child Node"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Instance Child Scene"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Change Type"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Edit Groups"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Edit Connections"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Add Script"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Merge From Scene"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Save Branch as Scene"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Delete Node(s)"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Add/Create a New Node"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid ""
+"Instance a scene file as a Node. Creates an inherited scene if no root node "
+"exists."
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid ""
+"This item cannot be made visible because the parent is hidden. Unhide the "
+"parent first."
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Toggle Spatial Visible"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Toggle CanvasItem Visible"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Instance:"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Invalid node name, the following characters are not allowed:"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Rename Node"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Scene Tree (Nodes):"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Editable Children"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Load As Placeholder"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Discard Instancing"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Open in Editor"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Clear Inheritance"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Clear Inheritance? (No Undo!)"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Clear!"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Select a Node"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Same source and destination files, doing nothing."
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Same source and destination paths, doing nothing."
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Can't move directories to within themselves."
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Can't operate on '..'"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Pick New Name and Location For:"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "No files selected!"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Instance"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Edit Dependencies.."
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "View Owners.."
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Copy Path"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Rename or Move.."
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Move To.."
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Info"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Show In File Manager"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Previous Directory"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Next Directory"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Re-Scan Filesystem"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Toggle folder status as Favorite"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Instance the selected scene(s) as child of the selected node."
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Move"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Invalid parent class name"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Valid chars:"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Invalid class name"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Valid name"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "N/A"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Class name is invalid!"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Parent class name is invalid!"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Invalid path!"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Could not create script in filesystem."
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Path is empty"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Path is not local"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Invalid base path"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "File exists"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Invalid extension"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Valid path"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Class Name:"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Built-In Script"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Create Node Script"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Bytes:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Warning"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Error:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Source:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Function:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Errors"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Child Process Connected"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Inspect Previous Instance"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Inspect Next Instance"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Stack Frames"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Variable"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Errors:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Stack Trace (if applicable):"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Remote Inspector"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Live Scene Tree:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Remote Object Properties: "
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Profiler"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Monitor"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Value"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Monitors"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "List of Video Memory Usage by Resource:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Total:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Video Mem"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Resource Path"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Type"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Usage"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Misc"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Clicked Control:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Clicked Control Type:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Live Edit Root:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Set From Tree"
+msgstr ""
+
+#: tools/editor/settings_config_dialog.cpp
+msgid "Shortcuts"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Light Radius"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Camera FOV"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Camera Size"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Sphere Shape Radius"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Box Shape Extents"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Capsule Shape Radius"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Capsule Shape Height"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Ray Shape Length"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Notifier Extents"
+msgstr ""
diff --git a/tools/translations/cs.po b/tools/translations/cs.po
new file mode 100644
index 0000000000..8a1e596942
--- /dev/null
+++ b/tools/translations/cs.po
@@ -0,0 +1,6093 @@
+# Czech translation of the Godot Engine editor
+# Copyright (C) 2016 Juan Linietsky, Ariel Manzur and the Godot community
+# This file is distributed under the same license as the Godot source code.
+#
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Godot Engine editor\n"
+"Language: cs\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8-bit\n"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid type argument to convert(), use TYPE_* constants."
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not enough bytes for decoding bytes, or invalid format."
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "step argument is zero!"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not a script with an instance"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not based on a script"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not based on a resource file"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (missing @path)"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (can't load script at @path)"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (invalid script at @path)"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary (invalid subclasses)"
+msgstr ""
+
+#: scene/2d/animated_sprite.cpp
+msgid ""
+"A SpriteFrames resource must be created or set in the 'Frames' property in "
+"order for AnimatedSprite to display frames."
+msgstr ""
+
+#: scene/2d/canvas_modulate.cpp
+msgid ""
+"Only one visible CanvasModulate is allowed per scene (or set of instanced "
+"scenes). The first created one will work, while the rest will be ignored."
+msgstr ""
+
+#: scene/2d/collision_polygon_2d.cpp
+msgid ""
+"CollisionPolygon2D only serves to provide a collision shape to a "
+"CollisionObject2D derived node. Please only use it as a child of Area2D, "
+"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape."
+msgstr ""
+
+#: scene/2d/collision_polygon_2d.cpp
+msgid "An empty CollisionPolygon2D has no effect on collision."
+msgstr ""
+
+#: scene/2d/collision_shape_2d.cpp
+msgid ""
+"CollisionShape2D only serves to provide a collision shape to a "
+"CollisionObject2D derived node. Please only use it as a child of Area2D, "
+"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape."
+msgstr ""
+
+#: scene/2d/collision_shape_2d.cpp
+msgid ""
+"A shape must be provided for CollisionShape2D to function. Please create a "
+"shape resource for it!"
+msgstr ""
+
+#: scene/2d/light_2d.cpp
+msgid ""
+"A texture with the shape of the light must be supplied to the 'texture' "
+"property."
+msgstr ""
+
+#: scene/2d/light_occluder_2d.cpp
+msgid ""
+"An occluder polygon must be set (or drawn) for this occluder to take effect."
+msgstr ""
+
+#: scene/2d/light_occluder_2d.cpp
+msgid "The occluder polygon for this occluder is empty. Please draw a polygon!"
+msgstr ""
+
+#: scene/2d/navigation_polygon.cpp
+msgid ""
+"A NavigationPolygon resource must be set or created for this node to work. "
+"Please set a property or draw a polygon."
+msgstr ""
+
+#: scene/2d/navigation_polygon.cpp
+msgid ""
+"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
+"node. It only provides navigation data."
+msgstr ""
+
+#: scene/2d/parallax_layer.cpp
+msgid ""
+"ParallaxLayer node only works when set as child of a ParallaxBackground node."
+msgstr ""
+
+#: scene/2d/particles_2d.cpp
+msgid "Path property must point to a valid Particles2D node to work."
+msgstr ""
+
+#: scene/2d/path_2d.cpp
+msgid "PathFollow2D only works when set as a child of a Path2D node."
+msgstr ""
+
+#: scene/2d/remote_transform_2d.cpp
+msgid "Path property must point to a valid Node2D node to work."
+msgstr ""
+
+#: scene/2d/sample_player_2d.cpp scene/audio/sample_player.cpp
+msgid ""
+"A SampleLibrary resource must be created or set in the 'samples' property in "
+"order for SamplePlayer to play sound."
+msgstr ""
+
+#: scene/2d/sprite.cpp
+msgid ""
+"Path property must point to a valid Viewport node to work. Such Viewport "
+"must be set to 'render target' mode."
+msgstr ""
+
+#: scene/2d/sprite.cpp
+msgid ""
+"The Viewport set in the path property must be set as 'render target' in "
+"order for this sprite to work."
+msgstr ""
+
+#: scene/2d/visibility_notifier_2d.cpp
+msgid ""
+"VisibilityEnable2D works best when used with the edited scene root directly "
+"as parent."
+msgstr ""
+
+#: scene/3d/body_shape.cpp
+msgid ""
+"CollisionShape only serves to provide a collision shape to a CollisionObject "
+"derived node. Please only use it as a child of Area, StaticBody, RigidBody, "
+"KinematicBody, etc. to give them a shape."
+msgstr ""
+
+#: scene/3d/body_shape.cpp
+msgid ""
+"A shape must be provided for CollisionShape to function. Please create a "
+"shape resource for it!"
+msgstr ""
+
+#: scene/3d/collision_polygon.cpp
+msgid ""
+"CollisionPolygon only serves to provide a collision shape to a "
+"CollisionObject derived node. Please only use it as a child of Area, "
+"StaticBody, RigidBody, KinematicBody, etc. to give them a shape."
+msgstr ""
+
+#: scene/3d/collision_polygon.cpp
+msgid "An empty CollisionPolygon has no effect on collision."
+msgstr ""
+
+#: scene/3d/navigation_mesh.cpp
+msgid "A NavigationMesh resource must be set or created for this node to work."
+msgstr ""
+
+#: scene/3d/navigation_mesh.cpp
+msgid ""
+"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
+"It only provides navigation data."
+msgstr ""
+
+#: scene/3d/scenario_fx.cpp
+msgid ""
+"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)."
+msgstr ""
+
+#: scene/3d/spatial_sample_player.cpp
+msgid ""
+"A SampleLibrary resource must be created or set in the 'samples' property in "
+"order for SpatialSamplePlayer to play sound."
+msgstr ""
+
+#: scene/3d/sprite_3d.cpp
+msgid ""
+"A SpriteFrames resource must be created or set in the 'Frames' property in "
+"order for AnimatedSprite3D to display frames."
+msgstr ""
+
+#: scene/gui/dialogs.cpp tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Cancel"
+msgstr ""
+
+#: scene/gui/dialogs.cpp
+msgid "OK"
+msgstr ""
+
+#: scene/gui/dialogs.cpp
+msgid "Alert!"
+msgstr ""
+
+#: scene/gui/dialogs.cpp
+msgid "Please Confirm..."
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+msgid "File Exists, Overwrite?"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+msgid "All Recognized"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+msgid "All Files (*)"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+#: tools/editor/editor_help.cpp tools/editor/editor_node.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/quick_open.cpp
+#: tools/editor/scenes_dock.cpp
+msgid "Open"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp
+msgid "Open a File"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp
+msgid "Open File(s)"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp
+msgid "Open a Directory"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp
+msgid "Open a File or Directory"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+#: tools/editor/editor_node.cpp
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Save"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+msgid "Save a File"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_dir_dialog.cpp
+#: tools/editor/editor_file_dialog.cpp
+msgid "Create Folder"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+#: tools/editor/project_settings.cpp tools/editor/script_create_dialog.cpp
+msgid "Path:"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+msgid "Directories & Files:"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "File:"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+msgid "Filter:"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_dir_dialog.cpp
+#: tools/editor/editor_file_dialog.cpp tools/editor/editor_plugin_settings.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Name:"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_dir_dialog.cpp
+#: tools/editor/editor_file_dialog.cpp
+msgid "Could not create folder."
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+msgid "Must use a valid extension."
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+#: tools/editor/settings_config_dialog.cpp
+msgid "Shift+"
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+#: tools/editor/settings_config_dialog.cpp
+msgid "Alt+"
+msgstr ""
+
+#: scene/gui/input_action.cpp
+msgid "Ctrl+"
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+#: tools/editor/settings_config_dialog.cpp
+msgid "Meta+"
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+msgid "Device"
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+msgid "Button"
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+msgid "Left Button."
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+msgid "Right Button."
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+msgid "Middle Button."
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+msgid "Wheel Up."
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+msgid "Wheel Down."
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+msgid "Axis"
+msgstr ""
+
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Cut"
+msgstr ""
+
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+#: tools/editor/property_editor.cpp tools/editor/resources_dock.cpp
+msgid "Copy"
+msgstr ""
+
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+#: tools/editor/property_editor.cpp tools/editor/resources_dock.cpp
+msgid "Paste"
+msgstr ""
+
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+#: tools/editor/project_export.cpp
+msgid "Select All"
+msgstr ""
+
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp tools/editor/editor_log.cpp
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+#: tools/editor/plugins/rich_text_editor_plugin.cpp
+#: tools/editor/property_editor.cpp tools/editor/script_editor_debugger.cpp
+msgid "Clear"
+msgstr ""
+
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp tools/editor/editor_node.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Undo"
+msgstr ""
+
+#: scene/gui/popup.cpp
+msgid ""
+"Popups will hide by default unless you call popup() or any of the popup*() "
+"functions. Making them visible for editing is fine though, but they will "
+"hide upon running."
+msgstr ""
+
+#: scene/main/viewport.cpp
+msgid ""
+"This viewport is not set as render target. If you intend for it to display "
+"its contents directly to the screen, make it a child of a Control so it can "
+"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
+"texture to some node for display."
+msgstr ""
+
+#: scene/resources/dynamic_font.cpp
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Error initializing FreeType."
+msgstr ""
+
+#: scene/resources/dynamic_font.cpp
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Unknown font format."
+msgstr ""
+
+#: scene/resources/dynamic_font.cpp
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Error loading font."
+msgstr ""
+
+#: scene/resources/dynamic_font.cpp
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Invalid font size."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Disabled"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "All Selection"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Move Add Key"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Change Transition"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Change Transform"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Change Value"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Change Call"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Add Track"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Move Anim Track Up"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Move Anim Track Down"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Remove Anim Track"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Duplicate Keys"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Set Transitions to:"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Track Rename"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Track Change Interpolation"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Track Change Value Mode"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Edit Node Curve"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Edit Selection Curve"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Delete Keys"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Continuous"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Discrete"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Trigger"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Add Key"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Move Keys"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Scale Selection"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Scale From Cursor"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Duplicate Selection"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Duplicate Transposed"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Goto Next Step"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Goto Prev Step"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp tools/editor/property_editor.cpp
+msgid "Linear"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Constant"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "In"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Out"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "In-Out"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Out-In"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Transitions"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Optimize Animation"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Clean-Up Animation"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Create NEW track for %s and insert key?"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Create %d NEW tracks and insert keys?"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp tools/editor/create_dialog.cpp
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+#: tools/editor/plugins/particles_editor_plugin.cpp
+#: tools/editor/project_manager.cpp tools/editor/script_create_dialog.cpp
+msgid "Create"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Create & Insert"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Insert Track & Key"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Insert Key"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Change Anim Len"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Change Anim Loop"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Change Anim Loop Interpolation"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Create Typed Value Key"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Insert"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Scale Keys"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Add Call Track"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Animation zoom."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Length (s):"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Animation length (in seconds)."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Step (s):"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Cursor step snap (in seconds)."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Enable/Disable looping in animation."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Enable/Disable interpolation when looping animation."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Add new tracks."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Move current track up."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Move current track down."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Remove selected track."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Track tools"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Enable editing of individual keys by clicking them."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim. Optimizer"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Max. Linear Error:"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Max. Angular Error:"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Max Optimizable Angle:"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Optimize"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Key"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Transition"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Scale Ratio:"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Call Functions in Which Node?"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Remove invalid keys"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Remove unresolved and empty tracks"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Clean-up all animations"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Clean-Up Animation(s) (NO UNDO!)"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Clean-Up"
+msgstr ""
+
+#: tools/editor/array_property_edit.cpp
+msgid "Resize Array"
+msgstr ""
+
+#: tools/editor/array_property_edit.cpp
+msgid "Change Array Value Type"
+msgstr ""
+
+#: tools/editor/array_property_edit.cpp
+msgid "Change Array Value"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp tools/editor/create_dialog.cpp
+#: tools/editor/editor_help.cpp tools/editor/editor_node.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/quick_open.cpp
+#: tools/editor/settings_config_dialog.cpp
+msgid "Search:"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "Sort:"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "Reverse"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+#: tools/editor/project_settings.cpp
+msgid "Category:"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "All"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "Site:"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "Support.."
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "Official"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "Community"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "Testing"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "Assets ZIP File"
+msgstr ""
+
+#: tools/editor/call_dialog.cpp
+msgid "Method List For '%s':"
+msgstr ""
+
+#: tools/editor/call_dialog.cpp
+msgid "Call"
+msgstr ""
+
+#: tools/editor/call_dialog.cpp tools/editor/connections_dialog.cpp
+#: tools/editor/import_settings.cpp
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+#: tools/editor/project_settings.cpp tools/editor/property_editor.cpp
+#: tools/editor/run_settings_dialog.cpp tools/editor/settings_config_dialog.cpp
+msgid "Close"
+msgstr ""
+
+#: tools/editor/call_dialog.cpp
+msgid "Method List:"
+msgstr ""
+
+#: tools/editor/call_dialog.cpp
+msgid "Arguments:"
+msgstr ""
+
+#: tools/editor/call_dialog.cpp
+msgid "Return:"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Go to Line"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Line Number:"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "No Matches"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Replaced %d Ocurrence(s)."
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Replace"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Replace All"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Match Case"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Whole Words"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Selection Only"
+msgstr ""
+
+#: tools/editor/code_editor.cpp tools/editor/editor_help.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+#: tools/editor/project_settings.cpp
+msgid "Search"
+msgstr ""
+
+#: tools/editor/code_editor.cpp tools/editor/editor_help.cpp
+msgid "Find"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Next"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Replaced %d ocurrence(s)."
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Not found!"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Replace By"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Case Sensitive"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Backwards"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Prompt On Replace"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Skip"
+msgstr ""
+
+#: tools/editor/code_editor.cpp tools/editor/script_editor_debugger.cpp
+msgid "Line:"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Col:"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Method in target Node must be specified!"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Conect To Node:"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp
+#: tools/editor/plugins/item_list_editor_plugin.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+#: tools/editor/project_settings.cpp
+msgid "Add"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp tools/editor/dependency_editor.cpp
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+#: tools/editor/project_manager.cpp
+msgid "Remove"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Add Extra Call Argument:"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Extra Call Arguments:"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Path to Node:"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Make Function"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Deferred"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Oneshot"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Connect"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Connect '%s' to '%s'"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Connecting Signal:"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Create Subscription"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Connect.."
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Disconnect"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp tools/editor/node_dock.cpp
+msgid "Signals"
+msgstr ""
+
+#: tools/editor/create_dialog.cpp
+msgid "Create New"
+msgstr ""
+
+#: tools/editor/create_dialog.cpp tools/editor/editor_help.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/quick_open.cpp
+msgid "Matches:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Search Replacement For:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Dependencies For:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid ""
+"Scene '%s' is currently being edited.\n"
+"Changes will not take effect unless reloaded."
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid ""
+"Resource '%s' is in use.\n"
+"Changes will take effect when reloaded."
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Dependencies"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Resource"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp tools/editor/project_manager.cpp
+#: tools/editor/project_settings.cpp
+msgid "Path"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Dependencies:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Fix Broken"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Dependency Editor"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Search Replacement Resource:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Owners Of:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid ""
+"The files being removed are required by other resources in order for them to "
+"work.\n"
+"Remove them anyway? (no undo)"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Remove selected files from the project? (no undo)"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Error loading:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Scene failed to load due to missing dependencies:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Open Anyway"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Which action should be taken?"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Fix Dependencies"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Errors loading!"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Permanently delete %d item(s)? (No undo!)"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Owns"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Resources Without Explicit Ownership:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp
+msgid "Orphan Resource Explorer"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Delete selected files?"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp
+#: tools/editor/plugins/item_list_editor_plugin.cpp
+#: tools/editor/scenes_dock.cpp
+msgid "Delete"
+msgstr ""
+
+#: tools/editor/editor_data.cpp
+msgid "Updating Scene"
+msgstr ""
+
+#: tools/editor/editor_data.cpp
+msgid "Storing local changes.."
+msgstr ""
+
+#: tools/editor/editor_data.cpp
+msgid "Updating scene.."
+msgstr ""
+
+#: tools/editor/editor_dir_dialog.cpp
+msgid "Choose a Directory"
+msgstr ""
+
+#: tools/editor/editor_dir_dialog.cpp
+msgid "Choose"
+msgstr ""
+
+#: tools/editor/editor_file_dialog.cpp tools/editor/scenes_dock.cpp
+msgid "Favorites:"
+msgstr ""
+
+#: tools/editor/editor_file_dialog.cpp
+msgid "Recent:"
+msgstr ""
+
+#: tools/editor/editor_file_dialog.cpp
+msgid "Preview:"
+msgstr ""
+
+#: tools/editor/editor_file_system.cpp
+msgid "Cannot go into subdir:"
+msgstr ""
+
+#: tools/editor/editor_file_system.cpp
+msgid "ScanSources"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Search Classes"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Class List:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp tools/editor/property_editor.cpp
+msgid "Class:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp tools/editor/scene_tree_editor.cpp
+#: tools/editor/script_create_dialog.cpp
+msgid "Inherits:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Inherited by:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Brief Description:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Public Methods:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Members:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "GUI Theme Items:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Signals:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Constants:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp tools/editor/script_editor_debugger.cpp
+msgid "Description:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Method Description:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Search Text"
+msgstr ""
+
+#: tools/editor/editor_import_export.cpp
+msgid "Added:"
+msgstr ""
+
+#: tools/editor/editor_import_export.cpp
+msgid "Removed:"
+msgstr ""
+
+#: tools/editor/editor_import_export.cpp tools/editor/project_export.cpp
+msgid "Error saving atlas:"
+msgstr ""
+
+#: tools/editor/editor_import_export.cpp
+msgid "Could not save atlas subtexture:"
+msgstr ""
+
+#: tools/editor/editor_import_export.cpp
+msgid "Storing File:"
+msgstr ""
+
+#: tools/editor/editor_import_export.cpp
+msgid "Packing"
+msgstr ""
+
+#: tools/editor/editor_import_export.cpp
+msgid "Exporting for %s"
+msgstr ""
+
+#: tools/editor/editor_import_export.cpp
+msgid "Setting Up.."
+msgstr ""
+
+#: tools/editor/editor_log.cpp
+msgid " Output:"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp
+msgid "Re-Importing"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Importing:"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Node From Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/scenes_dock.cpp
+msgid "Re-Import.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/resources_dock.cpp
+msgid "Error saving resource!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/resources_dock.cpp
+msgid "Save Resource As.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp
+msgid "I see.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Can't open file for writing:"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Requested file format unknown:"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Error while saving."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Saving Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Analyzing"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Creating Thumbnail"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"Couldn't save scene. Likely dependencies (instances) couldn't be satisfied."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Failed to load resource."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Can't load MeshLibrary for merging!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Error saving MeshLibrary!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Can't load TileSet for merging!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Error saving TileSet!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Can't open export templates zip."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Loading Export Templates"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Error trying to save layout!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Default editor layout overridden."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Layout name not found!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Restored default layout to base settings."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Copy Params"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Paste Params"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Paste Resource"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Copy Resource"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Make Built-In"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Make Sub-Resources Unique"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Open in Help"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "There is no defined scene to run."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"No main scene has ever been defined.\n"
+"Select one from \"Project Settings\" under the 'application' category."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Current scene was never saved, please save it prior to running."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Could not start subprocess!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Open Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Open Base Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Quick Open Scene.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Quick Open Script.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Yes"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Close scene? (Unsaved changes will be lost)"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Save Scene As.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "This scene has never been saved. Save before running?"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Please save the scene first."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Save Translatable Strings"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Export Mesh Library"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Export Tile Set"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Quit"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Exit the editor?"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Current scene not saved. Open anyway?"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Can't reload a scene that was never saved."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Revert"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "This action cannot be undone. Revert anyway?"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Quick Run Scene.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"Open Project Manager? \n"
+"(Unsaved changes will be lost)"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp
+msgid "Ugh"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"Error loading scene, it must be inside the project path. Use 'Import' to "
+"open the scene, then save it inside the project path."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Error loading scene."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Scene '%s' has broken dependencies:"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Save Layout"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Load Layout"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/project_export.cpp
+msgid "Default"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Delete Layout"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Switch Scene Tab"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "%d more file(s)"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "%d more file(s) or folder(s)"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Go to previously opened scene."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Fullscreen Mode"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Distraction Free Mode"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Operations with scene files."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "New Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "New Inherited Scene.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Open Scene.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Save Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Close Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Close Goto Prev. Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Open Recent"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Quick Filter Files.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Convert To.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Translatable Strings.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "MeshLibrary.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "TileSet.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Redo"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Run Script"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Project Settings"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Revert Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Quit to Project List"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Import assets to the project."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+#: tools/editor/project_manager.cpp
+msgid "Import"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Miscellaneous project or scene-wide tools."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Tools"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Export the project to many platforms."
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/project_export.cpp
+msgid "Export"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Play the project."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Play"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Pause the scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Pause Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Stop the scene."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Stop"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Play the edited scene."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Play Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Play custom scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Debug options"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Deploy with Remote Debug"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"When exporting or deploying, the resulting executable will attempt to "
+"connect to the IP of this computer in order to be debugged."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Small Deploy with Network FS"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"When this option is enabled, export or deploy will produce a minimal "
+"executable.\n"
+"The filesystem will be provided from the project by the editor over the "
+"network.\n"
+"On Android, deploy will use the USB cable for faster performance. This "
+"option speeds up testing for games with a large footprint."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Visible Collision Shapes"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"Collision shapes and raycast nodes (for 2D and 3D) will be visible on the "
+"running game if this option is turned on."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Visible Navigation"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"Navigation meshes and polygons will be visible on the running game if this "
+"option is turned on."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Sync Scene Changes"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"When this option is turned on, any changes made to the scene in the editor "
+"will be replicated in the running game.\n"
+"When used remotely on a device, this is more efficient with network "
+"filesystem."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Sync Script Changes"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"When this option is turned on, any script that is saved will be reloaded on "
+"the running game.\n"
+"When used remotely on a device, this is more efficient with network "
+"filesystem."
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Settings"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/settings_config_dialog.cpp
+msgid "Editor Settings"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Editor Layout"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Install Export Templates"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "About"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Alerts when an external resource has changed."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Spins when the editor window repaints!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Update Always"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Update Changes"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Inspector"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Create a new resource in memory and edit it."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Load an existing resource from disk and edit it."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Save the currently edited resource."
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp
+msgid "Save As.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Go to the previous edited object in history."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Go to the next edited object in history."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "History of recently edited objects."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Object properties."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "FileSystem"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Output"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp
+#: tools/editor/import_settings.cpp
+msgid "Re-Import"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/editor_plugin_settings.cpp
+msgid "Update"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Thanks from the Godot community!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Thanks!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Import Templates From ZIP File"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/project_export.cpp
+msgid "Export Project"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Export Library"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Merge With Existing"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/project_export.cpp
+msgid "Password:"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Open & Run a Script"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Load Errors"
+msgstr ""
+
+#: tools/editor/editor_plugin_settings.cpp
+msgid "Installed Plugins:"
+msgstr ""
+
+#: tools/editor/editor_plugin_settings.cpp
+msgid "Version:"
+msgstr ""
+
+#: tools/editor/editor_plugin_settings.cpp
+msgid "Author:"
+msgstr ""
+
+#: tools/editor/editor_plugin_settings.cpp
+msgid "Status:"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Stop Profiling"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Start Profiling"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Measure:"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Frame Time (sec)"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Average Time (sec)"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Frame %"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Fixed Frame %"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp tools/editor/script_editor_debugger.cpp
+msgid "Time:"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Inclusive"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Self"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Frame #:"
+msgstr ""
+
+#: tools/editor/editor_reimport_dialog.cpp
+msgid "Please wait for scan to complete."
+msgstr ""
+
+#: tools/editor/editor_reimport_dialog.cpp
+msgid "Current scene must be saved to re-import."
+msgstr ""
+
+#: tools/editor/editor_reimport_dialog.cpp
+msgid "Save & Re-Import"
+msgstr ""
+
+#: tools/editor/editor_reimport_dialog.cpp
+msgid "Re-Import Changed Resources"
+msgstr ""
+
+#: tools/editor/editor_run_script.cpp
+msgid "Write your logic in the _run() method."
+msgstr ""
+
+#: tools/editor/editor_run_script.cpp
+msgid "There is an edited scene already."
+msgstr ""
+
+#: tools/editor/editor_run_script.cpp
+msgid "Couldn't instance script:"
+msgstr ""
+
+#: tools/editor/editor_run_script.cpp
+msgid "Did you forget the 'tool' keyword?"
+msgstr ""
+
+#: tools/editor/editor_run_script.cpp
+msgid "Couldn't run script:"
+msgstr ""
+
+#: tools/editor/editor_run_script.cpp
+msgid "Did you forget the '_run' method?"
+msgstr ""
+
+#: tools/editor/editor_settings.cpp
+msgid "Default (Same as Editor)"
+msgstr ""
+
+#: tools/editor/editor_sub_scene.cpp
+msgid "Select Node(s) to Import"
+msgstr ""
+
+#: tools/editor/editor_sub_scene.cpp
+msgid "Scene Path:"
+msgstr ""
+
+#: tools/editor/editor_sub_scene.cpp
+msgid "Import From Node:"
+msgstr ""
+
+#: tools/editor/file_type_cache.cpp
+msgid "Can't open file_type_cache.cch for writing, not saving file type cache!"
+msgstr ""
+
+#: tools/editor/groups_editor.cpp
+msgid "Add to Group"
+msgstr ""
+
+#: tools/editor/groups_editor.cpp
+msgid "Remove from Group"
+msgstr ""
+
+#: tools/editor/import_settings.cpp
+msgid "Imported Resources"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+msgid "No bit masks to import!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Target path is empty."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Target path must be a complete resource path."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Target path must exist."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+msgid "Save path is empty!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+msgid "Import BitMasks"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Source Texture(s):"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Target Path:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Accept"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+msgid "Bit Mask"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "No source font file!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "No target font resource!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Can't load/process source font."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Couldn't save font."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Source Font:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Source Font Size:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Dest Resource:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "The quick brown fox jumps over the lazy dog."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Test:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Options:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Font Import"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid ""
+"This file is already a Godot font file, please supply a BMFont type file "
+"instead."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Failed opening as BMFont file."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Invalid font custom source."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Font"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+msgid "No meshes to import!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+msgid "Single Mesh Import"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+msgid "Source Mesh(es):"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Mesh"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+msgid "Surface %d"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+msgid "No samples to import!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+msgid "Import Audio Samples"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+msgid "Source Sample(s):"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+msgid "Audio Sample"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "New Clip"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Animation Options"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Flags"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Bake FPS:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Optimizer"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Max Linear Error"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Max Angular Error"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Max Angle"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Clips"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp
+msgid "Name"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Start(s)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "End(s)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Loop"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Filters"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Source path is empty."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Couldn't load post-import script."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Invalid/broken script for post-import."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Error importing scene."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Import 3D Scene"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Source Scene:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Same as Target Scene"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Shared"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Target Texture Folder:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Post-Process Script:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Custom Root Node Type:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Auto"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "The Following Files are Missing:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Import Anyway"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Import & Open"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Edited scene has not been saved, open imported scene anyway?"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
+msgid "Import Scene"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Importing Scene.."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Running Custom Script.."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Couldn't load post-import script:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Invalid/broken script for post-import:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Error running post-import script:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Import Image:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Can't import a file over itself:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Couldn't localize path: %s (already local)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Saving.."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "3D Scene Animation"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Uncompressed"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Compress Lossless (PNG)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Compress Lossy (WebP)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Compress (VRAM)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Texture Format"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Texture Compression Quality (WebP):"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Texture Options"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Please specify some files!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "At least one file needed for Atlas."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Error importing:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Only one file is required for large texture."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Max Texture Size:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Import Textures for Atlas (2D)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Cell Size:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Large Texture"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Import Large Textures (2D)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Source Texture"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Base Atlas Texture"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Source Texture(s)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Import Textures for 2D"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Import Textures for 3D"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Import Textures"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "2D Texture"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "3D Texture"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Atlas Texture"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid ""
+"NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files to "
+"the project."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Crop empty space."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Texture"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Import Large Texture"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Load Source Image"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Slicing"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Inserting"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Saving"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Couldn't save large texture:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Build Atlas For:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Loading Image:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Couldn't load image:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Converting Images"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Cropping Images"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Blitting Images"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Couldn't save atlas image:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Couldn't save converted texture:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Invalid source!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Invalid translation source!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Column"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+#: tools/editor/script_create_dialog.cpp
+msgid "Language"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "No items to import!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "No target path!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Import Translations"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Couldn't import!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Import Translation"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Source CSV:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Ignore First Row"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Compress"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Add to Project (engine.cfg)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Import Languages:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Translation"
+msgstr ""
+
+#: tools/editor/multi_node_edit.cpp
+msgid "MultiNode Set"
+msgstr ""
+
+#: tools/editor/node_dock.cpp
+msgid "Node"
+msgstr ""
+
+#: tools/editor/node_dock.cpp
+msgid "Groups"
+msgstr ""
+
+#: tools/editor/node_dock.cpp
+msgid "Select a Node to edit Signals and Groups."
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Toggle Autoplay"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "New Animation Name:"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "New Anim"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Change Animation Name:"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Remove Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "ERROR: Invalid animation name!"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "ERROR: Animation name already exists!"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Add Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Blend Next Changed"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Change Blend Time"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Load Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Duplicate Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "ERROR: No animation to copy!"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "ERROR: No animation resource on clipboard!"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Pasted Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Paste Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "ERROR: No animation to edit!"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Play selected animation backwards from current pos. (A)"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Play selected animation backwards from end. (Shift+A)"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Stop animation playback. (S)"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Play selected animation from start. (Shift+D)"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Play selected animation from current pos. (D)"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Animation position (in seconds)."
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Scale animation playback globally for the node."
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create new animation in player."
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Load animation from disk."
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Load an animation from disk."
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Save the current animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Save As"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Display list of animations in player."
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Autoplay on Load"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Edit Target Blend Times"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Animation Tools"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Copy Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Animation Name:"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+#: tools/editor/property_editor.cpp tools/editor/script_create_dialog.cpp
+msgid "Error!"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Blend Times:"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Next (Auto Queue):"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Cross-Animation Blend Times"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "New name:"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Fade In (s):"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Fade Out (s):"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Blend"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Mix"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Auto Restart:"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Restart (s):"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Random Restart (s):"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Start!"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Amount:"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Blend:"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Blend 0:"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Blend 1:"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "X-Fade Time (s):"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Current:"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Add Input"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Clear Auto-Advance"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Set Auto-Advance"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Delete Input"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Rename"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Animation tree is valid."
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Animation tree is invalid."
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Animation Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "OneShot Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Mix Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Blend2 Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Blend3 Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Blend4 Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "TimeScale Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "TimeSeek Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Transition Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Import Animations.."
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Edit Node Filters"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Filters.."
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Parsing %d Triangles:"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Triangle #"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Light Baker Setup:"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Parsing Geometry"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Fixing Lights"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Making BVH"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Creating Light Octree"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Creating Octree Texture"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Transfer to Lightmaps:"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Allocating Texture #"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Baking Triangle #"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Post-Processing Texture #"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_editor_plugin.cpp
+msgid "BakedLightInstance does not contain a BakedLight resource."
+msgstr ""
+
+#: tools/editor/plugins/baked_light_editor_plugin.cpp
+msgid "Bake!"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_editor_plugin.cpp
+msgid "Reset the lightmap octree baking process (start over)."
+msgstr ""
+
+#: tools/editor/plugins/camera_editor_plugin.cpp
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Preview"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Configure Snap"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid "Grid Offset:"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid "Grid Step:"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Rotation Offset:"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Rotation Step:"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move Pivot"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move Action"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Edit IK Chain"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Edit CanvasItem"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Change Anchors"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom (%):"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Paste Pose"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Select Mode (Q)"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Drag: Rotate"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Alt+Drag: Move"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Alt+RMB: Depth list selection"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Move Mode (W)"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Rotate Mode (E)"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Show a list of all objects at the position clicked\n"
+"(same as Alt+RMB in select mode)."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Click to change object's rotation pivot."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Pan Mode"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Lock the selected object in place (can't be moved)."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Unlock the selected object (can be moved)."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Makes sure the object's children are not selectable."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Restores the object's children's ability to be selected."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+#: tools/editor/project_manager.cpp
+msgid "Edit"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Use Snap"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid "Show Grid"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Use Rotation Snap"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Snap Relative"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Configure Snap.."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Use Pixel Snap"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Expand to Parent"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Skeleton.."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Make Bones"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Clear Bones"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Make IK Chain"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Clear IK Chain"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom In"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom Out"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom Reset"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom Set.."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Center Selection"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Frame Selection"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Anchor"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Keys (Ins)"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key (Existing Tracks)"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Copy Pose"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Clear Pose"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Set a Value"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Snap (Pixels):"
+msgstr ""
+
+#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Create Poly"
+msgstr ""
+
+#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/collision_polygon_editor_plugin.cpp
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Edit Poly"
+msgstr ""
+
+#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/collision_polygon_editor_plugin.cpp
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Edit Poly (Remove Point)"
+msgstr ""
+
+#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+msgid "Create a new polygon from scratch."
+msgstr ""
+
+#: tools/editor/plugins/collision_polygon_editor_plugin.cpp
+msgid "Create Poly3D"
+msgstr ""
+
+#: tools/editor/plugins/collision_shape_2d_editor_plugin.cpp
+msgid "Set Handle"
+msgstr ""
+
+#: tools/editor/plugins/color_ramp_editor_plugin.cpp
+msgid "Add/Remove Color Ramp Point"
+msgstr ""
+
+#: tools/editor/plugins/color_ramp_editor_plugin.cpp
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Modify Color Ramp"
+msgstr ""
+
+#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
+msgid "Creating Mesh Library"
+msgstr ""
+
+#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
+msgid "Thumbnail.."
+msgstr ""
+
+#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr ""
+
+#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+msgid "Add Item"
+msgstr ""
+
+#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
+msgid "Remove Selected Item"
+msgstr ""
+
+#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
+msgid "Import from Scene"
+msgstr ""
+
+#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr ""
+
+#: tools/editor/plugins/item_list_editor_plugin.cpp
+msgid "Item %d"
+msgstr ""
+
+#: tools/editor/plugins/item_list_editor_plugin.cpp
+msgid "Items"
+msgstr ""
+
+#: tools/editor/plugins/item_list_editor_plugin.cpp
+msgid "Item List Editor"
+msgstr ""
+
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+msgid "Create Occluder Polygon"
+msgstr ""
+
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+msgid "Edit existing polygon:"
+msgstr ""
+
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+msgid "LMB: Move Point."
+msgstr ""
+
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+msgid "Ctrl+LMB: Split Segment."
+msgstr ""
+
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+msgid "RMB: Erase Point."
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Mesh is empty!"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Static Trimesh Body"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Static Convex Body"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "This doesn't work on scene root!"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Trimesh Shape"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Convex Shape"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Navigation Mesh"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "MeshInstance lacks a Mesh!"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Could not create outline!"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Outline"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Trimesh Static Body"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Convex Static Body"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Trimesh Collision Sibling"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Convex Collision Sibling"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Outline Mesh.."
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Outline Mesh"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Outline Size:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "No mesh source specified (and no MultiMesh set in node)."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "No mesh source specified (and MultiMesh contains no Mesh)."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Mesh source is invalid (invalid path)."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Mesh source is invalid (not a MeshInstance)."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Mesh source is invalid (contains no Mesh resource)."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "No surface source specified."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Surface source is invalid (invalid path)."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Surface source is invalid (no geometry)."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Surface source is invalid (no faces)."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Parent has no solid faces to populate."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Couldn't map area."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Select a Source Mesh:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Select a Target Surface:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Populate Surface"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Populate MultiMesh"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Target Surface:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Source Mesh:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "X-Axis"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Y-Axis"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Z-Axis"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Mesh Up Axis:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Random Rotation:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Random Tilt:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Random Scale:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Populate"
+msgstr ""
+
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+msgid "Create Navigation Polygon"
+msgstr ""
+
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+msgid "Remove Poly And Point"
+msgstr ""
+
+#: tools/editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Error loading image:"
+msgstr ""
+
+#: tools/editor/plugins/particles_2d_editor_plugin.cpp
+msgid "No pixels with transparency > 128 in image.."
+msgstr ""
+
+#: tools/editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Set Emission Mask"
+msgstr ""
+
+#: tools/editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Clear Emission Mask"
+msgstr ""
+
+#: tools/editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Load Emission Mask"
+msgstr ""
+
+#: tools/editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Generated Point Count:"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Node does not contain geometry."
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Node does not contain geometry (faces)."
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Faces contain no area!"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "No faces!"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Generate AABB"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emitter From Mesh"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emitter From Node"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Clear Emitter"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emitter"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Emission Positions:"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Emission Fill:"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Surface"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Volume"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+msgid "Remove Point from Curve"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Add Point to Curve"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+msgid "Move Point in Curve"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+msgid "Move In-Control in Curve"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+msgid "Move Out-Control in Curve"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Select Points"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Shift+Drag: Select Control Points"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Click: Add Point"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Right Click: Delete Point"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+msgid "Select Control Points (Shift+Drag)"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Add Point (in empty space)"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Split Segment (in curve)"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Delete Point"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Close Curve"
+msgstr ""
+
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Curve Point #"
+msgstr ""
+
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Set Curve Point Pos"
+msgstr ""
+
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Set Curve In Pos"
+msgstr ""
+
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Set Curve Out Pos"
+msgstr ""
+
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Split Path"
+msgstr ""
+
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Remove Path Point"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Create UV Map"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Transform UV Map"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Polygon 2D UV Editor"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Move Point"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Ctrl: Rotate"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Shift: Move All"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Shift+Ctrl: Scale"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Move Polygon"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Rotate Polygon"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Scale Polygon"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Polygon->UV"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV->Polygon"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Clear UV"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid "Snap"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid "Enable Snap"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid "Grid"
+msgstr ""
+
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "ERROR: Couldn't load resource!"
+msgstr ""
+
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Add Resource"
+msgstr ""
+
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Rename Resource"
+msgstr ""
+
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Delete Resource"
+msgstr ""
+
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Resource clipboard is empty!"
+msgstr ""
+
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Load Resource"
+msgstr ""
+
+#: tools/editor/plugins/rich_text_editor_plugin.cpp
+msgid "Parse BBCode"
+msgstr ""
+
+#: tools/editor/plugins/sample_editor_plugin.cpp
+msgid "Length:"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Open Sample File(s)"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "ERROR: Couldn't load sample!"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Add Sample"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Rename Sample"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Delete Sample"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "16 Bits"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "8 Bits"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Stereo"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Mono"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "Format"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Pitch"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Error while saving theme"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Error saving"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Error importing theme"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Error importing"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Import Theme"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Save Theme As.."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/project_export.cpp
+msgid "File"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/property_editor.cpp
+msgid "New"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Save All"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "History Prev"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "History Next"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Reload Theme"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Save Theme"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Save Theme As"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/scene_tree_dock.cpp
+msgid "Move Up"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/scene_tree_dock.cpp
+msgid "Move Down"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Indent Left"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Indent Right"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Toggle Comment"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Clone Down"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Complete Symbol"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Trim Trailing Whitespace"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Auto Indent"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Soft Reload Script"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Find.."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Find Next"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Find Previous"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Replace.."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Goto Function.."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Goto Line.."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Debug"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Toggle Breakpoint"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Remove All Breakpoints"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Goto Next Breakpoint"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Goto Previous Breakpoint"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "Step Over"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "Step Into"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "Break"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "Continue"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Keep Debugger Open"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Window"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Move Left"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Move Right"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Help"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Contextual Help"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Tutorials"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Open https://godotengine.org at tutorials section."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Classes"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Search the class hierarchy."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Search Help"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Search the reference documentation."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Go to previous edited document."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Go to next edited document."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid ""
+"The following files are newer on disk.\n"
+"What action should be taken?:"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Reload"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Resave"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "Debugger"
+msgstr ""
+
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Vertex"
+msgstr ""
+
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Fragment"
+msgstr ""
+
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Lighting"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Scalar Constant"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Vec Constant"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change RGB Constant"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Scalar Operator"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Vec Operator"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Vec Scalar Operator"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change RGB Operator"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Toggle Rot Only"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Scalar Function"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Vec Function"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Scalar Uniform"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Vec Uniform"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change RGB Uniform"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Default Value"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change XForm Uniform"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Texture Uniform"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Cubemap Uniform"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Comment"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Add/Remove to Color Ramp"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Add/Remove to Curve Map"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Modify Curve Map"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Input Name"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Connect Graph Nodes"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Disconnect Graph Nodes"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Remove Shader Graph Node"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Move Shader Graph Node"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Duplicate Graph Node(s)"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Delete Shader Graph Node(s)"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Error: Cyclic Connection Link"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Error: Missing Input Connections"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Add Shader Graph Node"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Orthogonal"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Perspective"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Transform Aborted."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "X-Axis Transform."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Y-Axis Transform."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Z-Axis Transform."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View Plane Transform."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Scaling to %s%%."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Rotating %s degrees."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Bottom View."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Bottom"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Top View."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Top"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Rear View."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Rear"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Front View."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Front"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Left View."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Left"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Right View."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Right"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Keying is disabled (no key inserted)."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Animation Key Inserted."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Align with view"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Top (Num7)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Bottom (Shift+Num7)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Left (Num3)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Right (Shift+Num3)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Front (Num1)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Rear (Shift+Num1)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Perspective (Num5)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Orthogonal (Num5)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Environment"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Audio Listener"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Gizmos"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Selection (F)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Align with view (Ctrl+Shift+F)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "XForm Dialog"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "No scene selected to instance!"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Instance at Cursor"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Could not instance scene!"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Scale Mode (R)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Transform"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Local Coords"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Transform Dialog.."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Use Default Light"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Use Default sRGB"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "1 Viewport"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "2 Viewports"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "2 Viewports (Alt)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "3 Viewports"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "3 Viewports (Alt)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "4 Viewports"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Display Normal"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Display Wireframe"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Display Overdraw"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Display Shadeless"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View Origin"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View Grid"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap Settings"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Translate Snap:"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Rotate Snap (deg.):"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Scale Snap (%):"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Viewport Settings"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Default Light Normal:"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Ambient Light Color:"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Perspective FOV (deg.):"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View Z-Near:"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View Z-Far:"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Transform Change"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Translate:"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Rotate (deg.):"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Scale (ratio):"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Transform Type"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Pre"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Post"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "ERROR: Couldn't load frame resource!"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Add Frame"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Resource clipboard is empty or not a texture!"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Paste Frame"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Add Empty"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Change Animation Loop"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Change Animation FPS"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "(empty)"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Animations"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Speed (FPS):"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Animation Frames"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Insert Empty (Before)"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Insert Empty (After)"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Up"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Down"
+msgstr ""
+
+#: tools/editor/plugins/style_box_editor_plugin.cpp
+msgid "StyleBox Preview:"
+msgstr ""
+
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid "Texture Region Editor"
+msgstr ""
+
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid "Scale Region Editor"
+msgstr ""
+
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid ""
+"No texture in this node.\n"
+"Set a texture to be able to edit region."
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Can't save theme to file:"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Add All Items"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Add All"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Add Class Items"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Class Items"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Create Empty Template"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Create Empty Editor Template"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "CheckBox Radio1"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "CheckBox Radio2"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Item"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Check Item"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Checked Item"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Has"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Many"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp tools/editor/project_export.cpp
+msgid "Options"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Have,Many,Several,Options!"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Tab 1"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Tab 2"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Tab 3"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+#: tools/editor/project_settings.cpp tools/editor/scene_tree_editor.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "Type:"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Data Type:"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Icon"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Style"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Color"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Paint TileMap"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+#: tools/editor/scene_tree_dock.cpp
+msgid "Duplicate"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Erase TileMap"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Erase selection"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Find tile"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Transpose"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Mirror X"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Mirror Y"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Bucket"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Pick Tile"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Select"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Rotate 0 degrees"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Rotate 90 degrees"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Rotate 180 degrees"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Rotate 270 degrees"
+msgstr ""
+
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+msgid "Could not find tile:"
+msgstr ""
+
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+msgid "Item name or ID:"
+msgstr ""
+
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create from scene?"
+msgstr ""
+
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+msgid "Merge from scene?"
+msgstr ""
+
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create from Scene"
+msgstr ""
+
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+msgid "Merge from Scene"
+msgstr ""
+
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "Error"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Edit Script Options"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Please export outside the project folder!"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Error exporting project!"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Error writing the project PCK!"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "No exporter for platform '%s' yet."
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Include"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Change Image Group"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Group name can't be empty!"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Invalid character in group name!"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Group name already exists!"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Add Image Group"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Delete Image Group"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Atlas Preview"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Project Export Settings"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Target"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export to Platform"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Resources"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export selected resources (including dependencies)."
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export all resources in the project."
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export all files in the project directory."
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export Mode:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Resources to Export:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Action"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid ""
+"Filters to export non-resource files (comma-separated, e.g.: *.json, *.txt):"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Filters to exclude from export (comma-separated, e.g.: *.json, *.txt):"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Convert text scenes to binary on export."
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Images"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Keep Original"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compress for Disk (Lossy, WebP)"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compress for RAM (BC/PVRTC/ETC)"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Convert Images (*.png):"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compress for Disk (Lossy) Quality:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Shrink All Images:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compress Formats:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Image Groups"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Groups:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compress Disk"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compress RAM"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compress Mode:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Lossy Quality:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Atlas:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Shrink By:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Preview Atlas"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Image Filter:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Images:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Select None"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Group"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Samples"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Sample Conversion Mode: (.wav files):"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Keep"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compress (RAM - IMA-ADPCM)"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Sampling Rate Limit (Hz):"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Trim"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Trailing Silence:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Script"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Script Export Mode:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Text"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compiled"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Encrypted (Provide Key Below)"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Script Encryption Key (256-bits as hex):"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export PCK/Zip"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export Project PCK"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export.."
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Project Export"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export Preset:"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Invalid project path, the path must exist!"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Invalid project path, engine.cfg must not exist."
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Invalid project path, engine.cfg must exist."
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Imported Project"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Invalid project path (changed anything?)."
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Couldn't create engine.cfg in project path."
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Import Existing Project"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Project Path (Must Exist):"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Project Name:"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Create New Project"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Project Path:"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Browse"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "New Game Project"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "That's a BINGO!"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Unnamed Project"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Are you sure to open more than one projects?"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Are you sure to run more than one projects?"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Remove project from the list? (Folder contents will not be modified)"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Project Manager"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Project List"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Run"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Scan"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "New Project"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Exit"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Key "
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Joy Button"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Joy Axis"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Mouse Button"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Invalid action (anything goes but '/' or ':')."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Action '%s' already exists!"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Rename Input Action Event"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Add Input Action Event"
+msgstr ""
+
+#: tools/editor/project_settings.cpp tools/editor/settings_config_dialog.cpp
+msgid "Control+"
+msgstr ""
+
+#: tools/editor/project_settings.cpp tools/editor/settings_config_dialog.cpp
+msgid "Press a Key.."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Mouse Button Index:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Left Button"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Right Button"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Middle Button"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Wheel Up Button"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Wheel Down Button"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Button 6"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Button 7"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Button 8"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Button 9"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Joystick Axis Index:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Joystick Button Index:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Add Input Action"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Erase Input Action Event"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Toggle Persisting"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Error saving settings."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Settings saved OK."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Add Translation"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Invalid name."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Valid characters:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Invalid name. Must not collide with an existing engine class name."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Invalid name. Must not collide with an existing buit-in type name."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Invalid name. Must not collide with an existing global constant name."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Autoload '%s' already exists!"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Rename Autoload"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Toggle AutoLoad Globals"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Add Autoload"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Remove Autoload"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Move Autoload"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Remove Translation"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Add Remapped Path"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Resource Remap Add Remap"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Change Resource Remap Language"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Remove Resource Remap"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Remove Resource Remap Option"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Enable"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Project Settings (engine.cfg)"
+msgstr ""
+
+#: tools/editor/project_settings.cpp tools/editor/settings_config_dialog.cpp
+msgid "General"
+msgstr ""
+
+#: tools/editor/project_settings.cpp tools/editor/property_editor.cpp
+msgid "Property:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Del"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Copy To Platform.."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Input Map"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Action:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Device:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Index:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Localization"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Translations"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Translations:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Add.."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Remaps"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Resources:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Remaps by Locale:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Locale"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "AutoLoad"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Node Name:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "List:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Singleton"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Plugins"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Preset.."
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Ease In"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Ease Out"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Zero"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Easing In-Out"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Easing Out-In"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "File.."
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Dir.."
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Load"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Assign"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Error loading file: Not a resource!"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Couldn't load image"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Bit %d, val %d."
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "On"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Set"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Properties:"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Global"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Sections:"
+msgstr ""
+
+#: tools/editor/pvrtc_compress.cpp
+msgid "Could not execute PVRTC tool:"
+msgstr ""
+
+#: tools/editor/pvrtc_compress.cpp
+msgid "Can't load back converted image using PVRTC tool:"
+msgstr ""
+
+#: tools/editor/reparent_dialog.cpp tools/editor/scene_tree_dock.cpp
+msgid "Reparent Node"
+msgstr ""
+
+#: tools/editor/reparent_dialog.cpp
+msgid "Reparent Location (Select new Parent):"
+msgstr ""
+
+#: tools/editor/reparent_dialog.cpp
+msgid "Keep Global Transform"
+msgstr ""
+
+#: tools/editor/reparent_dialog.cpp tools/editor/scene_tree_dock.cpp
+msgid "Reparent"
+msgstr ""
+
+#: tools/editor/resources_dock.cpp
+msgid "Create New Resource"
+msgstr ""
+
+#: tools/editor/resources_dock.cpp
+msgid "Open Resource"
+msgstr ""
+
+#: tools/editor/resources_dock.cpp
+msgid "Save Resource"
+msgstr ""
+
+#: tools/editor/resources_dock.cpp
+msgid "Resource Tools"
+msgstr ""
+
+#: tools/editor/resources_dock.cpp
+msgid "Make Local"
+msgstr ""
+
+#: tools/editor/run_settings_dialog.cpp
+msgid "Run Mode:"
+msgstr ""
+
+#: tools/editor/run_settings_dialog.cpp
+msgid "Current Scene"
+msgstr ""
+
+#: tools/editor/run_settings_dialog.cpp
+msgid "Main Scene"
+msgstr ""
+
+#: tools/editor/run_settings_dialog.cpp
+msgid "Main Scene Arguments:"
+msgstr ""
+
+#: tools/editor/run_settings_dialog.cpp
+msgid "Scene Run Settings"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "OK :("
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "No parent to instance a child at."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Error loading scene from %s"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Error instancing scene from %s"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid ""
+"Cannot instance the scene '%s' because the current scene exists within one "
+"of its nodes."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Instance Scene(s)"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "This operation can't be done on the tree root."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Move Node In Parent"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Move Nodes In Parent"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Duplicate Node(s)"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Delete Node(s)?"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "This operation can't be done without a scene."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "This operation requires a single selected node."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "This operation can't be done on instanced scenes."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Save New Scene As.."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Makes Sense!"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Can't operate on nodes from a foreign scene!"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Can't operate on nodes the current scene inherits from!"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Remove Node(s)"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Create Node"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid ""
+"Couldn't save new scene. Likely dependencies (instances) couldn't be "
+"satisfied."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Error saving scene."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Error duplicating scene to save it."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "New Scene Root"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Inherit Scene"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Add Child Node"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Instance Child Scene"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Change Type"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Edit Groups"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Edit Connections"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Add Script"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Merge From Scene"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Save Branch as Scene"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Delete Node(s)"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Add/Create a New Node"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid ""
+"Instance a scene file as a Node. Creates an inherited scene if no root node "
+"exists."
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid ""
+"This item cannot be made visible because the parent is hidden. Unhide the "
+"parent first."
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Toggle Spatial Visible"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Toggle CanvasItem Visible"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Instance:"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Invalid node name, the following characters are not allowed:"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Rename Node"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Scene Tree (Nodes):"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Editable Children"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Load As Placeholder"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Discard Instancing"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Open in Editor"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Clear Inheritance"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Clear Inheritance? (No Undo!)"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Clear!"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Select a Node"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Same source and destination files, doing nothing."
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Same source and destination paths, doing nothing."
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Can't move directories to within themselves."
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Can't operate on '..'"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Pick New Name and Location For:"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "No files selected!"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Instance"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Edit Dependencies.."
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "View Owners.."
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Copy Path"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Rename or Move.."
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Move To.."
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Info"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Show In File Manager"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Previous Directory"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Next Directory"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Re-Scan Filesystem"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Toggle folder status as Favorite"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Instance the selected scene(s) as child of the selected node."
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Move"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Invalid parent class name"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Valid chars:"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Invalid class name"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Valid name"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "N/A"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Class name is invalid!"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Parent class name is invalid!"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Invalid path!"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Could not create script in filesystem."
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Path is empty"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Path is not local"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Invalid base path"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "File exists"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Invalid extension"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Valid path"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Class Name:"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Built-In Script"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Create Node Script"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Bytes:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Warning"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Error:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Source:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Function:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Errors"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Child Process Connected"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Inspect Previous Instance"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Inspect Next Instance"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Stack Frames"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Variable"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Errors:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Stack Trace (if applicable):"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Remote Inspector"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Live Scene Tree:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Remote Object Properties: "
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Profiler"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Monitor"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Value"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Monitors"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "List of Video Memory Usage by Resource:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Total:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Video Mem"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Resource Path"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Type"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Usage"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Misc"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Clicked Control:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Clicked Control Type:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Live Edit Root:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Set From Tree"
+msgstr ""
+
+#: tools/editor/settings_config_dialog.cpp
+msgid "Shortcuts"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Light Radius"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Camera FOV"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Camera Size"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Sphere Shape Radius"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Box Shape Extents"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Capsule Shape Radius"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Capsule Shape Height"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Ray Shape Length"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Notifier Extents"
+msgstr ""
diff --git a/tools/translations/de.po b/tools/translations/de.po
index 2005670fda..b9c1c070d8 100644
--- a/tools/translations/de.po
+++ b/tools/translations/de.po
@@ -1,33 +1,91 @@
-# LANGUAGE translation of the Godot Engine editor
+# German translation of the Godot Engine editor
# Copyright (C) 2016 Juan Linietsky, Ariel Manzur and the Godot community
# This file is distributed under the same license as the Godot source code.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+# Andreas Esau <andreasesau@gmail.com>, 2016.
+# Andreas Haas <liu.gam3@gmail.com>, 2016.
+# Andreas Hirschauer <andreas@hirschauer-it.de>, 2016.
+# Christian Fisch <christian.fiesel@gmail.com>, 2016.
+# danjo <atze@libra.uberspace.de>, 2016.
+# hyperglow <greensoma@web.de>, 2016.
+# Oliver Ruehl <oliver@ruehldesign.co>, 2016.
+# Paul-Vincent Roll <paviro@me.com>, 2016.
+# Peter Friedland <peter_friedland@gmx.de>, 2016.
+# Timo Schwarzer <account@timoschwarzer.com>, 2016.
+# viernullvier <hannes.breul+github@gmail.com>, 2016.
#
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: \n"
-"Last-Translator: Sebastian Thewes <minzky@minzky.com>\n"
-"Language-Team: \n"
+"PO-Revision-Date: 2016-06-14 12:29+0000\n"
+"Last-Translator: Timo Schwarzer <account@timoschwarzer.com>\n"
+"Language-Team: German <https://hosted.weblate.org/projects/godot-engine/"
+"godot/de/>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.8.4\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 2.7-dev\n"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid type argument to convert(), use TYPE_* constants."
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not enough bytes for decoding bytes, or invalid format."
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "step argument is zero!"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not a script with an instance"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not based on a script"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+#, fuzzy
+msgid "Not based on a resource file"
+msgstr "Keine Ziel Font Ressource!"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (missing @path)"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (can't load script at @path)"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (invalid script at @path)"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary (invalid subclasses)"
+msgstr ""
#: scene/2d/animated_sprite.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
"order for AnimatedSprite to display frames."
msgstr ""
+"Eine SpriteFrames Ressource muss in der 'Frames' Variable erstellt oder "
+"gesetzt werden, damit AnimatedSprite Einzelbilder darstellen kann."
#: scene/2d/canvas_modulate.cpp
msgid ""
"Only one visible CanvasModulate is allowed per scene (or set of instanced "
"scenes). The first created one will work, while the rest will be ignored."
msgstr ""
+"Nur ein sichtbares CanvasModulate ist pro Szene (oder ein Satz von "
+"instanzierten Szenen) erlaubt. Das zuerst erstellte wird funktionieren, "
+"während der Rest ignoriert wird."
#: scene/2d/collision_polygon_2d.cpp
msgid ""
@@ -35,10 +93,14 @@ msgid ""
"CollisionObject2D derived node. Please only use it as a child of Area2D, "
"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape."
msgstr ""
+"CollisionPolygon2D dient nur dazu, einem CollisionObject2D abgeleiteten "
+"Knoten eine Form bereitzustellen. Bitte verwenden Sie es nur als Unterobjekt "
+"von Area2D, StaticBody2D, RigidBody2D, KinematicBody2D usw. um ihnen eine "
+"Form zu geben."
#: scene/2d/collision_polygon_2d.cpp
msgid "An empty CollisionPolygon2D has no effect on collision."
-msgstr ""
+msgstr "Ein leeres CollisionPolygon2D hat keinen Effekt auf Kollisionen."
#: scene/2d/collision_shape_2d.cpp
msgid ""
@@ -46,100 +108,110 @@ msgid ""
"CollisionObject2D derived node. Please only use it as a child of Area2D, "
"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape."
msgstr ""
+"CollisionShape2D definiert eine Kollisionsmaske für von CollisionObject2D "
+"abgeleitete Nodes. Benutze es mit Area2D, StaticBody2D, RigidBody2D, "
+"KinematicBody2D usw. um eine Form zu definieren."
#: scene/2d/collision_shape_2d.cpp
msgid ""
"A shape must be provided for CollisionShape2D to function. Please create a "
"shape resource for it!"
msgstr ""
-"Damit CollisionShape funktionieren kann, muss eine Form angegeben werden. "
-"Bitte erzeuge eine shape Ressource dafür."
+"Damit CollisionShape2D funktionieren kann, muss eine Form angegeben werden. "
+"Bitte erzeuge eine Shape-Ressource dafür!"
#: scene/2d/light_2d.cpp
msgid ""
"A texture with the shape of the light must be supplied to the 'texture' "
"property."
msgstr ""
+"Eine Textur mit der Form des Lichtkegels muss in der Eigenschaft 'texture' "
+"angegeben werden."
#: scene/2d/light_occluder_2d.cpp
msgid ""
"An occluder polygon must be set (or drawn) for this occluder to take effect."
msgstr ""
-"Damit CollisionShape funktionieren kann, muss eine Form angegeben werden. "
-"Bitte erzeuge eine shape Ressource dafür."
+"Ein Occluder Polygon muss gesetzt oder gezeichnet werden, damit dieser "
+"Occluder funktioniert."
#: scene/2d/light_occluder_2d.cpp
msgid "The occluder polygon for this occluder is empty. Please draw a polygon!"
msgstr ""
-"Damit CollisionShape funktionieren kann, muss eine Form angegeben werden. "
-"Bitte erzeuge eine shape Ressource dafür."
+"Das Occluder Polygon für diesen Occlluder ist leer. Bitte zeichne ein "
+"Polygon!"
#: scene/2d/navigation_polygon.cpp
msgid ""
"A NavigationPolygon resource must be set or created for this node to work. "
"Please set a property or draw a polygon."
msgstr ""
-"Damit CollisionShape funktionieren kann, muss eine Form angegeben werden. "
-"Bitte erzeuge eine shape Ressource dafür."
+"Eine NavigationPolygon Ressource muss für diesen Node gesetzt oder erstellt "
+"werden, damit er funktioniert. Bitte setze eine Variable oder zeichne ein "
+"Polygon."
#: scene/2d/navigation_polygon.cpp
msgid ""
"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
"node. It only provides navigation data."
msgstr ""
-"NavigationPolygonInstance muss ein Unterobjekt oder Unterunterobjekt einer "
-"Navigation2D Node sein. Es liefert nur Navigations Daten."
+"NavigationPolygonInstance muss ein Unterobjekt erster oder zweiter Ordnung "
+"unterhalb einer Navigation2D Node sein. Es liefert nur Navigationsdaten."
#: scene/2d/parallax_layer.cpp
msgid ""
"ParallaxLayer node only works when set as child of a ParallaxBackground node."
msgstr ""
-"Die ParallaxLayer Node funktioniert nur als Kind von einer ParallaxBackground "
-"Node."
+"Die ParallaxLayer Node funktioniert nur als Unterobjekt einer "
+"ParallaxBackground Node."
#: scene/2d/particles_2d.cpp
msgid "Path property must point to a valid Particles2D node to work."
-msgstr "Pfad Eigenschaft muss auf eine gültige Particles2D Node verweisen."
+msgstr "Die Pfad-Variable muss auf einen gültigen Particles2D Node verweisen."
#: scene/2d/path_2d.cpp
msgid "PathFollow2D only works when set as a child of a Path2D node."
msgstr ""
+"PathFollow2D funktioniert nur, wenn sie als Unterobjekt eines Path2D Nodes "
+"gesetzt wird."
#: scene/2d/remote_transform_2d.cpp
msgid "Path property must point to a valid Node2D node to work."
msgstr ""
+"Die Pfad-Variable muss auf einen gültigen Node2D Node zeigen um zu "
+"funktionieren."
#: scene/2d/sample_player_2d.cpp scene/audio/sample_player.cpp
msgid ""
"A SampleLibrary resource must be created or set in the 'samples' property in "
"order for SamplePlayer to play sound."
msgstr ""
-"Eine SampleLibrary Ressource muss in der 'samples' Eigenschaft erzeugt oder "
-"definiert werden damit SpatialSamplePlayer einen Sound abspielen kann."
+"Eine SampleLibrary Ressource muss in der 'samples' Variable erzeugt oder "
+"definiert werden, damit SpatialSamplePlayer einen Sound abspielen kann."
#: scene/2d/sprite.cpp
msgid ""
-"Path property must point to a valid Viewport node to work. Such Viewport must "
-"be set to 'render target' mode."
+"Path property must point to a valid Viewport node to work. Such Viewport "
+"must be set to 'render target' mode."
msgstr ""
"Die Pfad Eigenschaft muss auf eine gültige Viewport Node verweisen um zu "
"funktionieren. Dieser Viewport muss in 'render target' Modus gesetzt werden."
#: scene/2d/sprite.cpp
msgid ""
-"The Viewport set in the path property must be set as 'render target' in order "
-"for this sprite to work."
+"The Viewport set in the path property must be set as 'render target' in "
+"order for this sprite to work."
msgstr ""
-"Der Viewport der in der Pfad Eigenschaft gesetzt wurde, muss als 'render "
-"target' definiert werden damit das Sprite funktioniert."
+"Der Viewport der in der Pfad-Variable gesetzt wurde, muss als 'render "
+"target' definiert werden, damit das Sprite funktioniert."
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
"as parent."
msgstr ""
-"VisibilityEnable2D funktioniert am besten wenn es ein Unterobjekt der "
-"bearbeiteten Hauptszene ist."
+"VisibilityEnable2D funktioniert am besten, wenn es ein Unterobjekt erster "
+"Ordnung der bearbeiteten Hauptszene ist."
#: scene/3d/body_shape.cpp
msgid ""
@@ -148,17 +220,17 @@ msgid ""
"KinematicBody, etc. to give them a shape."
msgstr ""
"CollisionShape dient nur dazu einer dem CollisionObject abgeleiteten Node "
-"eine Kollisionsform bereit zu stellen. Bitte nutze es nur als eine "
-"Unterobjekt von Area, StaticBody, RigidBody, KinematicBody, usw. um diesen "
-"eine Form zu geben."
+"eine Kollisionsform bereitzustellen. Bitte nutze es nur als ein Unterobjekt "
+"von Area, StaticBody, RigidBody, KinematicBody usw. um diesem eine Form zu "
+"geben."
#: scene/3d/body_shape.cpp
msgid ""
"A shape must be provided for CollisionShape to function. Please create a "
"shape resource for it!"
msgstr ""
-"Damit CollisionShape funktionieren kann, muss eine Form angegeben werden. "
-"Bitte erzeuge eine shape Ressource dafür."
+"Damit CollisionShape funktionieren kann, muss eine Form vorhanden sein. "
+"Bitte erzeuge eine shape Ressource dafür!"
#: scene/3d/collision_polygon.cpp
msgid ""
@@ -166,27 +238,28 @@ msgid ""
"CollisionObject derived node. Please only use it as a child of Area, "
"StaticBody, RigidBody, KinematicBody, etc. to give them a shape."
msgstr ""
-"CollisionPolygon liefert nur eine Kollisionsform für eine vom CollisionObject "
-"abgeleitete Node. Bitte nutze es nur als eine Unterobjekt von Area, "
-"StaticBody, RigidBody, KinematicBody, usw. um diesen eine Form zu geben."
+"CollisionPolygon liefert nur eine Kollisionsform für eine vom "
+"CollisionObject abgeleiteten Node. Bitte nutze es nur als eine Unterobjekt "
+"von Area, StaticBody, RigidBody, KinematicBody, usw. um diesen eine Form zu "
+"geben."
#: scene/3d/collision_polygon.cpp
msgid "An empty CollisionPolygon has no effect on collision."
-msgstr ""
+msgstr "Ein leeres CollisionPolygon hat keinen Effekt auf die Kollision."
#: scene/3d/navigation_mesh.cpp
msgid "A NavigationMesh resource must be set or created for this node to work."
msgstr ""
-"Damit diese Node funktionieren kann, muss eine NavigationMesh Ressource "
-"erzeugt oder definiert werden."
+"Damit dieser Node funktionieren kann, muss eine NavigationMesh Ressource "
+"erzeugt oder gesetzt werden."
#: scene/3d/navigation_mesh.cpp
msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. It "
-"only provides navigation data."
+"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
+"It only provides navigation data."
msgstr ""
-"NavigationMeshinstance muss ein Unterobjekt oder Unterunterobjekt von einer "
-"Navigations Node sein. Es liefert nur navigationsdaten."
+"NavigationMeshinstance muss ein Unterobjekt oder Unterunterobjekt von einem "
+"Navigations Node sein. Es liefert nur Navigationsdaten."
#: scene/3d/scenario_fx.cpp
msgid ""
@@ -203,13 +276,12 @@ msgstr ""
"definiert werden damit SpatialSamplePlayer einen Sound abspielen kann."
#: scene/3d/sprite_3d.cpp
-#, fuzzy
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
"order for AnimatedSprite3D to display frames."
msgstr ""
-"Eine SampleLibrary Ressource muss in der 'samples' Eigenschaft erzeugt oder "
-"definiert werden damit SpatialSamplePlayer einen Sound abspielen kann."
+"Eine SpriteFrames Ressource muss in der Eigenschaft 'Frames' erzeugt oder "
+"definiert werden, damit AnimatedSprite3D Frames anzeigen kann."
#: scene/gui/dialogs.cpp tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Cancel"
@@ -221,7 +293,7 @@ msgstr "OK"
#: scene/gui/dialogs.cpp
msgid "Alert!"
-msgstr ""
+msgstr "Warnung!"
#: scene/gui/dialogs.cpp
msgid "Please Confirm..."
@@ -229,15 +301,15 @@ msgstr "Bitte bestätigen..."
#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
msgid "File Exists, Overwrite?"
-msgstr ""
+msgstr "Datei existiert bereits. Überschreiben?"
#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
msgid "All Recognized"
-msgstr ""
+msgstr "Alle bekannten Dateien"
#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
msgid "All Files (*)"
-msgstr ""
+msgstr "Alle Dateien (*)"
#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
#: tools/editor/editor_help.cpp tools/editor/editor_node.cpp
@@ -248,21 +320,19 @@ msgstr "Öffnen"
#: scene/gui/file_dialog.cpp
msgid "Open a File"
-msgstr ""
+msgstr "Datei öffnen"
#: scene/gui/file_dialog.cpp
msgid "Open File(s)"
-msgstr ""
+msgstr "Datei(en) öffnen"
#: scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Open a Directory"
-msgstr "Wähle ein Verzeichnis"
+msgstr "Verzeichnis wählen"
#: scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Open a File or Directory"
-msgstr "Wähle ein Verzeichnis"
+msgstr "Datei oder Verzeichnis öffnen"
#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
#: tools/editor/editor_node.cpp
@@ -273,7 +343,7 @@ msgstr "Speichern"
#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
msgid "Save a File"
-msgstr ""
+msgstr "Datei speichern"
#: scene/gui/file_dialog.cpp tools/editor/editor_dir_dialog.cpp
#: tools/editor/editor_file_dialog.cpp
@@ -288,7 +358,7 @@ msgstr "Pfad:"
#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
msgid "Directories & Files:"
-msgstr ""
+msgstr "Verzeichnisse & Dateien:"
#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
#: tools/editor/script_editor_debugger.cpp
@@ -312,26 +382,26 @@ msgstr "Ordner konnte nicht erstellt werden."
#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
msgid "Must use a valid extension."
-msgstr ""
+msgstr "Eine gültige Datei-Endung muss verwendet werden."
#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
#: tools/editor/settings_config_dialog.cpp
msgid "Shift+"
-msgstr ""
+msgstr "Shift+"
#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
#: tools/editor/settings_config_dialog.cpp
msgid "Alt+"
-msgstr ""
+msgstr "Alt+"
#: scene/gui/input_action.cpp
msgid "Ctrl+"
-msgstr ""
+msgstr "Ctrl+"
#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
#: tools/editor/settings_config_dialog.cpp
msgid "Meta+"
-msgstr ""
+msgstr "Meta+"
#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
msgid "Device"
@@ -347,7 +417,7 @@ msgstr "Linke Taste."
#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
msgid "Right Button."
-msgstr "Rechte Taste."
+msgstr "Rechte Schaltfläche."
#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
msgid "Middle Button."
@@ -355,15 +425,15 @@ msgstr "Mittlere Taste."
#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
msgid "Wheel Up."
-msgstr ""
+msgstr "Mausrad hoch."
#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
msgid "Wheel Down."
-msgstr ""
+msgstr "Mausrad runter."
#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
msgid "Axis"
-msgstr ""
+msgstr "Achse"
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
#: tools/editor/plugins/script_editor_plugin.cpp
@@ -389,7 +459,8 @@ msgstr "Einfügen"
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
#: tools/editor/plugins/script_editor_plugin.cpp
-#: tools/editor/plugins/shader_editor_plugin.cpp tools/editor/project_export.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+#: tools/editor/project_export.cpp
msgid "Select All"
msgstr "Alles auswählen"
@@ -398,7 +469,7 @@ msgstr "Alles auswählen"
#: tools/editor/plugins/rich_text_editor_plugin.cpp
#: tools/editor/property_editor.cpp tools/editor/script_editor_debugger.cpp
msgid "Clear"
-msgstr ""
+msgstr "Löschen"
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp tools/editor/editor_node.cpp
#: tools/editor/plugins/script_editor_plugin.cpp
@@ -409,9 +480,13 @@ msgstr "Rückgängig machen"
#: scene/gui/popup.cpp
msgid ""
"Popups will hide by default unless you call popup() or any of the popup*() "
-"functions. Making them visible for editing is fine though, but they will hide "
-"upon running."
+"functions. Making them visible for editing is fine though, but they will "
+"hide upon running."
msgstr ""
+"Popups werden standardmäßig versteckt, es sei denn Sie rufen popup() oder "
+"irgendeine der popup*() Funktionen auf. Sie für die Bearbeitung sichtbar zu "
+"machen ist in Ordnung, aber sie werden zur Laufzeit automatisch wieder "
+"versteckt."
#: scene/main/viewport.cpp
msgid ""
@@ -420,11 +495,16 @@ msgid ""
"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
"texture to some node for display."
msgstr ""
+"Dieser Viewport ist nicht als Render-Target gesetzt. Wenn Sie vor haben "
+"seinen Inhalt direkt auf dem Bildschirm anzuzeigen, machen Sie es zu einem "
+"Kind eines Control-Nodes, damit es eine Größe erben kann. Ansonsten setzen "
+"Sie es als Render-Target und weisen Sie der internen Textur einen Knoten zum "
+"Anzeigen zu."
#: scene/resources/dynamic_font.cpp
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
msgid "Error initializing FreeType."
-msgstr ""
+msgstr "Fehler beim initialisieren von FreeType."
#: scene/resources/dynamic_font.cpp
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
@@ -451,92 +531,106 @@ msgstr "Alle auswählen"
#: tools/editor/animation_editor.cpp
msgid "Move Add Key"
-msgstr ""
+msgstr "Schlüsselbild bewegen hinzufügen"
#: tools/editor/animation_editor.cpp
msgid "Anim Change Transition"
-msgstr ""
+msgstr "Übergang beim Animationswechsel"
#: tools/editor/animation_editor.cpp
msgid "Anim Change Transform"
-msgstr ""
+msgstr "Anim ändere Transformation"
#: tools/editor/animation_editor.cpp
msgid "Anim Change Value"
-msgstr ""
+msgstr "Anim Wert ändern"
#: tools/editor/animation_editor.cpp
msgid "Anim Change Call"
-msgstr ""
+msgstr "Animation Änderungsaufruf"
#: tools/editor/animation_editor.cpp
msgid "Anim Add Track"
-msgstr ""
+msgstr "Anim Spur hinzufügen"
#: tools/editor/animation_editor.cpp
msgid "Move Anim Track Up"
-msgstr ""
+msgstr "Anim Spur nach oben verschieben"
#: tools/editor/animation_editor.cpp
msgid "Move Anim Track Down"
-msgstr ""
+msgstr "Anim Spur nach unten verschieben"
#: tools/editor/animation_editor.cpp
msgid "Remove Anim Track"
-msgstr ""
+msgstr "Anim Spur entfernen"
#: tools/editor/animation_editor.cpp
msgid "Anim Duplicate Keys"
-msgstr ""
+msgstr "Anim doppelte Schlüsselbilder"
#: tools/editor/animation_editor.cpp
msgid "Set Transitions to:"
-msgstr ""
+msgstr "Setze Übergänge auf:"
#: tools/editor/animation_editor.cpp
msgid "Anim Track Rename"
-msgstr ""
+msgstr "Anim Spur umbenennen"
#: tools/editor/animation_editor.cpp
msgid "Anim Track Change Interpolation"
-msgstr ""
+msgstr "Anim Spur Interpolation ändern"
#: tools/editor/animation_editor.cpp
msgid "Anim Track Change Value Mode"
-msgstr ""
+msgstr "Anim Spur ändere Wert Modus"
#: tools/editor/animation_editor.cpp
msgid "Edit Node Curve"
-msgstr ""
+msgstr "Node Kurve editieren"
#: tools/editor/animation_editor.cpp
msgid "Edit Selection Curve"
-msgstr ""
+msgstr "Selektions-Kurve editieren"
#: tools/editor/animation_editor.cpp
msgid "Anim Delete Keys"
+msgstr "Anim Schlüsselbilder löschen"
+
+#: tools/editor/animation_editor.cpp
+#, fuzzy
+msgid "Continuous"
+msgstr "Fortfahren"
+
+#: tools/editor/animation_editor.cpp
+#, fuzzy
+msgid "Discrete"
+msgstr "Trennen"
+
+#: tools/editor/animation_editor.cpp
+msgid "Trigger"
msgstr ""
#: tools/editor/animation_editor.cpp
msgid "Anim Add Key"
-msgstr ""
+msgstr "Anim Schlüsselszene hinzufügen"
#: tools/editor/animation_editor.cpp
msgid "Anim Move Keys"
-msgstr ""
+msgstr "Animation Bewegungstasten"
#: tools/editor/animation_editor.cpp
msgid "Scale Selection"
-msgstr ""
+msgstr "Skalierung Auswahl"
#: tools/editor/animation_editor.cpp
msgid "Scale From Cursor"
-msgstr ""
+msgstr "Skalierung vom Cursor"
#: tools/editor/animation_editor.cpp
#: tools/editor/plugins/tile_map_editor_plugin.cpp
msgid "Duplicate Selection"
-msgstr ""
+msgstr "Auswahl duplizieren"
#: tools/editor/animation_editor.cpp
msgid "Duplicate Transposed"
@@ -557,23 +651,23 @@ msgstr "Linear"
#: tools/editor/animation_editor.cpp
#: tools/editor/plugins/theme_editor_plugin.cpp
msgid "Constant"
-msgstr ""
+msgstr "Konstante"
#: tools/editor/animation_editor.cpp
msgid "In"
-msgstr ""
+msgstr "Rein"
#: tools/editor/animation_editor.cpp
msgid "Out"
-msgstr ""
+msgstr "Raus"
#: tools/editor/animation_editor.cpp
msgid "In-Out"
-msgstr ""
+msgstr "Rein-Raus"
#: tools/editor/animation_editor.cpp
msgid "Out-In"
-msgstr ""
+msgstr "Raus-Rein"
#: tools/editor/animation_editor.cpp
msgid "Transitions"
@@ -585,15 +679,15 @@ msgstr "Animation optimieren"
#: tools/editor/animation_editor.cpp
msgid "Clean-Up Animation"
-msgstr ""
+msgstr "Animation aufräumen"
#: tools/editor/animation_editor.cpp
msgid "Create NEW track for %s and insert key?"
-msgstr ""
+msgstr "Erstelle einen NEUEN Track für %s und füge einen Key ein?"
#: tools/editor/animation_editor.cpp
msgid "Create %d NEW tracks and insert keys?"
-msgstr ""
+msgstr "Erstelle %d NEUE Tracks und füge Keys ein?"
#: tools/editor/animation_editor.cpp tools/editor/create_dialog.cpp
#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
@@ -606,155 +700,166 @@ msgstr "Erstellen"
#: tools/editor/animation_editor.cpp
msgid "Anim Create & Insert"
-msgstr ""
+msgstr "Animation Erstellen & Einfügen"
#: tools/editor/animation_editor.cpp
msgid "Anim Insert Track & Key"
-msgstr ""
+msgstr "Animation Track & Key Einfügen"
#: tools/editor/animation_editor.cpp
msgid "Anim Insert Key"
-msgstr ""
+msgstr "Animation Key Einfügen"
#: tools/editor/animation_editor.cpp
msgid "Change Anim Len"
-msgstr ""
+msgstr "Ändere Animationslänge"
#: tools/editor/animation_editor.cpp
msgid "Change Anim Loop"
-msgstr ""
+msgstr "Ändere Animationswiederholung"
+
+#: tools/editor/animation_editor.cpp
+#, fuzzy
+msgid "Change Anim Loop Interpolation"
+msgstr "Ändere Animationswiederholung"
#: tools/editor/animation_editor.cpp
msgid "Anim Create Typed Value Key"
-msgstr ""
+msgstr "Animation Erstelle Typed Value Key"
#: tools/editor/animation_editor.cpp
msgid "Anim Insert"
-msgstr ""
+msgstr "Anim einfügen"
#: tools/editor/animation_editor.cpp
msgid "Anim Scale Keys"
-msgstr ""
+msgstr "Animation Skaliere Keys"
#: tools/editor/animation_editor.cpp
msgid "Anim Add Call Track"
-msgstr ""
+msgstr "Animation Call Track Einfügen"
#: tools/editor/animation_editor.cpp
msgid "Animation zoom."
-msgstr ""
+msgstr "Animation zoomen."
#: tools/editor/animation_editor.cpp
msgid "Length (s):"
-msgstr ""
+msgstr "Länge (s):"
#: tools/editor/animation_editor.cpp
msgid "Animation length (in seconds)."
-msgstr ""
+msgstr "Länge der Animation (in Sekunden)."
#: tools/editor/animation_editor.cpp
msgid "Step (s):"
-msgstr ""
+msgstr "Schritte (s):"
#: tools/editor/animation_editor.cpp
msgid "Cursor step snap (in seconds)."
-msgstr ""
+msgstr "Cursor Schritt Raster (in Sekunden)."
#: tools/editor/animation_editor.cpp
msgid "Enable/Disable looping in animation."
-msgstr ""
+msgstr "Aktivieren / Deaktivieren der Schleife (Loop)."
+
+#: tools/editor/animation_editor.cpp
+#, fuzzy
+msgid "Enable/Disable interpolation when looping animation."
+msgstr "Aktivieren / Deaktivieren der Schleife (Loop)."
#: tools/editor/animation_editor.cpp
msgid "Add new tracks."
-msgstr ""
+msgstr "Neue Spuren hinzufügen."
#: tools/editor/animation_editor.cpp
msgid "Move current track up."
-msgstr ""
+msgstr "Aktuelle Spur hochschieben."
#: tools/editor/animation_editor.cpp
msgid "Move current track down."
-msgstr ""
+msgstr "Aktuelle Spur runterschieben."
#: tools/editor/animation_editor.cpp
msgid "Remove selected track."
-msgstr ""
+msgstr "Ausgewählte Spur entfernen."
#: tools/editor/animation_editor.cpp
msgid "Track tools"
-msgstr ""
+msgstr "Spur-Werkzeuge"
#: tools/editor/animation_editor.cpp
msgid "Enable editing of individual keys by clicking them."
msgstr ""
+"Aktiviere das editieren von individuellen Keys in dem auf sie geclickt wird."
#: tools/editor/animation_editor.cpp
msgid "Anim. Optimizer"
-msgstr ""
+msgstr "Anim. Optimierer"
#: tools/editor/animation_editor.cpp
msgid "Max. Linear Error:"
-msgstr ""
+msgstr "Max. Linearer Fehler:"
#: tools/editor/animation_editor.cpp
msgid "Max. Angular Error:"
-msgstr ""
+msgstr "Max. Winkel Fehler:"
#: tools/editor/animation_editor.cpp
msgid "Max Optimizable Angle:"
-msgstr ""
+msgstr "Maximal optimierbarer Winkel:"
#: tools/editor/animation_editor.cpp
msgid "Optimize"
-msgstr ""
+msgstr "Optimieren"
#: tools/editor/animation_editor.cpp
msgid "Key"
-msgstr ""
+msgstr "Schlüsselbild"
#: tools/editor/animation_editor.cpp
msgid "Transition"
-msgstr ""
+msgstr "Übergang"
#: tools/editor/animation_editor.cpp
msgid "Scale Ratio:"
-msgstr ""
+msgstr "Skalierungsverhältnis:"
#: tools/editor/animation_editor.cpp
msgid "Call Functions in Which Node?"
-msgstr ""
+msgstr "Rufe Funktion auf in welchem Node?"
#: tools/editor/animation_editor.cpp
msgid "Remove invalid keys"
-msgstr ""
+msgstr "Ungültige Schlüsselbilder entfernen"
#: tools/editor/animation_editor.cpp
msgid "Remove unresolved and empty tracks"
-msgstr ""
+msgstr "Ungelöste und leere Spuren entfernen"
#: tools/editor/animation_editor.cpp
msgid "Clean-up all animations"
-msgstr ""
+msgstr "Alle Animationen aufräumen"
#: tools/editor/animation_editor.cpp
msgid "Clean-Up Animation(s) (NO UNDO!)"
-msgstr ""
+msgstr "Alle Animationen aufräumen (Nicht rückgängig zu machen!)"
#: tools/editor/animation_editor.cpp
msgid "Clean-Up"
-msgstr ""
+msgstr "Aufräumen"
#: tools/editor/array_property_edit.cpp
msgid "Resize Array"
-msgstr ""
+msgstr "Größe des Feldes ändern"
#: tools/editor/array_property_edit.cpp
msgid "Change Array Value Type"
-msgstr ""
+msgstr "Ändere Array Wert Typ"
#: tools/editor/array_property_edit.cpp
msgid "Change Array Value"
-msgstr ""
+msgstr "Ändere Array Wert"
#: tools/editor/asset_library_editor_plugin.cpp tools/editor/create_dialog.cpp
#: tools/editor/editor_help.cpp tools/editor/editor_node.cpp
@@ -765,11 +870,11 @@ msgstr "Suche:"
#: tools/editor/asset_library_editor_plugin.cpp
msgid "Sort:"
-msgstr ""
+msgstr "Sortiere:"
#: tools/editor/asset_library_editor_plugin.cpp
msgid "Reverse"
-msgstr ""
+msgstr "Umkehren"
#: tools/editor/asset_library_editor_plugin.cpp
#: tools/editor/project_settings.cpp
@@ -778,41 +883,39 @@ msgstr "Kategorie:"
#: tools/editor/asset_library_editor_plugin.cpp
msgid "All"
-msgstr ""
+msgstr "Alle"
#: tools/editor/asset_library_editor_plugin.cpp
msgid "Site:"
-msgstr ""
+msgstr "Seite:"
#: tools/editor/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Support.."
-msgstr "Exportieren.."
+msgstr "Unterstützung.."
#: tools/editor/asset_library_editor_plugin.cpp
msgid "Official"
-msgstr ""
+msgstr "Offiziell"
#: tools/editor/asset_library_editor_plugin.cpp
msgid "Community"
-msgstr ""
+msgstr "Community"
#: tools/editor/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Testing"
-msgstr "Test:"
+msgstr "Testen"
#: tools/editor/asset_library_editor_plugin.cpp
msgid "Assets ZIP File"
-msgstr ""
+msgstr "ZIP Datei der Projektdaten"
#: tools/editor/call_dialog.cpp
msgid "Method List For '%s':"
-msgstr ""
+msgstr "Methodenliste für '%s':"
#: tools/editor/call_dialog.cpp
msgid "Call"
-msgstr ""
+msgstr "Aufruf"
#: tools/editor/call_dialog.cpp tools/editor/connections_dialog.cpp
#: tools/editor/import_settings.cpp
@@ -829,15 +932,15 @@ msgstr "Schließen"
#: tools/editor/call_dialog.cpp
msgid "Method List:"
-msgstr ""
+msgstr "Methodenliste:"
#: tools/editor/call_dialog.cpp
msgid "Arguments:"
-msgstr ""
+msgstr "Argumente:"
#: tools/editor/call_dialog.cpp
msgid "Return:"
-msgstr ""
+msgstr "Rückgabe:"
#: tools/editor/code_editor.cpp
msgid "Go to Line"
@@ -849,11 +952,11 @@ msgstr "Zeilennummer:"
#: tools/editor/code_editor.cpp
msgid "No Matches"
-msgstr "Keine Übereinstimmung"
+msgstr "Keine Übereinstimmungen"
#: tools/editor/code_editor.cpp
msgid "Replaced %d Ocurrence(s)."
-msgstr ""
+msgstr "%d mal wurde das Vorkommen ersetzt."
#: tools/editor/code_editor.cpp
msgid "Replace"
@@ -869,11 +972,11 @@ msgstr "Groß-/Kleinschreibung berücksichtigen"
#: tools/editor/code_editor.cpp
msgid "Whole Words"
-msgstr "Gesamte Wörter"
+msgstr "Ganze Wörter"
#: tools/editor/code_editor.cpp
msgid "Selection Only"
-msgstr ""
+msgstr "Nur Auswahl"
#: tools/editor/code_editor.cpp tools/editor/editor_help.cpp
#: tools/editor/plugins/script_editor_plugin.cpp
@@ -892,7 +995,7 @@ msgstr "Nächste"
#: tools/editor/code_editor.cpp
msgid "Replaced %d ocurrence(s)."
-msgstr ""
+msgstr "%d mal wurde das Vorkommen ersetzt."
#: tools/editor/code_editor.cpp
msgid "Not found!"
@@ -904,15 +1007,15 @@ msgstr "Ersetzen durch"
#: tools/editor/code_editor.cpp
msgid "Case Sensitive"
-msgstr ""
+msgstr "Fallunterscheidung"
#: tools/editor/code_editor.cpp
msgid "Backwards"
-msgstr ""
+msgstr "Rückwärts"
#: tools/editor/code_editor.cpp
msgid "Prompt On Replace"
-msgstr ""
+msgstr "Aufforderung beim Ersetzen"
#: tools/editor/code_editor.cpp
msgid "Skip"
@@ -928,15 +1031,12 @@ msgstr "Spalte:"
#: tools/editor/connections_dialog.cpp
msgid "Method in target Node must be specified!"
-msgstr ""
-
-#: tools/editor/connections_dialog.cpp
-msgid "Connect To Node:"
-msgstr ""
+msgstr "Methode in Ziel-Node muss angegeben werden!"
#: tools/editor/connections_dialog.cpp
-msgid "Binds (Extra Params):"
-msgstr ""
+#, fuzzy
+msgid "Conect To Node:"
+msgstr "Verbinde Zu Node:"
#: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp
#: tools/editor/plugins/item_list_editor_plugin.cpp
@@ -947,29 +1047,36 @@ msgstr "Hinzufügen"
#: tools/editor/connections_dialog.cpp tools/editor/dependency_editor.cpp
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
-#: tools/editor/plugins/theme_editor_plugin.cpp tools/editor/project_manager.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+#: tools/editor/project_manager.cpp
msgid "Remove"
-msgstr "Entferne"
+msgstr "Entfernen"
#: tools/editor/connections_dialog.cpp
-msgid "Path To Node:"
+msgid "Add Extra Call Argument:"
msgstr ""
#: tools/editor/connections_dialog.cpp
-msgid "Method In Node:"
-msgstr ""
+#, fuzzy
+msgid "Extra Call Arguments:"
+msgstr "Argumente:"
+
+#: tools/editor/connections_dialog.cpp
+#, fuzzy
+msgid "Path to Node:"
+msgstr "Pfad Zu Node:"
#: tools/editor/connections_dialog.cpp
msgid "Make Function"
-msgstr ""
+msgstr "Erstelle Funktion"
#: tools/editor/connections_dialog.cpp
msgid "Deferred"
-msgstr ""
+msgstr "Ausgesetzt"
#: tools/editor/connections_dialog.cpp
msgid "Oneshot"
-msgstr ""
+msgstr "Einmalig"
#: tools/editor/connections_dialog.cpp
msgid "Connect"
@@ -977,11 +1084,16 @@ msgstr "Verbinden"
#: tools/editor/connections_dialog.cpp
msgid "Connect '%s' to '%s'"
-msgstr ""
+msgstr "Verbinde '%s' zu '%s'"
+
+#: tools/editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connecting Signal:"
+msgstr "Verbindungen:"
#: tools/editor/connections_dialog.cpp
msgid "Create Subscription"
-msgstr ""
+msgstr "Erstelle Subscription"
#: tools/editor/connections_dialog.cpp
msgid "Connect.."
@@ -994,16 +1106,16 @@ msgstr "Trennen"
#: tools/editor/connections_dialog.cpp tools/editor/node_dock.cpp
msgid "Signals"
-msgstr ""
+msgstr "Signale"
#: tools/editor/create_dialog.cpp
msgid "Create New"
-msgstr ""
+msgstr "Neu erstellen"
#: tools/editor/create_dialog.cpp tools/editor/editor_help.cpp
#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/quick_open.cpp
msgid "Matches:"
-msgstr ""
+msgstr "Treffer:"
#: tools/editor/dependency_editor.cpp
msgid "Search Replacement For:"
@@ -1011,19 +1123,23 @@ msgstr "Suche Ersatz für:"
#: tools/editor/dependency_editor.cpp
msgid "Dependencies For:"
-msgstr ""
+msgstr "Abhängigkeiten Für:"
#: tools/editor/dependency_editor.cpp
msgid ""
"Scene '%s' is currently being edited.\n"
"Changes will not take effect unless reloaded."
msgstr ""
+"Szene '%s' wird momentan bearbeitet.\n"
+"Änderungen werden nicht vorgenommen, bis neu geladen wird."
#: tools/editor/dependency_editor.cpp
msgid ""
"Resource '%s' is in use.\n"
"Changes will take effect when reloaded."
msgstr ""
+"Ressource '%s' wird momentan benutzt.\n"
+"Änderungen werden erst nach neu laden aktiv."
#: tools/editor/dependency_editor.cpp
msgid "Dependencies"
@@ -1044,7 +1160,7 @@ msgstr "Abhängigkeiten:"
#: tools/editor/dependency_editor.cpp
msgid "Fix Broken"
-msgstr ""
+msgstr "Repariere Nichtfunktionierende"
#: tools/editor/dependency_editor.cpp
msgid "Dependency Editor"
@@ -1052,7 +1168,7 @@ msgstr "Abhängigkeiten-Editor"
#: tools/editor/dependency_editor.cpp
msgid "Search Replacement Resource:"
-msgstr ""
+msgstr "Suche Ersetzbare Ressource:"
#: tools/editor/dependency_editor.cpp
msgid "Owners Of:"
@@ -1064,6 +1180,9 @@ msgid ""
"work.\n"
"Remove them anyway? (no undo)"
msgstr ""
+"Die zu entfernenden Dateien werden von anderen Ressourcen gebraucht damit "
+"sie richtig funktionieren können.\n"
+"Trotzdem entfernen? (Nicht Wiederherstellbar)"
#: tools/editor/dependency_editor.cpp
msgid "Remove selected files from the project? (no undo)"
@@ -1075,15 +1194,15 @@ msgstr "Ladefehler:"
#: tools/editor/dependency_editor.cpp
msgid "Scene failed to load due to missing dependencies:"
-msgstr ""
+msgstr "Szene konnte aufgrund fehlender Abhängigkeiten nicht geladen werden:"
#: tools/editor/dependency_editor.cpp
msgid "Open Anyway"
-msgstr ""
+msgstr "Trotzdem öffnen"
#: tools/editor/dependency_editor.cpp
msgid "Which action should be taken?"
-msgstr ""
+msgstr "Welche Aktion soll ausgeführt werden?"
#: tools/editor/dependency_editor.cpp
msgid "Fix Dependencies"
@@ -1091,44 +1210,45 @@ msgstr "Abhängigkeiten reparieren"
#: tools/editor/dependency_editor.cpp
msgid "Errors loading!"
-msgstr ""
+msgstr "Fehler beim laden!"
#: tools/editor/dependency_editor.cpp
msgid "Permanently delete %d item(s)? (No undo!)"
-msgstr ""
+msgstr "Entferne %d Datei(en) dauerhaft? (Nicht Wiederherstellbar)"
#: tools/editor/dependency_editor.cpp
msgid "Owns"
-msgstr ""
+msgstr "Gehört zu"
#: tools/editor/dependency_editor.cpp
msgid "Resources Without Explicit Ownership:"
-msgstr ""
+msgstr "Ressource Ohne Direkte Zugehörigkeit:"
#: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp
msgid "Orphan Resource Explorer"
-msgstr ""
+msgstr "Ressourcen Explorer Für Verwaiste Dateien"
#: tools/editor/dependency_editor.cpp
msgid "Delete selected files?"
msgstr "Ausgewählten Dateien löschen?"
#: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp
-#: tools/editor/plugins/item_list_editor_plugin.cpp tools/editor/scenes_dock.cpp
+#: tools/editor/plugins/item_list_editor_plugin.cpp
+#: tools/editor/scenes_dock.cpp
msgid "Delete"
msgstr "Löschen"
#: tools/editor/editor_data.cpp
msgid "Updating Scene"
-msgstr ""
+msgstr "Aktualisiere Szene"
#: tools/editor/editor_data.cpp
msgid "Storing local changes.."
-msgstr ""
+msgstr "Speichere lokale Änderungen.."
#: tools/editor/editor_data.cpp
msgid "Updating scene.."
-msgstr ""
+msgstr "Aktualisiere Szene..."
#: tools/editor/editor_dir_dialog.cpp
msgid "Choose a Directory"
@@ -1144,7 +1264,7 @@ msgstr "Favoriten:"
#: tools/editor/editor_file_dialog.cpp
msgid "Recent:"
-msgstr ""
+msgstr "Kürzlich:"
#: tools/editor/editor_file_dialog.cpp
msgid "Preview:"
@@ -1152,56 +1272,56 @@ msgstr "Vorschau:"
#: tools/editor/editor_file_system.cpp
msgid "Cannot go into subdir:"
-msgstr ""
+msgstr "Unterordner kann nicht geöffnet werden:"
#: tools/editor/editor_file_system.cpp
msgid "ScanSources"
-msgstr ""
+msgstr "Scanne Quellen"
#: tools/editor/editor_help.cpp
msgid "Search Classes"
-msgstr ""
+msgstr "Klassen suchen"
#: tools/editor/editor_help.cpp
msgid "Class List:"
-msgstr ""
+msgstr "Klassenliste:"
#: tools/editor/editor_help.cpp tools/editor/property_editor.cpp
msgid "Class:"
-msgstr ""
+msgstr "Klasse:"
#: tools/editor/editor_help.cpp tools/editor/scene_tree_editor.cpp
#: tools/editor/script_create_dialog.cpp
msgid "Inherits:"
-msgstr ""
+msgstr "Erbt:"
#: tools/editor/editor_help.cpp
msgid "Inherited by:"
-msgstr ""
+msgstr "Geerbt von:"
#: tools/editor/editor_help.cpp
msgid "Brief Description:"
-msgstr ""
+msgstr "Kurze Beschreibung:"
#: tools/editor/editor_help.cpp
msgid "Public Methods:"
-msgstr ""
+msgstr "Public Methoden:"
#: tools/editor/editor_help.cpp
msgid "Members:"
-msgstr ""
+msgstr "Mitglieder:"
#: tools/editor/editor_help.cpp
msgid "GUI Theme Items:"
-msgstr ""
+msgstr "GUI Theme Einträge:"
#: tools/editor/editor_help.cpp
msgid "Signals:"
-msgstr ""
+msgstr "Signale:"
#: tools/editor/editor_help.cpp
msgid "Constants:"
-msgstr ""
+msgstr "Konstanten:"
#: tools/editor/editor_help.cpp tools/editor/script_editor_debugger.cpp
msgid "Description:"
@@ -1209,11 +1329,11 @@ msgstr "Beschreibung:"
#: tools/editor/editor_help.cpp
msgid "Method Description:"
-msgstr ""
+msgstr "Methoden Beschreibung:"
#: tools/editor/editor_help.cpp
msgid "Search Text"
-msgstr ""
+msgstr "Suchtext"
#: tools/editor/editor_import_export.cpp
msgid "Added:"
@@ -1225,53 +1345,53 @@ msgstr "Entfernt:"
#: tools/editor/editor_import_export.cpp tools/editor/project_export.cpp
msgid "Error saving atlas:"
-msgstr ""
+msgstr "Fehler beim speichern des Atlas:"
#: tools/editor/editor_import_export.cpp
msgid "Could not save atlas subtexture:"
-msgstr ""
+msgstr "Atlas Untertextur konnte nicht gespeichert werden:"
#: tools/editor/editor_import_export.cpp
msgid "Storing File:"
-msgstr ""
+msgstr "Speichere Datei:"
#: tools/editor/editor_import_export.cpp
msgid "Packing"
-msgstr ""
+msgstr "Packe"
#: tools/editor/editor_import_export.cpp
msgid "Exporting for %s"
-msgstr ""
+msgstr "Exportiere für %s"
#: tools/editor/editor_import_export.cpp
msgid "Setting Up.."
-msgstr ""
+msgstr "Bereite vor..."
#: tools/editor/editor_log.cpp
msgid " Output:"
-msgstr ""
+msgstr " Ausgabe:"
#: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp
msgid "Re-Importing"
-msgstr ""
+msgstr "Re-Import"
#: tools/editor/editor_node.cpp
msgid "Importing:"
-msgstr ""
+msgstr "Importiere:"
#: tools/editor/editor_node.cpp
msgid "Node From Scene"
-msgstr ""
+msgstr "Node aus Szene"
#: tools/editor/editor_node.cpp tools/editor/scenes_dock.cpp
msgid "Re-Import.."
-msgstr ""
+msgstr "Re-Import.."
#: tools/editor/editor_node.cpp
#: tools/editor/plugins/animation_player_editor_plugin.cpp
#: tools/editor/resources_dock.cpp
msgid "Error saving resource!"
-msgstr ""
+msgstr "Fehler beim speichern der Ressource!"
#: tools/editor/editor_node.cpp
#: tools/editor/plugins/animation_player_editor_plugin.cpp
@@ -1281,236 +1401,248 @@ msgstr "Speichere Ressource als.."
#: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp
msgid "I see.."
-msgstr ""
+msgstr "Verstehe..."
#: tools/editor/editor_node.cpp
msgid "Can't open file for writing:"
-msgstr ""
+msgstr "Kann Datei zum schreiben nicht öffnen:"
#: tools/editor/editor_node.cpp
msgid "Requested file format unknown:"
-msgstr ""
+msgstr "Angefordertes Dateiformat unbekannt:"
#: tools/editor/editor_node.cpp
msgid "Error while saving."
-msgstr ""
+msgstr "Fehler beim speichern."
#: tools/editor/editor_node.cpp
msgid "Saving Scene"
-msgstr ""
+msgstr "Speichere Szene"
#: tools/editor/editor_node.cpp
msgid "Analyzing"
-msgstr ""
+msgstr "Analysiere"
#: tools/editor/editor_node.cpp
msgid "Creating Thumbnail"
-msgstr ""
+msgstr "Erzeuge Miniaturansicht"
#: tools/editor/editor_node.cpp
msgid ""
"Couldn't save scene. Likely dependencies (instances) couldn't be satisfied."
msgstr ""
+"Szene konnte nicht gespeichert werden. Wahrscheinliche Abhängigkeiten "
+"(Instanzen) sind nicht erfüllt."
#: tools/editor/editor_node.cpp
msgid "Failed to load resource."
-msgstr ""
+msgstr "Laden der Ressource gescheitert."
#: tools/editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
-msgstr ""
+msgstr "MeshLibrary zum vereinen konnte nicht geladen werden!"
#: tools/editor/editor_node.cpp
msgid "Error saving MeshLibrary!"
-msgstr ""
+msgstr "Fehler beim speichern der MeshLibrary!"
#: tools/editor/editor_node.cpp
msgid "Can't load TileSet for merging!"
-msgstr ""
+msgstr "TileSet zum vereinen kann nicht geladen werden!"
#: tools/editor/editor_node.cpp
msgid "Error saving TileSet!"
-msgstr ""
+msgstr "Fehler beim speichern des TileSet!"
#: tools/editor/editor_node.cpp
msgid "Can't open export templates zip."
-msgstr ""
+msgstr "\"Export Templates Zip\" kann nicht geöffnet werden."
#: tools/editor/editor_node.cpp
msgid "Loading Export Templates"
-msgstr ""
+msgstr "Lade Export Templates"
#: tools/editor/editor_node.cpp
msgid "Error trying to save layout!"
-msgstr ""
+msgstr "Fehler beim speichern des Layouts!"
#: tools/editor/editor_node.cpp
msgid "Default editor layout overridden."
-msgstr ""
+msgstr "Standard Editor Layout überschrieben."
#: tools/editor/editor_node.cpp
msgid "Layout name not found!"
-msgstr ""
+msgstr "Layout Name nicht gefunden!"
#: tools/editor/editor_node.cpp
msgid "Restored default layout to base settings."
-msgstr ""
+msgstr "Layout zu Standard Einstellungen zurückgesetzt."
#: tools/editor/editor_node.cpp
msgid "Copy Params"
-msgstr ""
+msgstr "Parameter Kopieren"
#: tools/editor/editor_node.cpp
msgid "Paste Params"
-msgstr ""
+msgstr "Parameter Einfügen"
#: tools/editor/editor_node.cpp
#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
msgid "Paste Resource"
-msgstr ""
+msgstr "Ressource Einfügen"
#: tools/editor/editor_node.cpp
msgid "Copy Resource"
-msgstr ""
+msgstr "Ressource Kopieren"
#: tools/editor/editor_node.cpp
msgid "Make Built-In"
-msgstr ""
+msgstr "Einbetten"
#: tools/editor/editor_node.cpp
msgid "Make Sub-Resources Unique"
-msgstr ""
+msgstr "Unter-Ressource Einzigartig Machen"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Open in Help"
-msgstr "Im Editor öffnen"
+msgstr "In Hilfe öffnen"
#: tools/editor/editor_node.cpp
msgid "There is no defined scene to run."
-msgstr ""
+msgstr "Es ist keine zu startende Szene definiert."
#: tools/editor/editor_node.cpp
msgid ""
"No main scene has ever been defined.\n"
"Select one from \"Project Settings\" under the 'application' category."
msgstr ""
+"Es ist keine Hauptszene definiert worden.\n"
+"Wähle eine in den \"Projekt Einstellungen\" in der 'Applikation' Kategorie."
#: tools/editor/editor_node.cpp
msgid "Current scene was never saved, please save it prior to running."
msgstr ""
+"Die aktuelle Szene wurde noch nicht gespeichert, bitte speichere sie vor dem "
+"starten."
#: tools/editor/editor_node.cpp
msgid "Could not start subprocess!"
-msgstr ""
+msgstr "Unterprozess konnte nicht gestartet werden!"
#: tools/editor/editor_node.cpp
msgid "Open Scene"
-msgstr ""
+msgstr "Szene Öffnen"
#: tools/editor/editor_node.cpp
msgid "Open Base Scene"
-msgstr ""
+msgstr "Basis Szene Öffnen"
#: tools/editor/editor_node.cpp
msgid "Quick Open Scene.."
-msgstr ""
+msgstr "Schnelles Szenen Öffnen.."
#: tools/editor/editor_node.cpp
msgid "Quick Open Script.."
-msgstr ""
+msgstr "Schnelles Script Öffnen.."
#: tools/editor/editor_node.cpp
msgid "Yes"
-msgstr ""
+msgstr "Ja"
#: tools/editor/editor_node.cpp
msgid "Close scene? (Unsaved changes will be lost)"
-msgstr ""
+msgstr "Szene schließen? (Nicht gespeicherte Änderungen gehen verloren)"
#: tools/editor/editor_node.cpp
msgid "Save Scene As.."
-msgstr ""
+msgstr "Szene Speichern Als.."
#: tools/editor/editor_node.cpp
msgid "This scene has never been saved. Save before running?"
-msgstr ""
+msgstr "Diese Szene wurde nie gespeichert. Speichern vor dem starten?"
#: tools/editor/editor_node.cpp
msgid "Please save the scene first."
-msgstr ""
+msgstr "Bitte speichere die Szene zuerst."
#: tools/editor/editor_node.cpp
msgid "Save Translatable Strings"
-msgstr ""
+msgstr "Speichere Übersetzbare Zeichen"
#: tools/editor/editor_node.cpp
msgid "Export Mesh Library"
-msgstr ""
+msgstr "Mesh Library exportieren"
#: tools/editor/editor_node.cpp
msgid "Export Tile Set"
-msgstr ""
+msgstr "Tile Set Exportieren"
#: tools/editor/editor_node.cpp
msgid "Quit"
-msgstr ""
+msgstr "Verlassen"
#: tools/editor/editor_node.cpp
msgid "Exit the editor?"
-msgstr ""
+msgstr "Editor verlassen?"
#: tools/editor/editor_node.cpp
msgid "Current scene not saved. Open anyway?"
-msgstr ""
+msgstr "Die aktuelle Szene ist nicht gespeichert. Trotzdem öffnen?"
#: tools/editor/editor_node.cpp
msgid "Can't reload a scene that was never saved."
msgstr ""
+"Szene kann nicht neu geladen werden wenn sie vorher nicht gespeichert wurde."
#: tools/editor/editor_node.cpp
msgid "Revert"
-msgstr ""
+msgstr "Zurücksetzen"
#: tools/editor/editor_node.cpp
msgid "This action cannot be undone. Revert anyway?"
msgstr ""
+"Diese Aktion kann nicht rückgängig gemacht werden. Trotzdem zurücksetzen?"
#: tools/editor/editor_node.cpp
msgid "Quick Run Scene.."
-msgstr ""
+msgstr "Szene Schnell Starten.."
#: tools/editor/editor_node.cpp
msgid ""
"Open Project Manager? \n"
"(Unsaved changes will be lost)"
msgstr ""
+"Projektmanager Öffnen?\n"
+"(Nichtgespeicherte Änderungen gehen verloren)"
#: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp
msgid "Ugh"
-msgstr ""
+msgstr "Ugh"
#: tools/editor/editor_node.cpp
msgid ""
-"Error loading scene, it must be inside the project path. Use 'Import' to open "
-"the scene, then save it inside the project path."
+"Error loading scene, it must be inside the project path. Use 'Import' to "
+"open the scene, then save it inside the project path."
msgstr ""
+"Fehler beim laden der Szene, sie muss innerhalb des Projekt Pfades liegen. "
+"Nutze 'Import' um die Szene zu öffnen, dann speichere sie innherhalb des "
+"Projekt Pfades."
#: tools/editor/editor_node.cpp
msgid "Error loading scene."
-msgstr ""
+msgstr "Fehler beim laden der Szene."
#: tools/editor/editor_node.cpp
msgid "Scene '%s' has broken dependencies:"
-msgstr ""
+msgstr "Szene '%s' hat ungelöste Abhängigkeiten:"
#: tools/editor/editor_node.cpp
msgid "Save Layout"
-msgstr ""
+msgstr "Layout Speichern"
#: tools/editor/editor_node.cpp
msgid "Load Layout"
-msgstr ""
+msgstr "Layout Laden"
#: tools/editor/editor_node.cpp tools/editor/project_export.cpp
msgid "Default"
@@ -1518,105 +1650,113 @@ msgstr "Standard"
#: tools/editor/editor_node.cpp
msgid "Delete Layout"
-msgstr ""
+msgstr "Layout Löschen"
#: tools/editor/editor_node.cpp
msgid "Switch Scene Tab"
-msgstr ""
+msgstr "Wechsle Szenen Tab"
#: tools/editor/editor_node.cpp
msgid "%d more file(s)"
-msgstr ""
+msgstr "%d weitere Datei(en)"
#: tools/editor/editor_node.cpp
msgid "%d more file(s) or folder(s)"
-msgstr ""
+msgstr "%d weitere Datei(en) oder Ordner"
#: tools/editor/editor_node.cpp
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Scene"
-msgstr ""
+msgstr "Szene"
#: tools/editor/editor_node.cpp
msgid "Go to previously opened scene."
+msgstr "Gehe zu vorher geöffneter Szene."
+
+#: tools/editor/editor_node.cpp
+msgid "Fullscreen Mode"
msgstr ""
#: tools/editor/editor_node.cpp
-msgid "Operations with scene files."
+msgid "Distraction Free Mode"
msgstr ""
#: tools/editor/editor_node.cpp
+msgid "Operations with scene files."
+msgstr "Operationen mit Szenen Dateien."
+
+#: tools/editor/editor_node.cpp
msgid "New Scene"
-msgstr ""
+msgstr "Neue Szene"
#: tools/editor/editor_node.cpp
msgid "New Inherited Scene.."
-msgstr ""
+msgstr "Neue vererbte Szene.."
#: tools/editor/editor_node.cpp
msgid "Open Scene.."
-msgstr ""
+msgstr "Szene Öffnen.."
#: tools/editor/editor_node.cpp
msgid "Save Scene"
-msgstr ""
+msgstr "Szene Speichern"
#: tools/editor/editor_node.cpp
msgid "Close Scene"
-msgstr ""
+msgstr "Szene Schliessen"
#: tools/editor/editor_node.cpp
msgid "Close Goto Prev. Scene"
-msgstr ""
+msgstr "Schließen Zu Vorh. Szene Gehen"
#: tools/editor/editor_node.cpp
msgid "Open Recent"
-msgstr ""
+msgstr "Aktuelle Öffnen"
#: tools/editor/editor_node.cpp
msgid "Quick Filter Files.."
-msgstr ""
+msgstr "Schnelle Filter Dateien.."
#: tools/editor/editor_node.cpp
msgid "Convert To.."
-msgstr ""
+msgstr "Umwandeln Zu.."
#: tools/editor/editor_node.cpp
msgid "Translatable Strings.."
-msgstr ""
+msgstr "Übersetzbare Zeichen.."
#: tools/editor/editor_node.cpp
msgid "MeshLibrary.."
-msgstr ""
+msgstr "MeshLibrary.."
#: tools/editor/editor_node.cpp
msgid "TileSet.."
-msgstr ""
+msgstr "TileSet.."
#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp
#: tools/editor/plugins/shader_editor_plugin.cpp
msgid "Redo"
-msgstr ""
+msgstr "Wiederherstellen"
#: tools/editor/editor_node.cpp
msgid "Run Script"
-msgstr ""
+msgstr "Script Starten"
#: tools/editor/editor_node.cpp
msgid "Project Settings"
-msgstr ""
+msgstr "Projekt Einstellungen"
#: tools/editor/editor_node.cpp
msgid "Revert Scene"
-msgstr ""
+msgstr "Szene Zurücksetzen"
#: tools/editor/editor_node.cpp
msgid "Quit to Project List"
-msgstr ""
+msgstr "Verlasse zu Projekt Liste"
#: tools/editor/editor_node.cpp
msgid "Import assets to the project."
-msgstr ""
+msgstr "Importiere Assets zum Projekt."
#: tools/editor/editor_node.cpp
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
@@ -1628,19 +1768,19 @@ msgstr ""
#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
#: tools/editor/project_manager.cpp
msgid "Import"
-msgstr ""
+msgstr "Import"
#: tools/editor/editor_node.cpp
msgid "Miscellaneous project or scene-wide tools."
-msgstr ""
+msgstr "Verschiedene Projekte oder Szenenweite Werkzeuge."
#: tools/editor/editor_node.cpp
msgid "Tools"
-msgstr ""
+msgstr "Werkzeuge"
#: tools/editor/editor_node.cpp
msgid "Export the project to many platforms."
-msgstr ""
+msgstr "Exportiere Projekt für viele Platformen."
#: tools/editor/editor_node.cpp tools/editor/project_export.cpp
msgid "Export"
@@ -1648,61 +1788,61 @@ msgstr "Exportieren"
#: tools/editor/editor_node.cpp
msgid "Play the project."
-msgstr ""
+msgstr "Projekt starten."
#: tools/editor/editor_node.cpp
#: tools/editor/plugins/sample_library_editor_plugin.cpp
msgid "Play"
-msgstr ""
+msgstr "Abspielen"
#: tools/editor/editor_node.cpp
msgid "Pause the scene"
-msgstr ""
+msgstr "Pausiere die Szene"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Pause Scene"
-msgstr "Hauptszene"
+msgstr "Szene pausieren"
#: tools/editor/editor_node.cpp
msgid "Stop the scene."
-msgstr ""
+msgstr "Stoppe die Szene."
#: tools/editor/editor_node.cpp
#: tools/editor/plugins/sample_library_editor_plugin.cpp
msgid "Stop"
-msgstr ""
+msgstr "Stop"
#: tools/editor/editor_node.cpp
msgid "Play the edited scene."
-msgstr ""
+msgstr "Spiele die editierte Szene."
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Play Scene"
-msgstr "Hauptszene"
+msgstr "Szene starten"
#: tools/editor/editor_node.cpp
msgid "Play custom scene"
-msgstr ""
+msgstr "Spiele angepasste Szene"
#: tools/editor/editor_node.cpp
msgid "Debug options"
-msgstr ""
+msgstr "Debug Optionen"
#: tools/editor/editor_node.cpp
msgid "Deploy with Remote Debug"
-msgstr ""
+msgstr "Mit Remote Debug starten"
#: tools/editor/editor_node.cpp
msgid ""
-"When exporting or deploying, the resulting executable will attempt to connect "
-"to the IP of this computer in order to be debugged."
+"When exporting or deploying, the resulting executable will attempt to "
+"connect to the IP of this computer in order to be debugged."
msgstr ""
+"Beim Exportieren oder Starten wird das Programm versuchen, sich mit der IP-"
+"Adresse dieses Computers zu verbinden, um debugged werden zu können."
#: tools/editor/editor_node.cpp
msgid "Small Deploy with Network FS"
-msgstr ""
+msgstr "Small Deploy mit Netzwerkdateisystem"
#: tools/editor/editor_node.cpp
msgid ""
@@ -1710,33 +1850,43 @@ msgid ""
"executable.\n"
"The filesystem will be provided from the project by the editor over the "
"network.\n"
-"On Android, deploy will use the USB cable for faster performance. This option "
-"speeds up testing for games with a large footprint."
+"On Android, deploy will use the USB cable for faster performance. This "
+"option speeds up testing for games with a large footprint."
msgstr ""
+"Wenn diese Option aktiviert ist, wird das Exportieren bzw. Starten nur eine "
+"kleine Programmdatei erzeugen.\n"
+"Die Projektdaten werden vom Editor über das Netzwerk bereitgestellt.\n"
+"Bei Android wird hierbei das USB Kabel wegen der schnelleren "
+"Übertragungsgeschwindigkeit benutzt. Diese Option beschleunigt das Testen "
+"von Spielen mit großen Projektdaten."
#: tools/editor/editor_node.cpp
msgid "Visible Collision Shapes"
-msgstr ""
+msgstr "Collision Shapes sichtbar"
#: tools/editor/editor_node.cpp
msgid ""
"Collision shapes and raycast nodes (for 2D and 3D) will be visible on the "
"running game if this option is turned on."
msgstr ""
+"Collision-Formen und Raycast Nodes (für 2D und 3D) werden im laufenden Spiel "
+"angezeigt, falls diese Option aktiviert ist."
#: tools/editor/editor_node.cpp
msgid "Visible Navigation"
-msgstr ""
+msgstr "Navigation sichtbar"
#: tools/editor/editor_node.cpp
msgid ""
"Navigation meshes and polygons will be visible on the running game if this "
"option is turned on."
msgstr ""
+"Navigations- Meshes und Polygone werden im laufenden Spiel sichtbar sein "
+"wenn diese Option gewählt ist."
#: tools/editor/editor_node.cpp
msgid "Sync Scene Changes"
-msgstr ""
+msgstr "Synchronisiere Szene Änderungen"
#: tools/editor/editor_node.cpp
msgid ""
@@ -1745,10 +1895,14 @@ msgid ""
"When used remotely on a device, this is more efficient with network "
"filesystem."
msgstr ""
+"Wenn diese Option gewählt ist, werden jegliche Änderungen der Szene im "
+"Editor im laufenden Spiel dargestellt.\n"
+"Wenn dies über die Remote Funktion genutzt wird ist es effizienter mit dem "
+"Netzwerk Dateisystem."
#: tools/editor/editor_node.cpp
msgid "Sync Script Changes"
-msgstr ""
+msgstr "Synchronisiere Script Änderungen"
#: tools/editor/editor_node.cpp
msgid ""
@@ -1757,10 +1911,14 @@ msgid ""
"When used remotely on a device, this is more efficient with network "
"filesystem."
msgstr ""
+"Wenn diese Option gewählt ist, wird jeglich gespeichertes Script während des "
+"laufenden Spiels neu geladen.\n"
+"Wenn dies über die Remote Funktion genutzt wird ist es effizienter mit dem "
+"Netzwerk Dateisystem."
#: tools/editor/editor_node.cpp tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Settings"
-msgstr ""
+msgstr "Einstellungen"
#: tools/editor/editor_node.cpp tools/editor/settings_config_dialog.cpp
msgid "Editor Settings"
@@ -1768,98 +1926,96 @@ msgstr "Editor-Einstellungen"
#: tools/editor/editor_node.cpp
msgid "Editor Layout"
-msgstr ""
+msgstr "Editor Layout"
#: tools/editor/editor_node.cpp
msgid "Install Export Templates"
-msgstr ""
+msgstr "Export Templates installieren"
#: tools/editor/editor_node.cpp
msgid "About"
-msgstr ""
+msgstr "Über"
#: tools/editor/editor_node.cpp
msgid "Alerts when an external resource has changed."
-msgstr ""
+msgstr "Schlägt Alarm falls sich eine externe Ressource verändert hat."
#: tools/editor/editor_node.cpp
msgid "Spins when the editor window repaints!"
-msgstr ""
+msgstr "Rotiert wenn das Editor Fenster neu gezeichnet wird!"
#: tools/editor/editor_node.cpp
msgid "Update Always"
-msgstr ""
+msgstr "Immer aktualisieren"
#: tools/editor/editor_node.cpp
msgid "Update Changes"
-msgstr ""
+msgstr "Änderungen aktualisieren"
#: tools/editor/editor_node.cpp
msgid "Inspector"
-msgstr ""
+msgstr "Inspektor"
#: tools/editor/editor_node.cpp
msgid "Create a new resource in memory and edit it."
-msgstr ""
+msgstr "Erstelle eine neue Ressource im Speicher und editiere sie."
#: tools/editor/editor_node.cpp
msgid "Load an existing resource from disk and edit it."
-msgstr ""
+msgstr "Lade eine bestehende Ressource von der Festplatte und editiere sie."
#: tools/editor/editor_node.cpp
msgid "Save the currently edited resource."
-msgstr ""
+msgstr "Speichere die so eben editierte Ressource."
-#: tools/editor/editor_node.cpp
-#: tools/editor/plugins/animation_player_editor_plugin.cpp
-#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp
msgid "Save As.."
-msgstr ""
+msgstr "Speichern als.."
#: tools/editor/editor_node.cpp
msgid "Go to the previous edited object in history."
-msgstr ""
+msgstr "Gehe zum vorherigen editierten Objekt im Verlauf."
#: tools/editor/editor_node.cpp
msgid "Go to the next edited object in history."
-msgstr ""
+msgstr "Gehe zum nächsten editierten Objekt im Verlauf."
#: tools/editor/editor_node.cpp
msgid "History of recently edited objects."
-msgstr ""
+msgstr "Verlauf der zuletzt editierten Objekte."
#: tools/editor/editor_node.cpp
msgid "Object properties."
-msgstr ""
+msgstr "Objekt Eigenschaften."
#: tools/editor/editor_node.cpp
msgid "FileSystem"
-msgstr ""
+msgstr "Dateisystem"
#: tools/editor/editor_node.cpp
msgid "Output"
-msgstr ""
+msgstr "Ausgabe"
#: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp
#: tools/editor/import_settings.cpp
msgid "Re-Import"
-msgstr ""
+msgstr "Re-Import"
#: tools/editor/editor_node.cpp tools/editor/editor_plugin_settings.cpp
msgid "Update"
-msgstr ""
+msgstr "Update"
#: tools/editor/editor_node.cpp
msgid "Thanks from the Godot community!"
-msgstr ""
+msgstr "Ein Dank von der Godot Community!"
#: tools/editor/editor_node.cpp
msgid "Thanks!"
-msgstr ""
+msgstr "Danke!"
#: tools/editor/editor_node.cpp
msgid "Import Templates From ZIP File"
-msgstr ""
+msgstr "Importiere Templates Aus ZIP Datei"
#: tools/editor/editor_node.cpp tools/editor/project_export.cpp
msgid "Export Project"
@@ -1867,11 +2023,11 @@ msgstr "Projekt exportieren"
#: tools/editor/editor_node.cpp
msgid "Export Library"
-msgstr ""
+msgstr "Export Bibliothek"
#: tools/editor/editor_node.cpp
msgid "Merge With Existing"
-msgstr ""
+msgstr "Vereine Mit Existierenden"
#: tools/editor/editor_node.cpp tools/editor/project_export.cpp
msgid "Password:"
@@ -1879,11 +2035,11 @@ msgstr "Passwort:"
#: tools/editor/editor_node.cpp
msgid "Open & Run a Script"
-msgstr ""
+msgstr "Script Öffnen & Starten"
#: tools/editor/editor_node.cpp
msgid "Load Errors"
-msgstr ""
+msgstr "Lade Fehler"
#: tools/editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
@@ -1903,31 +2059,31 @@ msgstr "Status:"
#: tools/editor/editor_profiler.cpp
msgid "Stop Profiling"
-msgstr ""
+msgstr "Profiling Stoppen"
#: tools/editor/editor_profiler.cpp
msgid "Start Profiling"
-msgstr ""
+msgstr "Profiling Starten"
#: tools/editor/editor_profiler.cpp
msgid "Measure:"
-msgstr ""
+msgstr "Maße:"
#: tools/editor/editor_profiler.cpp
msgid "Frame Time (sec)"
-msgstr ""
+msgstr "Bild Zeit (Sek)"
#: tools/editor/editor_profiler.cpp
msgid "Average Time (sec)"
-msgstr ""
+msgstr "Durchschnitts Zeit (Sek)"
#: tools/editor/editor_profiler.cpp
msgid "Frame %"
-msgstr ""
+msgstr "Bild %"
#: tools/editor/editor_profiler.cpp
msgid "Fixed Frame %"
-msgstr ""
+msgstr "Fixiertes Bild %"
#: tools/editor/editor_profiler.cpp tools/editor/script_editor_debugger.cpp
msgid "Time:"
@@ -1935,23 +2091,23 @@ msgstr "Zeit:"
#: tools/editor/editor_profiler.cpp
msgid "Inclusive"
-msgstr ""
+msgstr "Inklusive"
#: tools/editor/editor_profiler.cpp
msgid "Self"
-msgstr ""
+msgstr "Self"
#: tools/editor/editor_profiler.cpp
msgid "Frame #:"
-msgstr ""
+msgstr "Bild #:"
#: tools/editor/editor_reimport_dialog.cpp
msgid "Please wait for scan to complete."
-msgstr ""
+msgstr "Bitte warten bis der Scan abgeschlossen ist."
#: tools/editor/editor_reimport_dialog.cpp
msgid "Current scene must be saved to re-import."
-msgstr ""
+msgstr "Aktuelle Szene muss gespeichert sein um sie erneut zu importieren."
#: tools/editor/editor_reimport_dialog.cpp
msgid "Save & Re-Import"
@@ -1959,103 +2115,105 @@ msgstr "Speichern & erneut importieren"
#: tools/editor/editor_reimport_dialog.cpp
msgid "Re-Import Changed Resources"
-msgstr ""
+msgstr "Veränderte Ressourcen Neu Importieren"
#: tools/editor/editor_run_script.cpp
msgid "Write your logic in the _run() method."
-msgstr ""
+msgstr "Schreibe die Logik in die _run() Methode."
#: tools/editor/editor_run_script.cpp
msgid "There is an edited scene already."
-msgstr ""
+msgstr "Es besteht eine editierte Szene bereits."
#: tools/editor/editor_run_script.cpp
msgid "Couldn't instance script:"
-msgstr ""
+msgstr "Skript konnte nicht instanziert werden:"
#: tools/editor/editor_run_script.cpp
msgid "Did you forget the 'tool' keyword?"
-msgstr ""
+msgstr "Hast du das 'tool' Schlüsselwort vergessen?"
#: tools/editor/editor_run_script.cpp
msgid "Couldn't run script:"
-msgstr ""
+msgstr "Skript konnte nicht ausgeführt werden:"
#: tools/editor/editor_run_script.cpp
msgid "Did you forget the '_run' method?"
-msgstr ""
+msgstr "Hast du die '_run' Methode vergessen?"
#: tools/editor/editor_settings.cpp
msgid "Default (Same as Editor)"
-msgstr ""
+msgstr "Standard (Dasselbe wie der Editor)"
#: tools/editor/editor_sub_scene.cpp
msgid "Select Node(s) to Import"
-msgstr ""
+msgstr "Selektiere Node(s) für den Import"
#: tools/editor/editor_sub_scene.cpp
msgid "Scene Path:"
-msgstr ""
+msgstr "Szenen Pfad:"
#: tools/editor/editor_sub_scene.cpp
msgid "Import From Node:"
-msgstr ""
+msgstr "Importiere Aus Einem Node:"
#: tools/editor/file_type_cache.cpp
msgid "Can't open file_type_cache.cch for writing, not saving file type cache!"
msgstr ""
+"fil_type_cache.cch kann nicht mit Schreibzugriff geöffnet werden, file type "
+"cache wird nicht gespeichert!"
#: tools/editor/groups_editor.cpp
msgid "Add to Group"
-msgstr ""
+msgstr "Füge Gruppe hinzu"
#: tools/editor/groups_editor.cpp
msgid "Remove from Group"
-msgstr ""
+msgstr "Entferne aus Gruppe"
#: tools/editor/import_settings.cpp
msgid "Imported Resources"
-msgstr ""
+msgstr "Importierte Ressourcen"
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
msgid "No bit masks to import!"
-msgstr ""
+msgstr "Keine Bit Masken zu importieren!"
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Target path is empty."
-msgstr ""
+msgstr "Ziel Pfad ist leer."
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Target path must be a complete resource path."
-msgstr ""
+msgstr "Ziel Pfad muss ein kompletter Ressourcen Pfad sein."
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Target path must exist."
-msgstr ""
+msgstr "Ziel Pfad muss existieren."
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
msgid "Save path is empty!"
-msgstr ""
+msgstr "Speicher Pfad ist leer!"
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
msgid "Import BitMasks"
-msgstr ""
+msgstr "Importiere BitMasks"
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Source Texture(s):"
-msgstr ""
+msgstr "Quell Textur(en):"
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
@@ -2064,7 +2222,7 @@ msgstr ""
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
msgid "Target Path:"
-msgstr ""
+msgstr "Ziel Pfad:"
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
@@ -2073,43 +2231,43 @@ msgstr ""
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
msgid "Accept"
-msgstr ""
+msgstr "Akzeptieren"
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
msgid "Bit Mask"
-msgstr ""
+msgstr "Bit Maske"
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
msgid "No source font file!"
-msgstr ""
+msgstr "Kein Quell Font gefunden!"
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
msgid "No target font resource!"
-msgstr ""
+msgstr "Keine Ziel Font Ressource!"
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
msgid "Can't load/process source font."
-msgstr ""
+msgstr "Quell Font kann nicht geladen/verarbeitet werden."
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
msgid "Couldn't save font."
-msgstr ""
+msgstr "Font konnte nicht gespeichert werden."
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
msgid "Source Font:"
-msgstr ""
+msgstr "Quell Font:"
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
msgid "Source Font Size:"
-msgstr ""
+msgstr "Quell Font Größe:"
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
msgid "Dest Resource:"
-msgstr ""
+msgstr "Ziel Ressource:"
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
msgid "The quick brown fox jumps over the lazy dog."
-msgstr ""
+msgstr "Franz jagt im komplett verwahrlosten Taxi quer durch Bayern."
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
msgid "Test:"
@@ -2124,99 +2282,102 @@ msgstr "Optionen:"
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
msgid "Font Import"
-msgstr ""
+msgstr "Font Import"
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
msgid ""
"This file is already a Godot font file, please supply a BMFont type file "
"instead."
msgstr ""
+"Diese Datei ist bereits eine Godot Font Datei, bitte gib eine BMFont Datei "
+"anstelle an."
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
msgid "Failed opening as BMFont file."
-msgstr ""
+msgstr "Öffnen der BMFont Datei fehlgeschlagen."
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
msgid "Invalid font custom source."
-msgstr ""
+msgstr "Unzulässige eigene Font Ressource."
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
#: tools/editor/plugins/theme_editor_plugin.cpp
msgid "Font"
-msgstr ""
+msgstr "Schrift"
#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
msgid "No meshes to import!"
-msgstr ""
+msgstr "Keine Meshes zu importieren!"
#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
msgid "Single Mesh Import"
-msgstr ""
+msgstr "Einzel Mesh Import"
#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
msgid "Source Mesh(es):"
-msgstr ""
+msgstr "Quell Mesh(es):"
#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Mesh"
-msgstr ""
+msgstr "Mesh"
#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
msgid "Surface %d"
-msgstr ""
+msgstr "Oberfläche %d"
#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
msgid "No samples to import!"
-msgstr ""
+msgstr "Keine Beispiele zu importieren!"
#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
msgid "Import Audio Samples"
-msgstr ""
+msgstr "Audio Samples Importieren"
#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
msgid "Source Sample(s):"
-msgstr ""
+msgstr "Quell Sample(s):"
#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
msgid "Audio Sample"
-msgstr ""
+msgstr "Audio Sample"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "New Clip"
-msgstr ""
+msgstr "Neuer Clip"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Animation Options"
-msgstr ""
+msgstr "Animations Einstellungen"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Flags"
-msgstr ""
+msgstr "Flags"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Bake FPS:"
-msgstr ""
+msgstr "FPS Backen:"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Optimizer"
-msgstr ""
+msgstr "Optimierer"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Max Linear Error"
-msgstr ""
+msgstr "Lineare Fehlergrenze"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Max Angular Error"
-msgstr ""
+msgstr "Angulare Fehlergrenze"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Max Angle"
-msgstr ""
+msgstr "Maximaler Winkel"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#, fuzzy
msgid "Clips"
-msgstr ""
+msgstr "Begrenzungen"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
#: tools/editor/plugins/sample_library_editor_plugin.cpp
@@ -2226,16 +2387,16 @@ msgstr "Name"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Start(s)"
-msgstr ""
+msgstr "Start"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "End(s)"
-msgstr ""
+msgstr "Ende"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Loop"
-msgstr ""
+msgstr "Wiederholung"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Filters"
@@ -2243,104 +2404,105 @@ msgstr "Filter"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Source path is empty."
-msgstr ""
+msgstr "Quell Pfad ist leer."
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Couldn't load post-import script."
-msgstr ""
+msgstr "Post-Import Skript konnte nicht geladen werden."
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Invalid/broken script for post-import."
-msgstr ""
+msgstr "Fehlerhaftes Skript für Post-Import."
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Error importing scene."
-msgstr ""
+msgstr "Fehler beim importieren der Szene."
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Import 3D Scene"
-msgstr ""
+msgstr "3D Szene Importieren"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Source Scene:"
-msgstr ""
+msgstr "Quell Szene:"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Same as Target Scene"
-msgstr ""
+msgstr "Dieselbe wie die Zielszene"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Shared"
-msgstr ""
+msgstr "Geteilt"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Target Texture Folder:"
-msgstr ""
+msgstr "Ziel Texturen Ordner:"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Post-Process Script:"
-msgstr ""
+msgstr "Post-Process Skript:"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Custom Root Node Type:"
-msgstr ""
+msgstr "Angepasster Stamm-Node Typ:"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Auto"
-msgstr ""
+msgstr "Auto"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "The Following Files are Missing:"
-msgstr ""
+msgstr "Die folgenden Dateien fehlen:"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Import Anyway"
-msgstr ""
+msgstr "Trotzdem importieren"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Import & Open"
-msgstr ""
+msgstr "Importieren & Öffnen"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Edited scene has not been saved, open imported scene anyway?"
msgstr ""
+"Editierte Szene wurde nicht gespeichert, trotzdem importierte Szene öffnen?"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
msgid "Import Scene"
-msgstr ""
+msgstr "Szene Importieren"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Importing Scene.."
-msgstr ""
+msgstr "Szene Wird Importiert.."
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Running Custom Script.."
-msgstr ""
+msgstr "Angepasstes Skript Wird Ausgeführt.."
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Couldn't load post-import script:"
-msgstr ""
+msgstr "Post-Import Skript konnte nicht geladen werden:"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Invalid/broken script for post-import:"
-msgstr ""
+msgstr "Fehlerhaftes Skript für Post-Import:"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Error running post-import script:"
-msgstr ""
+msgstr "Fehler beim ausführen des Post-Import Skripts:"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Import Image:"
-msgstr ""
+msgstr "Bild Importieren:"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Can't import a file over itself:"
-msgstr ""
+msgstr "Es kann keine Datei in sich selbst importiert werden:"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Couldn't localize path: %s (already local)"
-msgstr ""
+msgstr "Pfad konnte nicht gefunden werden: %s (bereits lokal)"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Saving.."
@@ -2348,95 +2510,95 @@ msgstr "Speichere.."
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "3D Scene Animation"
-msgstr ""
+msgstr "3D Szenen Animation"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Uncompressed"
-msgstr ""
+msgstr "Unkomprimiert"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Compress Lossless (PNG)"
-msgstr ""
+msgstr "Verlustfrei Komprimieren (PNG)"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Compress Lossy (WebP)"
-msgstr ""
+msgstr "Verlustbehaftet Komprimieren (WebP)"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Compress (VRAM)"
-msgstr ""
+msgstr "Komprimieren (VRAM)"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Texture Format"
-msgstr ""
+msgstr "Textur-Format"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Texture Compression Quality (WebP):"
-msgstr ""
+msgstr "Textur Kompressions-Qualität (WebP):"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Texture Options"
-msgstr ""
+msgstr "Textur Einstellungen"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Please specify some files!"
-msgstr ""
+msgstr "Bitte gib einige Dateien an!"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "At least one file needed for Atlas."
-msgstr ""
+msgstr "Es wird zumindest eine Datei für den Atlas gebraucht."
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Error importing:"
-msgstr ""
+msgstr "Fehler beim importieren:"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Only one file is required for large texture."
-msgstr ""
+msgstr "Es ist nur eine Datei für eine große Textur erforderlich."
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Max Texture Size:"
-msgstr ""
+msgstr "Maximale Textur Größe:"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Import Textures for Atlas (2D)"
-msgstr ""
+msgstr "Importiere Texturen für Atlas (2D)"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Cell Size:"
-msgstr ""
+msgstr "Zell-Größe:"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Large Texture"
-msgstr ""
+msgstr "Große Textur"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Import Large Textures (2D)"
-msgstr ""
+msgstr "Importiere Große Texturen (2D)"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Source Texture"
-msgstr ""
+msgstr "Quell-Textur"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Base Atlas Texture"
-msgstr ""
+msgstr "Basis Atlas-Textur"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Source Texture(s)"
-msgstr ""
+msgstr "Quell-Textur(en)"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Import Textures for 2D"
-msgstr ""
+msgstr "Importiere Texturen für 2D"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Import Textures for 3D"
-msgstr ""
+msgstr "Importiere Texturen für 3D"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Import Textures"
-msgstr ""
+msgstr "Texturen Importieren"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "2D Texture"
@@ -2448,65 +2610,67 @@ msgstr "3D-Textur"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Atlas Texture"
-msgstr ""
+msgstr "Atlas-Textur"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid ""
"NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files to "
"the project."
msgstr ""
+"MERKE: Das importieren von 2D Texturen ist nicht zwingend notwendig. Kopiere "
+"einfach png/jpg Dateien in das Projekt."
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Crop empty space."
-msgstr ""
+msgstr "Beschneide leere Bereiche."
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Texture"
-msgstr ""
+msgstr "Textur"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Import Large Texture"
-msgstr ""
+msgstr "Große Textur Importieren"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Load Source Image"
-msgstr ""
+msgstr "Quell-Bild Laden"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Slicing"
-msgstr ""
+msgstr "Teile"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Inserting"
-msgstr ""
+msgstr "Füge Ein"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Saving"
-msgstr ""
+msgstr "Speichere"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Couldn't save large texture:"
-msgstr ""
+msgstr "Große Textur konnte nicht gespeichert werden:"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Build Atlas For:"
-msgstr ""
+msgstr "Baue Atlas Für:"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Loading Image:"
-msgstr ""
+msgstr "Lade Bild:"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Couldn't load image:"
-msgstr ""
+msgstr "Bild konnte nicht geladen werden:"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Converting Images"
-msgstr ""
+msgstr "Bilder werden konvertiert"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Cropping Images"
-msgstr ""
+msgstr "Bilder werden beschnitten"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Blitting Images"
@@ -2514,23 +2678,23 @@ msgstr ""
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Couldn't save atlas image:"
-msgstr ""
+msgstr "Atlas-Bild konnte nicht gespeichert werden:"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Couldn't save converted texture:"
-msgstr ""
+msgstr "Konvertierte Textur konnte nicht gespeichert werden:"
#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
msgid "Invalid source!"
-msgstr ""
+msgstr "Fehlerhafte Quelle!"
#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
msgid "Invalid translation source!"
-msgstr ""
+msgstr "Fehlerhafte Übersetzungs-Quelle!"
#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
msgid "Column"
-msgstr ""
+msgstr "Reihe"
#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
#: tools/editor/script_create_dialog.cpp
@@ -2539,163 +2703,162 @@ msgstr "Sprache"
#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
msgid "No items to import!"
-msgstr ""
+msgstr "Keine Inhalte zu importieren!"
#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
msgid "No target path!"
-msgstr ""
+msgstr "Kein Ziel-Pfad!"
#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
msgid "Import Translations"
-msgstr ""
+msgstr "Übersetzungen Importieren"
#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
msgid "Couldn't import!"
-msgstr ""
+msgstr "Konnte nicht importiert werden!"
#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
msgid "Import Translation"
-msgstr ""
+msgstr "Übersetzung Importieren"
#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
msgid "Source CSV:"
-msgstr ""
+msgstr "Quell-CSV:"
#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
msgid "Ignore First Row"
-msgstr ""
+msgstr "Ignoriere Erste Zeile"
#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
msgid "Compress"
-msgstr ""
+msgstr "Komprimieren"
#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
msgid "Add to Project (engine.cfg)"
-msgstr ""
+msgstr "Zu Projekt hinzufügen (engine.cfg)"
#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
msgid "Import Languages:"
-msgstr ""
+msgstr "Sprachen Importieren:"
#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
msgid "Translation"
-msgstr ""
+msgstr "Übersetzung"
#: tools/editor/multi_node_edit.cpp
msgid "MultiNode Set"
-msgstr ""
+msgstr "MultiNode Setzen"
#: tools/editor/node_dock.cpp
msgid "Node"
-msgstr ""
+msgstr "Node"
#: tools/editor/node_dock.cpp
-#, fuzzy
msgid "Groups"
-msgstr "Gruppen:"
+msgstr "Gruppen"
#: tools/editor/node_dock.cpp
msgid "Select a Node to edit Signals and Groups."
-msgstr ""
+msgstr "Selektiere ein Node um Signale und Gruppen zu editieren."
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
-msgstr ""
+msgstr "Autoplay Umschalten"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "New Animation Name:"
-msgstr ""
+msgstr "Neuer Animations-Name:"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "New Anim"
-msgstr ""
+msgstr "Neue Animation"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
-msgstr ""
+msgstr "Ändere Animations-Name:"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Remove Animation"
-msgstr ""
+msgstr "Animation Entfernen"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "ERROR: Invalid animation name!"
-msgstr ""
+msgstr "FEHLER: Fehlerhafter Animations-Name!"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "ERROR: Animation name already exists!"
-msgstr ""
+msgstr "Fehler: Animations-Name existiert bereits!"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Rename Animation"
-msgstr ""
+msgstr "Animation Umbenennen"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
msgid "Add Animation"
-msgstr ""
+msgstr "Animation Hinzufügen"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
-msgstr ""
+msgstr "Überblende Nächsten Geänderten"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Blend Time"
-msgstr ""
+msgstr "Blend-Zeit Ändern"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Load Animation"
-msgstr ""
+msgstr "Animation Laden"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Duplicate Animation"
-msgstr ""
+msgstr "Animation Duplizieren"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "ERROR: No animation to copy!"
-msgstr ""
+msgstr "Fehler: Keine Animation zum kopieren!"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "ERROR: No animation resource on clipboard!"
-msgstr ""
+msgstr "FEHLER: Keine Animations-Ressource im Zwischenspeicher!"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Pasted Animation"
-msgstr ""
+msgstr "Eingefügte Animation"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Paste Animation"
-msgstr ""
+msgstr "Animation Einfügen"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "ERROR: No animation to edit!"
-msgstr ""
+msgstr "FEHLER: Keine Animation zum editieren!"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Play selected animation backwards from current pos. (A)"
-msgstr ""
+msgstr "Spiele ausgewählte Animation rückwärts von aktueller Position. (A)"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Play selected animation backwards from end. (Shift+A)"
-msgstr ""
+msgstr "Spiele ausgewählte Animation rückwärts vom Ende. (Shift+A)"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Stop animation playback. (S)"
-msgstr ""
+msgstr "Stoppe Animations-Wiedergabe. (S)"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Play selected animation from start. (Shift+D)"
-msgstr ""
+msgstr "Spiele ausgewählte Animation vom Start. (Shift+D)"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Play selected animation from current pos. (D)"
-msgstr ""
+msgstr "Ausgewählte Animation von aktueller Position aus abspielen. (D)"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation position (in seconds)."
-msgstr ""
+msgstr "Position der Animation (in Sekunden)."
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Scale animation playback globally for the node."
@@ -2703,23 +2866,33 @@ msgstr ""
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Create new animation in player."
-msgstr ""
+msgstr "Neue Animation im Player erstellen."
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Load animation from disk."
+msgstr "Eine Animation von der Festplatte laden."
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Load an animation from disk."
-msgstr ""
+msgstr "Eine Animation von der Festplatte laden."
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Save the current animation"
-msgstr ""
+msgstr "Aktuelle Animation speichern"
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Save As"
+msgstr "Speichern als.."
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
-msgstr ""
+msgstr "Liste der Animationen im Player anzeigen."
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Autoplay on Load"
-msgstr ""
+msgstr "Beim Laden automatisch abpielen"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Edit Target Blend Times"
@@ -2727,19 +2900,19 @@ msgstr ""
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Tools"
-msgstr ""
+msgstr "Animationswerkzeuge"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Copy Animation"
-msgstr ""
+msgstr "Animation kopieren"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Create New Animation"
-msgstr ""
+msgstr "Neue Animation erstellen"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation Name:"
-msgstr ""
+msgstr "Name der Animation:"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
@@ -2755,7 +2928,7 @@ msgstr ""
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Next (Auto Queue):"
-msgstr ""
+msgstr "Nächste (Automatische Warteschlange):"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Cross-Animation Blend Times"
@@ -2764,24 +2937,24 @@ msgstr ""
#: tools/editor/plugins/animation_player_editor_plugin.cpp
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Animation"
-msgstr ""
+msgstr "Animation"
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
msgid "New name:"
-msgstr ""
+msgstr "Neuer Name:"
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
#: tools/editor/plugins/multimesh_editor_plugin.cpp
msgid "Scale:"
-msgstr ""
+msgstr "Skalierung:"
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
msgid "Fade In (s):"
-msgstr ""
+msgstr "Einblenden (s):"
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
msgid "Fade Out (s):"
-msgstr ""
+msgstr "Ausblenden (s):"
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
msgid "Blend"
@@ -2789,28 +2962,28 @@ msgstr ""
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
msgid "Mix"
-msgstr ""
+msgstr "Mix"
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
msgid "Auto Restart:"
-msgstr ""
+msgstr "Automatisch neu starten:"
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
msgid "Restart (s):"
-msgstr ""
+msgstr "Neu starten (s):"
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
msgid "Random Restart (s):"
-msgstr ""
+msgstr "Zufällig neu starten (s):"
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
msgid "Start!"
-msgstr ""
+msgstr "Start!"
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
#: tools/editor/plugins/multimesh_editor_plugin.cpp
msgid "Amount:"
-msgstr ""
+msgstr "Menge:"
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
msgid "Blend:"
@@ -2826,15 +2999,15 @@ msgstr ""
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
msgid "X-Fade Time (s):"
-msgstr ""
+msgstr "Überblendungszeit (s):"
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
msgid "Current:"
-msgstr ""
+msgstr "Laufend:"
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
msgid "Add Input"
-msgstr ""
+msgstr "Eingang hinzufügen"
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
msgid "Clear Auto-Advance"
@@ -2846,23 +3019,23 @@ msgstr ""
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
msgid "Delete Input"
-msgstr ""
+msgstr "Eingang löschen"
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
msgid "Rename"
-msgstr ""
+msgstr "Umbenennen"
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
msgid "Animation tree is valid."
-msgstr ""
+msgstr "Animationsbaum ist gültig."
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
msgid "Animation tree is invalid."
-msgstr ""
+msgstr "Animationsbaum ist ungültig."
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
msgid "Animation Node"
-msgstr ""
+msgstr "Animationsknoten"
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
msgid "OneShot Node"
@@ -2870,7 +3043,7 @@ msgstr ""
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
msgid "Mix Node"
-msgstr ""
+msgstr "Mixknoten"
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
msgid "Blend2 Node"
@@ -2898,7 +3071,7 @@ msgstr ""
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
msgid "Import Animations.."
-msgstr ""
+msgstr "Animationen importieren.."
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
msgid "Edit Node Filters"
@@ -2906,15 +3079,15 @@ msgstr ""
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
msgid "Filters.."
-msgstr ""
+msgstr "Filter.."
#: tools/editor/plugins/baked_light_baker.cpp
msgid "Parsing %d Triangles:"
-msgstr ""
+msgstr "Parse %d Dreiecke:"
#: tools/editor/plugins/baked_light_baker.cpp
msgid "Triangle #"
-msgstr ""
+msgstr "Dreieck #"
#: tools/editor/plugins/baked_light_baker.cpp
msgid "Light Baker Setup:"
@@ -2922,15 +3095,15 @@ msgstr ""
#: tools/editor/plugins/baked_light_baker.cpp
msgid "Parsing Geometry"
-msgstr ""
+msgstr "Parse Geometrie"
#: tools/editor/plugins/baked_light_baker.cpp
msgid "Fixing Lights"
-msgstr ""
+msgstr "Behebe Lampen"
#: tools/editor/plugins/baked_light_baker.cpp
msgid "Making BVH"
-msgstr ""
+msgstr "Erstelle BVH"
#: tools/editor/plugins/baked_light_baker.cpp
msgid "Creating Light Octree"
@@ -2954,7 +3127,7 @@ msgstr ""
#: tools/editor/plugins/baked_light_baker.cpp
msgid "Post-Processing Texture #"
-msgstr ""
+msgstr "Nachbearbeiten von Textur #"
#: tools/editor/plugins/baked_light_editor_plugin.cpp
msgid "BakedLightInstance does not contain a BakedLight resource."
@@ -2971,39 +3144,40 @@ msgstr ""
#: tools/editor/plugins/camera_editor_plugin.cpp
#: tools/editor/plugins/sample_library_editor_plugin.cpp
msgid "Preview"
-msgstr ""
+msgstr "Vorschau"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Configure Snap"
-msgstr ""
+msgstr "Einrasten konfigurieren"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
#: tools/editor/plugins/texture_region_editor_plugin.cpp
msgid "Grid Offset:"
-msgstr ""
+msgstr "Gitterverschiebung:"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
#: tools/editor/plugins/texture_region_editor_plugin.cpp
msgid "Grid Step:"
-msgstr ""
+msgstr "Gitterabstand:"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Rotation Offset:"
-msgstr ""
+msgstr "Rotationsverschiebung:"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Rotation Step:"
-msgstr ""
+msgstr "Rotationsabstand:"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move Pivot"
-msgstr ""
+msgstr "Mittelpunkt bewegen"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#, fuzzy
msgid "Move Action"
-msgstr ""
+msgstr "Bewegungsaktion"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Edit IK Chain"
@@ -3015,11 +3189,11 @@ msgstr ""
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Change Anchors"
-msgstr ""
+msgstr "Ankerpunkte ändern"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Zoom (%):"
-msgstr ""
+msgstr "Vergrößerung (%):"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Paste Pose"
@@ -3027,7 +3201,7 @@ msgstr ""
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Select Mode (Q)"
-msgstr ""
+msgstr "Auswahlmodus (Q)"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Drag: Rotate"
@@ -3040,6 +3214,8 @@ msgstr ""
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)."
msgstr ""
+"Drücken Sie 'V', um den Mittelpunkt zu ändern, 'Shift+V', um den Mittelpunkt "
+"(während der Bewegung) zu verschieben."
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Alt+RMB: Depth list selection"
@@ -3048,12 +3224,12 @@ msgstr ""
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Move Mode (W)"
-msgstr ""
+msgstr "Bewegungsmodus (W)"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Rotate Mode (E)"
-msgstr ""
+msgstr "Rotationsmodus (E)"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
#: tools/editor/plugins/spatial_editor_plugin.cpp
@@ -3061,10 +3237,13 @@ msgid ""
"Show a list of all objects at the position clicked\n"
"(same as Alt+RMB in select mode)."
msgstr ""
+"Zeige eine Liste aller Objekte, die sich an der angeklickten Position "
+"befinden\n"
+"(equivalent zu Alt+RMT im Auswahlmodus)."
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Click to change object's rotation pivot."
-msgstr ""
+msgstr "Klicken Sie, um den Rotationsmittelpunkt des Objekts zu ändern."
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Pan Mode"
@@ -3073,18 +3252,21 @@ msgstr ""
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Lock the selected object in place (can't be moved)."
msgstr ""
+"Das ausgewählte Objekt an seiner Position sperren (kann nicht bewegt werden)."
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Unlock the selected object (can be moved)."
-msgstr ""
+msgstr "Das ausgewählte Objekt entsperren (kann bewegt werden)."
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Makes sure the object's children are not selectable."
msgstr ""
+"Versichert, dass die untergeordnete Knoten des Objektes nicht auswählbar "
+"sind."
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Restores the object's children's ability to be selected."
-msgstr ""
+msgstr "Stellt die Eigenschaft des Objektes wieder her, ausgewählt zu werden."
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
@@ -3092,51 +3274,51 @@ msgstr ""
#: tools/editor/plugins/shader_editor_plugin.cpp
#: tools/editor/project_manager.cpp
msgid "Edit"
-msgstr ""
+msgstr "Bearbeiten"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Use Snap"
-msgstr ""
+msgstr "Einrasten aktivieren"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
#: tools/editor/plugins/texture_region_editor_plugin.cpp
msgid "Show Grid"
-msgstr ""
+msgstr "Raster anzeigen"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Use Rotation Snap"
-msgstr ""
+msgstr "Einrasten für Rotation aktivieren"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap Relative"
-msgstr ""
+msgstr "Relatives Einrasten aktivieren"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Configure Snap.."
-msgstr ""
+msgstr "Einrasten konfigurieren.."
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Use Pixel Snap"
-msgstr ""
+msgstr "Einrasten an Pixeln aktivieren"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Expand to Parent"
-msgstr ""
+msgstr "Auf übergeordneten Knoten ausdehnen"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Skeleton.."
-msgstr ""
+msgstr "Skelett.."
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Make Bones"
-msgstr ""
+msgstr "Knochen erstellen"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Clear Bones"
-msgstr ""
+msgstr "Knochen entfernen"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Make IK Chain"
@@ -3149,19 +3331,19 @@ msgstr ""
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "View"
-msgstr ""
+msgstr "Ansicht"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Zoom In"
-msgstr ""
+msgstr "Vergrößern"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Zoom Out"
-msgstr ""
+msgstr "Verkleinern"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Zoom Reset"
-msgstr ""
+msgstr "Vergrößerung zurücksetzen"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Zoom Set.."
@@ -3169,27 +3351,27 @@ msgstr ""
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Center Selection"
-msgstr ""
+msgstr "Auswahl zentrieren"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Frame Selection"
-msgstr ""
+msgstr "Auswahl einrahmen"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Anchor"
-msgstr ""
+msgstr "Anker"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Keys (Ins)"
-msgstr ""
+msgstr "Schlüsselbilder einfügen (Einfg)"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key"
-msgstr ""
+msgstr "Schlüsselbild einfügen"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Insert Key (Existing Tracks)"
-msgstr ""
+msgstr "Schlüsselbild einfügen (existierender Track)"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Copy Pose"
@@ -3201,18 +3383,18 @@ msgstr ""
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Set a Value"
-msgstr ""
+msgstr "Einen Wert setzen"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Snap (Pixels):"
-msgstr ""
+msgstr "Einrasten (Pixel):"
#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp
#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create Poly"
-msgstr ""
+msgstr "Polygon erstellen"
#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp
#: tools/editor/plugins/collision_polygon_editor_plugin.cpp
@@ -3221,7 +3403,7 @@ msgstr ""
#: tools/editor/plugins/path_2d_editor_plugin.cpp
#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Edit Poly"
-msgstr ""
+msgstr "Polygon bearbeiten"
#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp
#: tools/editor/plugins/collision_polygon_editor_plugin.cpp
@@ -3230,17 +3412,17 @@ msgstr ""
#: tools/editor/plugins/path_2d_editor_plugin.cpp
#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Edit Poly (Remove Point)"
-msgstr ""
+msgstr "Polygon bearbeiten (Punkt entfernen)"
#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp
#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create a new polygon from scratch."
-msgstr ""
+msgstr "Polygon neu von vorne erstellen."
#: tools/editor/plugins/collision_polygon_editor_plugin.cpp
msgid "Create Poly3D"
-msgstr ""
+msgstr "Polygon3D erstellen"
#: tools/editor/plugins/collision_shape_2d_editor_plugin.cpp
msgid "Set Handle"
@@ -3248,12 +3430,12 @@ msgstr ""
#: tools/editor/plugins/color_ramp_editor_plugin.cpp
msgid "Add/Remove Color Ramp Point"
-msgstr ""
+msgstr "Farbverlaufspunkt hinzufügen/entfernen"
#: tools/editor/plugins/color_ramp_editor_plugin.cpp
#: tools/editor/plugins/shader_graph_editor_plugin.cpp
msgid "Modify Color Ramp"
-msgstr ""
+msgstr "Farbverlauf anpassen"
#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
msgid "Creating Mesh Library"
@@ -3261,41 +3443,41 @@ msgstr ""
#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
msgid "Thumbnail.."
-msgstr ""
+msgstr "Vorschau.."
#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
msgid "Remove item %d?"
-msgstr ""
+msgstr "%d entfernen?"
#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
#: tools/editor/plugins/theme_editor_plugin.cpp
#: tools/editor/plugins/tile_set_editor_plugin.cpp
msgid "Add Item"
-msgstr ""
+msgstr "Element hinzufügen"
#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
msgid "Remove Selected Item"
-msgstr ""
+msgstr "Ausgewähltes Element entfernen"
#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
msgid "Import from Scene"
-msgstr ""
+msgstr "Aus Szene importieren"
#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
msgid "Update from Scene"
-msgstr ""
+msgstr "Aus Szene aktialisieren"
#: tools/editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
-msgstr ""
+msgstr "Element %d"
#: tools/editor/plugins/item_list_editor_plugin.cpp
msgid "Items"
-msgstr ""
+msgstr "Elemente"
#: tools/editor/plugins/item_list_editor_plugin.cpp
msgid "Item List Editor"
-msgstr ""
+msgstr "Auflistungseditor"
#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
msgid "Create Occluder Polygon"
@@ -3304,22 +3486,22 @@ msgstr ""
#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Edit existing polygon:"
-msgstr ""
+msgstr "Bestehendes Polygon bearbeiten:"
#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "LMB: Move Point."
-msgstr ""
+msgstr "LMT: Punkt verschieben."
#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Ctrl+LMB: Split Segment."
-msgstr ""
+msgstr "Strg+LMT: Segment aufteilen."
#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "RMB: Erase Point."
-msgstr ""
+msgstr "RMT: Punkt entfernen."
#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Mesh is empty!"
@@ -3335,7 +3517,7 @@ msgstr ""
#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
msgid "This doesn't work on scene root!"
-msgstr ""
+msgstr "Dies funktioniert nicht am Hauptknoten der Szene!"
#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Trimesh Shape"
@@ -3343,7 +3525,7 @@ msgstr ""
#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Convex Shape"
-msgstr ""
+msgstr "Konvexe Form erstellen"
#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Navigation Mesh"
@@ -3459,15 +3641,15 @@ msgstr ""
#: tools/editor/plugins/multimesh_editor_plugin.cpp
msgid "X-Axis"
-msgstr ""
+msgstr "X-Achse"
#: tools/editor/plugins/multimesh_editor_plugin.cpp
msgid "Y-Axis"
-msgstr ""
+msgstr "Y-Achse"
#: tools/editor/plugins/multimesh_editor_plugin.cpp
msgid "Z-Axis"
-msgstr ""
+msgstr "Z-Achse"
#: tools/editor/plugins/multimesh_editor_plugin.cpp
msgid "Mesh Up Axis:"
@@ -3475,15 +3657,15 @@ msgstr ""
#: tools/editor/plugins/multimesh_editor_plugin.cpp
msgid "Random Rotation:"
-msgstr ""
+msgstr "Zufällige Rotation:"
#: tools/editor/plugins/multimesh_editor_plugin.cpp
msgid "Random Tilt:"
-msgstr ""
+msgstr "Zufälliges Kippen:"
#: tools/editor/plugins/multimesh_editor_plugin.cpp
msgid "Random Scale:"
-msgstr ""
+msgstr "Zufällige Skalieren:"
#: tools/editor/plugins/multimesh_editor_plugin.cpp
msgid "Populate"
@@ -3499,11 +3681,11 @@ msgstr ""
#: tools/editor/plugins/particles_2d_editor_plugin.cpp
msgid "Error loading image:"
-msgstr ""
+msgstr "Fehler beim Laden des Bilds:"
#: tools/editor/plugins/particles_2d_editor_plugin.cpp
msgid "No pixels with transparency > 128 in image.."
-msgstr ""
+msgstr "Keine Pixel mit einer Transzparenz > 128 im Bild.."
#: tools/editor/plugins/particles_2d_editor_plugin.cpp
msgid "Set Emission Mask"
@@ -3523,19 +3705,19 @@ msgstr ""
#: tools/editor/plugins/particles_editor_plugin.cpp
msgid "Node does not contain geometry."
-msgstr ""
+msgstr "Knoten enthält keine Geometrie."
#: tools/editor/plugins/particles_editor_plugin.cpp
msgid "Node does not contain geometry (faces)."
-msgstr ""
+msgstr "Knoten enthält keine Geometrie (Flächen)."
#: tools/editor/plugins/particles_editor_plugin.cpp
msgid "Faces contain no area!"
-msgstr ""
+msgstr "Flächen enthalten keinen Bereich!"
#: tools/editor/plugins/particles_editor_plugin.cpp
msgid "No faces!"
-msgstr ""
+msgstr "Keine Flächen!"
#: tools/editor/plugins/particles_editor_plugin.cpp
msgid "Generate AABB"
@@ -3567,24 +3749,24 @@ msgstr ""
#: tools/editor/plugins/particles_editor_plugin.cpp
msgid "Surface"
-msgstr ""
+msgstr "Oberfläche"
#: tools/editor/plugins/particles_editor_plugin.cpp
msgid "Volume"
-msgstr ""
+msgstr "Volumen"
#: tools/editor/plugins/path_2d_editor_plugin.cpp
msgid "Remove Point from Curve"
-msgstr ""
+msgstr "Punkt von Kurve entfernen"
#: tools/editor/plugins/path_2d_editor_plugin.cpp
#: tools/editor/plugins/path_editor_plugin.cpp
msgid "Add Point to Curve"
-msgstr ""
+msgstr "Punkt zu Kurve hinzufügen"
#: tools/editor/plugins/path_2d_editor_plugin.cpp
msgid "Move Point in Curve"
-msgstr ""
+msgstr "Punkt auf Kurve verschieben"
#: tools/editor/plugins/path_2d_editor_plugin.cpp
msgid "Move In-Control in Curve"
@@ -3597,70 +3779,70 @@ msgstr ""
#: tools/editor/plugins/path_2d_editor_plugin.cpp
#: tools/editor/plugins/path_editor_plugin.cpp
msgid "Select Points"
-msgstr ""
+msgstr "Punkte auswählen"
#: tools/editor/plugins/path_2d_editor_plugin.cpp
#: tools/editor/plugins/path_editor_plugin.cpp
msgid "Shift+Drag: Select Control Points"
-msgstr ""
+msgstr "Shift+Ziehen: Kontrollpunkte auswählen"
#: tools/editor/plugins/path_2d_editor_plugin.cpp
#: tools/editor/plugins/path_editor_plugin.cpp
msgid "Click: Add Point"
-msgstr ""
+msgstr "Klicken: Punkt hinzufügen"
#: tools/editor/plugins/path_2d_editor_plugin.cpp
#: tools/editor/plugins/path_editor_plugin.cpp
msgid "Right Click: Delete Point"
-msgstr ""
+msgstr "Rechtsklick: Punkt löschen"
#: tools/editor/plugins/path_2d_editor_plugin.cpp
msgid "Select Control Points (Shift+Drag)"
-msgstr ""
+msgstr "Kontrollpunkte auswählen (Shift+Ziehen)"
#: tools/editor/plugins/path_2d_editor_plugin.cpp
#: tools/editor/plugins/path_editor_plugin.cpp
msgid "Add Point (in empty space)"
-msgstr ""
+msgstr "Punkt hinzufügen (in leerem Raum)"
#: tools/editor/plugins/path_2d_editor_plugin.cpp
#: tools/editor/plugins/path_editor_plugin.cpp
msgid "Split Segment (in curve)"
-msgstr ""
+msgstr "Segment aufteilen (in Kurve)"
#: tools/editor/plugins/path_2d_editor_plugin.cpp
#: tools/editor/plugins/path_editor_plugin.cpp
msgid "Delete Point"
-msgstr ""
+msgstr "Punk löschen"
#: tools/editor/plugins/path_2d_editor_plugin.cpp
#: tools/editor/plugins/path_editor_plugin.cpp
msgid "Close Curve"
-msgstr ""
+msgstr "Kurve schließen"
#: tools/editor/plugins/path_editor_plugin.cpp
msgid "Curve Point #"
-msgstr ""
+msgstr "Kurvenpunkt #"
#: tools/editor/plugins/path_editor_plugin.cpp
msgid "Set Curve Point Pos"
-msgstr ""
+msgstr "Position des Kurvenpunkts setzen"
#: tools/editor/plugins/path_editor_plugin.cpp
msgid "Set Curve In Pos"
-msgstr ""
+msgstr "Position der Eingangskurve setzen"
#: tools/editor/plugins/path_editor_plugin.cpp
msgid "Set Curve Out Pos"
-msgstr ""
+msgstr "Position der Ausgangskurve setzen"
#: tools/editor/plugins/path_editor_plugin.cpp
msgid "Split Path"
-msgstr ""
+msgstr "Pfad aufteilen"
#: tools/editor/plugins/path_editor_plugin.cpp
msgid "Remove Path Point"
-msgstr ""
+msgstr "Pfadpunkt entfernen"
#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Create UV Map"
@@ -3676,31 +3858,31 @@ msgstr ""
#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Point"
-msgstr ""
+msgstr "Punkt verschieben"
#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Ctrl: Rotate"
-msgstr ""
+msgstr "Strg: Rotieren"
#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Shift: Move All"
-msgstr ""
+msgstr "Shift: Alle verschieben"
#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Shift+Ctrl: Scale"
-msgstr ""
+msgstr "Shift+Strg: Skalieren"
#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Move Polygon"
-msgstr ""
+msgstr "Polygon verschieben"
#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Rotate Polygon"
-msgstr ""
+msgstr "Polygon rotieren"
#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Scale Polygon"
-msgstr ""
+msgstr "Polygon skalieren"
#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
msgid "Polygon->UV"
@@ -3717,21 +3899,21 @@ msgstr ""
#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
#: tools/editor/plugins/texture_region_editor_plugin.cpp
msgid "Snap"
-msgstr ""
+msgstr "Einrasten"
#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
#: tools/editor/plugins/texture_region_editor_plugin.cpp
msgid "Enable Snap"
-msgstr ""
+msgstr "Einrasten aktivieren"
#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
#: tools/editor/plugins/texture_region_editor_plugin.cpp
msgid "Grid"
-msgstr ""
+msgstr "Raster"
#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
msgid "ERROR: Couldn't load resource!"
-msgstr ""
+msgstr "FEHLER: Ressource konnte nicht geladen werden!"
#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
msgid "Add Resource"
@@ -3832,7 +4014,8 @@ msgstr ""
msgid "Save Theme As.."
msgstr ""
-#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/project_export.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/project_export.cpp
msgid "File"
msgstr "Datei"
@@ -3904,11 +4087,7 @@ msgid "Auto Indent"
msgstr ""
#: tools/editor/plugins/script_editor_plugin.cpp
-msgid "Reload Tool Script"
-msgstr ""
-
-#: tools/editor/plugins/script_editor_plugin.cpp
-msgid "Reload Tool Script (Soft)"
+msgid "Soft Reload Script"
msgstr ""
#: tools/editor/plugins/script_editor_plugin.cpp
@@ -4001,7 +4180,7 @@ msgid "Help"
msgstr ""
#: tools/editor/plugins/script_editor_plugin.cpp
-msgid "Contextual"
+msgid "Contextual Help"
msgstr ""
#: tools/editor/plugins/script_editor_plugin.cpp
@@ -4208,10 +4387,6 @@ msgid "Transform Aborted."
msgstr ""
#: tools/editor/plugins/spatial_editor_plugin.cpp
-msgid "View Plane Transform."
-msgstr ""
-
-#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "X-Axis Transform."
msgstr ""
@@ -4224,6 +4399,10 @@ msgid "Z-Axis Transform."
msgstr ""
#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View Plane Transform."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Scaling to %s%%."
msgstr ""
@@ -4364,9 +4543,8 @@ msgid "Scale Mode (R)"
msgstr ""
#: tools/editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Transform"
-msgstr "Übergänge"
+msgstr "Transformation"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Local Coords"
@@ -4565,14 +4743,12 @@ msgid "StyleBox Preview:"
msgstr ""
#: tools/editor/plugins/texture_region_editor_plugin.cpp
-#, fuzzy
msgid "Texture Region Editor"
-msgstr "Im Editor öffnen"
+msgstr "Texturbegrenzungseditor"
#: tools/editor/plugins/texture_region_editor_plugin.cpp
-#, fuzzy
msgid "Scale Region Editor"
-msgstr "Im Editor öffnen"
+msgstr "Skalierungsbegrenzungseditor"
#: tools/editor/plugins/texture_region_editor_plugin.cpp
msgid ""
@@ -4606,7 +4782,12 @@ msgid "Remove Class Items"
msgstr ""
#: tools/editor/plugins/theme_editor_plugin.cpp
-msgid "Create Template"
+#, fuzzy
+msgid "Create Empty Template"
+msgstr "Lade Export Templates"
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Create Empty Editor Template"
msgstr ""
#: tools/editor/plugins/theme_editor_plugin.cpp
@@ -4693,31 +4874,39 @@ msgid "Erase TileMap"
msgstr ""
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Bucket"
-msgstr ""
+#, fuzzy
+msgid "Erase selection"
+msgstr "Auswahl einrahmen"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Pick Tile"
-msgstr ""
+#, fuzzy
+msgid "Find tile"
+msgstr "Finde"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Select"
+msgid "Transpose"
msgstr ""
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase Selection"
-msgstr ""
+#, fuzzy
+msgid "Mirror X"
+msgstr "Fehler"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Transpose"
+#, fuzzy
+msgid "Mirror Y"
+msgstr "Fehler"
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Bucket"
msgstr ""
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Mirror X (A)"
+msgid "Pick Tile"
msgstr ""
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Mirror Y (S)"
+msgid "Select"
msgstr ""
#: tools/editor/plugins/tile_map_editor_plugin.cpp
@@ -5024,7 +5213,7 @@ msgstr "Projekt exportieren"
#: tools/editor/project_export.cpp
msgid "Export Preset:"
-msgstr "Exportvorlage"
+msgstr "Exportvorlage:"
#: tools/editor/project_manager.cpp
msgid "Invalid project path, the path must exist!"
@@ -5084,63 +5273,61 @@ msgstr ""
#: tools/editor/project_manager.cpp
msgid "Unnamed Project"
-msgstr ""
+msgstr "Unbenanntes Projekt"
#: tools/editor/project_manager.cpp
msgid "Are you sure to open more than one projects?"
-msgstr ""
+msgstr "Wollen Sie wirklich mehr als ein Projekt öffnen?"
#: tools/editor/project_manager.cpp
msgid "Are you sure to run more than one projects?"
-msgstr ""
+msgstr "Wollen Sie wirklich mehr als ein Projekt ausführen?"
#: tools/editor/project_manager.cpp
msgid "Remove project from the list? (Folder contents will not be modified)"
msgstr ""
+"Das Projekt aus der Liste entfernen? (Inhalte des Projektordners werden "
+"nicht geändert)"
#: tools/editor/project_manager.cpp
-#, fuzzy
msgid "Project Manager"
-msgstr "Projekt exportieren"
+msgstr "Projektmanager"
#: tools/editor/project_manager.cpp
-#, fuzzy
msgid "Project List"
-msgstr "Projekt exportieren"
+msgstr "Projektliste"
#: tools/editor/project_manager.cpp
msgid "Run"
-msgstr ""
+msgstr "Ausführen"
#: tools/editor/project_manager.cpp
msgid "Scan"
-msgstr ""
+msgstr "Scannen"
#: tools/editor/project_manager.cpp
msgid "New Project"
-msgstr ""
+msgstr "Neues Projekt"
#: tools/editor/project_manager.cpp
msgid "Exit"
-msgstr ""
+msgstr "Verlassen"
#: tools/editor/project_settings.cpp
msgid "Key "
msgstr ""
#: tools/editor/project_settings.cpp
-#, fuzzy
msgid "Joy Button"
-msgstr "Schaltfläche"
+msgstr "Joysticktaste"
#: tools/editor/project_settings.cpp
msgid "Joy Axis"
msgstr ""
#: tools/editor/project_settings.cpp
-#, fuzzy
msgid "Mouse Button"
-msgstr "Mittlere Taste"
+msgstr "Maus-Taste"
#: tools/editor/project_settings.cpp
msgid "Invalid action (anything goes but '/' or ':')."
@@ -5164,7 +5351,7 @@ msgstr ""
#: tools/editor/project_settings.cpp tools/editor/settings_config_dialog.cpp
msgid "Press a Key.."
-msgstr "Drücke eine Taste"
+msgstr "Drücke eine Taste.."
#: tools/editor/project_settings.cpp
msgid "Mouse Button Index:"
@@ -5259,9 +5446,8 @@ msgid "Invalid name. Must not collide with an existing global constant name."
msgstr ""
#: tools/editor/project_settings.cpp
-#, fuzzy
msgid "Autoload '%s' already exists!"
-msgstr "Aktion '%s' existiert bereits!"
+msgstr "Autoload '%s' existiert bereits!"
#: tools/editor/project_settings.cpp
msgid "Rename Autoload"
@@ -5557,8 +5743,8 @@ msgstr ""
#: tools/editor/scene_tree_dock.cpp
msgid ""
-"Cannot instance the scene '%s' because the current scene exists within one of "
-"its nodes."
+"Cannot instance the scene '%s' because the current scene exists within one "
+"of its nodes."
msgstr ""
#: tools/editor/scene_tree_dock.cpp
@@ -5728,6 +5914,10 @@ msgid "Load As Placeholder"
msgstr ""
#: tools/editor/scene_tree_editor.cpp
+msgid "Discard Instancing"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "Im Editor öffnen"
@@ -5784,9 +5974,8 @@ msgid "View Owners.."
msgstr ""
#: tools/editor/scenes_dock.cpp
-#, fuzzy
msgid "Copy Path"
-msgstr "Kopieren"
+msgstr "Pfad kopieren"
#: tools/editor/scenes_dock.cpp
msgid "Rename or Move.."
@@ -5862,7 +6051,7 @@ msgstr "Ungültiger Pfad!"
#: tools/editor/script_create_dialog.cpp
msgid "Could not create script in filesystem."
-msgstr "Skript konnte nicht im Dateisystem erstellt werden!"
+msgstr "Skript konnte nicht im Dateisystem erstellt werden."
#: tools/editor/script_create_dialog.cpp
msgid "Path is empty"
@@ -5874,7 +6063,7 @@ msgstr "Pfad ist nicht lokal"
#: tools/editor/script_create_dialog.cpp
msgid "Invalid base path"
-msgstr "Ungültiger Pfad!"
+msgstr "Ungültiger Pfad"
#: tools/editor/script_create_dialog.cpp
msgid "File exists"
@@ -6064,11 +6253,14 @@ msgstr ""
msgid "Change Notifier Extents"
msgstr ""
+#~ msgid "Binds (Extra Params):"
+#~ msgstr "Bindungen (Extra Parameter):"
+
+#~ msgid "Method In Node:"
+#~ msgstr "Methode in Node:"
+
#~ msgid "Edit Connections.."
#~ msgstr "Bearbeite Verbindungen.."
-#~ msgid "Connections:"
-#~ msgstr "Verbindungen:"
-
#~ msgid "Plugin List:"
#~ msgstr "Plugin Liste:"
diff --git a/tools/translations/de_CH.po b/tools/translations/de_CH.po
new file mode 100644
index 0000000000..eb5e1be880
--- /dev/null
+++ b/tools/translations/de_CH.po
@@ -0,0 +1,6107 @@
+# Swiss High German translation of the Godot Engine editor
+# Copyright (C) 2016 Juan Linietsky, Ariel Manzur and the Godot community
+# This file is distributed under the same license as the Godot source code.
+#
+# Christian Fisch <christian.fiesel@gmail.com>, 2016.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Godot Engine editor\n"
+"PO-Revision-Date: 2016-06-12 13:27+0000\n"
+"Last-Translator: Christian Fisch <christian.fiesel@gmail.com>\n"
+"Language-Team: Swiss High German <https://hosted.weblate.org/projects/godot-"
+"engine/godot/de_CH/>\n"
+"Language: de_CH\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8-bit\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 2.7-dev\n"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid type argument to convert(), use TYPE_* constants."
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not enough bytes for decoding bytes, or invalid format."
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "step argument is zero!"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not a script with an instance"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not based on a script"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not based on a resource file"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (missing @path)"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (can't load script at @path)"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (invalid script at @path)"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary (invalid subclasses)"
+msgstr ""
+
+#: scene/2d/animated_sprite.cpp
+#, fuzzy
+msgid ""
+"A SpriteFrames resource must be created or set in the 'Frames' property in "
+"order for AnimatedSprite to display frames."
+msgstr ""
+"Damit das AnimatedSprite node Frames anzeigen kann, muss eine SpriteFrame "
+"Resource unter Frames gesetzt sein."
+
+#: scene/2d/canvas_modulate.cpp
+msgid ""
+"Only one visible CanvasModulate is allowed per scene (or set of instanced "
+"scenes). The first created one will work, while the rest will be ignored."
+msgstr ""
+"Nur ein sichtbares CanvasModulate ist pro Szene (oder ein Satz von "
+"instanzierten Szenen) erlaubt. Das erste erstellte gewinnt der Rest wird "
+"ignoriert."
+
+#: scene/2d/collision_polygon_2d.cpp
+msgid ""
+"CollisionPolygon2D only serves to provide a collision shape to a "
+"CollisionObject2D derived node. Please only use it as a child of Area2D, "
+"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape."
+msgstr ""
+
+#: scene/2d/collision_polygon_2d.cpp
+msgid "An empty CollisionPolygon2D has no effect on collision."
+msgstr "Ein leeres CollisionPolygon2D hat keinen Einfluss au die Kollision."
+
+#: scene/2d/collision_shape_2d.cpp
+msgid ""
+"CollisionShape2D only serves to provide a collision shape to a "
+"CollisionObject2D derived node. Please only use it as a child of Area2D, "
+"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape."
+msgstr ""
+
+#: scene/2d/collision_shape_2d.cpp
+msgid ""
+"A shape must be provided for CollisionShape2D to function. Please create a "
+"shape resource for it!"
+msgstr ""
+
+#: scene/2d/light_2d.cpp
+msgid ""
+"A texture with the shape of the light must be supplied to the 'texture' "
+"property."
+msgstr ""
+
+#: scene/2d/light_occluder_2d.cpp
+msgid ""
+"An occluder polygon must be set (or drawn) for this occluder to take effect."
+msgstr ""
+
+#: scene/2d/light_occluder_2d.cpp
+msgid "The occluder polygon for this occluder is empty. Please draw a polygon!"
+msgstr ""
+
+#: scene/2d/navigation_polygon.cpp
+msgid ""
+"A NavigationPolygon resource must be set or created for this node to work. "
+"Please set a property or draw a polygon."
+msgstr ""
+
+#: scene/2d/navigation_polygon.cpp
+msgid ""
+"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
+"node. It only provides navigation data."
+msgstr ""
+"NavigationPolygonInstance muss ein Kind oder Grosskind vom Navigation2D Node "
+"sein. Es liefert nur Navigationsdaten."
+
+#: scene/2d/parallax_layer.cpp
+msgid ""
+"ParallaxLayer node only works when set as child of a ParallaxBackground node."
+msgstr ""
+
+#: scene/2d/particles_2d.cpp
+msgid "Path property must point to a valid Particles2D node to work."
+msgstr ""
+
+#: scene/2d/path_2d.cpp
+msgid "PathFollow2D only works when set as a child of a Path2D node."
+msgstr ""
+
+#: scene/2d/remote_transform_2d.cpp
+msgid "Path property must point to a valid Node2D node to work."
+msgstr ""
+
+#: scene/2d/sample_player_2d.cpp scene/audio/sample_player.cpp
+msgid ""
+"A SampleLibrary resource must be created or set in the 'samples' property in "
+"order for SamplePlayer to play sound."
+msgstr ""
+
+#: scene/2d/sprite.cpp
+msgid ""
+"Path property must point to a valid Viewport node to work. Such Viewport "
+"must be set to 'render target' mode."
+msgstr ""
+
+#: scene/2d/sprite.cpp
+msgid ""
+"The Viewport set in the path property must be set as 'render target' in "
+"order for this sprite to work."
+msgstr ""
+
+#: scene/2d/visibility_notifier_2d.cpp
+msgid ""
+"VisibilityEnable2D works best when used with the edited scene root directly "
+"as parent."
+msgstr ""
+
+#: scene/3d/body_shape.cpp
+msgid ""
+"CollisionShape only serves to provide a collision shape to a CollisionObject "
+"derived node. Please only use it as a child of Area, StaticBody, RigidBody, "
+"KinematicBody, etc. to give them a shape."
+msgstr ""
+
+#: scene/3d/body_shape.cpp
+msgid ""
+"A shape must be provided for CollisionShape to function. Please create a "
+"shape resource for it!"
+msgstr ""
+
+#: scene/3d/collision_polygon.cpp
+msgid ""
+"CollisionPolygon only serves to provide a collision shape to a "
+"CollisionObject derived node. Please only use it as a child of Area, "
+"StaticBody, RigidBody, KinematicBody, etc. to give them a shape."
+msgstr ""
+
+#: scene/3d/collision_polygon.cpp
+msgid "An empty CollisionPolygon has no effect on collision."
+msgstr ""
+
+#: scene/3d/navigation_mesh.cpp
+msgid "A NavigationMesh resource must be set or created for this node to work."
+msgstr ""
+
+#: scene/3d/navigation_mesh.cpp
+msgid ""
+"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
+"It only provides navigation data."
+msgstr ""
+
+#: scene/3d/scenario_fx.cpp
+msgid ""
+"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)."
+msgstr ""
+
+#: scene/3d/spatial_sample_player.cpp
+msgid ""
+"A SampleLibrary resource must be created or set in the 'samples' property in "
+"order for SpatialSamplePlayer to play sound."
+msgstr ""
+
+#: scene/3d/sprite_3d.cpp
+msgid ""
+"A SpriteFrames resource must be created or set in the 'Frames' property in "
+"order for AnimatedSprite3D to display frames."
+msgstr ""
+
+#: scene/gui/dialogs.cpp tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Cancel"
+msgstr ""
+
+#: scene/gui/dialogs.cpp
+msgid "OK"
+msgstr "Okay"
+
+#: scene/gui/dialogs.cpp
+msgid "Alert!"
+msgstr ""
+
+#: scene/gui/dialogs.cpp
+msgid "Please Confirm..."
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+msgid "File Exists, Overwrite?"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+msgid "All Recognized"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+msgid "All Files (*)"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+#: tools/editor/editor_help.cpp tools/editor/editor_node.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/quick_open.cpp
+#: tools/editor/scenes_dock.cpp
+msgid "Open"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp
+msgid "Open a File"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp
+msgid "Open File(s)"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp
+msgid "Open a Directory"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp
+msgid "Open a File or Directory"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+#: tools/editor/editor_node.cpp
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Save"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+msgid "Save a File"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_dir_dialog.cpp
+#: tools/editor/editor_file_dialog.cpp
+msgid "Create Folder"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+#: tools/editor/project_settings.cpp tools/editor/script_create_dialog.cpp
+msgid "Path:"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+msgid "Directories & Files:"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "File:"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+msgid "Filter:"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_dir_dialog.cpp
+#: tools/editor/editor_file_dialog.cpp tools/editor/editor_plugin_settings.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Name:"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_dir_dialog.cpp
+#: tools/editor/editor_file_dialog.cpp
+msgid "Could not create folder."
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+msgid "Must use a valid extension."
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+#: tools/editor/settings_config_dialog.cpp
+msgid "Shift+"
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+#: tools/editor/settings_config_dialog.cpp
+msgid "Alt+"
+msgstr ""
+
+#: scene/gui/input_action.cpp
+msgid "Ctrl+"
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+#: tools/editor/settings_config_dialog.cpp
+msgid "Meta+"
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+msgid "Device"
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+msgid "Button"
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+msgid "Left Button."
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+msgid "Right Button."
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+msgid "Middle Button."
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+msgid "Wheel Up."
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+msgid "Wheel Down."
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+msgid "Axis"
+msgstr ""
+
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Cut"
+msgstr ""
+
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+#: tools/editor/property_editor.cpp tools/editor/resources_dock.cpp
+msgid "Copy"
+msgstr ""
+
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+#: tools/editor/property_editor.cpp tools/editor/resources_dock.cpp
+msgid "Paste"
+msgstr ""
+
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+#: tools/editor/project_export.cpp
+msgid "Select All"
+msgstr ""
+
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp tools/editor/editor_log.cpp
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+#: tools/editor/plugins/rich_text_editor_plugin.cpp
+#: tools/editor/property_editor.cpp tools/editor/script_editor_debugger.cpp
+msgid "Clear"
+msgstr ""
+
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp tools/editor/editor_node.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Undo"
+msgstr ""
+
+#: scene/gui/popup.cpp
+msgid ""
+"Popups will hide by default unless you call popup() or any of the popup*() "
+"functions. Making them visible for editing is fine though, but they will "
+"hide upon running."
+msgstr ""
+
+#: scene/main/viewport.cpp
+msgid ""
+"This viewport is not set as render target. If you intend for it to display "
+"its contents directly to the screen, make it a child of a Control so it can "
+"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
+"texture to some node for display."
+msgstr ""
+
+#: scene/resources/dynamic_font.cpp
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Error initializing FreeType."
+msgstr ""
+
+#: scene/resources/dynamic_font.cpp
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Unknown font format."
+msgstr ""
+
+#: scene/resources/dynamic_font.cpp
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Error loading font."
+msgstr ""
+
+#: scene/resources/dynamic_font.cpp
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Invalid font size."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Disabled"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "All Selection"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Move Add Key"
+msgstr "Bild bewegen/einfügen"
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Change Transition"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Change Transform"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Change Value"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Change Call"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Add Track"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Move Anim Track Up"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Move Anim Track Down"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Remove Anim Track"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Duplicate Keys"
+msgstr "Anim Bilder duplizieren"
+
+#: tools/editor/animation_editor.cpp
+msgid "Set Transitions to:"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Track Rename"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Track Change Interpolation"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Track Change Value Mode"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Edit Node Curve"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Edit Selection Curve"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Delete Keys"
+msgstr "Anim Bilder löschen"
+
+#: tools/editor/animation_editor.cpp
+msgid "Continuous"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Discrete"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Trigger"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Add Key"
+msgstr "Anim Bild hinzufügen"
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Move Keys"
+msgstr "Anim Bilder bewegen"
+
+#: tools/editor/animation_editor.cpp
+msgid "Scale Selection"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Scale From Cursor"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Duplicate Selection"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Duplicate Transposed"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Goto Next Step"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Goto Prev Step"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp tools/editor/property_editor.cpp
+msgid "Linear"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Constant"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "In"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Out"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "In-Out"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Out-In"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Transitions"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Optimize Animation"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Clean-Up Animation"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Create NEW track for %s and insert key?"
+msgstr "Willst du eine neue Ebene inklusiv Bild in %s einfügen?"
+
+#: tools/editor/animation_editor.cpp
+msgid "Create %d NEW tracks and insert keys?"
+msgstr "Erstelle %d in neuer Ebene inklusiv Bild?"
+
+#: tools/editor/animation_editor.cpp tools/editor/create_dialog.cpp
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+#: tools/editor/plugins/particles_editor_plugin.cpp
+#: tools/editor/project_manager.cpp tools/editor/script_create_dialog.cpp
+msgid "Create"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Create & Insert"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Insert Track & Key"
+msgstr "Anim Ebene und Bild einfügen"
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Insert Key"
+msgstr "Anim Bild einfügen"
+
+#: tools/editor/animation_editor.cpp
+msgid "Change Anim Len"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Change Anim Loop"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Change Anim Loop Interpolation"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Create Typed Value Key"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Insert"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Scale Keys"
+msgstr "Anim verlängern"
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Add Call Track"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Animation zoom."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Length (s):"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Animation length (in seconds)."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Step (s):"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Cursor step snap (in seconds)."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Enable/Disable looping in animation."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Enable/Disable interpolation when looping animation."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Add new tracks."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Move current track up."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Move current track down."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Remove selected track."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Track tools"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Enable editing of individual keys by clicking them."
+msgstr "Aktivieren des Bildeditors mit einem click auf die jenigen."
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim. Optimizer"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Max. Linear Error:"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Max. Angular Error:"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Max Optimizable Angle:"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Optimize"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Key"
+msgstr "Bild"
+
+#: tools/editor/animation_editor.cpp
+msgid "Transition"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Scale Ratio:"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Call Functions in Which Node?"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Remove invalid keys"
+msgstr "Ungültige Bilder löschen"
+
+#: tools/editor/animation_editor.cpp
+msgid "Remove unresolved and empty tracks"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Clean-up all animations"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Clean-Up Animation(s) (NO UNDO!)"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Clean-Up"
+msgstr ""
+
+#: tools/editor/array_property_edit.cpp
+msgid "Resize Array"
+msgstr ""
+
+#: tools/editor/array_property_edit.cpp
+msgid "Change Array Value Type"
+msgstr ""
+
+#: tools/editor/array_property_edit.cpp
+msgid "Change Array Value"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp tools/editor/create_dialog.cpp
+#: tools/editor/editor_help.cpp tools/editor/editor_node.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/quick_open.cpp
+#: tools/editor/settings_config_dialog.cpp
+msgid "Search:"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "Sort:"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "Reverse"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+#: tools/editor/project_settings.cpp
+msgid "Category:"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "All"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "Site:"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "Support.."
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "Official"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "Community"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "Testing"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "Assets ZIP File"
+msgstr ""
+
+#: tools/editor/call_dialog.cpp
+msgid "Method List For '%s':"
+msgstr ""
+
+#: tools/editor/call_dialog.cpp
+msgid "Call"
+msgstr ""
+
+#: tools/editor/call_dialog.cpp tools/editor/connections_dialog.cpp
+#: tools/editor/import_settings.cpp
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+#: tools/editor/project_settings.cpp tools/editor/property_editor.cpp
+#: tools/editor/run_settings_dialog.cpp tools/editor/settings_config_dialog.cpp
+msgid "Close"
+msgstr ""
+
+#: tools/editor/call_dialog.cpp
+msgid "Method List:"
+msgstr ""
+
+#: tools/editor/call_dialog.cpp
+msgid "Arguments:"
+msgstr ""
+
+#: tools/editor/call_dialog.cpp
+msgid "Return:"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Go to Line"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Line Number:"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "No Matches"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Replaced %d Ocurrence(s)."
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Replace"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Replace All"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Match Case"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Whole Words"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Selection Only"
+msgstr ""
+
+#: tools/editor/code_editor.cpp tools/editor/editor_help.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+#: tools/editor/project_settings.cpp
+msgid "Search"
+msgstr ""
+
+#: tools/editor/code_editor.cpp tools/editor/editor_help.cpp
+msgid "Find"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Next"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Replaced %d ocurrence(s)."
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Not found!"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Replace By"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Case Sensitive"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Backwards"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Prompt On Replace"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Skip"
+msgstr ""
+
+#: tools/editor/code_editor.cpp tools/editor/script_editor_debugger.cpp
+msgid "Line:"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Col:"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Method in target Node must be specified!"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Conect To Node:"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp
+#: tools/editor/plugins/item_list_editor_plugin.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+#: tools/editor/project_settings.cpp
+msgid "Add"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp tools/editor/dependency_editor.cpp
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+#: tools/editor/project_manager.cpp
+msgid "Remove"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Add Extra Call Argument:"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Extra Call Arguments:"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Path to Node:"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Make Function"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Deferred"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Oneshot"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Connect"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Connect '%s' to '%s'"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Connecting Signal:"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Create Subscription"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Connect.."
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Disconnect"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp tools/editor/node_dock.cpp
+msgid "Signals"
+msgstr ""
+
+#: tools/editor/create_dialog.cpp
+msgid "Create New"
+msgstr ""
+
+#: tools/editor/create_dialog.cpp tools/editor/editor_help.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/quick_open.cpp
+msgid "Matches:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Search Replacement For:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Dependencies For:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid ""
+"Scene '%s' is currently being edited.\n"
+"Changes will not take effect unless reloaded."
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid ""
+"Resource '%s' is in use.\n"
+"Changes will take effect when reloaded."
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Dependencies"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Resource"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp tools/editor/project_manager.cpp
+#: tools/editor/project_settings.cpp
+msgid "Path"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Dependencies:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Fix Broken"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Dependency Editor"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Search Replacement Resource:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Owners Of:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid ""
+"The files being removed are required by other resources in order for them to "
+"work.\n"
+"Remove them anyway? (no undo)"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Remove selected files from the project? (no undo)"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Error loading:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Scene failed to load due to missing dependencies:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Open Anyway"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Which action should be taken?"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Fix Dependencies"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Errors loading!"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Permanently delete %d item(s)? (No undo!)"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Owns"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Resources Without Explicit Ownership:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp
+msgid "Orphan Resource Explorer"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Delete selected files?"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp
+#: tools/editor/plugins/item_list_editor_plugin.cpp
+#: tools/editor/scenes_dock.cpp
+msgid "Delete"
+msgstr ""
+
+#: tools/editor/editor_data.cpp
+msgid "Updating Scene"
+msgstr ""
+
+#: tools/editor/editor_data.cpp
+msgid "Storing local changes.."
+msgstr ""
+
+#: tools/editor/editor_data.cpp
+msgid "Updating scene.."
+msgstr ""
+
+#: tools/editor/editor_dir_dialog.cpp
+msgid "Choose a Directory"
+msgstr ""
+
+#: tools/editor/editor_dir_dialog.cpp
+msgid "Choose"
+msgstr ""
+
+#: tools/editor/editor_file_dialog.cpp tools/editor/scenes_dock.cpp
+msgid "Favorites:"
+msgstr ""
+
+#: tools/editor/editor_file_dialog.cpp
+msgid "Recent:"
+msgstr ""
+
+#: tools/editor/editor_file_dialog.cpp
+msgid "Preview:"
+msgstr ""
+
+#: tools/editor/editor_file_system.cpp
+msgid "Cannot go into subdir:"
+msgstr ""
+
+#: tools/editor/editor_file_system.cpp
+msgid "ScanSources"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Search Classes"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Class List:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp tools/editor/property_editor.cpp
+msgid "Class:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp tools/editor/scene_tree_editor.cpp
+#: tools/editor/script_create_dialog.cpp
+msgid "Inherits:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Inherited by:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Brief Description:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Public Methods:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Members:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "GUI Theme Items:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Signals:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Constants:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp tools/editor/script_editor_debugger.cpp
+msgid "Description:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Method Description:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Search Text"
+msgstr ""
+
+#: tools/editor/editor_import_export.cpp
+msgid "Added:"
+msgstr ""
+
+#: tools/editor/editor_import_export.cpp
+msgid "Removed:"
+msgstr ""
+
+#: tools/editor/editor_import_export.cpp tools/editor/project_export.cpp
+msgid "Error saving atlas:"
+msgstr ""
+
+#: tools/editor/editor_import_export.cpp
+msgid "Could not save atlas subtexture:"
+msgstr ""
+
+#: tools/editor/editor_import_export.cpp
+msgid "Storing File:"
+msgstr ""
+
+#: tools/editor/editor_import_export.cpp
+msgid "Packing"
+msgstr ""
+
+#: tools/editor/editor_import_export.cpp
+msgid "Exporting for %s"
+msgstr ""
+
+#: tools/editor/editor_import_export.cpp
+msgid "Setting Up.."
+msgstr ""
+
+#: tools/editor/editor_log.cpp
+msgid " Output:"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp
+msgid "Re-Importing"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Importing:"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Node From Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/scenes_dock.cpp
+msgid "Re-Import.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/resources_dock.cpp
+msgid "Error saving resource!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/resources_dock.cpp
+msgid "Save Resource As.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp
+msgid "I see.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Can't open file for writing:"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Requested file format unknown:"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Error while saving."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Saving Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Analyzing"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Creating Thumbnail"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"Couldn't save scene. Likely dependencies (instances) couldn't be satisfied."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Failed to load resource."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Can't load MeshLibrary for merging!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Error saving MeshLibrary!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Can't load TileSet for merging!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Error saving TileSet!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Can't open export templates zip."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Loading Export Templates"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Error trying to save layout!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Default editor layout overridden."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Layout name not found!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Restored default layout to base settings."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Copy Params"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Paste Params"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Paste Resource"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Copy Resource"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Make Built-In"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Make Sub-Resources Unique"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Open in Help"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "There is no defined scene to run."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"No main scene has ever been defined.\n"
+"Select one from \"Project Settings\" under the 'application' category."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Current scene was never saved, please save it prior to running."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Could not start subprocess!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Open Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Open Base Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Quick Open Scene.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Quick Open Script.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Yes"
+msgstr "Ja"
+
+#: tools/editor/editor_node.cpp
+msgid "Close scene? (Unsaved changes will be lost)"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Save Scene As.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "This scene has never been saved. Save before running?"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Please save the scene first."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Save Translatable Strings"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Export Mesh Library"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Export Tile Set"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Quit"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Exit the editor?"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Current scene not saved. Open anyway?"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Can't reload a scene that was never saved."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Revert"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "This action cannot be undone. Revert anyway?"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Quick Run Scene.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"Open Project Manager? \n"
+"(Unsaved changes will be lost)"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp
+msgid "Ugh"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"Error loading scene, it must be inside the project path. Use 'Import' to "
+"open the scene, then save it inside the project path."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Error loading scene."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Scene '%s' has broken dependencies:"
+msgstr "Szene '%s' hat kapute Abhängigkeiten:"
+
+#: tools/editor/editor_node.cpp
+msgid "Save Layout"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Load Layout"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/project_export.cpp
+msgid "Default"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Delete Layout"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Switch Scene Tab"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "%d more file(s)"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "%d more file(s) or folder(s)"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Go to previously opened scene."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Fullscreen Mode"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Distraction Free Mode"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Operations with scene files."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "New Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "New Inherited Scene.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Open Scene.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Save Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Close Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Close Goto Prev. Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Open Recent"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Quick Filter Files.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Convert To.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Translatable Strings.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "MeshLibrary.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "TileSet.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Redo"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Run Script"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Project Settings"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Revert Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Quit to Project List"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Import assets to the project."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+#: tools/editor/project_manager.cpp
+msgid "Import"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Miscellaneous project or scene-wide tools."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Tools"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Export the project to many platforms."
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/project_export.cpp
+msgid "Export"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Play the project."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Play"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Pause the scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Pause Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Stop the scene."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Stop"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Play the edited scene."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Play Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Play custom scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Debug options"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Deploy with Remote Debug"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"When exporting or deploying, the resulting executable will attempt to "
+"connect to the IP of this computer in order to be debugged."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Small Deploy with Network FS"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"When this option is enabled, export or deploy will produce a minimal "
+"executable.\n"
+"The filesystem will be provided from the project by the editor over the "
+"network.\n"
+"On Android, deploy will use the USB cable for faster performance. This "
+"option speeds up testing for games with a large footprint."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Visible Collision Shapes"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"Collision shapes and raycast nodes (for 2D and 3D) will be visible on the "
+"running game if this option is turned on."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Visible Navigation"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"Navigation meshes and polygons will be visible on the running game if this "
+"option is turned on."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Sync Scene Changes"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"When this option is turned on, any changes made to the scene in the editor "
+"will be replicated in the running game.\n"
+"When used remotely on a device, this is more efficient with network "
+"filesystem."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Sync Script Changes"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"When this option is turned on, any script that is saved will be reloaded on "
+"the running game.\n"
+"When used remotely on a device, this is more efficient with network "
+"filesystem."
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Settings"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/settings_config_dialog.cpp
+msgid "Editor Settings"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Editor Layout"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Install Export Templates"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "About"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Alerts when an external resource has changed."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Spins when the editor window repaints!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Update Always"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Update Changes"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Inspector"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Create a new resource in memory and edit it."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Load an existing resource from disk and edit it."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Save the currently edited resource."
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp
+msgid "Save As.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Go to the previous edited object in history."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Go to the next edited object in history."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "History of recently edited objects."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Object properties."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "FileSystem"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Output"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp
+#: tools/editor/import_settings.cpp
+msgid "Re-Import"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/editor_plugin_settings.cpp
+msgid "Update"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Thanks from the Godot community!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Thanks!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Import Templates From ZIP File"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/project_export.cpp
+msgid "Export Project"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Export Library"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Merge With Existing"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/project_export.cpp
+msgid "Password:"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Open & Run a Script"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Load Errors"
+msgstr ""
+
+#: tools/editor/editor_plugin_settings.cpp
+msgid "Installed Plugins:"
+msgstr ""
+
+#: tools/editor/editor_plugin_settings.cpp
+msgid "Version:"
+msgstr ""
+
+#: tools/editor/editor_plugin_settings.cpp
+msgid "Author:"
+msgstr ""
+
+#: tools/editor/editor_plugin_settings.cpp
+msgid "Status:"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Stop Profiling"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Start Profiling"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Measure:"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Frame Time (sec)"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Average Time (sec)"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Frame %"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Fixed Frame %"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp tools/editor/script_editor_debugger.cpp
+msgid "Time:"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Inclusive"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Self"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Frame #:"
+msgstr ""
+
+#: tools/editor/editor_reimport_dialog.cpp
+msgid "Please wait for scan to complete."
+msgstr ""
+
+#: tools/editor/editor_reimport_dialog.cpp
+msgid "Current scene must be saved to re-import."
+msgstr ""
+
+#: tools/editor/editor_reimport_dialog.cpp
+msgid "Save & Re-Import"
+msgstr ""
+
+#: tools/editor/editor_reimport_dialog.cpp
+msgid "Re-Import Changed Resources"
+msgstr ""
+
+#: tools/editor/editor_run_script.cpp
+msgid "Write your logic in the _run() method."
+msgstr ""
+
+#: tools/editor/editor_run_script.cpp
+msgid "There is an edited scene already."
+msgstr ""
+
+#: tools/editor/editor_run_script.cpp
+msgid "Couldn't instance script:"
+msgstr ""
+
+#: tools/editor/editor_run_script.cpp
+msgid "Did you forget the 'tool' keyword?"
+msgstr "Sieht so aus als hättest du das Schlüsselwort \"tool\" vergessen?"
+
+#: tools/editor/editor_run_script.cpp
+msgid "Couldn't run script:"
+msgstr ""
+
+#: tools/editor/editor_run_script.cpp
+msgid "Did you forget the '_run' method?"
+msgstr ""
+
+#: tools/editor/editor_settings.cpp
+msgid "Default (Same as Editor)"
+msgstr ""
+
+#: tools/editor/editor_sub_scene.cpp
+msgid "Select Node(s) to Import"
+msgstr ""
+
+#: tools/editor/editor_sub_scene.cpp
+msgid "Scene Path:"
+msgstr ""
+
+#: tools/editor/editor_sub_scene.cpp
+msgid "Import From Node:"
+msgstr ""
+
+#: tools/editor/file_type_cache.cpp
+msgid "Can't open file_type_cache.cch for writing, not saving file type cache!"
+msgstr ""
+
+#: tools/editor/groups_editor.cpp
+msgid "Add to Group"
+msgstr ""
+
+#: tools/editor/groups_editor.cpp
+msgid "Remove from Group"
+msgstr ""
+
+#: tools/editor/import_settings.cpp
+msgid "Imported Resources"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+msgid "No bit masks to import!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Target path is empty."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Target path must be a complete resource path."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Target path must exist."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+msgid "Save path is empty!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+msgid "Import BitMasks"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Source Texture(s):"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Target Path:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Accept"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+msgid "Bit Mask"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "No source font file!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "No target font resource!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Can't load/process source font."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Couldn't save font."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Source Font:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Source Font Size:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Dest Resource:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "The quick brown fox jumps over the lazy dog."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Test:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Options:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Font Import"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid ""
+"This file is already a Godot font file, please supply a BMFont type file "
+"instead."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Failed opening as BMFont file."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Invalid font custom source."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Font"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+msgid "No meshes to import!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+msgid "Single Mesh Import"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+msgid "Source Mesh(es):"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Mesh"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+msgid "Surface %d"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+msgid "No samples to import!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+msgid "Import Audio Samples"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+msgid "Source Sample(s):"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+msgid "Audio Sample"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "New Clip"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Animation Options"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Flags"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Bake FPS:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Optimizer"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Max Linear Error"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Max Angular Error"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Max Angle"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Clips"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp
+msgid "Name"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Start(s)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "End(s)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Loop"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Filters"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Source path is empty."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Couldn't load post-import script."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Invalid/broken script for post-import."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Error importing scene."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Import 3D Scene"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Source Scene:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Same as Target Scene"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Shared"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Target Texture Folder:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Post-Process Script:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Custom Root Node Type:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Auto"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "The Following Files are Missing:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Import Anyway"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Import & Open"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Edited scene has not been saved, open imported scene anyway?"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
+msgid "Import Scene"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Importing Scene.."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Running Custom Script.."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Couldn't load post-import script:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Invalid/broken script for post-import:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Error running post-import script:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Import Image:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Can't import a file over itself:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Couldn't localize path: %s (already local)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Saving.."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "3D Scene Animation"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Uncompressed"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Compress Lossless (PNG)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Compress Lossy (WebP)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Compress (VRAM)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Texture Format"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Texture Compression Quality (WebP):"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Texture Options"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Please specify some files!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "At least one file needed for Atlas."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Error importing:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Only one file is required for large texture."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Max Texture Size:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Import Textures for Atlas (2D)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Cell Size:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Large Texture"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Import Large Textures (2D)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Source Texture"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Base Atlas Texture"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Source Texture(s)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Import Textures for 2D"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Import Textures for 3D"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Import Textures"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "2D Texture"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "3D Texture"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Atlas Texture"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid ""
+"NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files to "
+"the project."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Crop empty space."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Texture"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Import Large Texture"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Load Source Image"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Slicing"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Inserting"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Saving"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Couldn't save large texture:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Build Atlas For:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Loading Image:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Couldn't load image:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Converting Images"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Cropping Images"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Blitting Images"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Couldn't save atlas image:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Couldn't save converted texture:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Invalid source!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Invalid translation source!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Column"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+#: tools/editor/script_create_dialog.cpp
+msgid "Language"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "No items to import!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "No target path!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Import Translations"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Couldn't import!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Import Translation"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Source CSV:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Ignore First Row"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Compress"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Add to Project (engine.cfg)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Import Languages:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Translation"
+msgstr ""
+
+#: tools/editor/multi_node_edit.cpp
+msgid "MultiNode Set"
+msgstr ""
+
+#: tools/editor/node_dock.cpp
+msgid "Node"
+msgstr ""
+
+#: tools/editor/node_dock.cpp
+msgid "Groups"
+msgstr ""
+
+#: tools/editor/node_dock.cpp
+msgid "Select a Node to edit Signals and Groups."
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Toggle Autoplay"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "New Animation Name:"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "New Anim"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Change Animation Name:"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Remove Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "ERROR: Invalid animation name!"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "ERROR: Animation name already exists!"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Add Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Blend Next Changed"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Change Blend Time"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Load Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Duplicate Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "ERROR: No animation to copy!"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "ERROR: No animation resource on clipboard!"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Pasted Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Paste Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "ERROR: No animation to edit!"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Play selected animation backwards from current pos. (A)"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Play selected animation backwards from end. (Shift+A)"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Stop animation playback. (S)"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Play selected animation from start. (Shift+D)"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Play selected animation from current pos. (D)"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Animation position (in seconds)."
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Scale animation playback globally for the node."
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create new animation in player."
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Load animation from disk."
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Load an animation from disk."
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Save the current animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Save As"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Display list of animations in player."
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Autoplay on Load"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Edit Target Blend Times"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Animation Tools"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Copy Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Animation Name:"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+#: tools/editor/property_editor.cpp tools/editor/script_create_dialog.cpp
+msgid "Error!"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Blend Times:"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Next (Auto Queue):"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Cross-Animation Blend Times"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "New name:"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Fade In (s):"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Fade Out (s):"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Blend"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Mix"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Auto Restart:"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Restart (s):"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Random Restart (s):"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Start!"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Amount:"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Blend:"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Blend 0:"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Blend 1:"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "X-Fade Time (s):"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Current:"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Add Input"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Clear Auto-Advance"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Set Auto-Advance"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Delete Input"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Rename"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Animation tree is valid."
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Animation tree is invalid."
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Animation Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "OneShot Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Mix Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Blend2 Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Blend3 Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Blend4 Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "TimeScale Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "TimeSeek Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Transition Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Import Animations.."
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Edit Node Filters"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Filters.."
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Parsing %d Triangles:"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Triangle #"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Light Baker Setup:"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Parsing Geometry"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Fixing Lights"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Making BVH"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Creating Light Octree"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Creating Octree Texture"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Transfer to Lightmaps:"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Allocating Texture #"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Baking Triangle #"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Post-Processing Texture #"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_editor_plugin.cpp
+msgid "BakedLightInstance does not contain a BakedLight resource."
+msgstr ""
+
+#: tools/editor/plugins/baked_light_editor_plugin.cpp
+msgid "Bake!"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_editor_plugin.cpp
+msgid "Reset the lightmap octree baking process (start over)."
+msgstr ""
+
+#: tools/editor/plugins/camera_editor_plugin.cpp
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Preview"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Configure Snap"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid "Grid Offset:"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid "Grid Step:"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Rotation Offset:"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Rotation Step:"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move Pivot"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move Action"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Edit IK Chain"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Edit CanvasItem"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Change Anchors"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom (%):"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Paste Pose"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Select Mode (Q)"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Drag: Rotate"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Alt+Drag: Move"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Alt+RMB: Depth list selection"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Move Mode (W)"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Rotate Mode (E)"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Show a list of all objects at the position clicked\n"
+"(same as Alt+RMB in select mode)."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Click to change object's rotation pivot."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Pan Mode"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Lock the selected object in place (can't be moved)."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Unlock the selected object (can be moved)."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Makes sure the object's children are not selectable."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Restores the object's children's ability to be selected."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+#: tools/editor/project_manager.cpp
+msgid "Edit"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Use Snap"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid "Show Grid"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Use Rotation Snap"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Snap Relative"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Configure Snap.."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Use Pixel Snap"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Expand to Parent"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Skeleton.."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Make Bones"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Clear Bones"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Make IK Chain"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Clear IK Chain"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom In"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom Out"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom Reset"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom Set.."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Center Selection"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Frame Selection"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Anchor"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Keys (Ins)"
+msgstr "Bilder (innerhalb) einfügen"
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr "Bild einfügen"
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key (Existing Tracks)"
+msgstr "Bild in bestehende Ebene einfügen"
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Copy Pose"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Clear Pose"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Set a Value"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Snap (Pixels):"
+msgstr ""
+
+#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Create Poly"
+msgstr ""
+
+#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/collision_polygon_editor_plugin.cpp
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Edit Poly"
+msgstr ""
+
+#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/collision_polygon_editor_plugin.cpp
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Edit Poly (Remove Point)"
+msgstr ""
+
+#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+msgid "Create a new polygon from scratch."
+msgstr ""
+
+#: tools/editor/plugins/collision_polygon_editor_plugin.cpp
+msgid "Create Poly3D"
+msgstr ""
+
+#: tools/editor/plugins/collision_shape_2d_editor_plugin.cpp
+msgid "Set Handle"
+msgstr ""
+
+#: tools/editor/plugins/color_ramp_editor_plugin.cpp
+msgid "Add/Remove Color Ramp Point"
+msgstr ""
+
+#: tools/editor/plugins/color_ramp_editor_plugin.cpp
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Modify Color Ramp"
+msgstr ""
+
+#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
+msgid "Creating Mesh Library"
+msgstr ""
+
+#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
+msgid "Thumbnail.."
+msgstr ""
+
+#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr ""
+
+#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+msgid "Add Item"
+msgstr ""
+
+#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
+msgid "Remove Selected Item"
+msgstr ""
+
+#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
+msgid "Import from Scene"
+msgstr ""
+
+#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr ""
+
+#: tools/editor/plugins/item_list_editor_plugin.cpp
+msgid "Item %d"
+msgstr ""
+
+#: tools/editor/plugins/item_list_editor_plugin.cpp
+msgid "Items"
+msgstr ""
+
+#: tools/editor/plugins/item_list_editor_plugin.cpp
+msgid "Item List Editor"
+msgstr ""
+
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+msgid "Create Occluder Polygon"
+msgstr ""
+
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+msgid "Edit existing polygon:"
+msgstr ""
+
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+msgid "LMB: Move Point."
+msgstr ""
+
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+msgid "Ctrl+LMB: Split Segment."
+msgstr ""
+
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+msgid "RMB: Erase Point."
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Mesh is empty!"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Static Trimesh Body"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Static Convex Body"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "This doesn't work on scene root!"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Trimesh Shape"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Convex Shape"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Navigation Mesh"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "MeshInstance lacks a Mesh!"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Could not create outline!"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Outline"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Trimesh Static Body"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Convex Static Body"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Trimesh Collision Sibling"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Convex Collision Sibling"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Outline Mesh.."
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Outline Mesh"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Outline Size:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "No mesh source specified (and no MultiMesh set in node)."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "No mesh source specified (and MultiMesh contains no Mesh)."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Mesh source is invalid (invalid path)."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Mesh source is invalid (not a MeshInstance)."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Mesh source is invalid (contains no Mesh resource)."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "No surface source specified."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Surface source is invalid (invalid path)."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Surface source is invalid (no geometry)."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Surface source is invalid (no faces)."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Parent has no solid faces to populate."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Couldn't map area."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Select a Source Mesh:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Select a Target Surface:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Populate Surface"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Populate MultiMesh"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Target Surface:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Source Mesh:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "X-Axis"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Y-Axis"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Z-Axis"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Mesh Up Axis:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Random Rotation:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Random Tilt:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Random Scale:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Populate"
+msgstr ""
+
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+msgid "Create Navigation Polygon"
+msgstr ""
+
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+msgid "Remove Poly And Point"
+msgstr ""
+
+#: tools/editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Error loading image:"
+msgstr ""
+
+#: tools/editor/plugins/particles_2d_editor_plugin.cpp
+msgid "No pixels with transparency > 128 in image.."
+msgstr ""
+
+#: tools/editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Set Emission Mask"
+msgstr ""
+
+#: tools/editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Clear Emission Mask"
+msgstr ""
+
+#: tools/editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Load Emission Mask"
+msgstr ""
+
+#: tools/editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Generated Point Count:"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Node does not contain geometry."
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Node does not contain geometry (faces)."
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Faces contain no area!"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "No faces!"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Generate AABB"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emitter From Mesh"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emitter From Node"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Clear Emitter"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emitter"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Emission Positions:"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Emission Fill:"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Surface"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Volume"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+msgid "Remove Point from Curve"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Add Point to Curve"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+msgid "Move Point in Curve"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+msgid "Move In-Control in Curve"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+msgid "Move Out-Control in Curve"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Select Points"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Shift+Drag: Select Control Points"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Click: Add Point"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Right Click: Delete Point"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+msgid "Select Control Points (Shift+Drag)"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Add Point (in empty space)"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Split Segment (in curve)"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Delete Point"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Close Curve"
+msgstr ""
+
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Curve Point #"
+msgstr ""
+
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Set Curve Point Pos"
+msgstr ""
+
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Set Curve In Pos"
+msgstr ""
+
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Set Curve Out Pos"
+msgstr ""
+
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Split Path"
+msgstr ""
+
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Remove Path Point"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Create UV Map"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Transform UV Map"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Polygon 2D UV Editor"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Move Point"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Ctrl: Rotate"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Shift: Move All"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Shift+Ctrl: Scale"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Move Polygon"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Rotate Polygon"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Scale Polygon"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Polygon->UV"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV->Polygon"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Clear UV"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid "Snap"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid "Enable Snap"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid "Grid"
+msgstr ""
+
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "ERROR: Couldn't load resource!"
+msgstr ""
+
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Add Resource"
+msgstr ""
+
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Rename Resource"
+msgstr ""
+
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Delete Resource"
+msgstr ""
+
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Resource clipboard is empty!"
+msgstr ""
+
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Load Resource"
+msgstr ""
+
+#: tools/editor/plugins/rich_text_editor_plugin.cpp
+msgid "Parse BBCode"
+msgstr ""
+
+#: tools/editor/plugins/sample_editor_plugin.cpp
+msgid "Length:"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Open Sample File(s)"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "ERROR: Couldn't load sample!"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Add Sample"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Rename Sample"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Delete Sample"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "16 Bits"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "8 Bits"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Stereo"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Mono"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "Format"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Pitch"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Error while saving theme"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Error saving"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Error importing theme"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Error importing"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Import Theme"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Save Theme As.."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/project_export.cpp
+msgid "File"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/property_editor.cpp
+msgid "New"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Save All"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "History Prev"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "History Next"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Reload Theme"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Save Theme"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Save Theme As"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/scene_tree_dock.cpp
+msgid "Move Up"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/scene_tree_dock.cpp
+msgid "Move Down"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Indent Left"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Indent Right"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Toggle Comment"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Clone Down"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Complete Symbol"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Trim Trailing Whitespace"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Auto Indent"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Soft Reload Script"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Find.."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Find Next"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Find Previous"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Replace.."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Goto Function.."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Goto Line.."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Debug"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Toggle Breakpoint"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Remove All Breakpoints"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Goto Next Breakpoint"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Goto Previous Breakpoint"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "Step Over"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "Step Into"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "Break"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "Continue"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Keep Debugger Open"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Window"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Move Left"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Move Right"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Help"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Contextual Help"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Tutorials"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Open https://godotengine.org at tutorials section."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Classes"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Search the class hierarchy."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Search Help"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Search the reference documentation."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Go to previous edited document."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Go to next edited document."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid ""
+"The following files are newer on disk.\n"
+"What action should be taken?:"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Reload"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Resave"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "Debugger"
+msgstr ""
+
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Vertex"
+msgstr ""
+
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Fragment"
+msgstr ""
+
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Lighting"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Scalar Constant"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Vec Constant"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change RGB Constant"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Scalar Operator"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Vec Operator"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Vec Scalar Operator"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change RGB Operator"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Toggle Rot Only"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Scalar Function"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Vec Function"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Scalar Uniform"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Vec Uniform"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change RGB Uniform"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Default Value"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change XForm Uniform"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Texture Uniform"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Cubemap Uniform"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Comment"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Add/Remove to Color Ramp"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Add/Remove to Curve Map"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Modify Curve Map"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Input Name"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Connect Graph Nodes"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Disconnect Graph Nodes"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Remove Shader Graph Node"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Move Shader Graph Node"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Duplicate Graph Node(s)"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Delete Shader Graph Node(s)"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Error: Cyclic Connection Link"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Error: Missing Input Connections"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Add Shader Graph Node"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Orthogonal"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Perspective"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Transform Aborted."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "X-Axis Transform."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Y-Axis Transform."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Z-Axis Transform."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View Plane Transform."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Scaling to %s%%."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Rotating %s degrees."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Bottom View."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Bottom"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Top View."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Top"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Rear View."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Rear"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Front View."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Front"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Left View."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Left"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Right View."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Right"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Keying is disabled (no key inserted)."
+msgstr "\"keying\" ist deaktiviert (Bild nicht hinzugefügt)."
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Animation Key Inserted."
+msgstr "Animationsbild eingefügt."
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Align with view"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Top (Num7)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Bottom (Shift+Num7)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Left (Num3)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Right (Shift+Num3)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Front (Num1)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Rear (Shift+Num1)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Perspective (Num5)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Orthogonal (Num5)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Environment"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Audio Listener"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Gizmos"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Selection (F)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Align with view (Ctrl+Shift+F)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "XForm Dialog"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "No scene selected to instance!"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Instance at Cursor"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Could not instance scene!"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Scale Mode (R)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Transform"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Local Coords"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Transform Dialog.."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Use Default Light"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Use Default sRGB"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "1 Viewport"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "2 Viewports"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "2 Viewports (Alt)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "3 Viewports"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "3 Viewports (Alt)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "4 Viewports"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Display Normal"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Display Wireframe"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Display Overdraw"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Display Shadeless"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View Origin"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View Grid"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap Settings"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Translate Snap:"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Rotate Snap (deg.):"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Scale Snap (%):"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Viewport Settings"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Default Light Normal:"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Ambient Light Color:"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Perspective FOV (deg.):"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View Z-Near:"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View Z-Far:"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Transform Change"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Translate:"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Rotate (deg.):"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Scale (ratio):"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Transform Type"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Pre"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Post"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "ERROR: Couldn't load frame resource!"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Add Frame"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Resource clipboard is empty or not a texture!"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Paste Frame"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Add Empty"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Change Animation Loop"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Change Animation FPS"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "(empty)"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Animations"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Speed (FPS):"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Animation Frames"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Insert Empty (Before)"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Insert Empty (After)"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Up"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Down"
+msgstr ""
+
+#: tools/editor/plugins/style_box_editor_plugin.cpp
+msgid "StyleBox Preview:"
+msgstr ""
+
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid "Texture Region Editor"
+msgstr ""
+
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid "Scale Region Editor"
+msgstr ""
+
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid ""
+"No texture in this node.\n"
+"Set a texture to be able to edit region."
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Can't save theme to file:"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Add All Items"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Add All"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Add Class Items"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Class Items"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Create Empty Template"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Create Empty Editor Template"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "CheckBox Radio1"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "CheckBox Radio2"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Item"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Check Item"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Checked Item"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Has"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Many"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp tools/editor/project_export.cpp
+msgid "Options"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Have,Many,Several,Options!"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Tab 1"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Tab 2"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Tab 3"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+#: tools/editor/project_settings.cpp tools/editor/scene_tree_editor.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "Type:"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Data Type:"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Icon"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Style"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Color"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Paint TileMap"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+#: tools/editor/scene_tree_dock.cpp
+msgid "Duplicate"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Erase TileMap"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Erase selection"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Find tile"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Transpose"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Mirror X"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Mirror Y"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Bucket"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Pick Tile"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Select"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Rotate 0 degrees"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Rotate 90 degrees"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Rotate 180 degrees"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Rotate 270 degrees"
+msgstr ""
+
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+msgid "Could not find tile:"
+msgstr ""
+
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+msgid "Item name or ID:"
+msgstr ""
+
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create from scene?"
+msgstr ""
+
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+msgid "Merge from scene?"
+msgstr ""
+
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create from Scene"
+msgstr ""
+
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+msgid "Merge from Scene"
+msgstr ""
+
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "Error"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Edit Script Options"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Please export outside the project folder!"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Error exporting project!"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Error writing the project PCK!"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "No exporter for platform '%s' yet."
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Include"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Change Image Group"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Group name can't be empty!"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Invalid character in group name!"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Group name already exists!"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Add Image Group"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Delete Image Group"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Atlas Preview"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Project Export Settings"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Target"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export to Platform"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Resources"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export selected resources (including dependencies)."
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export all resources in the project."
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export all files in the project directory."
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export Mode:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Resources to Export:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Action"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid ""
+"Filters to export non-resource files (comma-separated, e.g.: *.json, *.txt):"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Filters to exclude from export (comma-separated, e.g.: *.json, *.txt):"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Convert text scenes to binary on export."
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Images"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Keep Original"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compress for Disk (Lossy, WebP)"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compress for RAM (BC/PVRTC/ETC)"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Convert Images (*.png):"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compress for Disk (Lossy) Quality:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Shrink All Images:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compress Formats:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Image Groups"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Groups:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compress Disk"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compress RAM"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compress Mode:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Lossy Quality:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Atlas:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Shrink By:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Preview Atlas"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Image Filter:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Images:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Select None"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Group"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Samples"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Sample Conversion Mode: (.wav files):"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Keep"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compress (RAM - IMA-ADPCM)"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Sampling Rate Limit (Hz):"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Trim"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Trailing Silence:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Script"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Script Export Mode:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Text"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compiled"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Encrypted (Provide Key Below)"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Script Encryption Key (256-bits as hex):"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export PCK/Zip"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export Project PCK"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export.."
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Project Export"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export Preset:"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Invalid project path, the path must exist!"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Invalid project path, engine.cfg must not exist."
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Invalid project path, engine.cfg must exist."
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Imported Project"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Invalid project path (changed anything?)."
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Couldn't create engine.cfg in project path."
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Import Existing Project"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Project Path (Must Exist):"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Project Name:"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Create New Project"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Project Path:"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Browse"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "New Game Project"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "That's a BINGO!"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Unnamed Project"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Are you sure to open more than one projects?"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Are you sure to run more than one projects?"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Remove project from the list? (Folder contents will not be modified)"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Project Manager"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Project List"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Run"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Scan"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "New Project"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Exit"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Key "
+msgstr "Taste "
+
+#: tools/editor/project_settings.cpp
+msgid "Joy Button"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Joy Axis"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Mouse Button"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Invalid action (anything goes but '/' or ':')."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Action '%s' already exists!"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Rename Input Action Event"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Add Input Action Event"
+msgstr ""
+
+#: tools/editor/project_settings.cpp tools/editor/settings_config_dialog.cpp
+msgid "Control+"
+msgstr ""
+
+#: tools/editor/project_settings.cpp tools/editor/settings_config_dialog.cpp
+msgid "Press a Key.."
+msgstr "Taste drücken.."
+
+#: tools/editor/project_settings.cpp
+msgid "Mouse Button Index:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Left Button"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Right Button"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Middle Button"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Wheel Up Button"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Wheel Down Button"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Button 6"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Button 7"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Button 8"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Button 9"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Joystick Axis Index:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Joystick Button Index:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Add Input Action"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Erase Input Action Event"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Toggle Persisting"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Error saving settings."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Settings saved OK."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Add Translation"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Invalid name."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Valid characters:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Invalid name. Must not collide with an existing engine class name."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Invalid name. Must not collide with an existing buit-in type name."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Invalid name. Must not collide with an existing global constant name."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Autoload '%s' already exists!"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Rename Autoload"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Toggle AutoLoad Globals"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Add Autoload"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Remove Autoload"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Move Autoload"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Remove Translation"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Add Remapped Path"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Resource Remap Add Remap"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Change Resource Remap Language"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Remove Resource Remap"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Remove Resource Remap Option"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Enable"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Project Settings (engine.cfg)"
+msgstr ""
+
+#: tools/editor/project_settings.cpp tools/editor/settings_config_dialog.cpp
+msgid "General"
+msgstr ""
+
+#: tools/editor/project_settings.cpp tools/editor/property_editor.cpp
+msgid "Property:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Del"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Copy To Platform.."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Input Map"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Action:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Device:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Index:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Localization"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Translations"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Translations:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Add.."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Remaps"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Resources:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Remaps by Locale:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Locale"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "AutoLoad"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Node Name:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "List:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Singleton"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Plugins"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Preset.."
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Ease In"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Ease Out"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Zero"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Easing In-Out"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Easing Out-In"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "File.."
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Dir.."
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Load"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Assign"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Error loading file: Not a resource!"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Couldn't load image"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Bit %d, val %d."
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "On"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Set"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Properties:"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Global"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Sections:"
+msgstr ""
+
+#: tools/editor/pvrtc_compress.cpp
+msgid "Could not execute PVRTC tool:"
+msgstr ""
+
+#: tools/editor/pvrtc_compress.cpp
+msgid "Can't load back converted image using PVRTC tool:"
+msgstr ""
+
+#: tools/editor/reparent_dialog.cpp tools/editor/scene_tree_dock.cpp
+msgid "Reparent Node"
+msgstr ""
+
+#: tools/editor/reparent_dialog.cpp
+msgid "Reparent Location (Select new Parent):"
+msgstr ""
+
+#: tools/editor/reparent_dialog.cpp
+msgid "Keep Global Transform"
+msgstr ""
+
+#: tools/editor/reparent_dialog.cpp tools/editor/scene_tree_dock.cpp
+msgid "Reparent"
+msgstr ""
+
+#: tools/editor/resources_dock.cpp
+msgid "Create New Resource"
+msgstr ""
+
+#: tools/editor/resources_dock.cpp
+msgid "Open Resource"
+msgstr ""
+
+#: tools/editor/resources_dock.cpp
+msgid "Save Resource"
+msgstr ""
+
+#: tools/editor/resources_dock.cpp
+msgid "Resource Tools"
+msgstr ""
+
+#: tools/editor/resources_dock.cpp
+msgid "Make Local"
+msgstr ""
+
+#: tools/editor/run_settings_dialog.cpp
+msgid "Run Mode:"
+msgstr ""
+
+#: tools/editor/run_settings_dialog.cpp
+msgid "Current Scene"
+msgstr ""
+
+#: tools/editor/run_settings_dialog.cpp
+msgid "Main Scene"
+msgstr ""
+
+#: tools/editor/run_settings_dialog.cpp
+msgid "Main Scene Arguments:"
+msgstr ""
+
+#: tools/editor/run_settings_dialog.cpp
+msgid "Scene Run Settings"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "OK :("
+msgstr "Okay :("
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "No parent to instance a child at."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Error loading scene from %s"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Error instancing scene from %s"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr "Okay"
+
+#: tools/editor/scene_tree_dock.cpp
+msgid ""
+"Cannot instance the scene '%s' because the current scene exists within one "
+"of its nodes."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Instance Scene(s)"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "This operation can't be done on the tree root."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Move Node In Parent"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Move Nodes In Parent"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Duplicate Node(s)"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Delete Node(s)?"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "This operation can't be done without a scene."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "This operation requires a single selected node."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "This operation can't be done on instanced scenes."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Save New Scene As.."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Makes Sense!"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Can't operate on nodes from a foreign scene!"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Can't operate on nodes the current scene inherits from!"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Remove Node(s)"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Create Node"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid ""
+"Couldn't save new scene. Likely dependencies (instances) couldn't be "
+"satisfied."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Error saving scene."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Error duplicating scene to save it."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "New Scene Root"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Inherit Scene"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Add Child Node"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Instance Child Scene"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Change Type"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Edit Groups"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Edit Connections"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Add Script"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Merge From Scene"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Save Branch as Scene"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Delete Node(s)"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Add/Create a New Node"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid ""
+"Instance a scene file as a Node. Creates an inherited scene if no root node "
+"exists."
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid ""
+"This item cannot be made visible because the parent is hidden. Unhide the "
+"parent first."
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Toggle Spatial Visible"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Toggle CanvasItem Visible"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Instance:"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Invalid node name, the following characters are not allowed:"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Rename Node"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Scene Tree (Nodes):"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Editable Children"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Load As Placeholder"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Discard Instancing"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Open in Editor"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Clear Inheritance"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Clear Inheritance? (No Undo!)"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Clear!"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Select a Node"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Same source and destination files, doing nothing."
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Same source and destination paths, doing nothing."
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Can't move directories to within themselves."
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Can't operate on '..'"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Pick New Name and Location For:"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "No files selected!"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Instance"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Edit Dependencies.."
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "View Owners.."
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Copy Path"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Rename or Move.."
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Move To.."
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Info"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Show In File Manager"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Previous Directory"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Next Directory"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Re-Scan Filesystem"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Toggle folder status as Favorite"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Instance the selected scene(s) as child of the selected node."
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Move"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Invalid parent class name"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Valid chars:"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Invalid class name"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Valid name"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "N/A"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Class name is invalid!"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Parent class name is invalid!"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Invalid path!"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Could not create script in filesystem."
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Path is empty"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Path is not local"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Invalid base path"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "File exists"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Invalid extension"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Valid path"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Class Name:"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Built-In Script"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Create Node Script"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Bytes:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Warning"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Error:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Source:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Function:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Errors"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Child Process Connected"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Inspect Previous Instance"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Inspect Next Instance"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Stack Frames"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Variable"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Errors:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Stack Trace (if applicable):"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Remote Inspector"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Live Scene Tree:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Remote Object Properties: "
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Profiler"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Monitor"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Value"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Monitors"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "List of Video Memory Usage by Resource:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Total:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Video Mem"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Resource Path"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Type"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Usage"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Misc"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Clicked Control:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Clicked Control Type:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Live Edit Root:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Set From Tree"
+msgstr ""
+
+#: tools/editor/settings_config_dialog.cpp
+msgid "Shortcuts"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Light Radius"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Camera FOV"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Camera Size"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Sphere Shape Radius"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Box Shape Extents"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Capsule Shape Radius"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Capsule Shape Height"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Ray Shape Length"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Notifier Extents"
+msgstr ""
diff --git a/tools/translations/es.po b/tools/translations/es.po
index 790f13f090..3f727d18c3 100644
--- a/tools/translations/es.po
+++ b/tools/translations/es.po
@@ -1,21 +1,67 @@
-# LANGUAGE translation of the Godot Engine editor
+# Spanish translation of the Godot Engine editor
# Copyright (C) 2016 Juan Linietsky, Ariel Manzur and the Godot community
# This file is distributed under the same license as the Godot source code.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+# Lisandro Lorea <lisandrolorea@gmail.com>, 2016.
#
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: \n"
-"Last-Translator: \n"
-"Language-Team: \n"
-"Language: es_AR\n"
+"PO-Revision-Date: 2016-06-14 14:10+0000\n"
+"Last-Translator: Lisandro Lorea <lisandrolorea@gmail.com>\n"
+"Language-Team: Spanish <https://hosted.weblate.org/projects/godot-engine/"
+"godot/es/>\n"
+"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.8.8\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 2.7-dev\n"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid type argument to convert(), use TYPE_* constants."
+msgstr "Argumento de tipo inválido para convert(), usá constantes TYPE_*."
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not enough bytes for decoding bytes, or invalid format."
+msgstr ""
+"No hay suficientes bytes para decodificar bytes, o el formato es inválido."
+
+#: modules/gdscript/gd_functions.cpp
+msgid "step argument is zero!"
+msgstr "el argumento step es cero!"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not a script with an instance"
+msgstr "No es un script con una instancia"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not based on a script"
+msgstr "No está basado en un script"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not based on a resource file"
+msgstr "No está basado en un archivo de recursos"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (missing @path)"
+msgstr "Formato de diccionario de instancias inválido (@path faltante)"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (can't load script at @path)"
+msgstr ""
+"Formato de diccionario de instancias inválido (no se puede cargar el script "
+"en @path)"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (invalid script at @path)"
+msgstr ""
+"Formato de diccionario de instancias inválido (script inválido en @path)"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary (invalid subclasses)"
+msgstr "Diccionario de instancias inválido (subclases inválidas)"
#: scene/2d/animated_sprite.cpp
msgid ""
@@ -23,7 +69,7 @@ msgid ""
"order for AnimatedSprite to display frames."
msgstr ""
"Un recurso SpriteFrames debe ser creado o seteado en la propiedad 'Frames' "
-"para que AnimatedSprite puda mostrar frames."
+"para que AnimatedSprite pueda mostrar frames."
#: scene/2d/canvas_modulate.cpp
msgid ""
@@ -42,7 +88,7 @@ msgid ""
msgstr ""
"CollisionPolylgon2D solo sirve para proveer de un collision shape a un nodo "
"derivado de CollisionObject2D. Favor de usarlo solo como un hijo de Area2D, "
-"StaticBody2D, RigidBody2D, KinematicBody2D, etc. para darles un shape. "
+"StaticBody2D, RigidBody2D, KinematicBody2D, etc. para darles un shape."
#: scene/2d/collision_polygon_2d.cpp
msgid "An empty CollisionPolygon2D has no effect on collision."
@@ -115,7 +161,7 @@ msgstr ""
#: scene/2d/path_2d.cpp
msgid "PathFollow2D only works when set as a child of a Path2D node."
msgstr ""
-"PathFollow2D solo funciona cuando esta seteado como hijo de un nodo Path2D"
+"PathFollow2D solo funciona cuando está seteado como hijo de un nodo Path2D."
#: scene/2d/remote_transform_2d.cpp
msgid "Path property must point to a valid Node2D node to work."
@@ -131,16 +177,16 @@ msgstr ""
#: scene/2d/sprite.cpp
msgid ""
-"Path property must point to a valid Viewport node to work. Such Viewport must "
-"be set to 'render target' mode."
+"Path property must point to a valid Viewport node to work. Such Viewport "
+"must be set to 'render target' mode."
msgstr ""
"La propiedad Path debe apuntar a un nodo Viewport válido para funcionar. "
"Dicho Viewport debe ser seteado a modo 'render target'."
#: scene/2d/sprite.cpp
msgid ""
-"The Viewport set in the path property must be set as 'render target' in order "
-"for this sprite to work."
+"The Viewport set in the path property must be set as 'render target' in "
+"order for this sprite to work."
msgstr ""
"El Viewport seteado en la propiedad path debe ser seteado como 'render "
"target' para que este sprite funcione."
@@ -150,8 +196,8 @@ msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
"as parent."
msgstr ""
-"VisibilityEnable2D funciona mejor cuando se usa con la raíz de escena editada "
-"directamente como padre."
+"VisibilityEnable2D funciona mejor cuando se usa con la raíz de escena "
+"editada directamente como padre."
#: scene/3d/body_shape.cpp
msgid ""
@@ -192,8 +238,8 @@ msgstr ""
#: scene/3d/navigation_mesh.cpp
msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. It "
-"only provides navigation data."
+"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
+"It only provides navigation data."
msgstr ""
"NavigationMeshInstance debe ser un hijo o nieto de un nodo Navigation. Solo "
"provee datos de navegación."
@@ -214,13 +260,12 @@ msgstr ""
"de modo que SpatialSamplePlayer puede reproducir sonido."
#: scene/3d/sprite_3d.cpp
-#, fuzzy
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
"order for AnimatedSprite3D to display frames."
msgstr ""
-"Un recurso SpriteFrames debe ser creado o seteado en la propiedad 'Frames' "
-"para que AnimatedSprite puda mostrar frames."
+"Un recurso SpriteFrames debe ser creado o asignado en la propiedad 'Frames' "
+"para que AnimatedSprite3D pueda mostrar frames."
#: scene/gui/dialogs.cpp tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Cancel"
@@ -244,7 +289,7 @@ msgstr "El Archivo Existe, Sobreescribir?"
#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
msgid "All Recognized"
-msgstr "Todos Reconocidos"
+msgstr "Todas Reconocidas"
#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
msgid "All Files (*)"
@@ -258,24 +303,20 @@ msgid "Open"
msgstr "Abrir"
#: scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Open a File"
-msgstr "Abrir Archivo(s) de Muestra"
+msgstr "Abrir un Archivo"
#: scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Open File(s)"
-msgstr "Abrir Archivo(s) de Muestra"
+msgstr "Abrir Archivo(s)"
#: scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Open a Directory"
-msgstr "Elegí un Directorio"
+msgstr "Abrir un Directorio"
#: scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Open a File or Directory"
-msgstr "Elegí un Directorio"
+msgstr "Abrir un Archivo o Directorio"
#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
#: tools/editor/editor_node.cpp
@@ -297,7 +338,7 @@ msgstr "Crear Carpeta"
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
#: tools/editor/project_settings.cpp tools/editor/script_create_dialog.cpp
msgid "Path:"
-msgstr "Path:"
+msgstr "Ruta:"
#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
msgid "Directories & Files:"
@@ -339,7 +380,7 @@ msgstr "Alt+"
#: scene/gui/input_action.cpp
msgid "Ctrl+"
-msgstr ""
+msgstr "Ctrl+"
#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
#: tools/editor/settings_config_dialog.cpp
@@ -402,7 +443,8 @@ msgstr "Pegar"
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
#: tools/editor/plugins/script_editor_plugin.cpp
-#: tools/editor/plugins/shader_editor_plugin.cpp tools/editor/project_export.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+#: tools/editor/project_export.cpp
msgid "Select All"
msgstr "Seleccionar Todo"
@@ -422,8 +464,8 @@ msgstr "Deshacer"
#: scene/gui/popup.cpp
msgid ""
"Popups will hide by default unless you call popup() or any of the popup*() "
-"functions. Making them visible for editing is fine though, but they will hide "
-"upon running."
+"functions. Making them visible for editing is fine though, but they will "
+"hide upon running."
msgstr ""
"Los popups se esconderán por defecto a menos que llames a popup() o "
"cualquiera de las funciones popup*(). Sin embargo, no hay problema con "
@@ -538,6 +580,18 @@ msgid "Anim Delete Keys"
msgstr "Borrar Claves de Anim"
#: tools/editor/animation_editor.cpp
+msgid "Continuous"
+msgstr "Contínuo"
+
+#: tools/editor/animation_editor.cpp
+msgid "Discrete"
+msgstr "Discreto"
+
+#: tools/editor/animation_editor.cpp
+msgid "Trigger"
+msgstr "Trigger"
+
+#: tools/editor/animation_editor.cpp
msgid "Anim Add Key"
msgstr "Agregar Clave de Anim"
@@ -645,6 +699,10 @@ msgid "Change Anim Loop"
msgstr "Cambiar Loop de Anim"
#: tools/editor/animation_editor.cpp
+msgid "Change Anim Loop Interpolation"
+msgstr "Cambiar Interpolación de Loop de Anim"
+
+#: tools/editor/animation_editor.cpp
msgid "Anim Create Typed Value Key"
msgstr "Crear Clave de Valor Tipado para Anim"
@@ -685,6 +743,10 @@ msgid "Enable/Disable looping in animation."
msgstr "Activar/Desactivar loopeo en la animación."
#: tools/editor/animation_editor.cpp
+msgid "Enable/Disable interpolation when looping animation."
+msgstr "Activar/Desactivar interpolación al loopear animación."
+
+#: tools/editor/animation_editor.cpp
msgid "Add new tracks."
msgstr "Agregar nuevos tracks."
@@ -805,22 +867,20 @@ msgid "Site:"
msgstr "Sitio:"
#: tools/editor/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Support.."
-msgstr "Exportar.."
+msgstr "Soporte.."
#: tools/editor/asset_library_editor_plugin.cpp
msgid "Official"
-msgstr ""
+msgstr "Oficial"
#: tools/editor/asset_library_editor_plugin.cpp
msgid "Community"
-msgstr ""
+msgstr "Comunidad"
#: tools/editor/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Testing"
-msgstr "Configuración"
+msgstr "Testeo"
#: tools/editor/asset_library_editor_plugin.cpp
msgid "Assets ZIP File"
@@ -951,13 +1011,9 @@ msgid "Method in target Node must be specified!"
msgstr "El método en el Nodo objetivo debe ser especificado!"
#: tools/editor/connections_dialog.cpp
-msgid "Connect To Node:"
+msgid "Conect To Node:"
msgstr "Conectar a Nodo:"
-#: tools/editor/connections_dialog.cpp
-msgid "Binds (Extra Params):"
-msgstr "Binds (Parametros Extra):"
-
#: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp
#: tools/editor/plugins/item_list_editor_plugin.cpp
#: tools/editor/plugins/theme_editor_plugin.cpp
@@ -967,17 +1023,22 @@ msgstr "Agregar"
#: tools/editor/connections_dialog.cpp tools/editor/dependency_editor.cpp
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
-#: tools/editor/plugins/theme_editor_plugin.cpp tools/editor/project_manager.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+#: tools/editor/project_manager.cpp
msgid "Remove"
msgstr "Quitar"
#: tools/editor/connections_dialog.cpp
-msgid "Path To Node:"
-msgstr "Path al Nodo:"
+msgid "Add Extra Call Argument:"
+msgstr "Agregar Argumento de Llamada Extra:"
+
+#: tools/editor/connections_dialog.cpp
+msgid "Extra Call Arguments:"
+msgstr "Argumentos de Llamada Extras:"
#: tools/editor/connections_dialog.cpp
-msgid "Method In Node:"
-msgstr "Método En el Nodo:"
+msgid "Path to Node:"
+msgstr "Ruta al Nodo:"
#: tools/editor/connections_dialog.cpp
msgid "Make Function"
@@ -1000,6 +1061,10 @@ msgid "Connect '%s' to '%s'"
msgstr "Conectar '%s' a '%s'"
#: tools/editor/connections_dialog.cpp
+msgid "Connecting Signal:"
+msgstr "Conectando Señal:"
+
+#: tools/editor/connections_dialog.cpp
msgid "Create Subscription"
msgstr "Crear Subscripción"
@@ -1013,9 +1078,8 @@ msgid "Disconnect"
msgstr "Desconectar"
#: tools/editor/connections_dialog.cpp tools/editor/node_dock.cpp
-#, fuzzy
msgid "Signals"
-msgstr "Señales:"
+msgstr "Señales"
#: tools/editor/create_dialog.cpp
msgid "Create New"
@@ -1059,7 +1123,7 @@ msgstr "Recursos"
#: tools/editor/dependency_editor.cpp tools/editor/project_manager.cpp
#: tools/editor/project_settings.cpp
msgid "Path"
-msgstr "Path"
+msgstr "Ruta"
#: tools/editor/dependency_editor.cpp
msgid "Dependencies:"
@@ -1141,7 +1205,8 @@ msgid "Delete selected files?"
msgstr "Eliminar archivos seleccionados?"
#: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp
-#: tools/editor/plugins/item_list_editor_plugin.cpp tools/editor/scenes_dock.cpp
+#: tools/editor/plugins/item_list_editor_plugin.cpp
+#: tools/editor/scenes_dock.cpp
msgid "Delete"
msgstr "Eliminar"
@@ -1175,7 +1240,7 @@ msgstr "Recientes:"
#: tools/editor/editor_file_dialog.cpp
msgid "Preview:"
-msgstr "Preview:"
+msgstr "Vista Previa:"
#: tools/editor/editor_file_system.cpp
msgid "Cannot go into subdir:"
@@ -1275,9 +1340,8 @@ msgid "Setting Up.."
msgstr "Configurando.."
#: tools/editor/editor_log.cpp
-#, fuzzy
msgid " Output:"
-msgstr "Salida"
+msgstr " Salida:"
#: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp
msgid "Re-Importing"
@@ -1391,9 +1455,8 @@ msgid "Copy Params"
msgstr "Copiar Params"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Paste Params"
-msgstr "Pegar Frame"
+msgstr "Pegar Parametros"
#: tools/editor/editor_node.cpp
#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
@@ -1413,9 +1476,8 @@ msgid "Make Sub-Resources Unique"
msgstr "Crear Sub-Recurso Unico"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Open in Help"
-msgstr "Abrir Escena"
+msgstr "Abrir en la Ayuda"
#: tools/editor/editor_node.cpp
msgid "There is no defined scene to run."
@@ -1426,6 +1488,8 @@ msgid ""
"No main scene has ever been defined.\n"
"Select one from \"Project Settings\" under the 'application' category."
msgstr ""
+"No se ha definido ninguna escena principal.\n"
+"Seleccioná una de \"Ajustes del Proyecto\" bajo la categoria 'aplicacion'."
#: tools/editor/editor_node.cpp
msgid "Current scene was never saved, please save it prior to running."
@@ -1497,7 +1561,7 @@ msgstr "Escena actual sin guardar. Abrir de todos modos?"
#: tools/editor/editor_node.cpp
msgid "Can't reload a scene that was never saved."
-msgstr "No se puede volver a cargar una escena que nunca se guardó. "
+msgstr "No se puede volver a cargar una escena que nunca se guardó."
#: tools/editor/editor_node.cpp
msgid "Revert"
@@ -1523,11 +1587,12 @@ msgstr "Ugh"
#: tools/editor/editor_node.cpp
msgid ""
-"Error loading scene, it must be inside the project path. Use 'Import' to open "
-"the scene, then save it inside the project path."
+"Error loading scene, it must be inside the project path. Use 'Import' to "
+"open the scene, then save it inside the project path."
msgstr ""
-"Error al cargar la escena, debe estar dentro de un path de proyecto. Usa "
-"'Importar' para abrir la escena, luego guardala dentro del path del proyecto."
+"Error al cargar la escena, debe estar dentro de la ruta del proyecto. Usa "
+"'Importar' para abrir la escena, luego guardala dentro de la ruta del "
+"proyecto."
#: tools/editor/editor_node.cpp
msgid "Error loading scene."
@@ -1542,9 +1607,8 @@ msgid "Save Layout"
msgstr "Guardar Layout"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Load Layout"
-msgstr "Guardar Layout"
+msgstr "Cargar Layout"
#: tools/editor/editor_node.cpp tools/editor/project_export.cpp
msgid "Default"
@@ -1576,6 +1640,14 @@ msgid "Go to previously opened scene."
msgstr "Ir a la escena abierta previamente."
#: tools/editor/editor_node.cpp
+msgid "Fullscreen Mode"
+msgstr "Modo Pantalla Completa"
+
+#: tools/editor/editor_node.cpp
+msgid "Distraction Free Mode"
+msgstr "Modo Sin Distracciones"
+
+#: tools/editor/editor_node.cpp
msgid "Operations with scene files."
msgstr "Operaciones con archivos de escena."
@@ -1608,9 +1680,8 @@ msgid "Open Recent"
msgstr "Abrir Reciente"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Quick Filter Files.."
-msgstr "Busqueda Rapida en Archivo.."
+msgstr "Filtrado Rapido de Archivos.."
#: tools/editor/editor_node.cpp
msgid "Convert To.."
@@ -1682,9 +1753,8 @@ msgid "Export"
msgstr "Exportar"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Play the project."
-msgstr "Reproducir el proyecto (F5)."
+msgstr "Reproducir el proyecto."
#: tools/editor/editor_node.cpp
#: tools/editor/plugins/sample_library_editor_plugin.cpp
@@ -1696,14 +1766,12 @@ msgid "Pause the scene"
msgstr "Pausar la escena"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Pause Scene"
-msgstr "Pausar la escena"
+msgstr "Pausar la Escena"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Stop the scene."
-msgstr "Parar la escena (F8)."
+msgstr "Parar la escena."
#: tools/editor/editor_node.cpp
#: tools/editor/plugins/sample_library_editor_plugin.cpp
@@ -1711,14 +1779,12 @@ msgid "Stop"
msgstr "Detener"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Play the edited scene."
-msgstr "Reproducir la escena editada (F6)."
+msgstr "Reproducir la escena editada."
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Play Scene"
-msgstr "Guardar Escena"
+msgstr "Reproducir Escena"
#: tools/editor/editor_node.cpp
msgid "Play custom scene"
@@ -1729,19 +1795,20 @@ msgid "Debug options"
msgstr "Opciones de debugueo"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Deploy with Remote Debug"
msgstr "Hacer Deploy con Debug Remoto"
#: tools/editor/editor_node.cpp
msgid ""
-"When exporting or deploying, the resulting executable will attempt to connect "
-"to the IP of this computer in order to be debugged."
+"When exporting or deploying, the resulting executable will attempt to "
+"connect to the IP of this computer in order to be debugged."
msgstr ""
+"Al exportar o hacer deploy, el ejecutable resultante tratara de contectarse "
+"a la IP de esta computadora de manera de ser debugueado."
#: tools/editor/editor_node.cpp
msgid "Small Deploy with Network FS"
-msgstr ""
+msgstr "Depoy Pequeño con Network FS"
#: tools/editor/editor_node.cpp
msgid ""
@@ -1749,9 +1816,15 @@ msgid ""
"executable.\n"
"The filesystem will be provided from the project by the editor over the "
"network.\n"
-"On Android, deploy will use the USB cable for faster performance. This option "
-"speeds up testing for games with a large footprint."
+"On Android, deploy will use the USB cable for faster performance. This "
+"option speeds up testing for games with a large footprint."
msgstr ""
+"Cuando esta opción está activa, exportar o hacer deploy producirá un "
+"ejecutable mínimo.\n"
+"El sistema de archivos sera proveido desde el proyecto por el editor sobre "
+"la red.\n"
+"En Android, deploy usará el cable USB para mejor performance. Esta opción "
+"acelera el testeo para juegos con footprint grande."
#: tools/editor/editor_node.cpp
msgid "Visible Collision Shapes"
@@ -1762,6 +1835,8 @@ msgid ""
"Collision shapes and raycast nodes (for 2D and 3D) will be visible on the "
"running game if this option is turned on."
msgstr ""
+"Los Collision shapes y nodos raycast (para 2D y 3D) seran visibiles durante "
+"la ejecución del juego cuando esta opción queda activada."
#: tools/editor/editor_node.cpp
msgid "Visible Navigation"
@@ -1772,10 +1847,12 @@ msgid ""
"Navigation meshes and polygons will be visible on the running game if this "
"option is turned on."
msgstr ""
+"Los meshes de navegación y los polígonos seran visibles durante la ejecución "
+"del juego si esta opción queda activada."
#: tools/editor/editor_node.cpp
msgid "Sync Scene Changes"
-msgstr ""
+msgstr "Sincronizar Cambios de Escena"
#: tools/editor/editor_node.cpp
msgid ""
@@ -1784,11 +1861,14 @@ msgid ""
"When used remotely on a device, this is more efficient with network "
"filesystem."
msgstr ""
+"Cuando esta opción este encendida, cualquier cambio hecho a la escena en el "
+"editor sera replicado en el juego en ejecución.\n"
+"Cuando se usa remotamente en un dispositivo, esto es mas eficiente con un "
+"sistema de archivos remoto."
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Sync Script Changes"
-msgstr "Actualizar Cambios"
+msgstr "Actualizar Cambios en Scripts"
#: tools/editor/editor_node.cpp
msgid ""
@@ -1797,6 +1877,10 @@ msgid ""
"When used remotely on a device, this is more efficient with network "
"filesystem."
msgstr ""
+"Cuando esta opción esta activa, cualquier script que se guarde sera vuelto a "
+"cargar en el juego en ejecución.\n"
+"Cuando se use remotamente en un dispositivo, esto es mas eficiente con un "
+"sistema de archivos de red."
#: tools/editor/editor_node.cpp tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Settings"
@@ -1850,9 +1934,7 @@ msgstr "Cargar un recurso existente desde disco y editarlo."
msgid "Save the currently edited resource."
msgstr "Guardar el recurso editado actualmente."
-#: tools/editor/editor_node.cpp
-#: tools/editor/plugins/animation_player_editor_plugin.cpp
-#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp
msgid "Save As.."
msgstr "Guardar Como.."
@@ -2035,7 +2117,7 @@ msgstr "Seleccionar Nodo(s) para Importar"
#: tools/editor/editor_sub_scene.cpp
msgid "Scene Path:"
-msgstr "Path a la Escena:"
+msgstr "Ruta a la Escena:"
#: tools/editor/editor_sub_scene.cpp
msgid "Import From Node:"
@@ -2060,41 +2142,39 @@ msgid "Imported Resources"
msgstr "Importar Recursos"
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
-#, fuzzy
msgid "No bit masks to import!"
-msgstr "Sin elementos para importar!"
+msgstr "Sin máscaras de bits para importar!"
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Target path is empty."
-msgstr "El path de destino está vacío."
+msgstr "La ruta de destino está vacía."
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Target path must be a complete resource path."
-msgstr "El path de destino debe ser un path de recursos completo."
+msgstr "La ruta de destino debe ser una ruta de recursos completa."
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Target path must exist."
-msgstr "El path de destino debe existir."
+msgstr "La ruta de destino debe existir."
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
msgid "Save path is empty!"
-msgstr "El path de guardado esta vacío!"
+msgstr "La ruta de guardado esta vacía!"
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
-#, fuzzy
msgid "Import BitMasks"
-msgstr "Importar Texturas"
+msgstr "Importar BitMasks"
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
@@ -2108,7 +2188,7 @@ msgstr "Textura(s) de Origen:"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
msgid "Target Path:"
-msgstr "Path de Destino:"
+msgstr "Ruta de Destino:"
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
@@ -2121,7 +2201,7 @@ msgstr "Aceptar"
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
msgid "Bit Mask"
-msgstr ""
+msgstr "Máscara de Bits"
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
msgid "No source font file!"
@@ -2137,7 +2217,7 @@ msgstr "No se puede cargar/procesar la tipografía de origen."
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
msgid "Couldn't save font."
-msgstr "No se pudo guardar la tipografía"
+msgstr "No se pudo guardar la tipografía."
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
msgid "Source Font:"
@@ -2176,7 +2256,7 @@ msgid ""
"instead."
msgstr ""
"Este archivo ya es un archivo de tipografías de Godot, por favor suministrar "
-"un archivo tipo BMFont"
+"un archivo tipo BMFont."
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
msgid "Failed opening as BMFont file."
@@ -2289,7 +2369,7 @@ msgstr "Filtros"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Source path is empty."
-msgstr "El path de origen esta vacio."
+msgstr "La ruta de origen esta vacía."
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Couldn't load post-import script."
@@ -2503,8 +2583,8 @@ msgid ""
"NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files to "
"the project."
msgstr ""
-"AVISO: Importar texturas 2D no es obligatorio. Simplemente copiá los archivos "
-"png/jpg al proyecto."
+"AVISO: Importar texturas 2D no es obligatorio. Simplemente copiá los "
+"archivos png/jpg al proyecto."
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Crop empty space."
@@ -2636,18 +2716,16 @@ msgid "MultiNode Set"
msgstr "Setear MultiNodo"
#: tools/editor/node_dock.cpp
-#, fuzzy
msgid "Node"
-msgstr "Nodo Mix"
+msgstr "Nodo"
#: tools/editor/node_dock.cpp
-#, fuzzy
msgid "Groups"
-msgstr "Grupos:"
+msgstr "Grupos"
#: tools/editor/node_dock.cpp
msgid "Select a Node to edit Signals and Groups."
-msgstr ""
+msgstr "Seleccionar un Nodo para editar Señales y Grupos."
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
@@ -2759,12 +2837,20 @@ msgid "Create new animation in player."
msgstr "Crear nueva animación en el reproductor."
#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Load animation from disk."
+msgstr "Cargar una animación desde disco."
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Load an animation from disk."
msgstr "Cargar una animación desde disco."
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Save the current animation"
-msgstr "Guardar la animación actual."
+msgstr "Guardar la animación actual"
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Save As"
+msgstr "Guardar Como"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
@@ -3458,7 +3544,7 @@ msgstr "No se especificó mesh de origen (y MultiMesh no contiene ningún Mesh).
#: tools/editor/plugins/multimesh_editor_plugin.cpp
msgid "Mesh source is invalid (invalid path)."
-msgstr "Mesh de origen inválido (path inválido)."
+msgstr "Mesh de origen inválido (ruta inválida)."
#: tools/editor/plugins/multimesh_editor_plugin.cpp
msgid "Mesh source is invalid (not a MeshInstance)."
@@ -3474,7 +3560,7 @@ msgstr "Ninguna superficie de origen especificada."
#: tools/editor/plugins/multimesh_editor_plugin.cpp
msgid "Surface source is invalid (invalid path)."
-msgstr "La superficie de origen es inválida (path inválido)."
+msgstr "La superficie de origen es inválida (ruta inválida)."
#: tools/editor/plugins/multimesh_editor_plugin.cpp
msgid "Surface source is invalid (no geometry)."
@@ -3891,7 +3977,8 @@ msgstr "Importar Tema"
msgid "Save Theme As.."
msgstr "Guardar Tema Como.."
-#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/project_export.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/project_export.cpp
msgid "File"
msgstr "Archivo"
@@ -3963,13 +4050,8 @@ msgid "Auto Indent"
msgstr "Auto Indentar"
#: tools/editor/plugins/script_editor_plugin.cpp
-#, fuzzy
-msgid "Reload Tool Script"
-msgstr "Crear Script de Nodo"
-
-#: tools/editor/plugins/script_editor_plugin.cpp
-msgid "Reload Tool Script (Soft)"
-msgstr ""
+msgid "Soft Reload Script"
+msgstr "Recarga Soft de Script"
#: tools/editor/plugins/script_editor_plugin.cpp
#: tools/editor/plugins/shader_editor_plugin.cpp
@@ -4061,8 +4143,8 @@ msgid "Help"
msgstr "Ayuda"
#: tools/editor/plugins/script_editor_plugin.cpp
-msgid "Contextual"
-msgstr "Contextual"
+msgid "Contextual Help"
+msgstr "Ayuda Contextual"
#: tools/editor/plugins/script_editor_plugin.cpp
msgid "Tutorials"
@@ -4094,7 +4176,7 @@ msgstr "Ir a anterior documento editado."
#: tools/editor/plugins/script_editor_plugin.cpp
msgid "Go to next edited document."
-msgstr "Ir a siguiente documento editado"
+msgstr "Ir a siguiente documento editado."
#: tools/editor/plugins/script_editor_plugin.cpp
msgid "Create Script"
@@ -4270,20 +4352,20 @@ msgid "Transform Aborted."
msgstr "Transformación Abortada."
#: tools/editor/plugins/spatial_editor_plugin.cpp
-msgid "View Plane Transform."
-msgstr "Ver Transformación en Plano."
-
-#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "X-Axis Transform."
-msgstr "Transformación en Eje-X"
+msgstr "Transformación en Eje-X."
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Y-Axis Transform."
-msgstr "Transformación en Eje-Y"
+msgstr "Transformación en Eje-Y."
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Z-Axis Transform."
-msgstr "Transformación en Eje-Z"
+msgstr "Transformación en Eje-Z."
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View Plane Transform."
+msgstr "Ver Transformación en Plano."
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Scaling to %s%%."
@@ -4295,7 +4377,7 @@ msgstr "Torando %s grados."
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Bottom View."
-msgstr "Vista Inferior"
+msgstr "Vista Inferior."
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Bottom"
@@ -4303,7 +4385,7 @@ msgstr "Fondo"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Top View."
-msgstr "Vista Superior"
+msgstr "Vista Superior."
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Top"
@@ -4363,7 +4445,7 @@ msgstr "Fondo (Shift+Num7)"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Left (Num3)"
-msgstr "Left (Num3)"
+msgstr "Izquierda (Num3)"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Right (Shift+Num3)"
@@ -4626,20 +4708,20 @@ msgid "StyleBox Preview:"
msgstr "Vista Previa de StyleBox:"
#: tools/editor/plugins/texture_region_editor_plugin.cpp
-#, fuzzy
msgid "Texture Region Editor"
-msgstr "Editor de Regiones de Sprites"
+msgstr "Editor de Regiones de Texturas"
#: tools/editor/plugins/texture_region_editor_plugin.cpp
-#, fuzzy
msgid "Scale Region Editor"
-msgstr "Editor de Regiones de Sprites"
+msgstr "Editor de Regiones de Escalado"
#: tools/editor/plugins/texture_region_editor_plugin.cpp
msgid ""
"No texture in this node.\n"
"Set a texture to be able to edit region."
msgstr ""
+"Sin textura en este nodo.\n"
+"Asigná una textura para poder editar la región."
#: tools/editor/plugins/theme_editor_plugin.cpp
msgid "Can't save theme to file:"
@@ -4667,8 +4749,12 @@ msgid "Remove Class Items"
msgstr "Quitar Items de Clases"
#: tools/editor/plugins/theme_editor_plugin.cpp
-msgid "Create Template"
-msgstr "Crear Template"
+msgid "Create Empty Template"
+msgstr "Crear Template Vacío"
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Create Empty Editor Template"
+msgstr "Crear Template de Editor Vacío"
#: tools/editor/plugins/theme_editor_plugin.cpp
msgid "CheckBox Radio1"
@@ -4754,32 +4840,36 @@ msgid "Erase TileMap"
msgstr "Borrar TileMap"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Bucket"
-msgstr "Balde"
+msgid "Erase selection"
+msgstr "Eliminar Selección"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Pick Tile"
-msgstr "Elegir Tile"
+msgid "Find tile"
+msgstr "Encontrar tile"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Select"
-msgstr "Seleccionar"
+msgid "Transpose"
+msgstr "Transponer"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase Selection"
-msgstr "Eliminar Selección"
+msgid "Mirror X"
+msgstr "Espejar X"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Transpose"
-msgstr "Transponer"
+msgid "Mirror Y"
+msgstr "Espejar Y"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Mirror X (A)"
-msgstr "Espejar X (A)"
+msgid "Bucket"
+msgstr "Balde"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Mirror Y (S)"
-msgstr "Espejar Y (S)"
+msgid "Pick Tile"
+msgstr "Elegir Tile"
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Select"
+msgstr "Seleccionar"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
@@ -4928,8 +5018,8 @@ msgstr ""
#: tools/editor/project_export.cpp
msgid "Filters to exclude from export (comma-separated, e.g.: *.json, *.txt):"
msgstr ""
-"Filtros para excluir de la exportación (separados por comas, ej: *.json, *."
-"txt):"
+"Filtros para excluir de la exportación (separados por comas, ej: *.json, "
+"*.txt):"
#: tools/editor/project_export.cpp
msgid "Convert text scenes to binary on export."
@@ -5166,14 +5256,12 @@ msgstr ""
"modificados)"
#: tools/editor/project_manager.cpp
-#, fuzzy
msgid "Project Manager"
-msgstr "Nombre del Proyecto:"
+msgstr "Gestor de Proyectos"
#: tools/editor/project_manager.cpp
-#, fuzzy
msgid "Project List"
-msgstr "Salir a Listado de Proyecto"
+msgstr "Listado de Proyectos"
#: tools/editor/project_manager.cpp
msgid "Run"
@@ -5193,7 +5281,7 @@ msgstr "Salir"
#: tools/editor/project_settings.cpp
msgid "Key "
-msgstr "Clave"
+msgstr "Tecla "
#: tools/editor/project_settings.cpp
msgid "Joy Button"
@@ -5330,14 +5418,12 @@ msgstr ""
"existente."
#: tools/editor/project_settings.cpp
-#, fuzzy
msgid "Autoload '%s' already exists!"
-msgstr "La acción '%s' ya existe!"
+msgstr "Autocargar '%s' ya existe!"
#: tools/editor/project_settings.cpp
-#, fuzzy
msgid "Rename Autoload"
-msgstr "Quitar Autoload"
+msgstr "Renombrar Autoload"
#: tools/editor/project_settings.cpp
msgid "Toggle AutoLoad Globals"
@@ -5630,8 +5716,8 @@ msgstr "Ok"
#: tools/editor/scene_tree_dock.cpp
msgid ""
-"Cannot instance the scene '%s' because the current scene exists within one of "
-"its nodes."
+"Cannot instance the scene '%s' because the current scene exists within one "
+"of its nodes."
msgstr ""
"No se puede instanciar la escena '%s' porque la escena actual existe dentro "
"de uno de sus nodos."
@@ -5809,6 +5895,10 @@ msgid "Load As Placeholder"
msgstr "Cargar Como Placeholder"
#: tools/editor/scene_tree_editor.cpp
+msgid "Discard Instancing"
+msgstr "Descartar Instanciado"
+
+#: tools/editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "Abrir en Editor"
@@ -5865,9 +5955,8 @@ msgid "View Owners.."
msgstr "Ver Dueños.."
#: tools/editor/scenes_dock.cpp
-#, fuzzy
msgid "Copy Path"
-msgstr "Copiar Params"
+msgstr "Copiar Ruta"
#: tools/editor/scenes_dock.cpp
msgid "Rename or Move.."
@@ -6044,7 +6133,7 @@ msgstr "Arbos de Escenas en Vivo:"
#: tools/editor/script_editor_debugger.cpp
msgid "Remote Object Properties: "
-msgstr "Propiedades de Objeto Remoto:"
+msgstr "Propiedades de Objeto Remoto: "
#: tools/editor/script_editor_debugger.cpp
msgid "Profiler"
@@ -6108,7 +6197,7 @@ msgstr "Setear Desde Arbol"
#: tools/editor/settings_config_dialog.cpp
msgid "Shortcuts"
-msgstr ""
+msgstr "Atajos"
#: tools/editor/spatial_editor_gizmos.cpp
msgid "Change Light Radius"
@@ -6146,12 +6235,18 @@ msgstr "Cambiar Largo de Shape Rayo"
msgid "Change Notifier Extents"
msgstr "Cambiar Alcances de Notificadores"
+#~ msgid "Binds (Extra Params):"
+#~ msgstr "Binds (Parametros Extra):"
+
+#~ msgid "Method In Node:"
+#~ msgstr "Método En el Nodo:"
+
+#~ msgid "Reload Tool Script (Soft)"
+#~ msgstr "Volver a Cargar Script de Herramientas (Soft)"
+
#~ msgid "Edit Connections.."
#~ msgstr "Editar Conecciones.."
-#~ msgid "Connections:"
-#~ msgstr "Conecciones:"
-
#~ msgid "Set Params"
#~ msgstr "Setear Params"
diff --git a/tools/translations/es_AR.po b/tools/translations/es_AR.po
index 790f13f090..e9dc591b98 100644
--- a/tools/translations/es_AR.po
+++ b/tools/translations/es_AR.po
@@ -1,21 +1,67 @@
-# LANGUAGE translation of the Godot Engine editor
+# Spanish (Argentina) translation of the Godot Engine editor
# Copyright (C) 2016 Juan Linietsky, Ariel Manzur and the Godot community
# This file is distributed under the same license as the Godot source code.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+# Lisandro Lorea <lisandrolorea@gmail.com>, 2016.
#
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: \n"
-"Last-Translator: \n"
-"Language-Team: \n"
+"PO-Revision-Date: 2016-06-19 12:39+0000\n"
+"Last-Translator: Lisandro Lorea <lisandrolorea@gmail.com>\n"
+"Language-Team: Spanish (Argentina) <https://hosted.weblate.org/projects"
+"/godot-engine/godot/es_AR/>\n"
"Language: es_AR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.8.8\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 2.7-dev\n"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid type argument to convert(), use TYPE_* constants."
+msgstr "Argumento de tipo inválido para convert(), usá constantes TYPE_*."
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not enough bytes for decoding bytes, or invalid format."
+msgstr ""
+"No hay suficientes bytes para decodificar bytes, o el formato es inválido."
+
+#: modules/gdscript/gd_functions.cpp
+msgid "step argument is zero!"
+msgstr "el argumento step es cero!"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not a script with an instance"
+msgstr "No es un script con una instancia"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not based on a script"
+msgstr "No está basado en un script"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not based on a resource file"
+msgstr "No está basado en un archivo de recursos"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (missing @path)"
+msgstr "Formato de diccionario de instancias inválido (@path faltante)"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (can't load script at @path)"
+msgstr ""
+"Formato de diccionario de instancias inválido (no se puede cargar el script "
+"en @path)"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (invalid script at @path)"
+msgstr ""
+"Formato de diccionario de instancias inválido (script inválido en @path)"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary (invalid subclasses)"
+msgstr "Diccionario de instancias inválido (subclases inválidas)"
#: scene/2d/animated_sprite.cpp
msgid ""
@@ -23,7 +69,7 @@ msgid ""
"order for AnimatedSprite to display frames."
msgstr ""
"Un recurso SpriteFrames debe ser creado o seteado en la propiedad 'Frames' "
-"para que AnimatedSprite puda mostrar frames."
+"para que AnimatedSprite pueda mostrar frames."
#: scene/2d/canvas_modulate.cpp
msgid ""
@@ -42,7 +88,7 @@ msgid ""
msgstr ""
"CollisionPolylgon2D solo sirve para proveer de un collision shape a un nodo "
"derivado de CollisionObject2D. Favor de usarlo solo como un hijo de Area2D, "
-"StaticBody2D, RigidBody2D, KinematicBody2D, etc. para darles un shape. "
+"StaticBody2D, RigidBody2D, KinematicBody2D, etc. para darles un shape."
#: scene/2d/collision_polygon_2d.cpp
msgid "An empty CollisionPolygon2D has no effect on collision."
@@ -115,7 +161,7 @@ msgstr ""
#: scene/2d/path_2d.cpp
msgid "PathFollow2D only works when set as a child of a Path2D node."
msgstr ""
-"PathFollow2D solo funciona cuando esta seteado como hijo de un nodo Path2D"
+"PathFollow2D solo funciona cuando está seteado como hijo de un nodo Path2D."
#: scene/2d/remote_transform_2d.cpp
msgid "Path property must point to a valid Node2D node to work."
@@ -131,16 +177,16 @@ msgstr ""
#: scene/2d/sprite.cpp
msgid ""
-"Path property must point to a valid Viewport node to work. Such Viewport must "
-"be set to 'render target' mode."
+"Path property must point to a valid Viewport node to work. Such Viewport "
+"must be set to 'render target' mode."
msgstr ""
"La propiedad Path debe apuntar a un nodo Viewport válido para funcionar. "
"Dicho Viewport debe ser seteado a modo 'render target'."
#: scene/2d/sprite.cpp
msgid ""
-"The Viewport set in the path property must be set as 'render target' in order "
-"for this sprite to work."
+"The Viewport set in the path property must be set as 'render target' in "
+"order for this sprite to work."
msgstr ""
"El Viewport seteado en la propiedad path debe ser seteado como 'render "
"target' para que este sprite funcione."
@@ -150,8 +196,8 @@ msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
"as parent."
msgstr ""
-"VisibilityEnable2D funciona mejor cuando se usa con la raíz de escena editada "
-"directamente como padre."
+"VisibilityEnable2D funciona mejor cuando se usa con la raíz de escena "
+"editada directamente como padre."
#: scene/3d/body_shape.cpp
msgid ""
@@ -192,8 +238,8 @@ msgstr ""
#: scene/3d/navigation_mesh.cpp
msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. It "
-"only provides navigation data."
+"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
+"It only provides navigation data."
msgstr ""
"NavigationMeshInstance debe ser un hijo o nieto de un nodo Navigation. Solo "
"provee datos de navegación."
@@ -214,13 +260,12 @@ msgstr ""
"de modo que SpatialSamplePlayer puede reproducir sonido."
#: scene/3d/sprite_3d.cpp
-#, fuzzy
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
"order for AnimatedSprite3D to display frames."
msgstr ""
-"Un recurso SpriteFrames debe ser creado o seteado en la propiedad 'Frames' "
-"para que AnimatedSprite puda mostrar frames."
+"Un recurso SpriteFrames debe ser creado o asignado en la propiedad 'Frames' "
+"para que AnimatedSprite3D pueda mostrar frames."
#: scene/gui/dialogs.cpp tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Cancel"
@@ -244,7 +289,7 @@ msgstr "El Archivo Existe, Sobreescribir?"
#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
msgid "All Recognized"
-msgstr "Todos Reconocidos"
+msgstr "Todas Reconocidas"
#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
msgid "All Files (*)"
@@ -258,24 +303,20 @@ msgid "Open"
msgstr "Abrir"
#: scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Open a File"
-msgstr "Abrir Archivo(s) de Muestra"
+msgstr "Abrir un Archivo"
#: scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Open File(s)"
-msgstr "Abrir Archivo(s) de Muestra"
+msgstr "Abrir Archivo(s)"
#: scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Open a Directory"
-msgstr "Elegí un Directorio"
+msgstr "Abrir un Directorio"
#: scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Open a File or Directory"
-msgstr "Elegí un Directorio"
+msgstr "Abrir un Archivo o Directorio"
#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
#: tools/editor/editor_node.cpp
@@ -297,7 +338,7 @@ msgstr "Crear Carpeta"
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
#: tools/editor/project_settings.cpp tools/editor/script_create_dialog.cpp
msgid "Path:"
-msgstr "Path:"
+msgstr "Ruta:"
#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
msgid "Directories & Files:"
@@ -339,7 +380,7 @@ msgstr "Alt+"
#: scene/gui/input_action.cpp
msgid "Ctrl+"
-msgstr ""
+msgstr "Ctrl+"
#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
#: tools/editor/settings_config_dialog.cpp
@@ -402,7 +443,8 @@ msgstr "Pegar"
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
#: tools/editor/plugins/script_editor_plugin.cpp
-#: tools/editor/plugins/shader_editor_plugin.cpp tools/editor/project_export.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+#: tools/editor/project_export.cpp
msgid "Select All"
msgstr "Seleccionar Todo"
@@ -422,8 +464,8 @@ msgstr "Deshacer"
#: scene/gui/popup.cpp
msgid ""
"Popups will hide by default unless you call popup() or any of the popup*() "
-"functions. Making them visible for editing is fine though, but they will hide "
-"upon running."
+"functions. Making them visible for editing is fine though, but they will "
+"hide upon running."
msgstr ""
"Los popups se esconderán por defecto a menos que llames a popup() o "
"cualquiera de las funciones popup*(). Sin embargo, no hay problema con "
@@ -538,6 +580,18 @@ msgid "Anim Delete Keys"
msgstr "Borrar Claves de Anim"
#: tools/editor/animation_editor.cpp
+msgid "Continuous"
+msgstr "Contínuo"
+
+#: tools/editor/animation_editor.cpp
+msgid "Discrete"
+msgstr "Discreto"
+
+#: tools/editor/animation_editor.cpp
+msgid "Trigger"
+msgstr "Trigger"
+
+#: tools/editor/animation_editor.cpp
msgid "Anim Add Key"
msgstr "Agregar Clave de Anim"
@@ -645,6 +699,10 @@ msgid "Change Anim Loop"
msgstr "Cambiar Loop de Anim"
#: tools/editor/animation_editor.cpp
+msgid "Change Anim Loop Interpolation"
+msgstr "Cambiar Interpolación de Loop de Anim"
+
+#: tools/editor/animation_editor.cpp
msgid "Anim Create Typed Value Key"
msgstr "Crear Clave de Valor Tipado para Anim"
@@ -685,6 +743,10 @@ msgid "Enable/Disable looping in animation."
msgstr "Activar/Desactivar loopeo en la animación."
#: tools/editor/animation_editor.cpp
+msgid "Enable/Disable interpolation when looping animation."
+msgstr "Activar/Desactivar interpolación al loopear animación."
+
+#: tools/editor/animation_editor.cpp
msgid "Add new tracks."
msgstr "Agregar nuevos tracks."
@@ -805,22 +867,20 @@ msgid "Site:"
msgstr "Sitio:"
#: tools/editor/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Support.."
-msgstr "Exportar.."
+msgstr "Soporte.."
#: tools/editor/asset_library_editor_plugin.cpp
msgid "Official"
-msgstr ""
+msgstr "Oficial"
#: tools/editor/asset_library_editor_plugin.cpp
msgid "Community"
-msgstr ""
+msgstr "Comunidad"
#: tools/editor/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Testing"
-msgstr "Configuración"
+msgstr "Testeo"
#: tools/editor/asset_library_editor_plugin.cpp
msgid "Assets ZIP File"
@@ -951,13 +1011,9 @@ msgid "Method in target Node must be specified!"
msgstr "El método en el Nodo objetivo debe ser especificado!"
#: tools/editor/connections_dialog.cpp
-msgid "Connect To Node:"
+msgid "Conect To Node:"
msgstr "Conectar a Nodo:"
-#: tools/editor/connections_dialog.cpp
-msgid "Binds (Extra Params):"
-msgstr "Binds (Parametros Extra):"
-
#: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp
#: tools/editor/plugins/item_list_editor_plugin.cpp
#: tools/editor/plugins/theme_editor_plugin.cpp
@@ -967,17 +1023,22 @@ msgstr "Agregar"
#: tools/editor/connections_dialog.cpp tools/editor/dependency_editor.cpp
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
-#: tools/editor/plugins/theme_editor_plugin.cpp tools/editor/project_manager.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+#: tools/editor/project_manager.cpp
msgid "Remove"
msgstr "Quitar"
#: tools/editor/connections_dialog.cpp
-msgid "Path To Node:"
-msgstr "Path al Nodo:"
+msgid "Add Extra Call Argument:"
+msgstr "Agregar Argumento de Llamada Extra:"
+
+#: tools/editor/connections_dialog.cpp
+msgid "Extra Call Arguments:"
+msgstr "Argumentos de Llamada Extras:"
#: tools/editor/connections_dialog.cpp
-msgid "Method In Node:"
-msgstr "Método En el Nodo:"
+msgid "Path to Node:"
+msgstr "Ruta al Nodo:"
#: tools/editor/connections_dialog.cpp
msgid "Make Function"
@@ -1000,6 +1061,10 @@ msgid "Connect '%s' to '%s'"
msgstr "Conectar '%s' a '%s'"
#: tools/editor/connections_dialog.cpp
+msgid "Connecting Signal:"
+msgstr "Conectando Señal:"
+
+#: tools/editor/connections_dialog.cpp
msgid "Create Subscription"
msgstr "Crear Subscripción"
@@ -1013,9 +1078,8 @@ msgid "Disconnect"
msgstr "Desconectar"
#: tools/editor/connections_dialog.cpp tools/editor/node_dock.cpp
-#, fuzzy
msgid "Signals"
-msgstr "Señales:"
+msgstr "Señales"
#: tools/editor/create_dialog.cpp
msgid "Create New"
@@ -1059,7 +1123,7 @@ msgstr "Recursos"
#: tools/editor/dependency_editor.cpp tools/editor/project_manager.cpp
#: tools/editor/project_settings.cpp
msgid "Path"
-msgstr "Path"
+msgstr "Ruta"
#: tools/editor/dependency_editor.cpp
msgid "Dependencies:"
@@ -1141,7 +1205,8 @@ msgid "Delete selected files?"
msgstr "Eliminar archivos seleccionados?"
#: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp
-#: tools/editor/plugins/item_list_editor_plugin.cpp tools/editor/scenes_dock.cpp
+#: tools/editor/plugins/item_list_editor_plugin.cpp
+#: tools/editor/scenes_dock.cpp
msgid "Delete"
msgstr "Eliminar"
@@ -1175,7 +1240,7 @@ msgstr "Recientes:"
#: tools/editor/editor_file_dialog.cpp
msgid "Preview:"
-msgstr "Preview:"
+msgstr "Vista Previa:"
#: tools/editor/editor_file_system.cpp
msgid "Cannot go into subdir:"
@@ -1275,9 +1340,8 @@ msgid "Setting Up.."
msgstr "Configurando.."
#: tools/editor/editor_log.cpp
-#, fuzzy
msgid " Output:"
-msgstr "Salida"
+msgstr " Salida:"
#: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp
msgid "Re-Importing"
@@ -1391,9 +1455,8 @@ msgid "Copy Params"
msgstr "Copiar Params"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Paste Params"
-msgstr "Pegar Frame"
+msgstr "Pegar Parametros"
#: tools/editor/editor_node.cpp
#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
@@ -1413,9 +1476,8 @@ msgid "Make Sub-Resources Unique"
msgstr "Crear Sub-Recurso Unico"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Open in Help"
-msgstr "Abrir Escena"
+msgstr "Abrir en la Ayuda"
#: tools/editor/editor_node.cpp
msgid "There is no defined scene to run."
@@ -1426,10 +1488,13 @@ msgid ""
"No main scene has ever been defined.\n"
"Select one from \"Project Settings\" under the 'application' category."
msgstr ""
+"No se ha definido ninguna escena principal.\n"
+"Seleccioná una de \"Ajustes del Proyecto\" bajo la categoria 'aplicacion'."
#: tools/editor/editor_node.cpp
msgid "Current scene was never saved, please save it prior to running."
-msgstr "La escena actual nunca se guardó. Favor de guardarla antes de ejecutar."
+msgstr ""
+"La escena actual nunca se guardó. Favor de guardarla antes de ejecutar."
#: tools/editor/editor_node.cpp
msgid "Could not start subprocess!"
@@ -1497,7 +1562,7 @@ msgstr "Escena actual sin guardar. Abrir de todos modos?"
#: tools/editor/editor_node.cpp
msgid "Can't reload a scene that was never saved."
-msgstr "No se puede volver a cargar una escena que nunca se guardó. "
+msgstr "No se puede volver a cargar una escena que nunca se guardó."
#: tools/editor/editor_node.cpp
msgid "Revert"
@@ -1523,11 +1588,12 @@ msgstr "Ugh"
#: tools/editor/editor_node.cpp
msgid ""
-"Error loading scene, it must be inside the project path. Use 'Import' to open "
-"the scene, then save it inside the project path."
+"Error loading scene, it must be inside the project path. Use 'Import' to "
+"open the scene, then save it inside the project path."
msgstr ""
-"Error al cargar la escena, debe estar dentro de un path de proyecto. Usa "
-"'Importar' para abrir la escena, luego guardala dentro del path del proyecto."
+"Error al cargar la escena, debe estar dentro de la ruta del proyecto. Usa "
+"'Importar' para abrir la escena, luego guardala dentro de la ruta del "
+"proyecto."
#: tools/editor/editor_node.cpp
msgid "Error loading scene."
@@ -1542,9 +1608,8 @@ msgid "Save Layout"
msgstr "Guardar Layout"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Load Layout"
-msgstr "Guardar Layout"
+msgstr "Cargar Layout"
#: tools/editor/editor_node.cpp tools/editor/project_export.cpp
msgid "Default"
@@ -1576,6 +1641,14 @@ msgid "Go to previously opened scene."
msgstr "Ir a la escena abierta previamente."
#: tools/editor/editor_node.cpp
+msgid "Fullscreen Mode"
+msgstr "Modo Pantalla Completa"
+
+#: tools/editor/editor_node.cpp
+msgid "Distraction Free Mode"
+msgstr "Modo Sin Distracciones"
+
+#: tools/editor/editor_node.cpp
msgid "Operations with scene files."
msgstr "Operaciones con archivos de escena."
@@ -1608,9 +1681,8 @@ msgid "Open Recent"
msgstr "Abrir Reciente"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Quick Filter Files.."
-msgstr "Busqueda Rapida en Archivo.."
+msgstr "Filtrado Rapido de Archivos.."
#: tools/editor/editor_node.cpp
msgid "Convert To.."
@@ -1682,9 +1754,8 @@ msgid "Export"
msgstr "Exportar"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Play the project."
-msgstr "Reproducir el proyecto (F5)."
+msgstr "Reproducir el proyecto."
#: tools/editor/editor_node.cpp
#: tools/editor/plugins/sample_library_editor_plugin.cpp
@@ -1696,14 +1767,12 @@ msgid "Pause the scene"
msgstr "Pausar la escena"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Pause Scene"
-msgstr "Pausar la escena"
+msgstr "Pausar la Escena"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Stop the scene."
-msgstr "Parar la escena (F8)."
+msgstr "Parar la escena."
#: tools/editor/editor_node.cpp
#: tools/editor/plugins/sample_library_editor_plugin.cpp
@@ -1711,14 +1780,12 @@ msgid "Stop"
msgstr "Detener"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Play the edited scene."
-msgstr "Reproducir la escena editada (F6)."
+msgstr "Reproducir la escena editada."
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Play Scene"
-msgstr "Guardar Escena"
+msgstr "Reproducir Escena"
#: tools/editor/editor_node.cpp
msgid "Play custom scene"
@@ -1729,19 +1796,20 @@ msgid "Debug options"
msgstr "Opciones de debugueo"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Deploy with Remote Debug"
msgstr "Hacer Deploy con Debug Remoto"
#: tools/editor/editor_node.cpp
msgid ""
-"When exporting or deploying, the resulting executable will attempt to connect "
-"to the IP of this computer in order to be debugged."
+"When exporting or deploying, the resulting executable will attempt to "
+"connect to the IP of this computer in order to be debugged."
msgstr ""
+"Al exportar o hacer deploy, el ejecutable resultante tratara de contectarse "
+"a la IP de esta computadora de manera de ser debugueado."
#: tools/editor/editor_node.cpp
msgid "Small Deploy with Network FS"
-msgstr ""
+msgstr "Depoy Pequeño con Network FS"
#: tools/editor/editor_node.cpp
msgid ""
@@ -1749,9 +1817,15 @@ msgid ""
"executable.\n"
"The filesystem will be provided from the project by the editor over the "
"network.\n"
-"On Android, deploy will use the USB cable for faster performance. This option "
-"speeds up testing for games with a large footprint."
+"On Android, deploy will use the USB cable for faster performance. This "
+"option speeds up testing for games with a large footprint."
msgstr ""
+"Cuando esta opción está activa, exportar o hacer deploy producirá un "
+"ejecutable mínimo.\n"
+"El sistema de archivos sera proveido desde el proyecto por el editor sobre "
+"la red.\n"
+"En Android, deploy usará el cable USB para mejor performance. Esta opción "
+"acelera el testeo para juegos con footprint grande."
#: tools/editor/editor_node.cpp
msgid "Visible Collision Shapes"
@@ -1762,6 +1836,8 @@ msgid ""
"Collision shapes and raycast nodes (for 2D and 3D) will be visible on the "
"running game if this option is turned on."
msgstr ""
+"Los Collision shapes y nodos raycast (para 2D y 3D) seran visibiles durante "
+"la ejecución del juego cuando esta opción queda activada."
#: tools/editor/editor_node.cpp
msgid "Visible Navigation"
@@ -1772,10 +1848,12 @@ msgid ""
"Navigation meshes and polygons will be visible on the running game if this "
"option is turned on."
msgstr ""
+"Los meshes de navegación y los polígonos seran visibles durante la ejecución "
+"del juego si esta opción queda activada."
#: tools/editor/editor_node.cpp
msgid "Sync Scene Changes"
-msgstr ""
+msgstr "Sincronizar Cambios de Escena"
#: tools/editor/editor_node.cpp
msgid ""
@@ -1784,11 +1862,14 @@ msgid ""
"When used remotely on a device, this is more efficient with network "
"filesystem."
msgstr ""
+"Cuando esta opción este encendida, cualquier cambio hecho a la escena en el "
+"editor sera replicado en el juego en ejecución.\n"
+"Cuando se usa remotamente en un dispositivo, esto es mas eficiente con un "
+"sistema de archivos remoto."
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Sync Script Changes"
-msgstr "Actualizar Cambios"
+msgstr "Actualizar Cambios en Scripts"
#: tools/editor/editor_node.cpp
msgid ""
@@ -1797,6 +1878,10 @@ msgid ""
"When used remotely on a device, this is more efficient with network "
"filesystem."
msgstr ""
+"Cuando esta opción esta activa, cualquier script que se guarde sera vuelto a "
+"cargar en el juego en ejecución.\n"
+"Cuando se use remotamente en un dispositivo, esto es mas eficiente con un "
+"sistema de archivos de red."
#: tools/editor/editor_node.cpp tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Settings"
@@ -1850,9 +1935,7 @@ msgstr "Cargar un recurso existente desde disco y editarlo."
msgid "Save the currently edited resource."
msgstr "Guardar el recurso editado actualmente."
-#: tools/editor/editor_node.cpp
-#: tools/editor/plugins/animation_player_editor_plugin.cpp
-#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp
msgid "Save As.."
msgstr "Guardar Como.."
@@ -2035,7 +2118,7 @@ msgstr "Seleccionar Nodo(s) para Importar"
#: tools/editor/editor_sub_scene.cpp
msgid "Scene Path:"
-msgstr "Path a la Escena:"
+msgstr "Ruta a la Escena:"
#: tools/editor/editor_sub_scene.cpp
msgid "Import From Node:"
@@ -2060,41 +2143,39 @@ msgid "Imported Resources"
msgstr "Importar Recursos"
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
-#, fuzzy
msgid "No bit masks to import!"
-msgstr "Sin elementos para importar!"
+msgstr "Sin máscaras de bits para importar!"
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Target path is empty."
-msgstr "El path de destino está vacío."
+msgstr "La ruta de destino está vacía."
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Target path must be a complete resource path."
-msgstr "El path de destino debe ser un path de recursos completo."
+msgstr "La ruta de destino debe ser una ruta de recursos completa."
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Target path must exist."
-msgstr "El path de destino debe existir."
+msgstr "La ruta de destino debe existir."
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
msgid "Save path is empty!"
-msgstr "El path de guardado esta vacío!"
+msgstr "La ruta de guardado esta vacía!"
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
-#, fuzzy
msgid "Import BitMasks"
-msgstr "Importar Texturas"
+msgstr "Importar BitMasks"
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
@@ -2108,7 +2189,7 @@ msgstr "Textura(s) de Origen:"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
msgid "Target Path:"
-msgstr "Path de Destino:"
+msgstr "Ruta de Destino:"
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
@@ -2121,7 +2202,7 @@ msgstr "Aceptar"
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
msgid "Bit Mask"
-msgstr ""
+msgstr "Máscara de Bits"
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
msgid "No source font file!"
@@ -2137,7 +2218,7 @@ msgstr "No se puede cargar/procesar la tipografía de origen."
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
msgid "Couldn't save font."
-msgstr "No se pudo guardar la tipografía"
+msgstr "No se pudo guardar la tipografía."
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
msgid "Source Font:"
@@ -2176,7 +2257,7 @@ msgid ""
"instead."
msgstr ""
"Este archivo ya es un archivo de tipografías de Godot, por favor suministrar "
-"un archivo tipo BMFont"
+"un archivo tipo BMFont."
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
msgid "Failed opening as BMFont file."
@@ -2289,7 +2370,7 @@ msgstr "Filtros"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Source path is empty."
-msgstr "El path de origen esta vacio."
+msgstr "La ruta de origen esta vacía."
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Couldn't load post-import script."
@@ -2503,8 +2584,8 @@ msgid ""
"NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files to "
"the project."
msgstr ""
-"AVISO: Importar texturas 2D no es obligatorio. Simplemente copiá los archivos "
-"png/jpg al proyecto."
+"AVISO: Importar texturas 2D no es obligatorio. Simplemente copiá los "
+"archivos png/jpg al proyecto."
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Crop empty space."
@@ -2636,18 +2717,16 @@ msgid "MultiNode Set"
msgstr "Setear MultiNodo"
#: tools/editor/node_dock.cpp
-#, fuzzy
msgid "Node"
-msgstr "Nodo Mix"
+msgstr "Nodo"
#: tools/editor/node_dock.cpp
-#, fuzzy
msgid "Groups"
-msgstr "Grupos:"
+msgstr "Grupos"
#: tools/editor/node_dock.cpp
msgid "Select a Node to edit Signals and Groups."
-msgstr ""
+msgstr "Seleccionar un Nodo para editar Señales y Grupos."
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
@@ -2759,12 +2838,20 @@ msgid "Create new animation in player."
msgstr "Crear nueva animación en el reproductor."
#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Load animation from disk."
+msgstr "Cargar una animación desde disco."
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Load an animation from disk."
msgstr "Cargar una animación desde disco."
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Save the current animation"
-msgstr "Guardar la animación actual."
+msgstr "Guardar la animación actual"
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Save As"
+msgstr "Guardar Como"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
@@ -3458,7 +3545,7 @@ msgstr "No se especificó mesh de origen (y MultiMesh no contiene ningún Mesh).
#: tools/editor/plugins/multimesh_editor_plugin.cpp
msgid "Mesh source is invalid (invalid path)."
-msgstr "Mesh de origen inválido (path inválido)."
+msgstr "Mesh de origen inválido (ruta inválida)."
#: tools/editor/plugins/multimesh_editor_plugin.cpp
msgid "Mesh source is invalid (not a MeshInstance)."
@@ -3474,7 +3561,7 @@ msgstr "Ninguna superficie de origen especificada."
#: tools/editor/plugins/multimesh_editor_plugin.cpp
msgid "Surface source is invalid (invalid path)."
-msgstr "La superficie de origen es inválida (path inválido)."
+msgstr "La superficie de origen es inválida (ruta inválida)."
#: tools/editor/plugins/multimesh_editor_plugin.cpp
msgid "Surface source is invalid (no geometry)."
@@ -3891,7 +3978,8 @@ msgstr "Importar Tema"
msgid "Save Theme As.."
msgstr "Guardar Tema Como.."
-#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/project_export.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/project_export.cpp
msgid "File"
msgstr "Archivo"
@@ -3963,13 +4051,8 @@ msgid "Auto Indent"
msgstr "Auto Indentar"
#: tools/editor/plugins/script_editor_plugin.cpp
-#, fuzzy
-msgid "Reload Tool Script"
-msgstr "Crear Script de Nodo"
-
-#: tools/editor/plugins/script_editor_plugin.cpp
-msgid "Reload Tool Script (Soft)"
-msgstr ""
+msgid "Soft Reload Script"
+msgstr "Recarga Soft de Script"
#: tools/editor/plugins/script_editor_plugin.cpp
#: tools/editor/plugins/shader_editor_plugin.cpp
@@ -4061,8 +4144,8 @@ msgid "Help"
msgstr "Ayuda"
#: tools/editor/plugins/script_editor_plugin.cpp
-msgid "Contextual"
-msgstr "Contextual"
+msgid "Contextual Help"
+msgstr "Ayuda Contextual"
#: tools/editor/plugins/script_editor_plugin.cpp
msgid "Tutorials"
@@ -4094,7 +4177,7 @@ msgstr "Ir a anterior documento editado."
#: tools/editor/plugins/script_editor_plugin.cpp
msgid "Go to next edited document."
-msgstr "Ir a siguiente documento editado"
+msgstr "Ir a siguiente documento editado."
#: tools/editor/plugins/script_editor_plugin.cpp
msgid "Create Script"
@@ -4270,20 +4353,20 @@ msgid "Transform Aborted."
msgstr "Transformación Abortada."
#: tools/editor/plugins/spatial_editor_plugin.cpp
-msgid "View Plane Transform."
-msgstr "Ver Transformación en Plano."
-
-#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "X-Axis Transform."
-msgstr "Transformación en Eje-X"
+msgstr "Transformación en Eje-X."
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Y-Axis Transform."
-msgstr "Transformación en Eje-Y"
+msgstr "Transformación en Eje-Y."
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Z-Axis Transform."
-msgstr "Transformación en Eje-Z"
+msgstr "Transformación en Eje-Z."
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View Plane Transform."
+msgstr "Ver Transformación en Plano."
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Scaling to %s%%."
@@ -4295,7 +4378,7 @@ msgstr "Torando %s grados."
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Bottom View."
-msgstr "Vista Inferior"
+msgstr "Vista Inferior."
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Bottom"
@@ -4303,7 +4386,7 @@ msgstr "Fondo"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Top View."
-msgstr "Vista Superior"
+msgstr "Vista Superior."
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Top"
@@ -4363,7 +4446,7 @@ msgstr "Fondo (Shift+Num7)"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Left (Num3)"
-msgstr "Left (Num3)"
+msgstr "Izquierda (Num3)"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Right (Shift+Num3)"
@@ -4626,20 +4709,20 @@ msgid "StyleBox Preview:"
msgstr "Vista Previa de StyleBox:"
#: tools/editor/plugins/texture_region_editor_plugin.cpp
-#, fuzzy
msgid "Texture Region Editor"
-msgstr "Editor de Regiones de Sprites"
+msgstr "Editor de Regiones de Texturas"
#: tools/editor/plugins/texture_region_editor_plugin.cpp
-#, fuzzy
msgid "Scale Region Editor"
-msgstr "Editor de Regiones de Sprites"
+msgstr "Editor de Regiones de Escalado"
#: tools/editor/plugins/texture_region_editor_plugin.cpp
msgid ""
"No texture in this node.\n"
"Set a texture to be able to edit region."
msgstr ""
+"Sin textura en este nodo.\n"
+"Asigná una textura para poder editar la región."
#: tools/editor/plugins/theme_editor_plugin.cpp
msgid "Can't save theme to file:"
@@ -4667,8 +4750,12 @@ msgid "Remove Class Items"
msgstr "Quitar Items de Clases"
#: tools/editor/plugins/theme_editor_plugin.cpp
-msgid "Create Template"
-msgstr "Crear Template"
+msgid "Create Empty Template"
+msgstr "Crear Template Vacío"
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Create Empty Editor Template"
+msgstr "Crear Template de Editor Vacío"
#: tools/editor/plugins/theme_editor_plugin.cpp
msgid "CheckBox Radio1"
@@ -4754,32 +4841,36 @@ msgid "Erase TileMap"
msgstr "Borrar TileMap"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Bucket"
-msgstr "Balde"
+msgid "Erase selection"
+msgstr "Eliminar Selección"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Pick Tile"
-msgstr "Elegir Tile"
+msgid "Find tile"
+msgstr "Encontrar tile"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Select"
-msgstr "Seleccionar"
+msgid "Transpose"
+msgstr "Transponer"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase Selection"
-msgstr "Eliminar Selección"
+msgid "Mirror X"
+msgstr "Espejar X"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Transpose"
-msgstr "Transponer"
+msgid "Mirror Y"
+msgstr "Espejar Y"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Mirror X (A)"
-msgstr "Espejar X (A)"
+msgid "Bucket"
+msgstr "Balde"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Mirror Y (S)"
-msgstr "Espejar Y (S)"
+msgid "Pick Tile"
+msgstr "Elegir Tile"
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Select"
+msgstr "Seleccionar"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
@@ -5166,14 +5257,12 @@ msgstr ""
"modificados)"
#: tools/editor/project_manager.cpp
-#, fuzzy
msgid "Project Manager"
-msgstr "Nombre del Proyecto:"
+msgstr "Gestor de Proyectos"
#: tools/editor/project_manager.cpp
-#, fuzzy
msgid "Project List"
-msgstr "Salir a Listado de Proyecto"
+msgstr "Listado de Proyectos"
#: tools/editor/project_manager.cpp
msgid "Run"
@@ -5193,7 +5282,7 @@ msgstr "Salir"
#: tools/editor/project_settings.cpp
msgid "Key "
-msgstr "Clave"
+msgstr "Tecla "
#: tools/editor/project_settings.cpp
msgid "Joy Button"
@@ -5330,14 +5419,12 @@ msgstr ""
"existente."
#: tools/editor/project_settings.cpp
-#, fuzzy
msgid "Autoload '%s' already exists!"
-msgstr "La acción '%s' ya existe!"
+msgstr "Autocargar '%s' ya existe!"
#: tools/editor/project_settings.cpp
-#, fuzzy
msgid "Rename Autoload"
-msgstr "Quitar Autoload"
+msgstr "Renombrar Autoload"
#: tools/editor/project_settings.cpp
msgid "Toggle AutoLoad Globals"
@@ -5630,8 +5717,8 @@ msgstr "Ok"
#: tools/editor/scene_tree_dock.cpp
msgid ""
-"Cannot instance the scene '%s' because the current scene exists within one of "
-"its nodes."
+"Cannot instance the scene '%s' because the current scene exists within one "
+"of its nodes."
msgstr ""
"No se puede instanciar la escena '%s' porque la escena actual existe dentro "
"de uno de sus nodos."
@@ -5686,7 +5773,8 @@ msgstr "No se puede operar sobre los nodos de una escena externa!"
#: tools/editor/scene_tree_dock.cpp
msgid "Can't operate on nodes the current scene inherits from!"
-msgstr "No se puede operar sobre los nodos de los cual hereda la escena actual!"
+msgstr ""
+"No se puede operar sobre los nodos de los cual hereda la escena actual!"
#: tools/editor/scene_tree_dock.cpp
msgid "Remove Node(s)"
@@ -5809,6 +5897,10 @@ msgid "Load As Placeholder"
msgstr "Cargar Como Placeholder"
#: tools/editor/scene_tree_editor.cpp
+msgid "Discard Instancing"
+msgstr "Descartar Instanciado"
+
+#: tools/editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "Abrir en Editor"
@@ -5865,9 +5957,8 @@ msgid "View Owners.."
msgstr "Ver Dueños.."
#: tools/editor/scenes_dock.cpp
-#, fuzzy
msgid "Copy Path"
-msgstr "Copiar Params"
+msgstr "Copiar Ruta"
#: tools/editor/scenes_dock.cpp
msgid "Rename or Move.."
@@ -6044,7 +6135,7 @@ msgstr "Arbos de Escenas en Vivo:"
#: tools/editor/script_editor_debugger.cpp
msgid "Remote Object Properties: "
-msgstr "Propiedades de Objeto Remoto:"
+msgstr "Propiedades de Objeto Remoto: "
#: tools/editor/script_editor_debugger.cpp
msgid "Profiler"
@@ -6108,7 +6199,7 @@ msgstr "Setear Desde Arbol"
#: tools/editor/settings_config_dialog.cpp
msgid "Shortcuts"
-msgstr ""
+msgstr "Atajos"
#: tools/editor/spatial_editor_gizmos.cpp
msgid "Change Light Radius"
@@ -6146,12 +6237,18 @@ msgstr "Cambiar Largo de Shape Rayo"
msgid "Change Notifier Extents"
msgstr "Cambiar Alcances de Notificadores"
+#~ msgid "Binds (Extra Params):"
+#~ msgstr "Binds (Parametros Extra):"
+
+#~ msgid "Method In Node:"
+#~ msgstr "Método En el Nodo:"
+
+#~ msgid "Reload Tool Script (Soft)"
+#~ msgstr "Volver a Cargar Script de Herramientas (Soft)"
+
#~ msgid "Edit Connections.."
#~ msgstr "Editar Conecciones.."
-#~ msgid "Connections:"
-#~ msgstr "Conecciones:"
-
#~ msgid "Set Params"
#~ msgstr "Setear Params"
diff --git a/tools/translations/extract.py b/tools/translations/extract.py
index a441bcc480..97bb7494a7 100755
--- a/tools/translations/extract.py
+++ b/tools/translations/extract.py
@@ -40,6 +40,7 @@ main_po = """
# LANGUAGE translation of the Godot Engine editor
# Copyright (C) 2016 Juan Linietsky, Ariel Manzur and the Godot community
# This file is distributed under the same license as the Godot source code.
+#
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
@@ -106,7 +107,7 @@ f.write(main_po)
f.close()
if (os.name == "posix"):
- os.system("msgmerge -w80 tools.pot tools.pot > tools.pot.wrap")
+ os.system("msgmerge -w79 tools.pot tools.pot > tools.pot.wrap")
shutil.move("tools.pot.wrap", "tools.pot")
shutil.move("tools.pot", "tools/translations/tools.pot")
diff --git a/tools/translations/fr.po b/tools/translations/fr.po
index 0fddf2947d..386a7e6170 100644
--- a/tools/translations/fr.po
+++ b/tools/translations/fr.po
@@ -1,27 +1,78 @@
# French translation of the Godot Engine editor
# Copyright (C) 2016 Juan Linietsky, Ariel Manzur and the Godot community
# This file is distributed under the same license as the Godot source code.
+#
+# derderder77 <derderder77380@gmail.com>, 2016.
+# finkiki <specialpopol@gmx.fr>, 2016.
# Hugo Locurcio <hugo.l@openmailbox.org>, 2016.
+# Marc <marc.gilleron@gmail.com>, 2016.
#
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: \n"
-"Last-Translator: derderder <derderder77380@gmail.com>\n"
-"Language-Team: French\n"
+"PO-Revision-Date: 2016-06-19 13:17+0000\n"
+"Last-Translator: Rémi Verschelde <akien@godotengine.org>\n"
+"Language-Team: French <https://hosted.weblate.org/projects/godot-"
+"engine/godot/fr/>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.6.10\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 2.7-dev\n"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid type argument to convert(), use TYPE_* constants."
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not enough bytes for decoding bytes, or invalid format."
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "step argument is zero!"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not a script with an instance"
+msgstr "N'est pas un script avec une instance"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not based on a script"
+msgstr "N'est pas basé sur un script"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not based on a resource file"
+msgstr "N'est pas basé sur un fichier de ressource"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (missing @path)"
+msgstr "Instance invalide pour le format de dictionnaire (@path manquant)"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (can't load script at @path)"
+msgstr ""
+"Instance invalide pour le format de dictionnaire (impossible de charger le "
+"script depuis @path)"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (invalid script at @path)"
+msgstr ""
+"Instance invalide pour le format de dictionnaire (script invalide dans @path)"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary (invalid subclasses)"
+msgstr ""
+"Instance invalide pour le format de dictionnaire (sous-classes invalides)"
#: scene/2d/animated_sprite.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
"order for AnimatedSprite to display frames."
msgstr ""
+"Une ressource SpriteFrames doit être créée ou assignée à la propriété « "
+"Frames » afin qu'AnimatedSprite affiche les images."
#: scene/2d/canvas_modulate.cpp
msgid ""
@@ -68,8 +119,8 @@ msgid ""
"A texture with the shape of the light must be supplied to the 'texture' "
"property."
msgstr ""
-"Une texture avec la forme de la lumière doit être fournie dans la propriété « "
-"texture »."
+"Une texture avec la forme de la lumière doit être fournie dans la propriété "
+"« texture »."
#: scene/2d/light_occluder_2d.cpp
msgid ""
@@ -89,12 +140,17 @@ msgid ""
"A NavigationPolygon resource must be set or created for this node to work. "
"Please set a property or draw a polygon."
msgstr ""
+"Vous devez créer ou sélectionner une ressource de type NavigationPolygon "
+"pour que ce nœud fonctionne. Sélectionnez une ressource ou dessinez un "
+"polygone."
#: scene/2d/navigation_polygon.cpp
msgid ""
"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
"node. It only provides navigation data."
msgstr ""
+"Un NavigationPolygonInstance doit être un enfant ou petit-enfant d'un nœud "
+"Navigation2D. Il fournit seulement des données de navigation."
#: scene/2d/parallax_layer.cpp
msgid ""
@@ -112,6 +168,8 @@ msgstr ""
#: scene/2d/path_2d.cpp
msgid "PathFollow2D only works when set as a child of a Path2D node."
msgstr ""
+"Un PathFollow2D fonctionne seulement quand défini comme un enfant d'un nœud "
+"Path2D."
#: scene/2d/remote_transform_2d.cpp
msgid "Path property must point to a valid Node2D node to work."
@@ -124,19 +182,21 @@ msgid ""
"A SampleLibrary resource must be created or set in the 'samples' property in "
"order for SamplePlayer to play sound."
msgstr ""
+"Une ressource SampleLibrary doit être créée ou définie dans la propriété "
+"\"échantillon\" pour que le SamplePlayer puisse jouer un son."
#: scene/2d/sprite.cpp
msgid ""
-"Path property must point to a valid Viewport node to work. Such Viewport must "
-"be set to 'render target' mode."
+"Path property must point to a valid Viewport node to work. Such Viewport "
+"must be set to 'render target' mode."
msgstr ""
"La propriété Path doit pointer vers un nœud de type Viewport valide pour "
"fonctionner. Ce Viewport doit utiliser le mode « render target »."
#: scene/2d/sprite.cpp
msgid ""
-"The Viewport set in the path property must be set as 'render target' in order "
-"for this sprite to work."
+"The Viewport set in the path property must be set as 'render target' in "
+"order for this sprite to work."
msgstr ""
"Le Viewport défini dans la propriété Path doit utiliser le mode « render "
"target » pour que cette sprite fonctionne."
@@ -146,6 +206,8 @@ msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
"as parent."
msgstr ""
+"Un VisibilityEnable2D fonctionne mieux lorsqu'il est directement enfant du "
+"nœud racine de la scène."
#: scene/3d/body_shape.cpp
msgid ""
@@ -185,9 +247,11 @@ msgstr ""
#: scene/3d/navigation_mesh.cpp
msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. It "
-"only provides navigation data."
+"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
+"It only provides navigation data."
msgstr ""
+"Un NavigationMeshInstance doit être enfant ou sous-enfant d'un nœud de type "
+"Navigation. Il fournit uniquement des données de navigation."
#: scene/3d/scenario_fx.cpp
msgid ""
@@ -205,13 +269,12 @@ msgstr ""
"propriété « samples » afin que le SpatialSamplePlayer joue des sons."
#: scene/3d/sprite_3d.cpp
-#, fuzzy
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
"order for AnimatedSprite3D to display frames."
msgstr ""
-"Une ressource de type SampleLibrary doit être créée ou définie dans la "
-"propriété « samples » afin que le SpatialSamplePlayer joue des sons."
+"Une ressource de type SampleFrames doit être créée ou définie dans la "
+"propriété « Frames » afin qu'une AnimatedSprite3D fonctionne."
#: scene/gui/dialogs.cpp tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Cancel"
@@ -223,11 +286,11 @@ msgstr "OK"
#: scene/gui/dialogs.cpp
msgid "Alert!"
-msgstr ""
+msgstr "Alerte !"
#: scene/gui/dialogs.cpp
msgid "Please Confirm..."
-msgstr "Veuillez confirmer..."
+msgstr "Veuillez confirmer…"
#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
msgid "File Exists, Overwrite?"
@@ -235,7 +298,7 @@ msgstr "Le fichier existe, l'écraser ?"
#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
msgid "All Recognized"
-msgstr "Tous les fichiers reconnus"
+msgstr "Tous les types de fichiers reconnus"
#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
msgid "All Files (*)"
@@ -249,24 +312,20 @@ msgid "Open"
msgstr "Ouvrir"
#: scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Open a File"
-msgstr "Ouvrir un ou des fichiers d'échantillons"
+msgstr "Ouvrir un fichier"
#: scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Open File(s)"
-msgstr "Ouvrir un ou des fichiers d'échantillons"
+msgstr "Ouvrir un ou plusieurs fichiers"
#: scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Open a Directory"
-msgstr "Choisir un répertoire"
+msgstr "Ouvrir un répertoire"
#: scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Open a File or Directory"
-msgstr "Choisir un répertoire"
+msgstr "Ouvrir un fichier ou un répertoire"
#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
#: tools/editor/editor_node.cpp
@@ -330,7 +389,7 @@ msgstr "Alt+"
#: scene/gui/input_action.cpp
msgid "Ctrl+"
-msgstr ""
+msgstr "Contrôle+"
#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
#: tools/editor/settings_config_dialog.cpp
@@ -393,7 +452,8 @@ msgstr "Coller"
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
#: tools/editor/plugins/script_editor_plugin.cpp
-#: tools/editor/plugins/shader_editor_plugin.cpp tools/editor/project_export.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+#: tools/editor/project_export.cpp
msgid "Select All"
msgstr "Tout sélectionner"
@@ -413,12 +473,13 @@ msgstr "Annuler"
#: scene/gui/popup.cpp
msgid ""
"Popups will hide by default unless you call popup() or any of the popup*() "
-"functions. Making them visible for editing is fine though, but they will hide "
-"upon running."
+"functions. Making them visible for editing is fine though, but they will "
+"hide upon running."
msgstr ""
-"Les pop-ups seront cachés par défaut jusqu'à ce que vous appelez une fonction "
-"popup() ou une des fonctions popup*(). Les rendre visibles pour l'édition ne "
-"pose pas de problème, mais elles seront cachées lors de l'exécution."
+"Les pop-ups seront cachés par défaut jusqu'à ce que vous appelez une "
+"fonction popup() ou une des fonctions popup*(). Les rendre visibles pour "
+"l'édition ne pose pas de problème, mais elles seront cachées lors de "
+"l'exécution."
#: scene/main/viewport.cpp
msgid ""
@@ -427,6 +488,10 @@ msgid ""
"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
"texture to some node for display."
msgstr ""
+"Ce Viewport n'est pas sélectionné comme cible du rendu. Si vous avez "
+"l'intention d'afficher son contenu directement à l'écran, rattachez-le à un "
+"nœud de type Control afin qu'il en obtienne une taille. Sinon, faites-en un "
+"RenderTarget et assignez sa texture à un nœud quelquonque pour son affichage."
#: scene/resources/dynamic_font.cpp
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
@@ -458,47 +523,47 @@ msgstr "Toute la sélection"
#: tools/editor/animation_editor.cpp
msgid "Move Add Key"
-msgstr ""
+msgstr "Déplacer Ajouter Clé"
#: tools/editor/animation_editor.cpp
msgid "Anim Change Transition"
-msgstr ""
+msgstr "Anim Modifier Transition"
#: tools/editor/animation_editor.cpp
msgid "Anim Change Transform"
-msgstr ""
+msgstr "Anim Modifier Transform"
#: tools/editor/animation_editor.cpp
msgid "Anim Change Value"
-msgstr ""
+msgstr "Anim Modifier Valeur"
#: tools/editor/animation_editor.cpp
msgid "Anim Change Call"
-msgstr ""
+msgstr "Anim Modifier Appel"
#: tools/editor/animation_editor.cpp
msgid "Anim Add Track"
-msgstr ""
+msgstr "Anim Ajouter Piste"
#: tools/editor/animation_editor.cpp
msgid "Move Anim Track Up"
-msgstr ""
+msgstr "Monter Piste Anim"
#: tools/editor/animation_editor.cpp
msgid "Move Anim Track Down"
-msgstr ""
+msgstr "Descendre Piste Anim"
#: tools/editor/animation_editor.cpp
msgid "Remove Anim Track"
-msgstr ""
+msgstr "Supprimer Piste Anim"
#: tools/editor/animation_editor.cpp
msgid "Anim Duplicate Keys"
-msgstr ""
+msgstr "Anim Dupliquer Clés"
#: tools/editor/animation_editor.cpp
msgid "Set Transitions to:"
-msgstr ""
+msgstr "Définir les transitions à :"
#: tools/editor/animation_editor.cpp
msgid "Anim Track Rename"
@@ -525,6 +590,18 @@ msgid "Anim Delete Keys"
msgstr ""
#: tools/editor/animation_editor.cpp
+msgid "Continuous"
+msgstr "Continu"
+
+#: tools/editor/animation_editor.cpp
+msgid "Discrete"
+msgstr "Discret"
+
+#: tools/editor/animation_editor.cpp
+msgid "Trigger"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
msgid "Anim Add Key"
msgstr ""
@@ -534,7 +611,7 @@ msgstr ""
#: tools/editor/animation_editor.cpp
msgid "Scale Selection"
-msgstr ""
+msgstr "Mettre à l'échelle la sélection"
#: tools/editor/animation_editor.cpp
msgid "Scale From Cursor"
@@ -543,7 +620,7 @@ msgstr ""
#: tools/editor/animation_editor.cpp
#: tools/editor/plugins/tile_map_editor_plugin.cpp
msgid "Duplicate Selection"
-msgstr ""
+msgstr "Dupliquer la sélection"
#: tools/editor/animation_editor.cpp
msgid "Duplicate Transposed"
@@ -632,6 +709,11 @@ msgid "Change Anim Loop"
msgstr ""
#: tools/editor/animation_editor.cpp
+#, fuzzy
+msgid "Change Anim Loop Interpolation"
+msgstr "Changer l'interpolation de l'animation bouclée"
+
+#: tools/editor/animation_editor.cpp
msgid "Anim Create Typed Value Key"
msgstr ""
@@ -649,7 +731,7 @@ msgstr ""
#: tools/editor/animation_editor.cpp
msgid "Animation zoom."
-msgstr ""
+msgstr "Zoom de l'animation."
#: tools/editor/animation_editor.cpp
msgid "Length (s):"
@@ -672,28 +754,32 @@ msgid "Enable/Disable looping in animation."
msgstr ""
#: tools/editor/animation_editor.cpp
-msgid "Add new tracks."
+msgid "Enable/Disable interpolation when looping animation."
msgstr ""
#: tools/editor/animation_editor.cpp
+msgid "Add new tracks."
+msgstr "Ajouter de nouvelles pistes."
+
+#: tools/editor/animation_editor.cpp
msgid "Move current track up."
-msgstr ""
+msgstr "Déplacer la piste actuelle vers le haut."
#: tools/editor/animation_editor.cpp
msgid "Move current track down."
-msgstr ""
+msgstr "Déplacer la piste actuelle vers le bas."
#: tools/editor/animation_editor.cpp
msgid "Remove selected track."
-msgstr ""
+msgstr "Supprimer la piste sélectionnée."
#: tools/editor/animation_editor.cpp
msgid "Track tools"
-msgstr ""
+msgstr "Outils de piste"
#: tools/editor/animation_editor.cpp
msgid "Enable editing of individual keys by clicking them."
-msgstr ""
+msgstr "Activer la modification de pistes individuelles en cliquant dessus."
#: tools/editor/animation_editor.cpp
msgid "Anim. Optimizer"
@@ -701,15 +787,15 @@ msgstr "Optimiseur d'animation"
#: tools/editor/animation_editor.cpp
msgid "Max. Linear Error:"
-msgstr ""
+msgstr "Erreur linéaire max. :"
#: tools/editor/animation_editor.cpp
msgid "Max. Angular Error:"
-msgstr ""
+msgstr "Erreur angulaire max. :"
#: tools/editor/animation_editor.cpp
msgid "Max Optimizable Angle:"
-msgstr ""
+msgstr "Angle optimisable max. :"
#: tools/editor/animation_editor.cpp
msgid "Optimize"
@@ -792,9 +878,8 @@ msgid "Site:"
msgstr "Site :"
#: tools/editor/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Support.."
-msgstr "Exporter..."
+msgstr "Support…"
#: tools/editor/asset_library_editor_plugin.cpp
msgid "Official"
@@ -805,9 +890,8 @@ msgid "Community"
msgstr ""
#: tools/editor/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Testing"
-msgstr "Paramètres"
+msgstr "En test"
#: tools/editor/asset_library_editor_plugin.cpp
msgid "Assets ZIP File"
@@ -855,12 +939,10 @@ msgid "Line Number:"
msgstr "Numéro de ligne :"
#: tools/editor/code_editor.cpp
-#, fuzzy
msgid "No Matches"
-msgstr "Correspondances :"
+msgstr "Pas de correspondances"
#: tools/editor/code_editor.cpp
-#, fuzzy
msgid "Replaced %d Ocurrence(s)."
msgstr "%d occurrence(s) remplacée(s)."
@@ -869,14 +951,12 @@ msgid "Replace"
msgstr "Remplacer"
#: tools/editor/code_editor.cpp
-#, fuzzy
msgid "Replace All"
-msgstr "Remplacer"
+msgstr "Remplacer tout"
#: tools/editor/code_editor.cpp
-#, fuzzy
msgid "Match Case"
-msgstr "Correspondances :"
+msgstr "Sensible à la casse"
#: tools/editor/code_editor.cpp
msgid "Whole Words"
@@ -939,16 +1019,12 @@ msgstr "Colonne :"
#: tools/editor/connections_dialog.cpp
msgid "Method in target Node must be specified!"
-msgstr ""
+msgstr "La méthode du nœud cible doit être spécifiée !"
#: tools/editor/connections_dialog.cpp
-msgid "Connect To Node:"
+msgid "Conect To Node:"
msgstr "Connecter au nœud :"
-#: tools/editor/connections_dialog.cpp
-msgid "Binds (Extra Params):"
-msgstr ""
-
#: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp
#: tools/editor/plugins/item_list_editor_plugin.cpp
#: tools/editor/plugins/theme_editor_plugin.cpp
@@ -958,17 +1034,22 @@ msgstr "Ajouter"
#: tools/editor/connections_dialog.cpp tools/editor/dependency_editor.cpp
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
-#: tools/editor/plugins/theme_editor_plugin.cpp tools/editor/project_manager.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+#: tools/editor/project_manager.cpp
msgid "Remove"
msgstr "Supprimer"
#: tools/editor/connections_dialog.cpp
-msgid "Path To Node:"
-msgstr "Chemin vers le nœud :"
+msgid "Add Extra Call Argument:"
+msgstr "Ajouter des arguments supplémentaires :"
+
+#: tools/editor/connections_dialog.cpp
+msgid "Extra Call Arguments:"
+msgstr "Arguments supplémentaires :"
#: tools/editor/connections_dialog.cpp
-msgid "Method In Node:"
-msgstr "Méthode dans le nœud :"
+msgid "Path to Node:"
+msgstr "Chemin vers le nœud :"
#: tools/editor/connections_dialog.cpp
msgid "Make Function"
@@ -991,22 +1072,25 @@ msgid "Connect '%s' to '%s'"
msgstr "Connecter « %s » à « %s »"
#: tools/editor/connections_dialog.cpp
+msgid "Connecting Signal:"
+msgstr "Connecter un signal :"
+
+#: tools/editor/connections_dialog.cpp
msgid "Create Subscription"
msgstr ""
#: tools/editor/connections_dialog.cpp
msgid "Connect.."
-msgstr "Connecter..."
+msgstr "Connecter…"
#: tools/editor/connections_dialog.cpp
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
msgid "Disconnect"
-msgstr "Déconnecter..."
+msgstr "Déconnecter"
#: tools/editor/connections_dialog.cpp tools/editor/node_dock.cpp
-#, fuzzy
msgid "Signals"
-msgstr "Signaux :"
+msgstr "Signaux"
#: tools/editor/create_dialog.cpp
msgid "Create New"
@@ -1046,15 +1130,13 @@ msgid "Dependencies"
msgstr "Dépendances"
#: tools/editor/dependency_editor.cpp
-#, fuzzy
msgid "Resource"
-msgstr "Ressources"
+msgstr "Ressource"
#: tools/editor/dependency_editor.cpp tools/editor/project_manager.cpp
#: tools/editor/project_settings.cpp
-#, fuzzy
msgid "Path"
-msgstr "Chemin :"
+msgstr "Chemin"
#: tools/editor/dependency_editor.cpp
msgid "Dependencies:"
@@ -1093,7 +1175,7 @@ msgstr ""
#: tools/editor/dependency_editor.cpp
msgid "Scene failed to load due to missing dependencies:"
-msgstr "La scène n'a pas pu être chargée à cause de dépendences manquantes."
+msgstr "La scène n'a pas pu être chargée à cause de dépendances manquantes :"
#: tools/editor/dependency_editor.cpp
msgid "Open Anyway"
@@ -1134,7 +1216,8 @@ msgid "Delete selected files?"
msgstr "Supprimer les fichiers sélectionnés ?"
#: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp
-#: tools/editor/plugins/item_list_editor_plugin.cpp tools/editor/scenes_dock.cpp
+#: tools/editor/plugins/item_list_editor_plugin.cpp
+#: tools/editor/scenes_dock.cpp
msgid "Delete"
msgstr "Supprimer"
@@ -1144,11 +1227,11 @@ msgstr "Mise à jour de la scène"
#: tools/editor/editor_data.cpp
msgid "Storing local changes.."
-msgstr "Stockage des modifications locales..."
+msgstr "Stockage des modifications locales…"
#: tools/editor/editor_data.cpp
msgid "Updating scene.."
-msgstr "Mise à jour de la scène..."
+msgstr "Mise à jour de la scène…"
#: tools/editor/editor_dir_dialog.cpp
msgid "Choose a Directory"
@@ -1265,12 +1348,11 @@ msgstr "Exportation pour %s"
#: tools/editor/editor_import_export.cpp
msgid "Setting Up.."
-msgstr "Configuration..."
+msgstr "Configuration…"
#: tools/editor/editor_log.cpp
-#, fuzzy
msgid " Output:"
-msgstr "Sortie"
+msgstr " Sortie :"
#: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp
msgid "Re-Importing"
@@ -1286,7 +1368,7 @@ msgstr "Nœud à partir d'une scène"
#: tools/editor/editor_node.cpp tools/editor/scenes_dock.cpp
msgid "Re-Import.."
-msgstr "Ré-importer..."
+msgstr "Ré-importer…"
#: tools/editor/editor_node.cpp
#: tools/editor/plugins/animation_player_editor_plugin.cpp
@@ -1298,11 +1380,11 @@ msgstr "Erreur d'enregistrement de la ressource !"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
#: tools/editor/resources_dock.cpp
msgid "Save Resource As.."
-msgstr "Enregistrer la ressource sous..."
+msgstr "Enregistrer la ressource sous…"
#: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp
msgid "I see.."
-msgstr "Je vois..."
+msgstr "Je vois…"
#: tools/editor/editor_node.cpp
msgid "Can't open file for writing:"
@@ -1384,9 +1466,8 @@ msgid "Copy Params"
msgstr "Copier paramètres"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Paste Params"
-msgstr "Coller une image"
+msgstr "Coller les paramètres"
#: tools/editor/editor_node.cpp
#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
@@ -1406,9 +1487,8 @@ msgid "Make Sub-Resources Unique"
msgstr "Rendre les sous-ressources uniques"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Open in Help"
-msgstr "Ouvrir une scène"
+msgstr "Ouvrir dans l'aide"
#: tools/editor/editor_node.cpp
msgid "There is no defined scene to run."
@@ -1440,11 +1520,11 @@ msgstr "Ouvrir scène de base"
#: tools/editor/editor_node.cpp
msgid "Quick Open Scene.."
-msgstr "Ouvrir une scène rapidement..."
+msgstr "Ouvrir une scène rapidement…"
#: tools/editor/editor_node.cpp
msgid "Quick Open Script.."
-msgstr "Ouvrir un script rapidement..."
+msgstr "Ouvrir un script rapidement…"
#: tools/editor/editor_node.cpp
msgid "Yes"
@@ -1456,7 +1536,7 @@ msgstr "Fermer la scène ? (les modifications non sauvegardées seront perdues)"
#: tools/editor/editor_node.cpp
msgid "Save Scene As.."
-msgstr "Enregistrer la scène sous..."
+msgstr "Enregistrer la scène sous…"
#: tools/editor/editor_node.cpp
msgid "This scene has never been saved. Save before running?"
@@ -1505,14 +1585,15 @@ msgstr "Cette action ne peut être annulée. Réinitialiser quand même ?"
#: tools/editor/editor_node.cpp
msgid "Quick Run Scene.."
-msgstr "Lancer une scène rapidement..."
+msgstr "Lancer une scène rapidement…"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid ""
"Open Project Manager? \n"
"(Unsaved changes will be lost)"
-msgstr "Fermer la scène ? (les modifications non sauvegardées seront perdues)"
+msgstr ""
+"Ouvrir le gestionnaire de projets ?\n"
+"(les modifications non sauvegardées seront perdues)"
#: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp
msgid "Ugh"
@@ -1520,8 +1601,8 @@ msgstr "Oups"
#: tools/editor/editor_node.cpp
msgid ""
-"Error loading scene, it must be inside the project path. Use 'Import' to open "
-"the scene, then save it inside the project path."
+"Error loading scene, it must be inside the project path. Use 'Import' to "
+"open the scene, then save it inside the project path."
msgstr ""
"Erreur lors du chargement de la scène, elle doit être dans le chemin du "
"projet. Utilisez « Importer » pour ouvrir la scène, puis enregistrez-la dans "
@@ -1540,9 +1621,8 @@ msgid "Save Layout"
msgstr "Enregistrer la disposition"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Load Layout"
-msgstr "Enregistrer la disposition"
+msgstr "Charger la disposition"
#: tools/editor/editor_node.cpp tools/editor/project_export.cpp
msgid "Default"
@@ -1574,6 +1654,14 @@ msgid "Go to previously opened scene."
msgstr "Aller à la scène ouverte précédemment."
#: tools/editor/editor_node.cpp
+msgid "Fullscreen Mode"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Distraction Free Mode"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
msgid "Operations with scene files."
msgstr "Opérations avec les fichiers de scène."
@@ -1583,11 +1671,11 @@ msgstr "Nouvelle scène"
#: tools/editor/editor_node.cpp
msgid "New Inherited Scene.."
-msgstr "Nouvelle scène héritée..."
+msgstr "Nouvelle scène héritée…"
#: tools/editor/editor_node.cpp
msgid "Open Scene.."
-msgstr "Ouvrir une scène..."
+msgstr "Ouvrir une scène…"
#: tools/editor/editor_node.cpp
msgid "Save Scene"
@@ -1606,25 +1694,24 @@ msgid "Open Recent"
msgstr "Fichiers récents"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Quick Filter Files.."
-msgstr "Recherche rapide d'un fichier..."
+msgstr "Filtre rapide d'un fichier…"
#: tools/editor/editor_node.cpp
msgid "Convert To.."
-msgstr "Convertir vers..."
+msgstr "Convertir vers…"
#: tools/editor/editor_node.cpp
msgid "Translatable Strings.."
-msgstr "Chaînes traduisibles..."
+msgstr "Chaînes traduisibles…"
#: tools/editor/editor_node.cpp
msgid "MeshLibrary.."
-msgstr "MeshLibrary..."
+msgstr "MeshLibrary…"
#: tools/editor/editor_node.cpp
msgid "TileSet.."
-msgstr "TileSet..."
+msgstr "TileSet…"
#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp
#: tools/editor/plugins/shader_editor_plugin.cpp
@@ -1680,9 +1767,8 @@ msgid "Export"
msgstr "Exporter"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Play the project."
-msgstr "Jouer le projet (F5)."
+msgstr "Lancer le projet."
#: tools/editor/editor_node.cpp
#: tools/editor/plugins/sample_library_editor_plugin.cpp
@@ -1690,19 +1776,16 @@ msgid "Play"
msgstr "Jouer"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Pause the scene"
-msgstr "Jouer une scène personnalisée"
+msgstr "Mettre en pause la scène"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Pause Scene"
-msgstr "Jouer une scène personnalisée"
+msgstr "Mettre en pause la scène"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Stop the scene."
-msgstr "Arrêter la scène (F8)."
+msgstr "Arrêter la scène."
#: tools/editor/editor_node.cpp
#: tools/editor/plugins/sample_library_editor_plugin.cpp
@@ -1710,14 +1793,12 @@ msgid "Stop"
msgstr "Arrêter"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Play the edited scene."
-msgstr "Jouer la scène actuellement en cours d'édition (F6)."
+msgstr "Lancer la scène actuellement en cours d'édition."
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Play Scene"
-msgstr "Enregistrer la scène"
+msgstr "Lancer la scène"
#: tools/editor/editor_node.cpp
msgid "Play custom scene"
@@ -1728,14 +1809,13 @@ msgid "Debug options"
msgstr "Options de débogage"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Deploy with Remote Debug"
-msgstr "Déployer le débogage à distance"
+msgstr "Déployer avec le débogage distant"
#: tools/editor/editor_node.cpp
msgid ""
-"When exporting or deploying, the resulting executable will attempt to connect "
-"to the IP of this computer in order to be debugged."
+"When exporting or deploying, the resulting executable will attempt to "
+"connect to the IP of this computer in order to be debugged."
msgstr ""
#: tools/editor/editor_node.cpp
@@ -1748,8 +1828,8 @@ msgid ""
"executable.\n"
"The filesystem will be provided from the project by the editor over the "
"network.\n"
-"On Android, deploy will use the USB cable for faster performance. This option "
-"speeds up testing for games with a large footprint."
+"On Android, deploy will use the USB cable for faster performance. This "
+"option speeds up testing for games with a large footprint."
msgstr ""
#: tools/editor/editor_node.cpp
@@ -1785,9 +1865,8 @@ msgid ""
msgstr ""
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Sync Script Changes"
-msgstr "Repeindre quand modifié"
+msgstr "Synchroniser les modifications de script"
#: tools/editor/editor_node.cpp
msgid ""
@@ -1849,11 +1928,9 @@ msgstr "Charger une ressource existante depuis la disque et la modifier."
msgid "Save the currently edited resource."
msgstr "Enregistrer la ressource actuellement modifiée."
-#: tools/editor/editor_node.cpp
-#: tools/editor/plugins/animation_player_editor_plugin.cpp
-#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp
msgid "Save As.."
-msgstr "Enregistrer sous..."
+msgstr "Enregistrer sous…"
#: tools/editor/editor_node.cpp
msgid "Go to the previous edited object in history."
@@ -1929,9 +2006,8 @@ msgid "Installed Plugins:"
msgstr "Extensions Installées :"
#: tools/editor/editor_plugin_settings.cpp
-#, fuzzy
msgid "Version:"
-msgstr "Description :"
+msgstr "Version :"
#: tools/editor/editor_plugin_settings.cpp
msgid "Author:"
@@ -1962,23 +2038,20 @@ msgid "Average Time (sec)"
msgstr ""
#: tools/editor/editor_profiler.cpp
-#, fuzzy
msgid "Frame %"
-msgstr "Ajouter une image"
+msgstr ""
#: tools/editor/editor_profiler.cpp
-#, fuzzy
msgid "Fixed Frame %"
-msgstr "Ajouter une image"
+msgstr ""
#: tools/editor/editor_profiler.cpp tools/editor/script_editor_debugger.cpp
msgid "Time:"
msgstr "Temps :"
#: tools/editor/editor_profiler.cpp
-#, fuzzy
msgid "Inclusive"
-msgstr "Inclure"
+msgstr "Inclusif"
#: tools/editor/editor_profiler.cpp
msgid "Self"
@@ -2063,9 +2136,8 @@ msgid "Imported Resources"
msgstr "Ressources importées"
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
-#, fuzzy
msgid "No bit masks to import!"
-msgstr "Pas d'objets à importer !"
+msgstr "Pas de masques de bits à importer !"
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
@@ -2096,9 +2168,8 @@ msgid "Save path is empty!"
msgstr "Le chemin de sauvegarde est vide !"
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
-#, fuzzy
msgid "Import BitMasks"
-msgstr "Improter des textures"
+msgstr "Importer des BitMasks"
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
@@ -2157,7 +2228,7 @@ msgstr "Ressource de destination :"
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
msgid "The quick brown fox jumps over the lazy dog."
-msgstr "The quick brown fox jumps over the lazy dog."
+msgstr "Voix ambiguë d'un cœur qui, au zéphyr, préfère les jattes de kiwis."
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
msgid "Test:"
@@ -2229,9 +2300,8 @@ msgid "Source Sample(s):"
msgstr "Échantillon(s) source :"
#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
-#, fuzzy
msgid "Audio Sample"
-msgstr "Ajouter un échantillon"
+msgstr "Échantillon audio"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "New Clip"
@@ -2337,9 +2407,8 @@ msgid "Custom Root Node Type:"
msgstr ""
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
-#, fuzzy
msgid "Auto"
-msgstr "AutoLoad"
+msgstr "Auto."
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "The Following Files are Missing:"
@@ -2361,17 +2430,16 @@ msgstr ""
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
-#, fuzzy
msgid "Import Scene"
-msgstr "Importer la scène"
+msgstr "Importer une scène"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Importing Scene.."
-msgstr "Importation de la scène..."
+msgstr "Importation de la scène…"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Running Custom Script.."
-msgstr "Lancement du script personnalisé..."
+msgstr "Lancement du script personnalisé…"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Couldn't load post-import script:"
@@ -2391,7 +2459,7 @@ msgstr "Importer une image :"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Can't import a file over itself:"
-msgstr "Impossible d'importer un fichier par-dessus lui-même."
+msgstr "Impossible d'importer un fichier par-dessus lui-même :"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Couldn't localize path: %s (already local)"
@@ -2399,12 +2467,11 @@ msgstr "Impossible de rendre le chemin local : %s (déjà local)"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Saving.."
-msgstr "Enregistrement..."
+msgstr "Enregistrement…"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
-#, fuzzy
msgid "3D Scene Animation"
-msgstr "Renommer l'animation"
+msgstr "Animation de scène 3D"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Uncompressed"
@@ -2471,18 +2538,16 @@ msgid "Import Large Textures (2D)"
msgstr "Importer des grandes textures (2D)"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
-#, fuzzy
msgid "Source Texture"
-msgstr "Texture source :"
+msgstr "Texture source"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Base Atlas Texture"
msgstr "Texture d'atlas de base"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
-#, fuzzy
msgid "Source Texture(s)"
-msgstr "Texture(s) source :"
+msgstr "Texture(s) source"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Import Textures for 2D"
@@ -2494,39 +2559,35 @@ msgstr "Importer des textures pour la 3D"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Import Textures"
-msgstr "Improter des textures"
+msgstr "Importer des textures"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
-#, fuzzy
msgid "2D Texture"
-msgstr "Grande texture"
+msgstr "Texture 2D"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
-#, fuzzy
msgid "3D Texture"
-msgstr "Grande texture"
+msgstr "Texture 3D"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
-#, fuzzy
msgid "Atlas Texture"
-msgstr "Texture d'atlas de base"
+msgstr "Texture atlas"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid ""
"NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files to "
"the project."
msgstr ""
-"REMARQUE: Il n'est pas obligatoire d'importer les textures 2D. Copiez "
-"directement les fichiers png/jpeg dans le projet."
+"REMARQUE : Il n'est pas obligatoire d'importer les textures en 2D. Copiez "
+"directement les fichiers PNG ou JPEG dans le projet."
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Crop empty space."
msgstr "Rogner l'espace vide."
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
-#, fuzzy
msgid "Texture"
-msgstr "Grande texture"
+msgstr "Texture"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Import Large Texture"
@@ -2642,9 +2703,8 @@ msgid "Import Languages:"
msgstr "Importer les langues :"
#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
-#, fuzzy
msgid "Translation"
-msgstr "Traductions"
+msgstr "Traduction"
#: tools/editor/multi_node_edit.cpp
msgid "MultiNode Set"
@@ -2655,9 +2715,8 @@ msgid "Node"
msgstr ""
#: tools/editor/node_dock.cpp
-#, fuzzy
msgid "Groups"
-msgstr "Groupes :"
+msgstr "Groupes"
#: tools/editor/node_dock.cpp
msgid "Select a Node to edit Signals and Groups."
@@ -2760,7 +2819,7 @@ msgstr ""
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Animation position (in seconds)."
-msgstr "Position de l'animation (en secondes)"
+msgstr "Position de l'animation (en secondes)."
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Scale animation playback globally for the node."
@@ -2771,6 +2830,10 @@ msgid "Create new animation in player."
msgstr ""
#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Load animation from disk."
+msgstr "Charger une animation depuis le disque."
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Load an animation from disk."
msgstr "Charger une animation depuis le disque."
@@ -2779,6 +2842,10 @@ msgid "Save the current animation"
msgstr "Enregistrer l'animation actuelle"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Save As"
+msgstr "Enregistrer sous"
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
msgstr "Afficher la liste des animations dans le lecteur."
@@ -2828,9 +2895,8 @@ msgstr ""
#: tools/editor/plugins/animation_player_editor_plugin.cpp
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Animation"
-msgstr "Animations"
+msgstr "Animation"
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
msgid "New name:"
@@ -2964,7 +3030,7 @@ msgstr ""
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
msgid "Import Animations.."
-msgstr "Importer des animations..."
+msgstr "Importer des animations…"
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
msgid "Edit Node Filters"
@@ -2972,7 +3038,7 @@ msgstr "Modifier les filtres de nœud"
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
msgid "Filters.."
-msgstr "Filtres..."
+msgstr "Filtres…"
#: tools/editor/plugins/baked_light_baker.cpp
msgid "Parsing %d Triangles:"
@@ -3182,7 +3248,7 @@ msgstr "Alignement relatif"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Configure Snap.."
-msgstr "Configurer la grille..."
+msgstr "Configurer la grille…"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Use Pixel Snap"
@@ -3194,7 +3260,7 @@ msgstr "Étendre au parent"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Skeleton.."
-msgstr "Squelette..."
+msgstr "Squelette…"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Make Bones"
@@ -3231,7 +3297,7 @@ msgstr "Réinitialiser le zoom"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Zoom Set.."
-msgstr "Définir le zoom"
+msgstr "Définir le zoom…"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Center Selection"
@@ -3327,7 +3393,7 @@ msgstr ""
#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
msgid "Thumbnail.."
-msgstr "Aperçu..."
+msgstr "Aperçu…"
#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
msgid "Remove item %d?"
@@ -3380,7 +3446,7 @@ msgstr "Bouton gauche : déplacer un point."
#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Ctrl+LMB: Split Segment."
-msgstr "Contrôle + Bouton gauche : séparer le segment"
+msgstr "Contrôle + Bouton gauche : séparer le segment."
#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
@@ -3445,7 +3511,7 @@ msgstr ""
#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Outline Mesh.."
-msgstr "Créer un maillage de contour..."
+msgstr "Créer un maillage de contour…"
#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Outline Mesh"
@@ -3569,7 +3635,7 @@ msgstr "Erreur de chargement de l'image :"
#: tools/editor/plugins/particles_2d_editor_plugin.cpp
msgid "No pixels with transparency > 128 in image.."
-msgstr "Pas de pixels avec une transparence > 128 dans l'image..."
+msgstr "Pas de pixels avec une transparence > 128 dans l'image…"
#: tools/editor/plugins/particles_2d_editor_plugin.cpp
msgid "Set Emission Mask"
@@ -3875,36 +3941,31 @@ msgid "Pitch"
msgstr "Hauteur"
#: tools/editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Error while saving theme"
-msgstr "Erreur lors de l'enregistrement."
+msgstr "Erreur d'enregistrement du thème"
#: tools/editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Error saving"
-msgstr "Erreur de sauvegarde de l'atlas :"
+msgstr "Erreur d'enregistrement"
#: tools/editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Error importing theme"
-msgstr "Erreur d'importation de la scène."
+msgstr "Erreur d'importation du thème"
#: tools/editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Error importing"
-msgstr "Erreur d'importation :"
+msgstr "Erreur d'importation"
#: tools/editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Import Theme"
-msgstr "Improter des textures"
+msgstr "Improter un thème"
#: tools/editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Save Theme As.."
-msgstr "Enregistrer la scène sous..."
+msgstr "Enregistrer le thème sous…"
-#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/project_export.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/project_export.cpp
msgid "File"
msgstr "Fichier"
@@ -3926,19 +3987,16 @@ msgid "History Next"
msgstr "Suivant dans l'historique"
#: tools/editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Reload Theme"
-msgstr "Recharger"
+msgstr "Recharger le thème"
#: tools/editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Save Theme"
-msgstr "Enregistrer la scène"
+msgstr "Enregistrer le thème"
#: tools/editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Save Theme As"
-msgstr "Enregistrer la scène sous..."
+msgstr "Enregistrer le thème sous"
#: tools/editor/plugins/script_editor_plugin.cpp
#: tools/editor/scene_tree_dock.cpp
@@ -3980,17 +4038,13 @@ msgstr "Indentation automatique"
#: tools/editor/plugins/script_editor_plugin.cpp
#, fuzzy
-msgid "Reload Tool Script"
-msgstr "Créer le script de nœud"
-
-#: tools/editor/plugins/script_editor_plugin.cpp
-msgid "Reload Tool Script (Soft)"
-msgstr ""
+msgid "Soft Reload Script"
+msgstr "Recharger le script (mode doux)"
#: tools/editor/plugins/script_editor_plugin.cpp
#: tools/editor/plugins/shader_editor_plugin.cpp
msgid "Find.."
-msgstr "Trouver..."
+msgstr "Trouver…"
#: tools/editor/plugins/script_editor_plugin.cpp
#: tools/editor/plugins/shader_editor_plugin.cpp
@@ -4005,7 +4059,7 @@ msgstr ""
#: tools/editor/plugins/script_editor_plugin.cpp
#: tools/editor/plugins/shader_editor_plugin.cpp
msgid "Replace.."
-msgstr "Remplacer..."
+msgstr "Remplacer…"
#: tools/editor/plugins/script_editor_plugin.cpp
msgid "Goto Function.."
@@ -4014,7 +4068,7 @@ msgstr "Aller à la fonction…"
#: tools/editor/plugins/script_editor_plugin.cpp
#: tools/editor/plugins/shader_editor_plugin.cpp
msgid "Goto Line.."
-msgstr "Aller à la ligne..."
+msgstr "Aller à la ligne…"
#: tools/editor/plugins/script_editor_plugin.cpp
msgid "Debug"
@@ -4025,19 +4079,16 @@ msgid "Toggle Breakpoint"
msgstr "Placer un point d'arrêt"
#: tools/editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Remove All Breakpoints"
-msgstr "Placer un point d'arrêt"
+msgstr "Supprimer tous les points d'arrêt"
#: tools/editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Goto Next Breakpoint"
-msgstr "Placer un point d'arrêt"
+msgstr "Aller au point d'arrêt suivant"
#: tools/editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Goto Previous Breakpoint"
-msgstr "Placer un point d'arrêt"
+msgstr "Aller au point d'arrêt précédent"
#: tools/editor/plugins/script_editor_plugin.cpp
#: tools/editor/script_editor_debugger.cpp
@@ -4080,7 +4131,7 @@ msgid "Help"
msgstr "Aide"
#: tools/editor/plugins/script_editor_plugin.cpp
-msgid "Contextual"
+msgid "Contextual Help"
msgstr "Aide contextuelle"
#: tools/editor/plugins/script_editor_plugin.cpp
@@ -4289,10 +4340,6 @@ msgid "Transform Aborted."
msgstr "Transformation annulée."
#: tools/editor/plugins/spatial_editor_plugin.cpp
-msgid "View Plane Transform."
-msgstr ""
-
-#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "X-Axis Transform."
msgstr "Transformation sur l'axe X."
@@ -4305,6 +4352,10 @@ msgid "Z-Axis Transform."
msgstr "Transformation sur l'axe Z."
#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View Plane Transform."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Scaling to %s%%."
msgstr "Mise à l'échelle %s%%."
@@ -4330,7 +4381,7 @@ msgstr "Dessus"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Rear View."
-msgstr "Vue arrière"
+msgstr "Vue arrière."
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Rear"
@@ -4338,7 +4389,7 @@ msgstr "Arrière"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Front View."
-msgstr "Vue avant"
+msgstr "Vue avant."
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Front"
@@ -4346,7 +4397,7 @@ msgstr "Avant"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Left View."
-msgstr "Vue de gauche"
+msgstr "Vue de gauche."
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Left"
@@ -4354,7 +4405,7 @@ msgstr "Gauche"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Right View."
-msgstr "Vue de droite"
+msgstr "Vue de droite."
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Right"
@@ -4445,9 +4496,8 @@ msgid "Scale Mode (R)"
msgstr "Mode de mise à l'échelle (R)"
#: tools/editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Transform"
-msgstr "Type de transformation"
+msgstr "Transformation"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Local Coords"
@@ -4455,7 +4505,7 @@ msgstr "Coordonnées locales"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Transform Dialog.."
-msgstr "Dialogue de transformation..."
+msgstr "Dialogue de transformation…"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Use Default Light"
@@ -4470,27 +4520,24 @@ msgid "1 Viewport"
msgstr ""
#: tools/editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "2 Viewports"
-msgstr "Paramètres de la vue"
+msgstr "2 vues"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "2 Viewports (Alt)"
msgstr ""
#: tools/editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "3 Viewports"
-msgstr "Paramètres de la vue"
+msgstr "3 vues"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "3 Viewports (Alt)"
msgstr ""
#: tools/editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "4 Viewports"
-msgstr "Paramètres de la vue"
+msgstr "4 vues"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
@@ -4649,14 +4696,12 @@ msgid "StyleBox Preview:"
msgstr "Aperçu de la StyleBox :"
#: tools/editor/plugins/texture_region_editor_plugin.cpp
-#, fuzzy
msgid "Texture Region Editor"
-msgstr "Éditeur de région de Sprite"
+msgstr "Éditeur de région de texture"
#: tools/editor/plugins/texture_region_editor_plugin.cpp
-#, fuzzy
msgid "Scale Region Editor"
-msgstr "Éditeur de région de Sprite"
+msgstr ""
#: tools/editor/plugins/texture_region_editor_plugin.cpp
msgid ""
@@ -4690,8 +4735,12 @@ msgid "Remove Class Items"
msgstr ""
#: tools/editor/plugins/theme_editor_plugin.cpp
-msgid "Create Template"
-msgstr "Créer un modèle"
+msgid "Create Empty Template"
+msgstr "Créer un nouveau modèle"
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Create Empty Editor Template"
+msgstr "Créer un nouveau modèle d'éditeur"
#: tools/editor/plugins/theme_editor_plugin.cpp
msgid "CheckBox Radio1"
@@ -4777,32 +4826,36 @@ msgid "Erase TileMap"
msgstr ""
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Bucket"
-msgstr "Seau"
+msgid "Erase selection"
+msgstr "Supprimer la sélection"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Pick Tile"
-msgstr "Sélectionner une case"
+msgid "Find tile"
+msgstr "Chercher une case"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Select"
-msgstr "Sélectionner"
+msgid "Transpose"
+msgstr "Transposer"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase Selection"
-msgstr "Supprimer la sélection"
+msgid "Mirror X"
+msgstr "Miroir X"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Transpose"
-msgstr "Transposer"
+msgid "Mirror Y"
+msgstr "Miroir Y"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Mirror X (A)"
-msgstr "Miroir X (A)"
+msgid "Bucket"
+msgstr "Seau"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Mirror Y (S)"
-msgstr "Miroir Y (S)"
+msgid "Pick Tile"
+msgstr "Sélectionner une case"
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Select"
+msgstr "Sélectionner"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
@@ -4945,8 +4998,8 @@ msgstr "Action"
msgid ""
"Filters to export non-resource files (comma-separated, e.g.: *.json, *.txt):"
msgstr ""
-"Filtres à utiliser pour l'exportation des fichiers (séparés par des virgules, "
-"par exemple : *.json, *.txt) :"
+"Filtres à utiliser pour l'exportation des fichiers (séparés par des "
+"virgules, par exemple : *.json, *.txt) :"
#: tools/editor/project_export.cpp
msgid "Filters to exclude from export (comma-separated, e.g.: *.json, *.txt):"
@@ -4956,7 +5009,8 @@ msgstr ""
#: tools/editor/project_export.cpp
msgid "Convert text scenes to binary on export."
-msgstr "Convertir les scènes en format texte au format binaire à l'exportation."
+msgstr ""
+"Convertir les scènes en format texte au format binaire à l'exportation."
#: tools/editor/project_export.cpp
msgid "Images"
@@ -5071,9 +5125,8 @@ msgid "Trailing Silence:"
msgstr "Silence de fin :"
#: tools/editor/project_export.cpp
-#, fuzzy
msgid "Script"
-msgstr "Lancer le script"
+msgstr "Script"
#: tools/editor/project_export.cpp
msgid "Script Export Mode:"
@@ -5105,7 +5158,7 @@ msgstr "Exporter le PCK du projet"
#: tools/editor/project_export.cpp
msgid "Export.."
-msgstr "Exporter..."
+msgstr "Exporter…"
#: tools/editor/project_export.cpp
msgid "Project Export"
@@ -5137,7 +5190,8 @@ msgstr ""
#: tools/editor/project_manager.cpp
msgid "Couldn't create engine.cfg in project path."
-msgstr "Impossible de créer le fichier engine.cfg dans le répertoire du projet."
+msgstr ""
+"Impossible de créer le fichier engine.cfg dans le répertoire du projet."
#: tools/editor/project_manager.cpp
msgid "Import Existing Project"
@@ -5157,7 +5211,7 @@ msgstr "Créer un nouveau projet"
#: tools/editor/project_manager.cpp
msgid "Project Path:"
-msgstr "Chemin du projet"
+msgstr "Chemin du projet :"
#: tools/editor/project_manager.cpp
msgid "Browse"
@@ -5189,14 +5243,12 @@ msgstr ""
"Supprimer le projet de la liste ? (Le contenu du dossier ne sera pas modifié)"
#: tools/editor/project_manager.cpp
-#, fuzzy
msgid "Project Manager"
-msgstr "Nom du projet :"
+msgstr "Gestionnaire de projets"
#: tools/editor/project_manager.cpp
-#, fuzzy
msgid "Project List"
-msgstr "Quitter vers la liste des projets"
+msgstr "Liste des projets"
#: tools/editor/project_manager.cpp
msgid "Run"
@@ -5219,19 +5271,16 @@ msgid "Key "
msgstr ""
#: tools/editor/project_settings.cpp
-#, fuzzy
msgid "Joy Button"
-msgstr "Bouton"
+msgstr "Bouton de joystick"
#: tools/editor/project_settings.cpp
-#, fuzzy
msgid "Joy Axis"
-msgstr "Axe"
+msgstr "Axe de joystick"
#: tools/editor/project_settings.cpp
-#, fuzzy
msgid "Mouse Button"
-msgstr "Index du bouton de la souris :"
+msgstr "Bouton de souris"
#: tools/editor/project_settings.cpp
msgid "Invalid action (anything goes but '/' or ':')."
@@ -5255,7 +5304,7 @@ msgstr "Contrôle+"
#: tools/editor/project_settings.cpp tools/editor/settings_config_dialog.cpp
msgid "Press a Key.."
-msgstr "Appuyez sur une touche..."
+msgstr "Appuyez sur une touche…"
#: tools/editor/project_settings.cpp
msgid "Mouse Button Index:"
@@ -5356,14 +5405,12 @@ msgstr ""
"constante globale."
#: tools/editor/project_settings.cpp
-#, fuzzy
msgid "Autoload '%s' already exists!"
-msgstr "L'action « %s » existe déjà !"
+msgstr "L'autoload « %s » existe déjà !"
#: tools/editor/project_settings.cpp
-#, fuzzy
msgid "Rename Autoload"
-msgstr "Supprimer l'AutoLoad"
+msgstr "Renommer l'AutoLoad"
#: tools/editor/project_settings.cpp
msgid "Toggle AutoLoad Globals"
@@ -5427,11 +5474,11 @@ msgstr "Supprimer"
#: tools/editor/project_settings.cpp
msgid "Copy To Platform.."
-msgstr "Copier vers la plate-forme..."
+msgstr "Copier vers la plate-forme…"
#: tools/editor/project_settings.cpp
msgid "Input Map"
-msgstr "Carte d'entrée"
+msgstr "Contrôles"
#: tools/editor/project_settings.cpp
msgid "Action:"
@@ -5459,7 +5506,7 @@ msgstr "Traductions :"
#: tools/editor/project_settings.cpp
msgid "Add.."
-msgstr "Ajouter..."
+msgstr "Ajouter…"
#: tools/editor/project_settings.cpp
msgid "Remaps"
@@ -5499,7 +5546,7 @@ msgstr "Extensions"
#: tools/editor/property_editor.cpp
msgid "Preset.."
-msgstr "Pré-réglage..."
+msgstr "Pré-réglage…"
#: tools/editor/property_editor.cpp
msgid "Ease In"
@@ -5523,11 +5570,11 @@ msgstr "Ease out-in"
#: tools/editor/property_editor.cpp
msgid "File.."
-msgstr "Fichier..."
+msgstr "Fichier…"
#: tools/editor/property_editor.cpp
msgid "Dir.."
-msgstr "Répertoire..."
+msgstr "Répertoire…"
#: tools/editor/property_editor.cpp
msgid "Load"
@@ -5655,8 +5702,8 @@ msgstr "OK"
#: tools/editor/scene_tree_dock.cpp
msgid ""
-"Cannot instance the scene '%s' because the current scene exists within one of "
-"its nodes."
+"Cannot instance the scene '%s' because the current scene exists within one "
+"of its nodes."
msgstr ""
#: tools/editor/scene_tree_dock.cpp
@@ -5699,7 +5746,7 @@ msgstr "Cette opération ne peut être réalisée sur des scènes instanciées."
#: tools/editor/scene_tree_dock.cpp
msgid "Save New Scene As.."
-msgstr "Enregistrer la nouvelle scène sous..."
+msgstr "Enregistrer la nouvelle scène sous…"
#: tools/editor/scene_tree_dock.cpp
msgid "Makes Sense!"
@@ -5768,7 +5815,6 @@ msgid "Add Script"
msgstr "Ajouter un script"
#: tools/editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Merge From Scene"
msgstr "Fusionner depuis la scène"
@@ -5822,7 +5868,7 @@ msgstr "Renommer le nœud"
#: tools/editor/scene_tree_editor.cpp
msgid "Scene Tree (Nodes):"
-msgstr ""
+msgstr "Arbre de scène (nœuds) :"
#: tools/editor/scene_tree_editor.cpp
msgid "Editable Children"
@@ -5833,6 +5879,10 @@ msgid "Load As Placeholder"
msgstr "Charger en tant que fictif"
#: tools/editor/scene_tree_editor.cpp
+msgid "Discard Instancing"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "Ouvrir dans l'éditeur"
@@ -5882,24 +5932,23 @@ msgstr "Instance"
#: tools/editor/scenes_dock.cpp
msgid "Edit Dependencies.."
-msgstr "Modifier les dépendances..."
+msgstr "Modifier les dépendances…"
#: tools/editor/scenes_dock.cpp
msgid "View Owners.."
-msgstr "Voir les propriétaires..."
+msgstr "Voir les propriétaires…"
#: tools/editor/scenes_dock.cpp
-#, fuzzy
msgid "Copy Path"
-msgstr "Copier paramètres"
+msgstr "Copier le chemin"
#: tools/editor/scenes_dock.cpp
msgid "Rename or Move.."
-msgstr "Renommer ou déplacer..."
+msgstr "Renommer ou déplacer…"
#: tools/editor/scenes_dock.cpp
msgid "Move To.."
-msgstr "Déplacer vers..."
+msgstr "Déplacer vers…"
#: tools/editor/scenes_dock.cpp
msgid "Info"
@@ -6058,19 +6107,16 @@ msgid "Stack Trace (if applicable):"
msgstr "Trace de pile (si applicable) :"
#: tools/editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Remote Inspector"
-msgstr "Inspecteur"
+msgstr "Inspecteur distant"
#: tools/editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Live Scene Tree:"
-msgstr "Arbre des scènes :"
+msgstr "Arbre des scènes en direct :"
#: tools/editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Remote Object Properties: "
-msgstr "Propriétés de l'objet."
+msgstr "Propriétés de l'objet distant : "
#: tools/editor/script_editor_debugger.cpp
msgid "Profiler"
@@ -6085,9 +6131,8 @@ msgid "Value"
msgstr "Valeur"
#: tools/editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Monitors"
-msgstr "Moniteur"
+msgstr "Moniteurs"
#: tools/editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
@@ -6135,7 +6180,7 @@ msgstr "Définir depuis l'arbre"
#: tools/editor/settings_config_dialog.cpp
msgid "Shortcuts"
-msgstr ""
+msgstr "Raccourcis"
#: tools/editor/spatial_editor_gizmos.cpp
msgid "Change Light Radius"
@@ -6159,26 +6204,26 @@ msgstr "Changer les extents d'une forme en boîte"
#: tools/editor/spatial_editor_gizmos.cpp
msgid "Change Capsule Shape Radius"
-msgstr ""
+msgstr "Changer le rayon d'une forme en capsule"
#: tools/editor/spatial_editor_gizmos.cpp
msgid "Change Capsule Shape Height"
-msgstr ""
+msgstr "Changer la hauteur d'une forme en capsule"
#: tools/editor/spatial_editor_gizmos.cpp
msgid "Change Ray Shape Length"
-msgstr ""
+msgstr "Changer la longueur d'une forme en rayon"
#: tools/editor/spatial_editor_gizmos.cpp
msgid "Change Notifier Extents"
-msgstr ""
+msgstr "Changer les extents d'un notificateur"
+
+#~ msgid "Method In Node:"
+#~ msgstr "Méthode dans le nœud :"
#~ msgid "Edit Connections.."
#~ msgstr "Modifier les connexions..."
-#~ msgid "Connections:"
-#~ msgstr "Connexions :"
-
#~ msgid "Set Params"
#~ msgstr "Définir paramètres"
diff --git a/tools/translations/it.po b/tools/translations/it.po
index 633caf62f8..dfb0eb522a 100644
--- a/tools/translations/it.po
+++ b/tools/translations/it.po
@@ -1,21 +1,65 @@
-# LANGUAGE translation of the Godot Engine editor
+# Italian translation of the Godot Engine editor
# Copyright (C) 2016 Juan Linietsky, Ariel Manzur and the Godot community
# This file is distributed under the same license as the Godot source code.
+#
# Dario Bonfanti <bonfi.96@hotmail.it>, 2016.
#
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: \n"
+"PO-Revision-Date: 2016-06-19 09:39+0000\n"
"Last-Translator: Dario Bonfanti <bonfi.96@hotmail.it>\n"
-"Language-Team: Italian\n"
+"Language-Team: Italian <https://hosted.weblate.org/projects/godot-engine/"
+"godot/it/>\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.8.7\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Weblate 2.7-dev\n"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid type argument to convert(), use TYPE_* constants."
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not enough bytes for decoding bytes, or invalid format."
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "step argument is zero!"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+#, fuzzy
+msgid "Not a script with an instance"
+msgstr "Nessuna scena da istanziare selezionata!"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not based on a script"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+#, fuzzy
+msgid "Not based on a resource file"
+msgstr "Nessuna risorsa font di destinazione!"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (missing @path)"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (can't load script at @path)"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (invalid script at @path)"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary (invalid subclasses)"
+msgstr ""
#: scene/2d/animated_sprite.cpp
msgid ""
@@ -42,8 +86,8 @@ msgid ""
msgstr ""
"CollisionPolygon2D serve a fornire una forma di collisione ad un nodo "
"derivato di CollisionObject2D. Si prega di utilizzarlo solamente come figlio "
-"di Area2D, StaticBody2D, RigidBody2D, KinematicBody2D, etc. in modo da dargli "
-"una forma."
+"di Area2D, StaticBody2D, RigidBody2D, KinematicBody2D, etc. in modo da "
+"dargli una forma."
#: scene/2d/collision_polygon_2d.cpp
msgid "An empty CollisionPolygon2D has no effect on collision."
@@ -86,8 +130,8 @@ msgstr ""
#: scene/2d/light_occluder_2d.cpp
msgid "The occluder polygon for this occluder is empty. Please draw a polygon!"
msgstr ""
-"Il poligono di occlusione per questo occlusore è vuoto. Per favore disegna un "
-"poligono!"
+"Il poligono di occlusione per questo occlusore è vuoto. Per favore disegna "
+"un poligono!"
#: scene/2d/navigation_polygon.cpp
msgid ""
@@ -95,7 +139,8 @@ msgid ""
"Please set a property or draw a polygon."
msgstr ""
"Una risorsa NavigationPolygon deve essere impostata o creata affinché questo "
-"nodo funzioni. Si prega di impostare una proprietà o di disegnare un poligono."
+"nodo funzioni. Si prega di impostare una proprietà o di disegnare un "
+"poligono."
#: scene/2d/navigation_polygon.cpp
msgid ""
@@ -126,7 +171,8 @@ msgstr ""
#: scene/2d/remote_transform_2d.cpp
msgid "Path property must point to a valid Node2D node to work."
-msgstr "La proprietà path deve puntare ad un nodo Node2D valido per funzionare."
+msgstr ""
+"La proprietà path deve puntare ad un nodo Node2D valido per funzionare."
#: scene/2d/sample_player_2d.cpp scene/audio/sample_player.cpp
msgid ""
@@ -138,27 +184,27 @@ msgstr ""
#: scene/2d/sprite.cpp
msgid ""
-"Path property must point to a valid Viewport node to work. Such Viewport must "
-"be set to 'render target' mode."
+"Path property must point to a valid Viewport node to work. Such Viewport "
+"must be set to 'render target' mode."
msgstr ""
"La proprietà path deve puntare a un nodo Viewport valido per poter "
"funzionare. Tale Viewport deve essere impostata in modalità 'render target'."
#: scene/2d/sprite.cpp
msgid ""
-"The Viewport set in the path property must be set as 'render target' in order "
-"for this sprite to work."
+"The Viewport set in the path property must be set as 'render target' in "
+"order for this sprite to work."
msgstr ""
-"Il Viewport impostato nella proprietà path deve essere impostato come 'render "
-"target' affinché questa sprite funzioni."
+"Il Viewport impostato nella proprietà path deve essere impostato come "
+"'render target' affinché questa sprite funzioni."
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
"as parent."
msgstr ""
-"VisibilityEnable2D funziona al meglio quando usato direttamente come genitore "
-"con il root della scena modificata."
+"VisibilityEnable2D funziona al meglio quando usato direttamente come "
+"genitore con il root della scena modificata."
#: scene/3d/body_shape.cpp
msgid ""
@@ -166,8 +212,8 @@ msgid ""
"derived node. Please only use it as a child of Area, StaticBody, RigidBody, "
"KinematicBody, etc. to give them a shape."
msgstr ""
-"CollisionShape serve a fornire una forma di collisione ad un nodo derivato di "
-"CollisionObject. Si prega di utilizzarlo solamente come figlio di Area, "
+"CollisionShape serve a fornire una forma di collisione ad un nodo derivato "
+"di CollisionObject. Si prega di utilizzarlo solamente come figlio di Area, "
"StaticBody, RigidBody, KinematicBody, etc. in modo da dargli una forma."
#: scene/3d/body_shape.cpp
@@ -184,9 +230,10 @@ msgid ""
"CollisionObject derived node. Please only use it as a child of Area, "
"StaticBody, RigidBody, KinematicBody, etc. to give them a shape."
msgstr ""
-"CollisionPolygon serve solamente a fornire una forma di collisione ad un nodo "
-"derivato di CollisionObject. Si prega di usarlo solamente come figlio di "
-"Area, StaticBody, RigidBody, KinematicBody, etc. in modo da dargli una forma."
+"CollisionPolygon serve solamente a fornire una forma di collisione ad un "
+"nodo derivato di CollisionObject. Si prega di usarlo solamente come figlio "
+"di Area, StaticBody, RigidBody, KinematicBody, etc. in modo da dargli una "
+"forma."
#: scene/3d/collision_polygon.cpp
msgid "An empty CollisionPolygon has no effect on collision."
@@ -200,8 +247,8 @@ msgstr ""
#: scene/3d/navigation_mesh.cpp
msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. It "
-"only provides navigation data."
+"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
+"It only provides navigation data."
msgstr ""
"NavigationMeshInstance deve essere un figlio o nipote di un nodo Navigation. "
"Fornisce solamente dati per la navigazione."
@@ -222,29 +269,28 @@ msgstr ""
"'samples' affinché SpatialSamplePlayer riproduca un suono."
#: scene/3d/sprite_3d.cpp
-#, fuzzy
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
"order for AnimatedSprite3D to display frames."
msgstr ""
"Una risorsa SpriteFrames deve essere creata o impostata nella proprietà "
-"'Frames' affinché AnimatedSprite mostri i frame."
+"'Frames' affinché AnimatedSprite3D mostri i frame."
#: scene/gui/dialogs.cpp tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Cancel"
-msgstr "Cancella"
+msgstr "Annulla"
#: scene/gui/dialogs.cpp
msgid "OK"
-msgstr ""
+msgstr "OK"
#: scene/gui/dialogs.cpp
msgid "Alert!"
-msgstr ""
+msgstr "Attenzione!"
#: scene/gui/dialogs.cpp
msgid "Please Confirm..."
-msgstr ""
+msgstr "Si Prega Di Confermare..."
#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
msgid "File Exists, Overwrite?"
@@ -266,24 +312,20 @@ msgid "Open"
msgstr "Apri"
#: scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Open a File"
-msgstr "Apri File(s) Sample"
+msgstr "Apri un File"
#: scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Open File(s)"
-msgstr "Apri File(s) Sample"
+msgstr "Apri File(s)"
#: scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Open a Directory"
-msgstr "Scegli una Directory"
+msgstr "Apri una Directory"
#: scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Open a File or Directory"
-msgstr "Scegli una Directory"
+msgstr "Apri un File o una Directory"
#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
#: tools/editor/editor_node.cpp
@@ -309,7 +351,7 @@ msgstr "Percorso:"
#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
msgid "Directories & Files:"
-msgstr "Directories & Files:"
+msgstr "Directory e File:"
#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
#: tools/editor/script_editor_debugger.cpp
@@ -347,7 +389,7 @@ msgstr "Alt+"
#: scene/gui/input_action.cpp
msgid "Ctrl+"
-msgstr ""
+msgstr "Ctrl+"
#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
#: tools/editor/settings_config_dialog.cpp
@@ -410,7 +452,8 @@ msgstr "Incolla"
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
#: tools/editor/plugins/script_editor_plugin.cpp
-#: tools/editor/plugins/shader_editor_plugin.cpp tools/editor/project_export.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+#: tools/editor/project_export.cpp
msgid "Select All"
msgstr "Seleziona tutti"
@@ -430,8 +473,8 @@ msgstr "Annulla"
#: scene/gui/popup.cpp
msgid ""
"Popups will hide by default unless you call popup() or any of the popup*() "
-"functions. Making them visible for editing is fine though, but they will hide "
-"upon running."
+"functions. Making them visible for editing is fine though, but they will "
+"hide upon running."
msgstr ""
"I popup saranno nascosti di default a meno che vengano chiamate la funzione "
"popup() o qualsiasi altra funzione popup*(). Renderli visibili per la "
@@ -444,15 +487,15 @@ msgid ""
"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
"texture to some node for display."
msgstr ""
-"Questo viewport non è impostato come target di render. Se si vuole che il suo "
-"contenuto venga direttamente mostrato a schermo, renderlo figlio di un "
+"Questo viewport non è impostato come target di render. Se si vuole che il "
+"suo contenuto venga direttamente mostrato a schermo, renderlo figlio di un "
"Control, in modo che possa ottenere una dimensione. Altrimenti, renderlo un "
"RenderTarget e assegnare alla sua texture interna qualche nodo da mostrare."
#: scene/resources/dynamic_font.cpp
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
msgid "Error initializing FreeType."
-msgstr "Errore inizializzazione FreeType"
+msgstr "Errore inizializzazione FreeType."
#: scene/resources/dynamic_font.cpp
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
@@ -523,15 +566,15 @@ msgstr "Imposta Transizione a:"
#: tools/editor/animation_editor.cpp
msgid "Anim Track Rename"
-msgstr "Traccia Anim Rinomina "
+msgstr "Traccia Anim Rinomina"
#: tools/editor/animation_editor.cpp
msgid "Anim Track Change Interpolation"
-msgstr "Traccia Anim Cambia Interpolazione "
+msgstr "Traccia Anim Cambia Interpolazione"
#: tools/editor/animation_editor.cpp
msgid "Anim Track Change Value Mode"
-msgstr "Traccia Anim Cambia Modalità Valore "
+msgstr "Traccia Anim Cambia Modalità Valore"
#: tools/editor/animation_editor.cpp
msgid "Edit Node Curve"
@@ -546,6 +589,20 @@ msgid "Anim Delete Keys"
msgstr "Anim Elimina Key"
#: tools/editor/animation_editor.cpp
+#, fuzzy
+msgid "Continuous"
+msgstr "Continua"
+
+#: tools/editor/animation_editor.cpp
+#, fuzzy
+msgid "Discrete"
+msgstr "Disconnetti"
+
+#: tools/editor/animation_editor.cpp
+msgid "Trigger"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
msgid "Anim Add Key"
msgstr "Anim Aggiungi Key"
@@ -653,6 +710,11 @@ msgid "Change Anim Loop"
msgstr "Cambia Loop Animazione"
#: tools/editor/animation_editor.cpp
+#, fuzzy
+msgid "Change Anim Loop Interpolation"
+msgstr "Cambia Loop Animazione"
+
+#: tools/editor/animation_editor.cpp
msgid "Anim Create Typed Value Key"
msgstr "Anim Crea Typed Value Key"
@@ -693,6 +755,11 @@ msgid "Enable/Disable looping in animation."
msgstr "Attiva/Disattiva loop animazione."
#: tools/editor/animation_editor.cpp
+#, fuzzy
+msgid "Enable/Disable interpolation when looping animation."
+msgstr "Attiva/Disattiva loop animazione."
+
+#: tools/editor/animation_editor.cpp
msgid "Add new tracks."
msgstr "Aggiungi nuova traccia."
@@ -722,7 +789,7 @@ msgstr "Ottimizzatore Anim."
#: tools/editor/animation_editor.cpp
msgid "Max. Linear Error:"
-msgstr ":Max. Errore Lineare"
+msgstr "Max. Errore Lineare:"
#: tools/editor/animation_editor.cpp
msgid "Max. Angular Error:"
@@ -746,7 +813,7 @@ msgstr "Transizione"
#: tools/editor/animation_editor.cpp
msgid "Scale Ratio:"
-msgstr "Ratio di scalatura"
+msgstr "Ratio di scalatura:"
#: tools/editor/animation_editor.cpp
msgid "Call Functions in Which Node?"
@@ -813,22 +880,20 @@ msgid "Site:"
msgstr "Sito:"
#: tools/editor/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Support.."
-msgstr "Esporta.."
+msgstr "Supporta.."
#: tools/editor/asset_library_editor_plugin.cpp
msgid "Official"
-msgstr ""
+msgstr "Ufficiale"
#: tools/editor/asset_library_editor_plugin.cpp
msgid "Community"
-msgstr ""
+msgstr "Comunità"
#: tools/editor/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Testing"
-msgstr "Impostazioni"
+msgstr "Testing"
#: tools/editor/asset_library_editor_plugin.cpp
msgid "Assets ZIP File"
@@ -876,28 +941,24 @@ msgid "Line Number:"
msgstr "Numero Linea:"
#: tools/editor/code_editor.cpp
-#, fuzzy
msgid "No Matches"
-msgstr "Corrispondenze:"
+msgstr "Nessuna Corrispondenza"
#: tools/editor/code_editor.cpp
-#, fuzzy
msgid "Replaced %d Ocurrence(s)."
-msgstr "Rimpiazzate %d occorrenze."
+msgstr "Rimpiazzate %d Occorrenze."
#: tools/editor/code_editor.cpp
msgid "Replace"
msgstr "Rimpiazza"
#: tools/editor/code_editor.cpp
-#, fuzzy
msgid "Replace All"
-msgstr "Rimpiazza"
+msgstr "Rimpiazza Tutti"
#: tools/editor/code_editor.cpp
-#, fuzzy
msgid "Match Case"
-msgstr "Corrispondenze:"
+msgstr "Controlla Maiuscole"
#: tools/editor/code_editor.cpp
msgid "Whole Words"
@@ -944,7 +1005,7 @@ msgstr "All'indietro"
#: tools/editor/code_editor.cpp
msgid "Prompt On Replace"
-msgstr "Richiedi Per Rimpiazzare"
+msgstr "Richiedi Per Sostituire"
#: tools/editor/code_editor.cpp
msgid "Skip"
@@ -960,16 +1021,13 @@ msgstr "Col:"
#: tools/editor/connections_dialog.cpp
msgid "Method in target Node must be specified!"
-msgstr "Il Metodo nel nodo di target deve essere specificato! "
+msgstr "Il Metodo nel nodo di target deve essere specificato!"
#: tools/editor/connections_dialog.cpp
-msgid "Connect To Node:"
+#, fuzzy
+msgid "Conect To Node:"
msgstr "Collega A Nodo:"
-#: tools/editor/connections_dialog.cpp
-msgid "Binds (Extra Params):"
-msgstr "Lega (Parametri Extra):"
-
#: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp
#: tools/editor/plugins/item_list_editor_plugin.cpp
#: tools/editor/plugins/theme_editor_plugin.cpp
@@ -979,17 +1037,24 @@ msgstr "Aggiungi"
#: tools/editor/connections_dialog.cpp tools/editor/dependency_editor.cpp
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
-#: tools/editor/plugins/theme_editor_plugin.cpp tools/editor/project_manager.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+#: tools/editor/project_manager.cpp
msgid "Remove"
msgstr "Rimuovi"
#: tools/editor/connections_dialog.cpp
-msgid "Path To Node:"
-msgstr "Percorso Al Nodo:"
+msgid "Add Extra Call Argument:"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+#, fuzzy
+msgid "Extra Call Arguments:"
+msgstr "Argomenti:"
#: tools/editor/connections_dialog.cpp
-msgid "Method In Node:"
-msgstr "Metodo Nel Nodo:"
+#, fuzzy
+msgid "Path to Node:"
+msgstr "Percorso Al Nodo:"
#: tools/editor/connections_dialog.cpp
msgid "Make Function"
@@ -1012,6 +1077,11 @@ msgid "Connect '%s' to '%s'"
msgstr "Connetti '%s' a '%s'"
#: tools/editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connecting Signal:"
+msgstr "Connessioni:"
+
+#: tools/editor/connections_dialog.cpp
msgid "Create Subscription"
msgstr "Crea Sottoscrizione"
@@ -1025,9 +1095,8 @@ msgid "Disconnect"
msgstr "Disconnetti"
#: tools/editor/connections_dialog.cpp tools/editor/node_dock.cpp
-#, fuzzy
msgid "Signals"
-msgstr "Segnali:"
+msgstr "Segnali"
#: tools/editor/create_dialog.cpp
msgid "Create New"
@@ -1067,15 +1136,13 @@ msgid "Dependencies"
msgstr "Dipendenze"
#: tools/editor/dependency_editor.cpp
-#, fuzzy
msgid "Resource"
-msgstr "Risorse"
+msgstr "Risorsa"
#: tools/editor/dependency_editor.cpp tools/editor/project_manager.cpp
#: tools/editor/project_settings.cpp
-#, fuzzy
msgid "Path"
-msgstr "Percorso:"
+msgstr "Percorso"
#: tools/editor/dependency_editor.cpp
msgid "Dependencies:"
@@ -1091,7 +1158,7 @@ msgstr "Editor Dipendenze"
#: tools/editor/dependency_editor.cpp
msgid "Search Replacement Resource:"
-msgstr "Cerca Risorsa di Rimpiazzo"
+msgstr "Cerca Risorsa di Rimpiazzo:"
#: tools/editor/dependency_editor.cpp
msgid "Owners Of:"
@@ -1103,6 +1170,9 @@ msgid ""
"work.\n"
"Remove them anyway? (no undo)"
msgstr ""
+"I file che stanno per essere rimossi sono richiesti da altre risorse perchè "
+"esse funzionino.\n"
+"Rimuoverli comunque? (no undo)"
#: tools/editor/dependency_editor.cpp
msgid "Remove selected files from the project? (no undo)"
@@ -1153,7 +1223,8 @@ msgid "Delete selected files?"
msgstr "Eliminare i file selezionati?"
#: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp
-#: tools/editor/plugins/item_list_editor_plugin.cpp tools/editor/scenes_dock.cpp
+#: tools/editor/plugins/item_list_editor_plugin.cpp
+#: tools/editor/scenes_dock.cpp
msgid "Delete"
msgstr "Elimina"
@@ -1228,7 +1299,7 @@ msgstr "Metodi Pubblici:"
#: tools/editor/editor_help.cpp
msgid "Members:"
-msgstr "Membri"
+msgstr "Membri:"
#: tools/editor/editor_help.cpp
msgid "GUI Theme Items:"
@@ -1268,7 +1339,7 @@ msgstr "Errore di salvataggio dell'atlas:"
#: tools/editor/editor_import_export.cpp
msgid "Could not save atlas subtexture:"
-msgstr "Impossibile salvare la substruttura dell'atlas"
+msgstr "Impossibile salvare la substruttura dell'atlas:"
#: tools/editor/editor_import_export.cpp
msgid "Storing File:"
@@ -1276,7 +1347,7 @@ msgstr "Memorizzazione File:"
#: tools/editor/editor_import_export.cpp
msgid "Packing"
-msgstr "Packing"
+msgstr "Impacchettando"
#: tools/editor/editor_import_export.cpp
msgid "Exporting for %s"
@@ -1287,9 +1358,8 @@ msgid "Setting Up.."
msgstr "Impostando.."
#: tools/editor/editor_log.cpp
-#, fuzzy
msgid " Output:"
-msgstr "Output"
+msgstr " Output:"
#: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp
msgid "Re-Importing"
@@ -1376,7 +1446,7 @@ msgstr "Errore di salvataggio TileSet!"
#: tools/editor/editor_node.cpp
msgid "Can't open export templates zip."
-msgstr "Impossibile aprire zip dei template d'esportazionie"
+msgstr "Impossibile aprire zip dei template d'esportazionie."
#: tools/editor/editor_node.cpp
msgid "Loading Export Templates"
@@ -1403,9 +1473,8 @@ msgid "Copy Params"
msgstr "Copia parametri"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Paste Params"
-msgstr "Incolla Frame"
+msgstr "Incolla Parametri"
#: tools/editor/editor_node.cpp
#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
@@ -1425,9 +1494,8 @@ msgid "Make Sub-Resources Unique"
msgstr "Rendi Sotto-risorse Uniche"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Open in Help"
-msgstr "Apri Scena"
+msgstr "Apri in Aiuto"
#: tools/editor/editor_node.cpp
msgid "There is no defined scene to run."
@@ -1438,6 +1506,9 @@ msgid ""
"No main scene has ever been defined.\n"
"Select one from \"Project Settings\" under the 'application' category."
msgstr ""
+"Nessuna scena principale è mai stata definita.\n"
+"Selezionane una da \"Impostazioni Progetto\" sotto la categoria "
+"'applicazioni'."
#: tools/editor/editor_node.cpp
msgid "Current scene was never saved, please save it prior to running."
@@ -1526,11 +1597,12 @@ msgid "Quick Run Scene.."
msgstr "Esegui Scena Rapido.."
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid ""
"Open Project Manager? \n"
"(Unsaved changes will be lost)"
-msgstr "Chiudi scena? (I cambiamenti non salvati saranno persi)"
+msgstr ""
+"Aprire la Gestione Progetti?\n"
+"(I cambiamenti non salvati saranno persi)"
#: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp
msgid "Ugh"
@@ -1538,8 +1610,8 @@ msgstr "Ugh"
#: tools/editor/editor_node.cpp
msgid ""
-"Error loading scene, it must be inside the project path. Use 'Import' to open "
-"the scene, then save it inside the project path."
+"Error loading scene, it must be inside the project path. Use 'Import' to "
+"open the scene, then save it inside the project path."
msgstr ""
"Errore di caricamento scena, deve essere all'interno del percorso del "
"progetto. Usare 'Importa' per aprire la scena, salvarla poi nel percorso del "
@@ -1558,9 +1630,8 @@ msgid "Save Layout"
msgstr "Salva layout"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Load Layout"
-msgstr "Salva layout"
+msgstr "Carica Layout"
#: tools/editor/editor_node.cpp tools/editor/project_export.cpp
msgid "Default"
@@ -1592,6 +1663,14 @@ msgid "Go to previously opened scene."
msgstr "Vai alla scena precedentemente aperta."
#: tools/editor/editor_node.cpp
+msgid "Fullscreen Mode"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Distraction Free Mode"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
msgid "Operations with scene files."
msgstr "Operazioni con i file delle scene."
@@ -1605,7 +1684,7 @@ msgstr "Nuova Scena Ereditata.."
#: tools/editor/editor_node.cpp
msgid "Open Scene.."
-msgstr "Apri Scena"
+msgstr "Apri Scena.."
#: tools/editor/editor_node.cpp
msgid "Save Scene"
@@ -1624,9 +1703,8 @@ msgid "Open Recent"
msgstr "Apri Recente"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Quick Filter Files.."
-msgstr "Ricerca File Rapida.."
+msgstr "Filtro Files Rapido.."
#: tools/editor/editor_node.cpp
msgid "Convert To.."
@@ -1683,7 +1761,7 @@ msgstr "Importa"
#: tools/editor/editor_node.cpp
msgid "Miscellaneous project or scene-wide tools."
-msgstr "Strumenti di progetto o scene vari"
+msgstr "Strumenti di progetto o scena vari."
#: tools/editor/editor_node.cpp
msgid "Tools"
@@ -1698,9 +1776,8 @@ msgid "Export"
msgstr "Esporta"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Play the project."
-msgstr "Esegui il progetto (F5)."
+msgstr "Esegui il progetto."
#: tools/editor/editor_node.cpp
#: tools/editor/plugins/sample_library_editor_plugin.cpp
@@ -1708,19 +1785,16 @@ msgid "Play"
msgstr "Play"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Pause the scene"
-msgstr "Esegui scena personalizzata"
+msgstr "Metti in pausa la scena"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Pause Scene"
-msgstr "Esegui scena personalizzata"
+msgstr "Pausa Scena"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Stop the scene."
-msgstr "Ferma la scena (F8)."
+msgstr "Ferma la scena."
#: tools/editor/editor_node.cpp
#: tools/editor/plugins/sample_library_editor_plugin.cpp
@@ -1728,14 +1802,12 @@ msgid "Stop"
msgstr "Stop"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Play the edited scene."
-msgstr "Esegui la scena in modifica (F6)."
+msgstr "Esegui la scena in modifica."
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Play Scene"
-msgstr "Salva Scena"
+msgstr "Esegui Scena"
#: tools/editor/editor_node.cpp
msgid "Play custom scene"
@@ -1746,19 +1818,20 @@ msgid "Debug options"
msgstr "Opzioni di Debug"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Deploy with Remote Debug"
-msgstr "Distribuisci Debug Remoto"
+msgstr "Distribuisci con Debug Remoto"
#: tools/editor/editor_node.cpp
msgid ""
-"When exporting or deploying, the resulting executable will attempt to connect "
-"to the IP of this computer in order to be debugged."
+"When exporting or deploying, the resulting executable will attempt to "
+"connect to the IP of this computer in order to be debugged."
msgstr ""
+"All'esportazione o distribuzione, l'eseguibile risultante tenterà di "
+"connettersi all'IP di questo computer per poter effettuare il debug."
#: tools/editor/editor_node.cpp
msgid "Small Deploy with Network FS"
-msgstr ""
+msgstr "Distribuzione Piccola con Network FS"
#: tools/editor/editor_node.cpp
msgid ""
@@ -1766,9 +1839,14 @@ msgid ""
"executable.\n"
"The filesystem will be provided from the project by the editor over the "
"network.\n"
-"On Android, deploy will use the USB cable for faster performance. This option "
-"speeds up testing for games with a large footprint."
+"On Android, deploy will use the USB cable for faster performance. This "
+"option speeds up testing for games with a large footprint."
msgstr ""
+"Quando questa opzione è abilitata, esportare o distribuire produrrà un "
+"eseguibile minimo.\n"
+"Il filesystem verrà fornito dal progetto dall'editor mediante rete.\n"
+"Su Android, la distribuzione userà il cavo USB per una performance migliore. "
+"Questa opzione accellera il testing di giochi di grande entità."
#: tools/editor/editor_node.cpp
msgid "Visible Collision Shapes"
@@ -1779,6 +1857,8 @@ msgid ""
"Collision shapes and raycast nodes (for 2D and 3D) will be visible on the "
"running game if this option is turned on."
msgstr ""
+"Le forme di collisione e i nodi di raycast (per il 2D e 3D) Saranno visibili "
+"nel gioco in esecuzione se l'opzione è attiva."
#: tools/editor/editor_node.cpp
msgid "Visible Navigation"
@@ -1789,10 +1869,12 @@ msgid ""
"Navigation meshes and polygons will be visible on the running game if this "
"option is turned on."
msgstr ""
+"Le mesh e i poligoni di navigazione saranno visibili nel gioco in esecuzione "
+"se l'opzione è attiva."
#: tools/editor/editor_node.cpp
msgid "Sync Scene Changes"
-msgstr ""
+msgstr "Sincronizza Cambiamenti Scena"
#: tools/editor/editor_node.cpp
msgid ""
@@ -1801,11 +1883,14 @@ msgid ""
"When used remotely on a device, this is more efficient with network "
"filesystem."
msgstr ""
+"Quando questa opzione è attiva, qualsiasi cambiamento fatto alla scena "
+"nell'editor sarà replicato nel gioco in esecuzione.\n"
+"Quando usata remotamente su un dispositivo, essa è più efficiente con il "
+"filesystem in rete."
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Sync Script Changes"
-msgstr "Aggiorna Cambiamenti"
+msgstr "Sincronizza Cambiamenti Script"
#: tools/editor/editor_node.cpp
msgid ""
@@ -1814,6 +1899,10 @@ msgid ""
"When used remotely on a device, this is more efficient with network "
"filesystem."
msgstr ""
+"Quando questa opzione è attiva, qualsiasi script salvato verrà ricaricato "
+"nel gioco in esecuzione.\n"
+"Quando usata remotamente su un dispositivo, essa è più efficiente con il "
+"filesystem in rete."
#: tools/editor/editor_node.cpp tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Settings"
@@ -1833,7 +1922,7 @@ msgstr "Installa Template di Esportazione"
#: tools/editor/editor_node.cpp
msgid "About"
-msgstr "About"
+msgstr "Riguardo a"
#: tools/editor/editor_node.cpp
msgid "Alerts when an external resource has changed."
@@ -1841,7 +1930,7 @@ msgstr "Avverti quando una risorsa esterna è stata modificata."
#: tools/editor/editor_node.cpp
msgid "Spins when the editor window repaints!"
-msgstr "Gira quando la finestra dell'editor viene ridisegnata. "
+msgstr "Gira quando la finestra dell'editor viene ridisegnata!"
#: tools/editor/editor_node.cpp
msgid "Update Always"
@@ -1865,11 +1954,9 @@ msgstr "Carica una risorsa esistente dal disco e modificala."
#: tools/editor/editor_node.cpp
msgid "Save the currently edited resource."
-msgstr "Salva la risorsa in modifica"
+msgstr "Salva la risorsa in modifica."
-#: tools/editor/editor_node.cpp
-#: tools/editor/plugins/animation_player_editor_plugin.cpp
-#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp
msgid "Save As.."
msgstr "Salva Come.."
@@ -1944,69 +2031,63 @@ msgstr "Carica Errori"
#: tools/editor/editor_plugin_settings.cpp
msgid "Installed Plugins:"
-msgstr ""
+msgstr "Plugins Installati:"
#: tools/editor/editor_plugin_settings.cpp
-#, fuzzy
msgid "Version:"
-msgstr "Descrizione:"
+msgstr "Versione:"
#: tools/editor/editor_plugin_settings.cpp
msgid "Author:"
-msgstr ""
+msgstr "Autore:"
#: tools/editor/editor_plugin_settings.cpp
msgid "Status:"
-msgstr ""
+msgstr "Stato:"
#: tools/editor/editor_profiler.cpp
msgid "Stop Profiling"
-msgstr ""
+msgstr "Interrrompi Profiling"
#: tools/editor/editor_profiler.cpp
msgid "Start Profiling"
-msgstr ""
+msgstr "Inizia Profiling"
#: tools/editor/editor_profiler.cpp
msgid "Measure:"
-msgstr ""
+msgstr "Misura:"
#: tools/editor/editor_profiler.cpp
-#, fuzzy
msgid "Frame Time (sec)"
-msgstr "Tempo(i) di Crossfade: "
+msgstr "Tempo Frame (sec)"
#: tools/editor/editor_profiler.cpp
-#, fuzzy
msgid "Average Time (sec)"
-msgstr "Tempo(i) di Crossfade: "
+msgstr "Tempo Medio (sec)"
#: tools/editor/editor_profiler.cpp
-#, fuzzy
msgid "Frame %"
-msgstr "Aggiungi frame"
+msgstr "Frame %"
#: tools/editor/editor_profiler.cpp
-#, fuzzy
msgid "Fixed Frame %"
-msgstr "Aggiungi frame"
+msgstr "Frame Fisso %"
#: tools/editor/editor_profiler.cpp tools/editor/script_editor_debugger.cpp
msgid "Time:"
msgstr "Tempo:"
#: tools/editor/editor_profiler.cpp
-#, fuzzy
msgid "Inclusive"
-msgstr "Includi"
+msgstr "Inclusivo"
#: tools/editor/editor_profiler.cpp
msgid "Self"
-msgstr ""
+msgstr "Se stesso"
#: tools/editor/editor_profiler.cpp
msgid "Frame #:"
-msgstr ""
+msgstr "Frame #:"
#: tools/editor/editor_reimport_dialog.cpp
msgid "Please wait for scan to complete."
@@ -2014,7 +2095,7 @@ msgstr "Si prega di attendere che lo scan venga completato."
#: tools/editor/editor_reimport_dialog.cpp
msgid "Current scene must be saved to re-import."
-msgstr "La scena corrente deve essere salvata per re-importare,"
+msgstr "La scena corrente deve essere salvata per re-importare."
#: tools/editor/editor_reimport_dialog.cpp
msgid "Save & Re-Import"
@@ -2083,9 +2164,8 @@ msgid "Imported Resources"
msgstr "Risorse Importate"
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
-#, fuzzy
msgid "No bit masks to import!"
-msgstr "Nessun elemento da importare!"
+msgstr "Nessuna bit mask da importare!"
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
@@ -2116,9 +2196,8 @@ msgid "Save path is empty!"
msgstr "Il percorso di salvataggio è vuoto!"
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
-#, fuzzy
msgid "Import BitMasks"
-msgstr "Importa Textures"
+msgstr "Importa BitMasks"
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
@@ -2145,7 +2224,7 @@ msgstr "Accetta"
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
msgid "Bit Mask"
-msgstr ""
+msgstr "Bit Mask"
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
msgid "No source font file!"
@@ -2173,7 +2252,7 @@ msgstr "Dimensione Font sorgente:"
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
msgid "Dest Resource:"
-msgstr "Risorsa di dest."
+msgstr "Risorsa di destin. :"
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
msgid "The quick brown fox jumps over the lazy dog."
@@ -2225,12 +2304,12 @@ msgstr "Importa Mesh Singola"
#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
msgid "Source Mesh(es):"
-msgstr "Mesh Sorgente(i)"
+msgstr "Mesh Sorgente(i):"
#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Mesh"
-msgstr ""
+msgstr "Mesh"
#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
msgid "Surface %d"
@@ -2249,9 +2328,8 @@ msgid "Source Sample(s):"
msgstr "Sample Sorgente(i):"
#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
-#, fuzzy
msgid "Audio Sample"
-msgstr "Aggiungi Sample"
+msgstr "Sample Audio"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "New Clip"
@@ -2318,7 +2396,7 @@ msgstr "Il percorso sorgente è vuoto."
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Couldn't load post-import script."
-msgstr "Impossibile caricare script di post-importazione"
+msgstr "Impossibile caricare script di post-importazione."
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Invalid/broken script for post-import."
@@ -2354,12 +2432,11 @@ msgstr "Script di Post-Process:"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Custom Root Node Type:"
-msgstr ""
+msgstr "Tipo di Nodo Root Personalizzato:"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
-#, fuzzy
msgid "Auto"
-msgstr "AutoLoad"
+msgstr "Auto"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "The Following Files are Missing:"
@@ -2401,7 +2478,7 @@ msgstr "Script di post-import invalido/non funzionante:"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Error running post-import script:"
-msgstr "Errore di esecuzione dello script di post-import"
+msgstr "Errore di esecuzione dello script di post-import:"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Import Image:"
@@ -2420,9 +2497,8 @@ msgid "Saving.."
msgstr "Salvataggio.."
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
-#, fuzzy
msgid "3D Scene Animation"
-msgstr "Rinomina Animazione"
+msgstr "Animazione Scena 3D"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Uncompressed"
@@ -2446,7 +2522,7 @@ msgstr "Formato Texture"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Texture Compression Quality (WebP):"
-msgstr "Qualità Compressione Texture (WebP)"
+msgstr "Qualità Compressione Texture (WebP):"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Texture Options"
@@ -2489,18 +2565,16 @@ msgid "Import Large Textures (2D)"
msgstr "Importa Texture Grandi (2D)"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
-#, fuzzy
msgid "Source Texture"
-msgstr "Texture Sorgente:"
+msgstr "Texture Sorgente"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Base Atlas Texture"
msgstr "Texture Base Atlas"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
-#, fuzzy
msgid "Source Texture(s)"
-msgstr "Texture Sorgenti:"
+msgstr "Texture Sorgente(i)"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Import Textures for 2D"
@@ -2515,34 +2589,32 @@ msgid "Import Textures"
msgstr "Importa Textures"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
-#, fuzzy
msgid "2D Texture"
-msgstr "Texture Grande"
+msgstr "Texture 2D"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
-#, fuzzy
msgid "3D Texture"
-msgstr "Texture Grande"
+msgstr "Texture 3D"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
-#, fuzzy
msgid "Atlas Texture"
-msgstr "Texture Base Atlas"
+msgstr "Texture dell'Atlas"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid ""
"NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files to "
"the project."
msgstr ""
+"NOTA: Importare texture 2D non è obbligatorio. Basta copiare i file png/jpg "
+"nel progetto."
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Crop empty space."
msgstr "Ritaglia spazio vuoto."
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
-#, fuzzy
msgid "Texture"
-msgstr "Testo"
+msgstr "Texture"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Import Large Texture"
@@ -2578,7 +2650,7 @@ msgstr "Immagine Caricamento:"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Couldn't load image:"
-msgstr "Impossibile caricare immagine"
+msgstr "Impossibile caricare immagine:"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Converting Images"
@@ -2658,27 +2730,24 @@ msgid "Import Languages:"
msgstr "Importa Lingue:"
#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
-#, fuzzy
msgid "Translation"
-msgstr "Traduzioni"
+msgstr "Traduzione"
#: tools/editor/multi_node_edit.cpp
msgid "MultiNode Set"
msgstr "MultiNode Set"
#: tools/editor/node_dock.cpp
-#, fuzzy
msgid "Node"
-msgstr "Node Mix"
+msgstr "Nodo"
#: tools/editor/node_dock.cpp
-#, fuzzy
msgid "Groups"
-msgstr "Gruppi:"
+msgstr "Gruppi"
#: tools/editor/node_dock.cpp
msgid "Select a Node to edit Signals and Groups."
-msgstr ""
+msgstr "Seleziona un Nodo per modificare Segnali e Gruppi."
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
@@ -2721,7 +2790,7 @@ msgstr "Aggiungi Animazione"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Next Changed"
-msgstr "Blend Next Changed"
+msgstr "Fondi il Successivo Cambiato"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Blend Time"
@@ -2757,7 +2826,8 @@ msgstr "ERRORE: Nessuna animazione da modificare!"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Play selected animation backwards from current pos. (A)"
-msgstr "Esegui la seguente animazione al contrario dalla posizione corrente (A)"
+msgstr ""
+"Esegui la seguente animazione al contrario dalla posizione corrente (A)"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Play selected animation backwards from end. (Shift+A)"
@@ -2788,6 +2858,11 @@ msgid "Create new animation in player."
msgstr "Crea nuova animazione nel player."
#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Load animation from disk."
+msgstr "Carica un'animazione da disco."
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Load an animation from disk."
msgstr "Carica un'animazione da disco."
@@ -2796,6 +2871,11 @@ msgid "Save the current animation"
msgstr "Salva l'animazione corrente"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Save As"
+msgstr "Salva Come.."
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
msgstr "Mostra una lista di animazioni nel player."
@@ -2833,7 +2913,7 @@ msgstr "Errore!"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Blend Times:"
-msgstr "Tempi di Blend"
+msgstr "Tempi di Blend:"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Next (Auto Queue):"
@@ -2845,9 +2925,8 @@ msgstr "Tempi di Blend Cross-Animation"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
-#, fuzzy
msgid "Animation"
-msgstr "Animazioni"
+msgstr "Animazione"
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
msgid "New name:"
@@ -2856,7 +2935,7 @@ msgstr "Nuovo nome:"
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
#: tools/editor/plugins/multimesh_editor_plugin.cpp
msgid "Scale:"
-msgstr "Scala"
+msgstr "Scala:"
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
msgid "Fade In (s):"
@@ -2888,7 +2967,7 @@ msgstr "Restart Casuale(i):"
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
msgid "Start!"
-msgstr "Inizia"
+msgstr "Inizia!"
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
#: tools/editor/plugins/multimesh_editor_plugin.cpp
@@ -2909,11 +2988,11 @@ msgstr "Blend 1:"
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
msgid "X-Fade Time (s):"
-msgstr "Tempo(i) di Crossfade: "
+msgstr "Tempo(i) di Crossfade:"
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
msgid "Current:"
-msgstr "Corrente"
+msgstr "Corrente:"
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
msgid "Add Input"
@@ -3013,7 +3092,7 @@ msgstr "Aggiustando le Luci"
#: tools/editor/plugins/baked_light_baker.cpp
msgid "Making BVH"
-msgstr "Making BVH"
+msgstr "Creazione BVH"
#: tools/editor/plugins/baked_light_baker.cpp
msgid "Creating Light Octree"
@@ -3070,7 +3149,7 @@ msgstr "Offset Griglia:"
#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
#: tools/editor/plugins/texture_region_editor_plugin.cpp
msgid "Grid Step:"
-msgstr "Step:griglia"
+msgstr "Step Griglia:"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Rotation Offset:"
@@ -3159,11 +3238,11 @@ msgstr "Modalità di Pan"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Lock the selected object in place (can't be moved)."
-msgstr "Blocca l'oggetto selezionato sul posto (non può essere mosso)"
+msgstr "Blocca l'oggetto selezionato sul posto (non può essere mosso)."
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Unlock the selected object (can be moved)."
-msgstr "Sblocca l'oggetto selezionato (può essere mosso). "
+msgstr "Sblocca l'oggetto selezionato (può essere mosso)."
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Makes sure the object's children are not selectable."
@@ -3422,7 +3501,7 @@ msgstr "Crea Corpo Convesso Statico"
#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
msgid "This doesn't work on scene root!"
-msgstr "Questo non funziona sulla root della scena! "
+msgstr "Questo non funziona sulla root della scena!"
#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Trimesh Shape"
@@ -3528,7 +3607,7 @@ msgstr "Seleziona una Mesh Sorgente:"
#: tools/editor/plugins/multimesh_editor_plugin.cpp
msgid "Select a Target Surface:"
-msgstr "Seleziona una Superficie di Target: "
+msgstr "Seleziona una Superficie di Target:"
#: tools/editor/plugins/multimesh_editor_plugin.cpp
msgid "Populate Surface"
@@ -3560,11 +3639,11 @@ msgstr "Asse-Z"
#: tools/editor/plugins/multimesh_editor_plugin.cpp
msgid "Mesh Up Axis:"
-msgstr "Asse Mesh Su"
+msgstr "Asse Mesh Su:"
#: tools/editor/plugins/multimesh_editor_plugin.cpp
msgid "Random Rotation:"
-msgstr "Rotazione Casuale"
+msgstr "Rotazione Casuale:"
#: tools/editor/plugins/multimesh_editor_plugin.cpp
msgid "Random Tilt:"
@@ -3644,7 +3723,7 @@ msgstr "Cancella Emitter"
#: tools/editor/plugins/particles_editor_plugin.cpp
msgid "Create Emitter"
-msgstr "Crea Emitter:"
+msgstr "Crea Emitter"
#: tools/editor/plugins/particles_editor_plugin.cpp
msgid "Emission Positions:"
@@ -3846,7 +3925,7 @@ msgstr "Carica Risorsa"
#: tools/editor/plugins/rich_text_editor_plugin.cpp
msgid "Parse BBCode"
-msgstr "Parse BBCode"
+msgstr "Decodifica BBCode"
#: tools/editor/plugins/sample_editor_plugin.cpp
msgid "Length:"
@@ -3898,36 +3977,31 @@ msgid "Pitch"
msgstr "Pitch"
#: tools/editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Error while saving theme"
-msgstr "Errore durante il salvataggio."
+msgstr "Errore durante il salvataggio del tema"
#: tools/editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Error saving"
-msgstr "Errore di salvataggio dell'atlas:"
+msgstr "Errore di salvataggio"
#: tools/editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Error importing theme"
-msgstr "Errore di importazione scena."
+msgstr "Errore di importazione tema"
#: tools/editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Error importing"
-msgstr "Errore di importazione:"
+msgstr "Errore di importazione"
#: tools/editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Import Theme"
-msgstr "Importa Scena"
+msgstr "Importa Tema"
#: tools/editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Save Theme As.."
-msgstr "Salva Scena Come.."
+msgstr "Salva Tema Come.."
-#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/project_export.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/project_export.cpp
msgid "File"
msgstr "File"
@@ -3949,19 +4023,16 @@ msgid "History Next"
msgstr "Cronologia Prec."
#: tools/editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Reload Theme"
-msgstr "Ricarica"
+msgstr "Ricarica Tema"
#: tools/editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Save Theme"
-msgstr "Salva Scena"
+msgstr "Salva Tema"
#: tools/editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Save Theme As"
-msgstr "Salva Scena Come.."
+msgstr "Salva Tema Come"
#: tools/editor/plugins/script_editor_plugin.cpp
#: tools/editor/scene_tree_dock.cpp
@@ -3995,7 +4066,7 @@ msgstr "Completa Simbolo"
#: tools/editor/plugins/script_editor_plugin.cpp
msgid "Trim Trailing Whitespace"
-msgstr "Taglia Spazi in Coda "
+msgstr "Taglia Spazi in Coda"
#: tools/editor/plugins/script_editor_plugin.cpp
msgid "Auto Indent"
@@ -4003,12 +4074,8 @@ msgstr "Auto Indenta"
#: tools/editor/plugins/script_editor_plugin.cpp
#, fuzzy
-msgid "Reload Tool Script"
-msgstr "Crea Script Nodo"
-
-#: tools/editor/plugins/script_editor_plugin.cpp
-msgid "Reload Tool Script (Soft)"
-msgstr ""
+msgid "Soft Reload Script"
+msgstr "Ricarica Tool Script"
#: tools/editor/plugins/script_editor_plugin.cpp
#: tools/editor/plugins/shader_editor_plugin.cpp
@@ -4023,7 +4090,7 @@ msgstr "Trova Successivo"
#: tools/editor/plugins/script_editor_plugin.cpp
#: tools/editor/plugins/shader_editor_plugin.cpp
msgid "Find Previous"
-msgstr ""
+msgstr "Trova Precedente"
#: tools/editor/plugins/script_editor_plugin.cpp
#: tools/editor/plugins/shader_editor_plugin.cpp
@@ -4048,19 +4115,16 @@ msgid "Toggle Breakpoint"
msgstr "Abilita Breakpoint"
#: tools/editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Remove All Breakpoints"
-msgstr "Abilita Breakpoint"
+msgstr "Rimuovi Tutti i Breakpoints"
#: tools/editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Goto Next Breakpoint"
-msgstr "Vai a Step Successivo"
+msgstr "Vai a Breakpoint Successivo"
#: tools/editor/plugins/script_editor_plugin.cpp
-#, fuzzy
msgid "Goto Previous Breakpoint"
-msgstr "Abilita Breakpoint"
+msgstr "Vai a Breakpoint Precedente"
#: tools/editor/plugins/script_editor_plugin.cpp
#: tools/editor/script_editor_debugger.cpp
@@ -4103,7 +4167,8 @@ msgid "Help"
msgstr "Aiuto"
#: tools/editor/plugins/script_editor_plugin.cpp
-msgid "Contextual"
+#, fuzzy
+msgid "Contextual Help"
msgstr "Contestuale"
#: tools/editor/plugins/script_editor_plugin.cpp
@@ -4147,7 +4212,8 @@ msgid ""
"The following files are newer on disk.\n"
"What action should be taken?:"
msgstr ""
-"I file seguenti sono più recenti su disco. Che azione deve essere intrapresa?"
+"I file seguenti sono più recenti su disco.\n"
+"Che azione deve essere intrapresa?:"
#: tools/editor/plugins/script_editor_plugin.cpp
msgid "Reload"
@@ -4311,20 +4377,20 @@ msgid "Transform Aborted."
msgstr "Transform Abortito."
#: tools/editor/plugins/spatial_editor_plugin.cpp
-msgid "View Plane Transform."
-msgstr "Visualizza Tranform del Piano."
-
-#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "X-Axis Transform."
-msgstr "Transform Asse-X"
+msgstr "Transform Asse-X."
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Y-Axis Transform."
-msgstr "Transform Asse-Y"
+msgstr "Transform Asse-Y."
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Z-Axis Transform."
-msgstr "Transform Asse-Z"
+msgstr "Transform Asse-Z."
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View Plane Transform."
+msgstr "Visualizza Tranform del Piano."
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Scaling to %s%%."
@@ -4336,7 +4402,7 @@ msgstr "Ruotando di %s gradi."
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Bottom View."
-msgstr "Vista dal Basso"
+msgstr "Vista dal Basso."
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Bottom"
@@ -4408,7 +4474,7 @@ msgstr "Sinistra (Num3)"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Right (Shift+Num3)"
-msgstr "Right (Shift+Num3)"
+msgstr "Destra (Shift+Num3)"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Front (Num1)"
@@ -4467,9 +4533,8 @@ msgid "Scale Mode (R)"
msgstr "Modalità Scala (R)"
#: tools/editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Transform"
-msgstr "Tipo Transform"
+msgstr "Transform"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Local Coords"
@@ -4489,30 +4554,27 @@ msgstr "Usa sRGB Default"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "1 Viewport"
-msgstr ""
+msgstr "1 Vista"
#: tools/editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "2 Viewports"
-msgstr "Impostazioni Viewport"
+msgstr "2 Viste"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "2 Viewports (Alt)"
-msgstr ""
+msgstr "2 Viste (Alt)"
#: tools/editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "3 Viewports"
-msgstr "Impostazioni Viewport"
+msgstr "3 Viste"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "3 Viewports (Alt)"
-msgstr ""
+msgstr "3 Viste (Alt)"
#: tools/editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "4 Viewports"
-msgstr "Impostazioni Viewport"
+msgstr "4 Viste"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
@@ -4544,7 +4606,7 @@ msgstr "Impostazioni Snap"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Translate Snap:"
-msgstr "Trasla Snap: "
+msgstr "Trasla Snap:"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Rotate Snap (deg.):"
@@ -4668,23 +4730,23 @@ msgstr "Giù"
#: tools/editor/plugins/style_box_editor_plugin.cpp
msgid "StyleBox Preview:"
-msgstr "Anteprima StyleBox"
+msgstr "Anteprima StyleBox:"
#: tools/editor/plugins/texture_region_editor_plugin.cpp
-#, fuzzy
msgid "Texture Region Editor"
-msgstr "Editor Regioni Sprite"
+msgstr "Editor Regioni Texture"
#: tools/editor/plugins/texture_region_editor_plugin.cpp
-#, fuzzy
msgid "Scale Region Editor"
-msgstr "Editor Regioni Sprite"
+msgstr "Scala Editor Regioni"
#: tools/editor/plugins/texture_region_editor_plugin.cpp
msgid ""
"No texture in this node.\n"
"Set a texture to be able to edit region."
msgstr ""
+"Nessuna texture in questo nodo.\n"
+"Imposta una texture per poter modificare la regione."
#: tools/editor/plugins/theme_editor_plugin.cpp
msgid "Can't save theme to file:"
@@ -4712,7 +4774,13 @@ msgid "Remove Class Items"
msgstr "Rimuovi Elementi di Classe"
#: tools/editor/plugins/theme_editor_plugin.cpp
-msgid "Create Template"
+#, fuzzy
+msgid "Create Empty Template"
+msgstr "Crea Template"
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Create Empty Editor Template"
msgstr "Crea Template"
#: tools/editor/plugins/theme_editor_plugin.cpp
@@ -4799,34 +4867,42 @@ msgid "Erase TileMap"
msgstr "Cancella TileMap"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Bucket"
-msgstr "Secchiello"
-
-#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Pick Tile"
-msgstr "Preleva Tile"
-
-#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Select"
-msgstr "Seleziona"
+#, fuzzy
+msgid "Erase selection"
+msgstr "Elimina Selezione"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase Selection"
-msgstr "Elimina Selezione"
+#, fuzzy
+msgid "Find tile"
+msgstr "Trova Successivo"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
msgid "Transpose"
msgstr "Trasponi"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Mirror X (A)"
+#, fuzzy
+msgid "Mirror X"
msgstr "Specchia X (A)"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Mirror Y (S)"
+#, fuzzy
+msgid "Mirror Y"
msgstr "Specchia Y (A)"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Bucket"
+msgstr "Secchiello"
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Pick Tile"
+msgstr "Preleva Tile"
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Select"
+msgstr "Seleziona"
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr "Ruota a 0 gradi"
@@ -4860,11 +4936,11 @@ msgstr "Unisci da scena?"
#: tools/editor/plugins/tile_set_editor_plugin.cpp
msgid "Create from Scene"
-msgstr "Crea da Scena?"
+msgstr "Crea da Scena"
#: tools/editor/plugins/tile_set_editor_plugin.cpp
msgid "Merge from Scene"
-msgstr "Unisci da Scena?"
+msgstr "Unisci da Scena"
#: tools/editor/plugins/tile_set_editor_plugin.cpp
#: tools/editor/script_editor_debugger.cpp
@@ -4885,7 +4961,7 @@ msgstr "Errore di esportazione del progetto!"
#: tools/editor/project_export.cpp
msgid "Error writing the project PCK!"
-msgstr "Errore di scrittura del PCK del progetto."
+msgstr "Errore di scrittura del PCK del progetto!"
#: tools/editor/project_export.cpp
msgid "No exporter for platform '%s' yet."
@@ -4978,7 +5054,7 @@ msgstr ""
#: tools/editor/project_export.cpp
msgid "Convert text scenes to binary on export."
-msgstr "Converti le scene in formato testuale in binario all'esportazione. "
+msgstr "Converti le scene in formato testuale in binario all'esportazione."
#: tools/editor/project_export.cpp
msgid "Images"
@@ -5006,7 +5082,7 @@ msgstr "Qualità compressione per disco (Lossy):"
#: tools/editor/project_export.cpp
msgid "Shrink All Images:"
-msgstr "Riduci Tutte le Immagini: "
+msgstr "Riduci Tutte le Immagini:"
#: tools/editor/project_export.cpp
msgid "Compress Formats:"
@@ -5093,9 +5169,8 @@ msgid "Trailing Silence:"
msgstr "Silenzio di coda:"
#: tools/editor/project_export.cpp
-#, fuzzy
msgid "Script"
-msgstr "Esegui Script"
+msgstr "Script"
#: tools/editor/project_export.cpp
msgid "Script Export Mode:"
@@ -5212,14 +5287,12 @@ msgstr ""
"modificati)"
#: tools/editor/project_manager.cpp
-#, fuzzy
msgid "Project Manager"
-msgstr "Nome Progetto:"
+msgstr "Gestione Progetti"
#: tools/editor/project_manager.cpp
-#, fuzzy
msgid "Project List"
-msgstr "Esci alla Lista Progetti"
+msgstr "Lista Progetti"
#: tools/editor/project_manager.cpp
msgid "Run"
@@ -5239,22 +5312,19 @@ msgstr "Esci"
#: tools/editor/project_settings.cpp
msgid "Key "
-msgstr ""
+msgstr "Tasto "
#: tools/editor/project_settings.cpp
-#, fuzzy
msgid "Joy Button"
-msgstr "Pulsante"
+msgstr "Pulsante Joy"
#: tools/editor/project_settings.cpp
-#, fuzzy
msgid "Joy Axis"
-msgstr "Asse"
+msgstr "Asse Joy"
#: tools/editor/project_settings.cpp
-#, fuzzy
msgid "Mouse Button"
-msgstr "Indice Pulsante Mouse:"
+msgstr "Pulsante Mouse"
#: tools/editor/project_settings.cpp
msgid "Invalid action (anything goes but '/' or ':')."
@@ -5379,14 +5449,12 @@ msgstr ""
"globale esistente."
#: tools/editor/project_settings.cpp
-#, fuzzy
msgid "Autoload '%s' already exists!"
-msgstr "L'Azione '%s' esiste già!"
+msgstr "Autoload '%s' esiste già!"
#: tools/editor/project_settings.cpp
-#, fuzzy
msgid "Rename Autoload"
-msgstr "Rimuovi Autoload"
+msgstr "Rinomina Autoload"
#: tools/editor/project_settings.cpp
msgid "Toggle AutoLoad Globals"
@@ -5650,7 +5718,7 @@ msgstr "Scena Principale"
#: tools/editor/run_settings_dialog.cpp
msgid "Main Scene Arguments:"
-msgstr "Argomenti Scena Principale"
+msgstr "Argomenti Scena Principale:"
#: tools/editor/run_settings_dialog.cpp
msgid "Scene Run Settings"
@@ -5678,8 +5746,8 @@ msgstr "Ok"
#: tools/editor/scene_tree_dock.cpp
msgid ""
-"Cannot instance the scene '%s' because the current scene exists within one of "
-"its nodes."
+"Cannot instance the scene '%s' because the current scene exists within one "
+"of its nodes."
msgstr ""
"Impossibile istanziale la scena '%s' perché la scena corrente esiste in uno "
"dei suoi nodi."
@@ -5690,7 +5758,7 @@ msgstr "Istanzia Scena(e)"
#: tools/editor/scene_tree_dock.cpp
msgid "This operation can't be done on the tree root."
-msgstr "Questa operazione non può essere eseguita alla tree root"
+msgstr "Questa operazione non può essere eseguita alla radice dell'albero."
#: tools/editor/scene_tree_dock.cpp
msgid "Move Node In Parent"
@@ -5749,8 +5817,8 @@ msgid ""
"Couldn't save new scene. Likely dependencies (instances) couldn't be "
"satisfied."
msgstr ""
-"Impossibile salvare la scena. Probabili dipendenze (istanze) non hanno potuto "
-"essere soddisfatte."
+"Impossibile salvare la scena. Probabili dipendenze (istanze) non hanno "
+"potuto essere soddisfatte."
#: tools/editor/scene_tree_dock.cpp
msgid "Error saving scene."
@@ -5793,9 +5861,8 @@ msgid "Add Script"
msgstr "Aggiungi Script"
#: tools/editor/scene_tree_dock.cpp
-#, fuzzy
msgid "Merge From Scene"
-msgstr "Unisci da Scena?"
+msgstr "Unisci Da Scena"
#: tools/editor/scene_tree_dock.cpp
msgid "Save Branch as Scene"
@@ -5858,6 +5925,10 @@ msgid "Load As Placeholder"
msgstr "Carica come placeholder"
#: tools/editor/scene_tree_editor.cpp
+msgid "Discard Instancing"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "Apri nell Editor"
@@ -5916,9 +5987,8 @@ msgid "View Owners.."
msgstr "Vedi Proprietari.."
#: tools/editor/scenes_dock.cpp
-#, fuzzy
msgid "Copy Path"
-msgstr "Copia parametri"
+msgstr "Copia Percorso"
#: tools/editor/scenes_dock.cpp
msgid "Rename or Move.."
@@ -6022,7 +6092,7 @@ msgstr "Percorso valido"
#: tools/editor/script_create_dialog.cpp
msgid "Class Name:"
-msgstr "Nome Classe"
+msgstr "Nome Classe:"
#: tools/editor/script_create_dialog.cpp
msgid "Built-In Script"
@@ -6085,23 +6155,20 @@ msgid "Stack Trace (if applicable):"
msgstr "Stack Trace (se applicabile):"
#: tools/editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Remote Inspector"
-msgstr "Inspector"
+msgstr "Inspector Remoto"
#: tools/editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Live Scene Tree:"
-msgstr "Scene Tree:"
+msgstr "Scene Tree Live:"
#: tools/editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Remote Object Properties: "
-msgstr "Proprietà oggetto."
+msgstr "Proprietà Oggetto Remoto: "
#: tools/editor/script_editor_debugger.cpp
msgid "Profiler"
-msgstr ""
+msgstr "Profiler"
#: tools/editor/script_editor_debugger.cpp
msgid "Monitor"
@@ -6112,7 +6179,6 @@ msgid "Value"
msgstr "Valore"
#: tools/editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Monitors"
msgstr "Monitor"
@@ -6142,7 +6208,7 @@ msgstr "Utilizzo"
#: tools/editor/script_editor_debugger.cpp
msgid "Misc"
-msgstr ""
+msgstr "Vari"
#: tools/editor/script_editor_debugger.cpp
msgid "Clicked Control:"
@@ -6150,7 +6216,7 @@ msgstr "Clicked Control:"
#: tools/editor/script_editor_debugger.cpp
msgid "Clicked Control Type:"
-msgstr "Clicked Control Type:"
+msgstr "Tipo Clicked Control:"
#: tools/editor/script_editor_debugger.cpp
msgid "Live Edit Root:"
@@ -6158,11 +6224,11 @@ msgstr "Modifica Root Live:"
#: tools/editor/script_editor_debugger.cpp
msgid "Set From Tree"
-msgstr "Imposta da Tree:"
+msgstr "Imposta da Tree"
#: tools/editor/settings_config_dialog.cpp
msgid "Shortcuts"
-msgstr ""
+msgstr "Scorciatoie"
#: tools/editor/spatial_editor_gizmos.cpp
msgid "Change Light Radius"
@@ -6200,12 +6266,18 @@ msgstr "Cambia lunghezza Ray Shape"
msgid "Change Notifier Extents"
msgstr "Cambia Estensione di Notifier"
+#~ msgid "Binds (Extra Params):"
+#~ msgstr "Lega (Parametri Extra):"
+
+#~ msgid "Method In Node:"
+#~ msgstr "Metodo Nel Nodo:"
+
+#~ msgid "Reload Tool Script (Soft)"
+#~ msgstr "Ricarica Tool Script (Soft)"
+
#~ msgid "Edit Connections.."
#~ msgstr "Modifica Connessioni.."
-#~ msgid "Connections:"
-#~ msgstr "Connessioni:"
-
#~ msgid "Set Params"
#~ msgstr "Imposta parametri"
@@ -6249,8 +6321,8 @@ msgstr "Cambia Estensione di Notifier"
#~ msgstr ""
#~ "NOTA: Non sei obbligato ad importare le texture per i progetti 2D. È "
#~ "sufficiente copiare i tuoi file .jpg o .png nel tuo progetto, e cambiare "
-#~ "le opzioni di esportazione successivamente. Gli atlas possono essere anche "
-#~ "generati in esportazione."
+#~ "le opzioni di esportazione successivamente. Gli atlas possono essere "
+#~ "anche generati in esportazione."
#~ msgid "Overwrite Existing Scene"
#~ msgstr "Sovrascrivi Scena esistente"
diff --git a/tools/translations/ko.po b/tools/translations/ko.po
index 2a6ee8e06f..990a9aba82 100644
--- a/tools/translations/ko.po
+++ b/tools/translations/ko.po
@@ -1,21 +1,63 @@
-# LANGUAGE translation of the Godot Engine editor
+# Korean translation of the Godot Engine editor
# Copyright (C) 2016 Juan Linietsky, Ariel Manzur and the Godot community
# This file is distributed under the same license as the Godot source code.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+# volzhs <volzhs@gmail.com>, 2016.
#
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: \n"
-"Last-Translator: volzhs <volzhs@gmail.com>\n"
-"Language-Team: \n"
+"PO-Revision-Date: 2016-06-19 13:30+0000\n"
+"Last-Translator: 박한얼 <volzhs@gmail.com>\n"
+"Language-Team: Korean <https://hosted.weblate.org/projects/godot-"
+"engine/godot/ko/>\n"
"Language: ko\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.8.8\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Weblate 2.7-dev\n"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid type argument to convert(), use TYPE_* constants."
+msgstr "convert()하기 위한 ì¸ìž íƒ€ìž…ì´ ìœ íš¨í•˜ì§€ 않습니다, TYPE_* ìƒìˆ˜ë¥¼ 사용하세요."
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not enough bytes for decoding bytes, or invalid format."
+msgstr "디코딩할 ë°”ì´íŠ¸ê°€ 모ìžë¼ê±°ë‚˜, 유효하지 ì•Šì€ í˜•ì‹ìž…니다."
+
+#: modules/gdscript/gd_functions.cpp
+msgid "step argument is zero!"
+msgstr "ìŠ¤í… ì¸ìžê°€ 제로입니다!"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not a script with an instance"
+msgstr "스í¬ë¦½íŠ¸ì˜ ì¸ìŠ¤í„´ìŠ¤ê°€ 아님"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not based on a script"
+msgstr "스í¬ë¦½íŠ¸ì— ê¸°ë°˜í•˜ì§€ 않ìŒ"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not based on a resource file"
+msgstr "리소스 파ì¼ì— 기반하지 않ìŒ"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (missing @path)"
+msgstr "유효하지 ì•Šì€ ì¸ìŠ¤í„´ìŠ¤ Dictionary í˜•ì‹ (@path ì—†ìŒ)"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (can't load script at @path)"
+msgstr "유효하지 ì•Šì€ ì¸ìŠ¤í„´ìŠ¤ Dictionary í˜•ì‹ (@path ì—서 스í¬ë¦½íŠ¸ë¥¼ 로드할 수 ì—†ìŒ)"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (invalid script at @path)"
+msgstr "유효하지 ì•Šì€ ì¸ìŠ¤í„´ìŠ¤ Dictionary í˜•ì‹ (@pathì˜ ìŠ¤í¬ë¦½íŠ¸ê°€ 유효하지 않ìŒ)"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary (invalid subclasses)"
+msgstr "유효하지 ì•Šì€ ì¸ìŠ¤í„´ìŠ¤ Dictionary (서브í´ëž˜ìŠ¤ê°€ 유효하지 않ìŒ)"
#: scene/2d/animated_sprite.cpp
msgid ""
@@ -30,8 +72,8 @@ msgid ""
"Only one visible CanvasModulate is allowed per scene (or set of instanced "
"scenes). The first created one will work, while the rest will be ignored."
msgstr ""
-"씬마다 ë³´ì´ëŠ” CanvasModulateê°€ 단 하나만 허용ë©ë‹ˆë‹¤. 첫번째로 ìƒì„±ëœ 것만 ë™ìž‘"
-"하고, 나머지는 무시ë©ë‹ˆë‹¤."
+"씬마다 ë³´ì´ëŠ” CanvasModulateê°€ 단 하나만 허용ë©ë‹ˆë‹¤. 첫번째로 ìƒì„±ëœ 것만 ë™"
+"작하고, 나머지는 무시ë©ë‹ˆë‹¤."
#: scene/2d/collision_polygon_2d.cpp
msgid ""
@@ -40,8 +82,8 @@ msgid ""
"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape."
msgstr ""
"CollisionPolygon2D는 CollisionObject2Dì— ì¶©ëŒ ëª¨ì–‘ì„ ì§€ì •í•˜ê¸° 위해서만 사용ë©"
-"니다. Area2D, StaticBody2D, RigidBody2D, KinematicBody2D ë“±ì— ìžì‹ 노드로 추가"
-"하여 사용합니다."
+"니다. Area2D, StaticBody2D, RigidBody2D, KinematicBody2D ë“±ì— ìžì‹ 노드로 ì¶”"
+"가하여 사용합니다."
#: scene/2d/collision_polygon_2d.cpp
msgid "An empty CollisionPolygon2D has no effect on collision."
@@ -54,16 +96,16 @@ msgid ""
"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape."
msgstr ""
"CollisionShape2D는 CollisionObject2Dì— ì¶©ëŒ ëª¨ì–‘ì„ ì§€ì •í•˜ê¸° 위해서만 사용ë©ë‹ˆ"
-"다. Area2D, StaticBody2D, RigidBody2D, KinematicBody2D ë“±ì— ìžì‹ 노드로 추가하"
-"여 사용합니다."
+"다. Area2D, StaticBody2D, RigidBody2D, KinematicBody2D ë“±ì— ìžì‹ 노드로 추가"
+"하여 사용합니다."
#: scene/2d/collision_shape_2d.cpp
msgid ""
"A shape must be provided for CollisionShape2D to function. Please create a "
"shape resource for it!"
msgstr ""
-"CollisionShape2Dê°€ ê¸°ëŠ¥ì„ í•˜ê¸° 위해서는 반드시 ëª¨ì–‘ì´ ì œê³µë˜ì–´ì•¼ 합니다. 모양 "
-"리소스를 만드세요!"
+"CollisionShape2Dê°€ ê¸°ëŠ¥ì„ í•˜ê¸° 위해서는 반드시 ëª¨ì–‘ì´ ì œê³µë˜ì–´ì•¼ 합니다. 모"
+"양 리소스를 만드세요!"
#: scene/2d/light_2d.cpp
msgid ""
@@ -86,8 +128,8 @@ msgid ""
"A NavigationPolygon resource must be set or created for this node to work. "
"Please set a property or draw a polygon."
msgstr ""
-"ì´ ë…¸ë“œê°€ ë™ìž‘하기 위해서는 NavigationPolygon 리소스를 지정 ë˜ëŠ” ìƒì„±í•´ì•¼ 합니"
-"다. ì†ì„±ì„ 지정하거나, í´ë¦¬ê³¤ì„ 그리세요."
+"ì´ ë…¸ë“œê°€ ë™ìž‘하기 위해서는 NavigationPolygon 리소스를 지정 ë˜ëŠ” ìƒì„±í•´ì•¼ í•©"
+"니다. ì†ì„±ì„ 지정하거나, í´ë¦¬ê³¤ì„ 그리세요."
#: scene/2d/navigation_polygon.cpp
msgid ""
@@ -125,16 +167,16 @@ msgstr ""
#: scene/2d/sprite.cpp
msgid ""
-"Path property must point to a valid Viewport node to work. Such Viewport must "
-"be set to 'render target' mode."
+"Path property must point to a valid Viewport node to work. Such Viewport "
+"must be set to 'render target' mode."
msgstr ""
"Path ì†ì„±ì€ 유효한 Viewport 노드를 가리켜야 합니다. 가리킨 Viewport는 ë˜í•œ "
"'render target' 모드로 설정ë˜ì–´ì•¼ 합니다."
#: scene/2d/sprite.cpp
msgid ""
-"The Viewport set in the path property must be set as 'render target' in order "
-"for this sprite to work."
+"The Viewport set in the path property must be set as 'render target' in "
+"order for this sprite to work."
msgstr ""
"ì´ Spriteê°€ ë™ìž‘하기 위해서는 Path ì†ì„±ì— ì§€ì •ëœ Viewportê°€ 'render target'으"
"로 설정ë˜ì–´ì•¼ 합니다."
@@ -162,8 +204,8 @@ msgid ""
"A shape must be provided for CollisionShape to function. Please create a "
"shape resource for it!"
msgstr ""
-"CollisionShapeì´ ê¸°ëŠ¥ì„ í•˜ê¸° 위해서는 ëª¨ì–‘ì´ ì œê³µë˜ì–´ì•¼ 합니다. 모양 리소스를 "
-"만드세요!"
+"CollisionShapeì´ ê¸°ëŠ¥ì„ í•˜ê¸° 위해서는 ëª¨ì–‘ì´ ì œê³µë˜ì–´ì•¼ 합니다. 모양 리소스"
+"를 만드세요!"
#: scene/3d/collision_polygon.cpp
msgid ""
@@ -187,11 +229,11 @@ msgstr ""
#: scene/3d/navigation_mesh.cpp
msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. It "
-"only provides navigation data."
+"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
+"It only provides navigation data."
msgstr ""
-"NavigationMeshInstanceì€ Navigation ë…¸ë“œì˜ í•˜ìœ„ì— ìžˆì–´ì•¼ 합니다. ì´ê²ƒì€ 네비게"
-"ì´ì…˜ ë°ì´íƒ€ë§Œì„ 제공합니다."
+"NavigationMeshInstanceì€ Navigation ë…¸ë“œì˜ í•˜ìœ„ì— ìžˆì–´ì•¼ 합니다. ì´ê²ƒì€ 네비"
+"게ì´ì…˜ ë°ì´íƒ€ë§Œì„ 제공합니다."
#: scene/3d/scenario_fx.cpp
msgid ""
@@ -390,7 +432,8 @@ msgstr "붙여넣기"
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
#: tools/editor/plugins/script_editor_plugin.cpp
-#: tools/editor/plugins/shader_editor_plugin.cpp tools/editor/project_export.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+#: tools/editor/project_export.cpp
msgid "Select All"
msgstr "ì „ì²´ì„ íƒ"
@@ -410,8 +453,8 @@ msgstr "ë˜ëŒë¦¬ê¸°"
#: scene/gui/popup.cpp
msgid ""
"Popups will hide by default unless you call popup() or any of the popup*() "
-"functions. Making them visible for editing is fine though, but they will hide "
-"upon running."
+"functions. Making them visible for editing is fine though, but they will "
+"hide upon running."
msgstr ""
"Popupì€ popup() ë˜ëŠ” 기타 popup*() 함수를 호출하기 전까지는 기본ì ìœ¼ë¡œ 숨겨집"
"니다. í™”ë©´ì„ íŽ¸ì§‘í•˜ëŠ” ë™ì•ˆ 보여지ë„ë¡ í•  수는 있으나, 실행시ì—는 숨겨집니다."
@@ -424,29 +467,29 @@ msgid ""
"texture to some node for display."
msgstr ""
"Viewportê°€ Render Target으로 설정ë˜ì§€ 않았습니다. Viewportì˜ ë‚´ìš©ì„ í™”ë©´ìƒì— "
-"ì§ì ‘ í‘œì‹œí•˜ê³ ìž í•  경우, 사ì´ì¦ˆë¥¼ 얻기 위해서 Controlì˜ ìžì‹ 노드로 만들어야합"
-"니다. 그렇지 ì•Šì„ ê²½ìš°, í™”ë©´ì— í‘œì‹œí•˜ê¸° 위해서는 Render target으로 설정하고 ë‚´"
-"ë¶€ì ì¸ í…스ì³ë¥¼ 다른 ë…¸ë“œì— í• ë‹¹í•´ì•¼ 합니다."
+"ì§ì ‘ í‘œì‹œí•˜ê³ ìž í•  경우, 사ì´ì¦ˆë¥¼ 얻기 위해서 Controlì˜ ìžì‹ 노드로 만들어야"
+"합니다. 그렇지 ì•Šì„ ê²½ìš°, í™”ë©´ì— í‘œì‹œí•˜ê¸° 위해서는 Render target으로 설정하"
+"ê³  ë‚´ë¶€ì ì¸ í…스ì³ë¥¼ 다른 ë…¸ë“œì— í• ë‹¹í•´ì•¼ 합니다."
#: scene/resources/dynamic_font.cpp
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
msgid "Error initializing FreeType."
-msgstr "FreeType 초기화 ì—러"
+msgstr "FreeType 초기화 ì—러."
#: scene/resources/dynamic_font.cpp
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
msgid "Unknown font format."
-msgstr "알 수 없는 í°íЏ í¬ë©§"
+msgstr "알 수 없는 í°íЏ í¬ë©§."
#: scene/resources/dynamic_font.cpp
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
msgid "Error loading font."
-msgstr "í°íЏ 로딩 ì—러"
+msgstr "í°íЏ 로딩 ì—러."
#: scene/resources/dynamic_font.cpp
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
msgid "Invalid font size."
-msgstr "유요하지 ì•Šì€ í°íЏ 사ì´ì¦ˆ"
+msgstr "유요하지 ì•Šì€ í°íЏ 사ì´ì¦ˆ."
#: tools/editor/animation_editor.cpp
msgid "Disabled"
@@ -525,6 +568,18 @@ msgid "Anim Delete Keys"
msgstr "키 삭제"
#: tools/editor/animation_editor.cpp
+msgid "Continuous"
+msgstr "ì—°ì†ì ì¸"
+
+#: tools/editor/animation_editor.cpp
+msgid "Discrete"
+msgstr "비연ì†ì ì¸"
+
+#: tools/editor/animation_editor.cpp
+msgid "Trigger"
+msgstr "트리거"
+
+#: tools/editor/animation_editor.cpp
msgid "Anim Add Key"
msgstr "키 추가"
@@ -632,6 +687,10 @@ msgid "Change Anim Loop"
msgstr "애니메ì´ì…˜ 루프 변경"
#: tools/editor/animation_editor.cpp
+msgid "Change Anim Loop Interpolation"
+msgstr "애니메ì´ì…˜ 루프 ë³´ê°„ 변경"
+
+#: tools/editor/animation_editor.cpp
msgid "Anim Create Typed Value Key"
msgstr "애니메ì´ì…˜ 타입지정 ê°’ 키 만들기"
@@ -669,23 +728,27 @@ msgstr "커서 단계 스냅 (초)."
#: tools/editor/animation_editor.cpp
msgid "Enable/Disable looping in animation."
-msgstr "애니메ì´ì…˜ 루프 활성화/비활성화 "
+msgstr "애니메ì´ì…˜ 루프 활성화/비활성화."
+
+#: tools/editor/animation_editor.cpp
+msgid "Enable/Disable interpolation when looping animation."
+msgstr "애니메ì´ì…˜ 루프 시 ë³´ê°„ 활성화/비활성화."
#: tools/editor/animation_editor.cpp
msgid "Add new tracks."
-msgstr "새 트랙 추가"
+msgstr "새 트랙 추가."
#: tools/editor/animation_editor.cpp
msgid "Move current track up."
-msgstr "현재 íŠ¸ëž™ì„ ìœ„ë¡œ ì´ë™"
+msgstr "현재 íŠ¸ëž™ì„ ìœ„ë¡œ ì´ë™."
#: tools/editor/animation_editor.cpp
msgid "Move current track down."
-msgstr "현재 íŠ¸ëž™ì„ ì•„ëž˜ë¡œ ì´ë™"
+msgstr "현재 íŠ¸ëž™ì„ ì•„ëž˜ë¡œ ì´ë™."
#: tools/editor/animation_editor.cpp
msgid "Remove selected track."
-msgstr "ì„ íƒëœ 트랙 ì‚­ì œ"
+msgstr "ì„ íƒëœ 트랙 ì‚­ì œ."
#: tools/editor/animation_editor.cpp
msgid "Track tools"
@@ -693,7 +756,7 @@ msgstr "트랙 ë„구"
#: tools/editor/animation_editor.cpp
msgid "Enable editing of individual keys by clicking them."
-msgstr "개별 키를 í´ë¦­í•¨ìœ¼ë¡œì¨ 편집 활성화"
+msgstr "개별 키를 í´ë¦­í•¨ìœ¼ë¡œì¨ 편집 활성화."
#: tools/editor/animation_editor.cpp
msgid "Anim. Optimizer"
@@ -858,7 +921,7 @@ msgstr "ì¼ì¹˜ ê²°ê³¼ ì—†ìŒ"
#: tools/editor/code_editor.cpp
msgid "Replaced %d Ocurrence(s)."
-msgstr "%d 회 바뀜"
+msgstr "%d 회 변경ë¨."
#: tools/editor/code_editor.cpp
msgid "Replace"
@@ -897,11 +960,11 @@ msgstr "다ìŒ"
#: tools/editor/code_editor.cpp
msgid "Replaced %d ocurrence(s)."
-msgstr "%d 회 바뀜"
+msgstr "%d 회 변경ë¨."
#: tools/editor/code_editor.cpp
msgid "Not found!"
-msgstr "ì°¾ì„ ìˆ˜ 없습니다."
+msgstr "ì°¾ì„ ìˆ˜ 없습니다!"
#: tools/editor/code_editor.cpp
msgid "Replace By"
@@ -933,16 +996,12 @@ msgstr "칼럼:"
#: tools/editor/connections_dialog.cpp
msgid "Method in target Node must be specified!"
-msgstr "ëŒ€ìƒ ë…¸ë“œì˜ í•¨ìˆ˜ë¥¼ 명시해야합니다."
+msgstr "ëŒ€ìƒ ë…¸ë“œì˜ í•¨ìˆ˜ë¥¼ 명시해야합니다!"
#: tools/editor/connections_dialog.cpp
-msgid "Connect To Node:"
+msgid "Conect To Node:"
msgstr "연결할 노드:"
-#: tools/editor/connections_dialog.cpp
-msgid "Binds (Extra Params):"
-msgstr "ë°”ì¸ë“œ (추가 파ë¼ë¯¸í„°):"
-
#: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp
#: tools/editor/plugins/item_list_editor_plugin.cpp
#: tools/editor/plugins/theme_editor_plugin.cpp
@@ -952,17 +1011,22 @@ msgstr "추가"
#: tools/editor/connections_dialog.cpp tools/editor/dependency_editor.cpp
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
-#: tools/editor/plugins/theme_editor_plugin.cpp tools/editor/project_manager.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+#: tools/editor/project_manager.cpp
msgid "Remove"
msgstr "삭제"
#: tools/editor/connections_dialog.cpp
-msgid "Path To Node:"
-msgstr "노드 경로"
+msgid "Add Extra Call Argument:"
+msgstr "별ë„ì˜ í˜¸ì¶œ ì¸ìž 추가:"
#: tools/editor/connections_dialog.cpp
-msgid "Method In Node:"
-msgstr "ë…¸ë“œì˜ í•¨ìˆ˜:"
+msgid "Extra Call Arguments:"
+msgstr "별ë„ì˜ í˜¸ì¶œ ì¸ìž:"
+
+#: tools/editor/connections_dialog.cpp
+msgid "Path to Node:"
+msgstr "노드 경로:"
#: tools/editor/connections_dialog.cpp
msgid "Make Function"
@@ -985,6 +1049,10 @@ msgid "Connect '%s' to '%s'"
msgstr "'%s'를 '%s'ì— ì—°ê²°"
#: tools/editor/connections_dialog.cpp
+msgid "Connecting Signal:"
+msgstr "ì‹œê·¸ë„ ì—°ê²°:"
+
+#: tools/editor/connections_dialog.cpp
msgid "Create Subscription"
msgstr "연결 해제"
@@ -1125,7 +1193,8 @@ msgid "Delete selected files?"
msgstr "ì„ íƒëœ 파ì¼ë“¤ì„ 삭제하시겠습니까?"
#: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp
-#: tools/editor/plugins/item_list_editor_plugin.cpp tools/editor/scenes_dock.cpp
+#: tools/editor/plugins/item_list_editor_plugin.cpp
+#: tools/editor/scenes_dock.cpp
msgid "Delete"
msgstr "삭제"
@@ -1163,7 +1232,7 @@ msgstr "미리보기:"
#: tools/editor/editor_file_system.cpp
msgid "Cannot go into subdir:"
-msgstr "하위 디렉토리로 ì´ë™í•  수 없습니다."
+msgstr "하위 디렉토리로 ì´ë™í•  수 없습니다:"
#: tools/editor/editor_file_system.cpp
msgid "ScanSources"
@@ -1260,7 +1329,7 @@ msgstr "설정 중.."
#: tools/editor/editor_log.cpp
msgid " Output:"
-msgstr "출력:"
+msgstr " 출력:"
#: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp
msgid "Re-Importing"
@@ -1326,7 +1395,7 @@ msgstr ""
#: tools/editor/editor_node.cpp
msgid "Failed to load resource."
-msgstr "리소스 로드 실패"
+msgstr "리소스 로드 실패."
#: tools/editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
@@ -1415,7 +1484,7 @@ msgstr "현재 ì”¬ì´ ì €ìž¥ë˜ì§€ 않았습니다. ì‹¤í–‰ì „ì— ì €ìž¥í•´ì£¼ì„¸
#: tools/editor/editor_node.cpp
msgid "Could not start subprocess!"
-msgstr "서브 프로세스를 시작할 수 없습니다."
+msgstr "서브 프로세스를 시작할 수 없습니다!"
#: tools/editor/editor_node.cpp
msgid "Open Scene"
@@ -1507,8 +1576,8 @@ msgstr "오우"
#: tools/editor/editor_node.cpp
msgid ""
-"Error loading scene, it must be inside the project path. Use 'Import' to open "
-"the scene, then save it inside the project path."
+"Error loading scene, it must be inside the project path. Use 'Import' to "
+"open the scene, then save it inside the project path."
msgstr ""
"씬 로딩 중 ì—러가 ë°œìƒí–ˆìŠµë‹ˆë‹¤. 프로ì íЏ 경로 ì•ˆì— ì¡´ìž¬í•´ì•¼ 합니다. '가져오"
"기'로 ì”¬ì„ ì—° 후ì—, 프로ì íЏ 경로 ì•ˆì— ì €ìž¥í•˜ì„¸ìš”."
@@ -1531,7 +1600,7 @@ msgstr "ë ˆì´ì•„웃 로드"
#: tools/editor/editor_node.cpp tools/editor/project_export.cpp
msgid "Default"
-msgstr ""
+msgstr "Default"
#: tools/editor/editor_node.cpp
msgid "Delete Layout"
@@ -1556,11 +1625,19 @@ msgstr "씬"
#: tools/editor/editor_node.cpp
msgid "Go to previously opened scene."
-msgstr "ì´ì „ì— ì—´ì—ˆë˜ ì”¬ìœ¼ë¡œ 가기"
+msgstr "ì´ì „ì— ì—´ì—ˆë˜ ì”¬ìœ¼ë¡œ 가기."
+
+#: tools/editor/editor_node.cpp
+msgid "Fullscreen Mode"
+msgstr "전체화면 모드"
+
+#: tools/editor/editor_node.cpp
+msgid "Distraction Free Mode"
+msgstr "초집중 모드"
#: tools/editor/editor_node.cpp
msgid "Operations with scene files."
-msgstr "씬 íŒŒì¼ ë™ìž‘"
+msgstr "씬 íŒŒì¼ ë™ìž‘."
#: tools/editor/editor_node.cpp
msgid "New Scene"
@@ -1633,7 +1710,7 @@ msgstr "종료하고 프로ì íЏ 목ë¡ìœ¼ë¡œ ëŒì•„가기"
#: tools/editor/editor_node.cpp
msgid "Import assets to the project."
-msgstr "프로ì íŠ¸ë¡œ ì—ì…‹ 가져오기"
+msgstr "프로ì íŠ¸ë¡œ ì—ì…‹ 가져오기."
#: tools/editor/editor_node.cpp
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
@@ -1657,7 +1734,7 @@ msgstr "ë„구"
#: tools/editor/editor_node.cpp
msgid "Export the project to many platforms."
-msgstr "프로ì íŠ¸ë¥¼ ë§Žì€ í”Œëž«í¼ìœ¼ë¡œ 내보내기"
+msgstr "프로ì íŠ¸ë¥¼ ë§Žì€ í”Œëž«í¼ìœ¼ë¡œ 내보내기."
#: tools/editor/editor_node.cpp tools/editor/project_export.cpp
msgid "Export"
@@ -1682,7 +1759,7 @@ msgstr "씬 ì¼ì‹œ ì •ì§€"
#: tools/editor/editor_node.cpp
msgid "Stop the scene."
-msgstr "씬 정지"
+msgstr "씬 정지."
#: tools/editor/editor_node.cpp
#: tools/editor/plugins/sample_library_editor_plugin.cpp
@@ -1691,7 +1768,7 @@ msgstr "ì •ì§€"
#: tools/editor/editor_node.cpp
msgid "Play the edited scene."
-msgstr "편집 ì¤‘ì¸ ì”¬ 실행"
+msgstr "편집 ì¤‘ì¸ ì”¬ 실행."
#: tools/editor/editor_node.cpp
msgid "Play Scene"
@@ -1711,8 +1788,8 @@ msgstr "ì›ê²© 디버그 ë°°í¬"
#: tools/editor/editor_node.cpp
msgid ""
-"When exporting or deploying, the resulting executable will attempt to connect "
-"to the IP of this computer in order to be debugged."
+"When exporting or deploying, the resulting executable will attempt to "
+"connect to the IP of this computer in order to be debugged."
msgstr ""
"내보내기나 ë°°í¬ë¥¼ í•  때, 실행 파ì¼ì´ ë””ë²„ê¹…ì„ ìœ„í•´ì„œ ì´ ì»´í“¨í„°ì˜ IP로 ì—°ê²°ì„ "
"시ë„합니다."
@@ -1727,14 +1804,15 @@ msgid ""
"executable.\n"
"The filesystem will be provided from the project by the editor over the "
"network.\n"
-"On Android, deploy will use the USB cable for faster performance. This option "
-"speeds up testing for games with a large footprint."
+"On Android, deploy will use the USB cable for faster performance. This "
+"option speeds up testing for games with a large footprint."
msgstr ""
"ì´ ì˜µì…˜ì´ í™œì„±í™” ë˜ì–´ ìžˆì„ ê²½ìš°, 내보내기나 ë°°í¬ëŠ” ìµœì†Œí•œì˜ ì‹¤í–‰íŒŒì¼ì„ ìƒì„±í•©"
"니다.\n"
"íŒŒì¼ ì‹œìŠ¤í…œì€ ë„¤íŠ¸ì›Œí¬ë¥¼ 통해서 ì—디터 ìƒì˜ 프로ì íŠ¸ê°€ 제공합니다.\n"
-"안드로ì´ë“œì˜ 경우, USB ì¼€ì´ë¸”ì„ ì‚¬ìš©í•˜ì—¬ ë°°í¬í•  경우 ë” ë¹ ë¥¸ í¼í¬ë¨¼ìŠ¤ë¥¼ 제공합"
-"니다. ì´ ì˜µì…˜ì€ í° ì„¤ì¹˜ ìš©ëŸ‰ì„ ìš”êµ¬í•˜ëŠ” ê²Œìž„ì˜ í…ŒìŠ¤íŠ¸ë¥¼ 빠르게 í•  수 있습니다."
+"안드로ì´ë“œì˜ 경우, USB ì¼€ì´ë¸”ì„ ì‚¬ìš©í•˜ì—¬ ë°°í¬í•  경우 ë” ë¹ ë¥¸ í¼í¬ë¨¼ìŠ¤ë¥¼ 제공"
+"합니다. ì´ ì˜µì…˜ì€ í° ì„¤ì¹˜ ìš©ëŸ‰ì„ ìš”êµ¬í•˜ëŠ” ê²Œìž„ì˜ í…ŒìŠ¤íŠ¸ë¥¼ 빠르게 í•  수 있습니"
+"다."
#: tools/editor/editor_node.cpp
msgid "Visible Collision Shapes"
@@ -1745,8 +1823,8 @@ msgid ""
"Collision shapes and raycast nodes (for 2D and 3D) will be visible on the "
"running game if this option is turned on."
msgstr ""
-"ì´ ì˜µì…˜ì´ í™œì„±í™” ë˜ì–´ ìžˆì„ ê²½ìš°, ê²Œìž„ì´ ì‹¤í–‰ë˜ëŠ” ë™ì•ˆ (2D와 3Dì˜) ì¶©ëŒ ëª¨ì–‘ê³¼ "
-"Raycast 노드가 표시ë©ë‹ˆë‹¤."
+"ì´ ì˜µì…˜ì´ í™œì„±í™” ë˜ì–´ ìžˆì„ ê²½ìš°, ê²Œìž„ì´ ì‹¤í–‰ë˜ëŠ” ë™ì•ˆ (2D와 3Dì˜) ì¶©ëŒ ëª¨ì–‘"
+"ê³¼ Raycast 노드가 표시ë©ë‹ˆë‹¤."
#: tools/editor/editor_node.cpp
msgid "Visible Navigation"
@@ -1757,8 +1835,8 @@ msgid ""
"Navigation meshes and polygons will be visible on the running game if this "
"option is turned on."
msgstr ""
-"ì´ ì˜µì…˜ì´ í™œì„±í™” ë˜ì–´ ìžˆì„ ê²½ìš°, ê²Œìž„ì´ ì‹¤í–‰ë˜ëŠ” ë™ì•ˆ 네비게ì´ì…˜ 메쉬가 표시ë©"
-"니다."
+"ì´ ì˜µì…˜ì´ í™œì„±í™” ë˜ì–´ ìžˆì„ ê²½ìš°, ê²Œìž„ì´ ì‹¤í–‰ë˜ëŠ” ë™ì•ˆ 네비게ì´ì…˜ 메쉬가 표시"
+"ë©ë‹ˆë‹¤."
#: tools/editor/editor_node.cpp
msgid "Sync Scene Changes"
@@ -1771,10 +1849,10 @@ msgid ""
"When used remotely on a device, this is more efficient with network "
"filesystem."
msgstr ""
-"ì´ ì˜µì…˜ì´ í™œì„±í™” ë˜ì–´ ìžˆì„ ê²½ìš°, ì—디터ìƒì˜ ì”¬ì˜ ë³€ê²½ì‚¬í•­ì´ ì‹¤í–‰ì¤‘ì¸ ê²Œìž„ì— ë°˜"
-"ì˜ë©ë‹ˆë‹¤.\n"
-"ê¸°ê¸°ì— ì›ê²©ìœ¼ë¡œ 사용ë˜ëŠ” 경우, ë„¤íŠ¸ì›Œí¬ íŒŒì¼ ì‹œìŠ¤í…œê³¼ 함께하면 ë”ìš± 효과ì ìž…니"
-"다."
+"ì´ ì˜µì…˜ì´ í™œì„±í™” ë˜ì–´ ìžˆì„ ê²½ìš°, ì—디터ìƒì˜ ì”¬ì˜ ë³€ê²½ì‚¬í•­ì´ ì‹¤í–‰ì¤‘ì¸ ê²Œìž„ì— "
+"ë°˜ì˜ë©ë‹ˆë‹¤.\n"
+"ê¸°ê¸°ì— ì›ê²©ìœ¼ë¡œ 사용ë˜ëŠ” 경우, ë„¤íŠ¸ì›Œí¬ íŒŒì¼ ì‹œìŠ¤í…œê³¼ 함께하면 ë”ìš± 효과ì ìž…"
+"니다."
#: tools/editor/editor_node.cpp
msgid "Sync Script Changes"
@@ -1789,8 +1867,8 @@ msgid ""
msgstr ""
"ì´ ì˜µì…˜ì´ í™œì„±í™” ë˜ì–´ ìžˆì„ ê²½ìš°, 스í¬ë¦½íŠ¸ë¥¼ 수정하고 저장하면 ì‹¤í–‰ì¤‘ì¸ ê²Œìž„ì—"
"서 다시 ì½ì–´ 들입니다.\n"
-"ê¸°ê¸°ì— ì›ê²©ìœ¼ë¡œ 사용ë˜ëŠ” 경우, ë„¤íŠ¸ì›Œí¬ íŒŒì¼ ì‹œìŠ¤í…œê³¼ 함께하면 ë”ìš± 효과ì ìž…니"
-"다."
+"ê¸°ê¸°ì— ì›ê²©ìœ¼ë¡œ 사용ë˜ëŠ” 경우, ë„¤íŠ¸ì›Œí¬ íŒŒì¼ ì‹œìŠ¤í…œê³¼ 함께하면 ë”ìš± 효과ì ìž…"
+"니다."
#: tools/editor/editor_node.cpp tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Settings"
@@ -1842,25 +1920,23 @@ msgstr "디스í¬ì—서 기존 리소스를 로드하여 편집합니다."
#: tools/editor/editor_node.cpp
msgid "Save the currently edited resource."
-msgstr "현재 íŽ¸ì§‘ëœ ë¦¬ì†ŒìŠ¤ 저장"
+msgstr "현재 íŽ¸ì§‘ëœ ë¦¬ì†ŒìŠ¤ 저장."
-#: tools/editor/editor_node.cpp
-#: tools/editor/plugins/animation_player_editor_plugin.cpp
-#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp
msgid "Save As.."
-msgstr "다른 ì´ë¦„으로 저장"
+msgstr "다른 ì´ë¦„으로 저장.."
#: tools/editor/editor_node.cpp
msgid "Go to the previous edited object in history."
-msgstr "ížˆìŠ¤í† ë¦¬ìƒ ì´ì „ì— íŽ¸ì§‘í•œ 오브ì íŠ¸ë¡œ 가기"
+msgstr "ížˆìŠ¤í† ë¦¬ìƒ ì´ì „ì— íŽ¸ì§‘í•œ 오브ì íŠ¸ë¡œ 가기."
#: tools/editor/editor_node.cpp
msgid "Go to the next edited object in history."
-msgstr "ížˆìŠ¤í† ë¦¬ìƒ ë‹¤ìŒì— 편집한 오브ì íŠ¸ë¡œ 가기"
+msgstr "ížˆìŠ¤í† ë¦¬ìƒ ë‹¤ìŒì— 편집한 오브ì íŠ¸ë¡œ 가기."
#: tools/editor/editor_node.cpp
msgid "History of recently edited objects."
-msgstr "최근 편집 오브ì íЏ 히스토리"
+msgstr "최근 편집 오브ì íЏ 히스토리."
#: tools/editor/editor_node.cpp
msgid "Object properties."
@@ -2037,7 +2113,7 @@ msgstr "노드ì—서 가져오기:"
#: tools/editor/file_type_cache.cpp
msgid "Can't open file_type_cache.cch for writing, not saving file type cache!"
-msgstr "file_type_cache.cch를 열수 없어서, íŒŒì¼ íƒ€ìž… ìºì‰¬ë¥¼ 저장하지 않습니다."
+msgstr "file_type_cache.cch를 열수 없어서, íŒŒì¼ íƒ€ìž… ìºì‰¬ë¥¼ 저장하지 않습니다!"
#: tools/editor/groups_editor.cpp
msgid "Add to Group"
@@ -2060,7 +2136,7 @@ msgstr "가져올 비트 마스í¬ê°€ 없습니다!"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Target path is empty."
-msgstr "ëŒ€ìƒ ê²½ë¡œê°€ 없습니다!"
+msgstr "ëŒ€ìƒ ê²½ë¡œê°€ 없습니다."
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
@@ -2119,7 +2195,7 @@ msgstr "소스 í°íЏ 파ì¼ì´ 없습니다!"
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
msgid "No target font resource!"
-msgstr "í°íЏ 리소스 경로가 없습니다."
+msgstr "í°íЏ 리소스 경로가 없습니다!"
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
msgid "Can't load/process source font."
@@ -2143,7 +2219,7 @@ msgstr "리소스 경로:"
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
msgid "The quick brown fox jumps over the lazy dog."
-msgstr ""
+msgstr "The quick brown fox jumps over the lazy dog."
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
msgid "Test:"
@@ -2289,7 +2365,7 @@ msgstr "가져오기 후 실행할 스í¬ë¦½íŠ¸ê°€ 유효하지 않거나 깨져
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Error importing scene."
-msgstr "씬 가져오기 ì—러"
+msgstr "씬 가져오기 ì—러."
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Import 3D Scene"
@@ -2489,8 +2565,8 @@ msgid ""
"NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files to "
"the project."
msgstr ""
-"알림: 2D í…ìŠ¤ì³ ê°€ì ¸ì˜¤ê¸°ê°€ 필수는 아닙니다. png/jpg 파ì¼ë“¤ì„ 프로ì íŠ¸ì— ë³µì‚¬í•´"
-"서 ì‚¬ìš©í•´ë„ ë©ë‹ˆë‹¤."
+"알림: 2D í…ìŠ¤ì³ ê°€ì ¸ì˜¤ê¸°ê°€ 필수는 아닙니다. png/jpg 파ì¼ë“¤ì„ 프로ì íŠ¸ì— ë³µì‚¬"
+"해서 ì‚¬ìš©í•´ë„ ë©ë‹ˆë‹¤."
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Crop empty space."
@@ -2643,7 +2719,7 @@ msgstr "새 애니메ì´ì…˜ ì´ë¦„:"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "New Anim"
-msgstr ""
+msgstr "New Anim"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Change Animation Name:"
@@ -2738,19 +2814,27 @@ msgstr "애니메ì´ì…˜ ìž¬ìƒ ì†ë„를 ì „ì²´ì ìœ¼ë¡œ ì¡°ì ˆ."
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Create new animation in player."
-msgstr "새로운 애니메ì´ì…˜ 만들기"
+msgstr "새로운 애니메ì´ì…˜ 만들기."
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Load animation from disk."
+msgstr "디스í¬ì—서 애니메ì´ì…˜ 로드."
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Load an animation from disk."
-msgstr "디스í¬ì—서 애니메ì´ì…˜ 로드"
+msgstr "디스í¬ì—서 애니메ì´ì…˜ 로드."
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Save the current animation"
msgstr "현재 애니메ì´ì…˜ 저장"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Save As"
+msgstr "다른 ì´ë¦„으로 저장"
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
-msgstr "애니메ì´ì…˜ ëª©ë¡ í‘œì‹œ"
+msgstr "애니메ì´ì…˜ ëª©ë¡ í‘œì‹œ."
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Autoplay on Load"
@@ -3006,7 +3090,7 @@ msgstr "ë¼ì´íŠ¸ë§µ 오í¬íŠ¸ë¦¬ 굽기 프로세스 재설정 (처ìŒë¶€í„° ë‹
#: tools/editor/plugins/camera_editor_plugin.cpp
#: tools/editor/plugins/sample_library_editor_plugin.cpp
msgid "Preview"
-msgstr "미리보기:"
+msgstr "미리보기"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Configure Snap"
@@ -3101,7 +3185,7 @@ msgstr ""
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Click to change object's rotation pivot."
-msgstr "오브ì íŠ¸ì˜ íšŒì „ 피벗 변경"
+msgstr "오브ì íŠ¸ì˜ íšŒì „ 피벗 변경."
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Pan Mode"
@@ -3273,7 +3357,7 @@ msgstr "í´ë¦¬ê³¤ 편집 (ì  ì‚­ì œ)"
#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create a new polygon from scratch."
-msgstr "처ìŒë¶€í„° 새로운 í´ë¦¬ê³¤ 만들기"
+msgstr "처ìŒë¶€í„° 새로운 í´ë¦¬ê³¤ 만들기."
#: tools/editor/plugins/collision_polygon_editor_plugin.cpp
msgid "Create Poly3D"
@@ -3346,17 +3430,17 @@ msgstr "기존 í´ë¦¬ê³¤ 편집:"
#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "LMB: Move Point."
-msgstr "좌í´ë¦­: í¬ì¸íЏ ì´ë™"
+msgstr "좌í´ë¦­: í¬ì¸íЏ ì´ë™."
#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Ctrl+LMB: Split Segment."
-msgstr "컨트롤+좌í´ë¦­: 세그먼트 ë¶„í• "
+msgstr "컨트롤+좌í´ë¦­: 세그먼트 ë¶„í• ."
#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "RMB: Erase Point."
-msgstr "ìš°í´ë¦­: í¬ì¸íЏ ì‚­ì œ"
+msgstr "ìš°í´ë¦­: í¬ì¸íЏ ì‚­ì œ."
#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Mesh is empty!"
@@ -3392,7 +3476,7 @@ msgstr "MeshInstanceì— ë©”ì‰¬ê°€ 없습니다!"
#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Could not create outline!"
-msgstr "ì™¸ê³½ì„ ì„ ë§Œë“¤ìˆ˜ 없습니다."
+msgstr "ì™¸ê³½ì„ ì„ ë§Œë“¤ìˆ˜ 없습니다!"
#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Outline"
@@ -3806,7 +3890,7 @@ msgstr "샘플 íŒŒì¼ ì—´ê¸°"
#: tools/editor/plugins/sample_library_editor_plugin.cpp
msgid "ERROR: Couldn't load sample!"
-msgstr "ì—러: ìƒ˜í”Œì„ ë¡œë“œí•  수 없습니다."
+msgstr "ì—러: ìƒ˜í”Œì„ ë¡œë“œí•  수 없습니다!"
#: tools/editor/plugins/sample_library_editor_plugin.cpp
msgid "Add Sample"
@@ -3869,7 +3953,8 @@ msgstr "테마 가져오기"
msgid "Save Theme As.."
msgstr "테마 다른 ì´ë¦„으로 저장.."
-#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/project_export.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/project_export.cpp
msgid "File"
msgstr "파ì¼"
@@ -3941,14 +4026,11 @@ msgid "Auto Indent"
msgstr "ìžë™ 들여쓰기"
#: tools/editor/plugins/script_editor_plugin.cpp
-msgid "Reload Tool Script"
+#, fuzzy
+msgid "Soft Reload Script"
msgstr "툴 스í¬ë¦½íЏ 다시 로드"
#: tools/editor/plugins/script_editor_plugin.cpp
-msgid "Reload Tool Script (Soft)"
-msgstr "툴 스í¬ë¦½íЏ 다시 로드 (소프트)"
-
-#: tools/editor/plugins/script_editor_plugin.cpp
#: tools/editor/plugins/shader_editor_plugin.cpp
msgid "Find.."
msgstr "찾기.."
@@ -4038,8 +4120,8 @@ msgid "Help"
msgstr "ë„움ë§"
#: tools/editor/plugins/script_editor_plugin.cpp
-msgid "Contextual"
-msgstr "ë¬¸ë§¥ìƒ ì°¾ê¸°"
+msgid "Contextual Help"
+msgstr "ë„ì›€ë§ ë³´ê¸°"
#: tools/editor/plugins/script_editor_plugin.cpp
msgid "Tutorials"
@@ -4063,15 +4145,15 @@ msgstr "ë„ì›€ë§ ê²€ìƒ‰"
#: tools/editor/plugins/script_editor_plugin.cpp
msgid "Search the reference documentation."
-msgstr "ë ˆí¼ëŸ°ìФ 문서 검색"
+msgstr "ë ˆí¼ëŸ°ìФ 문서 검색."
#: tools/editor/plugins/script_editor_plugin.cpp
msgid "Go to previous edited document."
-msgstr "ì´ì „ 편집 문서로 ì´ë™"
+msgstr "ì´ì „ 편집 문서로 ì´ë™."
#: tools/editor/plugins/script_editor_plugin.cpp
msgid "Go to next edited document."
-msgstr "ë‹¤ìŒ íŽ¸ì§‘ 문서로 ì´ë™"
+msgstr "ë‹¤ìŒ íŽ¸ì§‘ 문서로 ì´ë™."
#: tools/editor/plugins/script_editor_plugin.cpp
msgid "Create Script"
@@ -4247,10 +4329,6 @@ msgid "Transform Aborted."
msgstr "변형 중단."
#: tools/editor/plugins/spatial_editor_plugin.cpp
-msgid "View Plane Transform."
-msgstr "ë·° í‰ë©´ 변형."
-
-#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "X-Axis Transform."
msgstr "X축 변형."
@@ -4263,6 +4341,10 @@ msgid "Z-Axis Transform."
msgstr "Z축 변형."
#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View Plane Transform."
+msgstr "ë·° í‰ë©´ 변형."
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Scaling to %s%%."
msgstr "%s%%로 í¬ê¸° 변경."
@@ -4484,7 +4566,7 @@ msgstr "회전 스냅 (ë„):"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Scale Snap (%):"
-msgstr "í¬ê¸° 스냅 (%)"
+msgstr "í¬ê¸° 스냅 (%):"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Viewport Settings"
@@ -4532,11 +4614,11 @@ msgstr "변환 타입"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Pre"
-msgstr ""
+msgstr "Pre"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Post"
-msgstr ""
+msgstr "Post"
#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
msgid "ERROR: Couldn't load frame resource!"
@@ -4644,56 +4726,60 @@ msgid "Remove Class Items"
msgstr "í´ëž˜ìФ ì•„ì´í…œ ì‚­ì œ"
#: tools/editor/plugins/theme_editor_plugin.cpp
-msgid "Create Template"
-msgstr "템플릿 만들기"
+msgid "Create Empty Template"
+msgstr "빈 템플릿 만들기"
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Create Empty Editor Template"
+msgstr "빈 ì—디터 템플릿 만들기"
#: tools/editor/plugins/theme_editor_plugin.cpp
msgid "CheckBox Radio1"
-msgstr ""
+msgstr "CheckBox Radio1"
#: tools/editor/plugins/theme_editor_plugin.cpp
msgid "CheckBox Radio2"
-msgstr ""
+msgstr "CheckBox Radio2"
#: tools/editor/plugins/theme_editor_plugin.cpp
msgid "Item"
-msgstr ""
+msgstr "Item"
#: tools/editor/plugins/theme_editor_plugin.cpp
msgid "Check Item"
-msgstr ""
+msgstr "Check Item"
#: tools/editor/plugins/theme_editor_plugin.cpp
msgid "Checked Item"
-msgstr ""
+msgstr "Checked Item"
#: tools/editor/plugins/theme_editor_plugin.cpp
msgid "Has"
-msgstr ""
+msgstr "Has"
#: tools/editor/plugins/theme_editor_plugin.cpp
msgid "Many"
-msgstr ""
+msgstr "Many"
#: tools/editor/plugins/theme_editor_plugin.cpp tools/editor/project_export.cpp
msgid "Options"
-msgstr ""
+msgstr "옵션"
#: tools/editor/plugins/theme_editor_plugin.cpp
msgid "Have,Many,Several,Options!"
-msgstr ""
+msgstr "Have,Many,Several,Options!"
#: tools/editor/plugins/theme_editor_plugin.cpp
msgid "Tab 1"
-msgstr ""
+msgstr "Tab 1"
#: tools/editor/plugins/theme_editor_plugin.cpp
msgid "Tab 2"
-msgstr ""
+msgstr "Tab 2"
#: tools/editor/plugins/theme_editor_plugin.cpp
msgid "Tab 3"
-msgstr ""
+msgstr "Tab 3"
#: tools/editor/plugins/theme_editor_plugin.cpp
#: tools/editor/project_settings.cpp tools/editor/scene_tree_editor.cpp
@@ -4731,32 +4817,36 @@ msgid "Erase TileMap"
msgstr "타ì¼ë§µ 지우기"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Bucket"
-msgstr "채우기"
+msgid "Erase selection"
+msgstr "ì„ íƒë¶€ë¶„ 지우기"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Pick Tile"
-msgstr "íƒ€ì¼ ì„ íƒ"
+msgid "Find tile"
+msgstr "íƒ€ì¼ ì°¾ê¸°"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Select"
-msgstr "ì„ íƒ"
+msgid "Transpose"
+msgstr "바꾸기"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase Selection"
-msgstr "ì„ íƒ ì§€ìš°ê¸°"
+msgid "Mirror X"
+msgstr "X축 뒤집기"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Transpose"
-msgstr "바꾸기"
+msgid "Mirror Y"
+msgstr "Y축 뒤집기"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Mirror X (A)"
-msgstr "X축 뒤집기 (A)"
+msgid "Bucket"
+msgstr "채우기"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Mirror Y (S)"
-msgstr "Y축 뒤집기 (S)"
+msgid "Pick Tile"
+msgstr "íƒ€ì¼ ì„ íƒ"
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Select"
+msgstr "ì„ íƒ"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
@@ -4809,15 +4899,15 @@ msgstr "스í¬ë¦½íЏ 옵션 편집"
#: tools/editor/project_export.cpp
msgid "Please export outside the project folder!"
-msgstr "프로ì íЏ í´ë” ë°”ê¹¥ì— ë‚´ë³´ë‚´ê¸°ë¥¼ 하세요."
+msgstr "프로ì íЏ í´ë” ë°”ê¹¥ì— ë‚´ë³´ë‚´ê¸°ë¥¼ 하세요!"
#: tools/editor/project_export.cpp
msgid "Error exporting project!"
-msgstr "프로ì íЏ 내보내기 중 ì—러"
+msgstr "프로ì íЏ 내보내기 중 ì—러!"
#: tools/editor/project_export.cpp
msgid "Error writing the project PCK!"
-msgstr "프로ì íЏ PCK 작성중 ì—러"
+msgstr "프로ì íЏ PCK 작성중 ì—러!"
#: tools/editor/project_export.cpp
msgid "No exporter for platform '%s' yet."
@@ -4833,15 +4923,15 @@ msgstr "ì´ë¯¸ì§€ 그룹 변경"
#: tools/editor/project_export.cpp
msgid "Group name can't be empty!"
-msgstr "그룹 ì´ë¦„ì„ ì§€ì •í•´ì•¼ 합니다."
+msgstr "그룹 ì´ë¦„ì„ ì§€ì •í•´ì•¼ 합니다!"
#: tools/editor/project_export.cpp
msgid "Invalid character in group name!"
-msgstr "그룹 ì´ë¦„ì— ìœ íš¨í•˜ì§€ ì•Šì€ ë¬¸ìžê°€ 사용ë˜ì—ˆìŠµë‹ˆë‹¤."
+msgstr "그룹 ì´ë¦„ì— ìœ íš¨í•˜ì§€ ì•Šì€ ë¬¸ìžê°€ 사용ë˜ì—ˆìŠµë‹ˆë‹¤!"
#: tools/editor/project_export.cpp
msgid "Group name already exists!"
-msgstr "그룹 ì´ë¦„ì´ ì´ë¯¸ 사용중입니다."
+msgstr "그룹 ì´ë¦„ì´ ì´ë¯¸ 사용중입니다!"
#: tools/editor/project_export.cpp
msgid "Add Image Group"
@@ -4873,15 +4963,15 @@ msgstr "리소스"
#: tools/editor/project_export.cpp
msgid "Export selected resources (including dependencies)."
-msgstr "ì„ íƒëœ 리소스 내보내기 (종ì†ëœ 리소스 í¬í•¨)"
+msgstr "ì„ íƒëœ 리소스 내보내기 (종ì†ëœ 리소스 í¬í•¨)."
#: tools/editor/project_export.cpp
msgid "Export all resources in the project."
-msgstr "프로ì íŠ¸ì˜ ëª¨ë“  리소스 내보내기"
+msgstr "프로ì íŠ¸ì˜ ëª¨ë“  리소스 내보내기."
#: tools/editor/project_export.cpp
msgid "Export all files in the project directory."
-msgstr "프로ì íЏ 디렉토리 ì•ˆì˜ ëª¨ë“  íŒŒì¼ ë‚´ë³´ë‚´ê¸°"
+msgstr "프로ì íЏ 디렉토리 ì•ˆì˜ ëª¨ë“  íŒŒì¼ ë‚´ë³´ë‚´ê¸°."
#: tools/editor/project_export.cpp
msgid "Export Mode:"
@@ -4906,7 +4996,7 @@ msgstr "내보내기 시, 제외시킬 íŒŒì¼ (콤마로 구분, 예: *.json, *.
#: tools/editor/project_export.cpp
msgid "Convert text scenes to binary on export."
-msgstr "내보내기 시, í…스트 기반 씬 파ì¼ì„ ë°”ì´ë„ˆë¦¬ 형ì‹ìœ¼ë¡œ 변환"
+msgstr "내보내기 시, í…스트 기반 씬 파ì¼ì„ ë°”ì´ë„ˆë¦¬ 형ì‹ìœ¼ë¡œ 변환."
#: tools/editor/project_export.cpp
msgid "Images"
@@ -5163,7 +5253,7 @@ msgstr "종료"
#: tools/editor/project_settings.cpp
msgid "Key "
-msgstr "키"
+msgstr "키 "
#: tools/editor/project_settings.cpp
msgid "Joy Button"
@@ -5179,7 +5269,7 @@ msgstr "마우스 버튼"
#: tools/editor/project_settings.cpp
msgid "Invalid action (anything goes but '/' or ':')."
-msgstr "유효하지 ì•Šì€ ì•¡ì…˜ ('/' ë˜ëŠ” ':' ë¬¸ìž ì‚¬ìš© 불가)"
+msgstr "유효하지 ì•Šì€ ì•¡ì…˜ ('/' ë˜ëŠ” ':' ë¬¸ìž ì‚¬ìš© 불가)."
#: tools/editor/project_settings.cpp
msgid "Action '%s' already exists!"
@@ -5481,11 +5571,11 @@ msgstr "íŒŒì¼ ë¡œë“œ ì—러: 리소스가 아닙니다!"
#: tools/editor/property_editor.cpp
msgid "Couldn't load image"
-msgstr "ì´ë¯¸ì§€ë¥¼ 로드할 수 없습니다."
+msgstr "ì´ë¯¸ì§€ë¥¼ 로드할 수 ì—†ìŒ"
#: tools/editor/property_editor.cpp
msgid "Bit %d, val %d."
-msgstr ""
+msgstr "Bit %d, val %d."
#: tools/editor/property_editor.cpp
msgid "On"
@@ -5501,7 +5591,7 @@ msgstr "ì†ì„±:"
#: tools/editor/property_editor.cpp
msgid "Global"
-msgstr ""
+msgstr "Global"
#: tools/editor/property_editor.cpp
msgid "Sections:"
@@ -5593,8 +5683,8 @@ msgstr "확ì¸"
#: tools/editor/scene_tree_dock.cpp
msgid ""
-"Cannot instance the scene '%s' because the current scene exists within one of "
-"its nodes."
+"Cannot instance the scene '%s' because the current scene exists within one "
+"of its nodes."
msgstr "ë…¸ë“œì¤‘ì— í˜„ìž¬ ì”¬ì´ ì¡´ìž¬í•˜ê¸° 때문ì—, '%s' ì”¬ì„ ì¸ìŠ¤í„´ìŠ¤ í•  수 없습니다."
#: tools/editor/scene_tree_dock.cpp
@@ -5768,6 +5858,10 @@ msgid "Load As Placeholder"
msgstr "Placeholderë¡œì¨ ë¡œë“œ"
#: tools/editor/scene_tree_editor.cpp
+msgid "Discard Instancing"
+msgstr "ì¸ìŠ¤í„´ìŠ¤ í기"
+
+#: tools/editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "ì—디터ì—서 열기"
@@ -5801,7 +5895,7 @@ msgstr "디렉토리를 ìžì‹ ìœ¼ë¡œ ì´ë™í•  수 없습니다."
#: tools/editor/scenes_dock.cpp
msgid "Can't operate on '..'"
-msgstr "'..'ì— ìˆ˜í–‰í•  수 없습니다."
+msgstr "'..'ì— ìˆ˜í–‰í•  수 ì—†ìŒ"
#: tools/editor/scenes_dock.cpp
msgid "Pick New Name and Location For:"
@@ -5905,23 +5999,23 @@ msgstr "íŒŒì¼ ì‹œìŠ¤í…œì— ìŠ¤í¬ë¦½íŠ¸ë¥¼ ìƒì„±í•  수 없습니다."
#: tools/editor/script_create_dialog.cpp
msgid "Path is empty"
-msgstr "경로가 비어 있습니다."
+msgstr "경로가 비어 있ìŒ"
#: tools/editor/script_create_dialog.cpp
msgid "Path is not local"
-msgstr "경로가 ë¡œì»¬ì´ ì•„ë‹™ë‹ˆë‹¤."
+msgstr "경로가 ë¡œì»¬ì´ ì•„ë‹˜"
#: tools/editor/script_create_dialog.cpp
msgid "Invalid base path"
-msgstr "기본 경로가 유요하지 않습니다."
+msgstr "기본 경로가 유요하지 않ìŒ"
#: tools/editor/script_create_dialog.cpp
msgid "File exists"
-msgstr "파ì¼ì´ 존재합니다."
+msgstr "파ì¼ì´ 존재함"
#: tools/editor/script_create_dialog.cpp
msgid "Invalid extension"
-msgstr "확장ìžê°€ 유요하지 않습니다."
+msgstr "확장ìžê°€ 유요하지 않ìŒ"
#: tools/editor/script_create_dialog.cpp
msgid "Valid path"
@@ -6001,7 +6095,7 @@ msgstr "실시간 씬 트리:"
#: tools/editor/script_editor_debugger.cpp
msgid "Remote Object Properties: "
-msgstr "ì›ê²© 오브ì íЏ ì†ì„±:"
+msgstr "ì›ê²© 오브ì íЏ ì†ì„±: "
#: tools/editor/script_editor_debugger.cpp
msgid "Profiler"
@@ -6103,12 +6197,18 @@ msgstr "Ray Shape ê¸¸ì´ ë³€ê²½"
msgid "Change Notifier Extents"
msgstr "Notifier 범위 변경"
+#~ msgid "Binds (Extra Params):"
+#~ msgstr "ë°”ì¸ë“œ (추가 파ë¼ë¯¸í„°):"
+
+#~ msgid "Method In Node:"
+#~ msgstr "ë…¸ë“œì˜ í•¨ìˆ˜:"
+
+#~ msgid "Reload Tool Script (Soft)"
+#~ msgstr "툴 스í¬ë¦½íЏ 다시 로드 (소프트)"
+
#~ msgid "Edit Connections.."
#~ msgstr "연결 편집.."
-#~ msgid "Connections:"
-#~ msgstr "ì—°ê²°:"
-
#~ msgid "Set Params"
#~ msgstr "ì†ì„± ì ìš©"
diff --git a/tools/translations/pt_BR.po b/tools/translations/pt_BR.po
index 6481349562..dadd54d273 100644
--- a/tools/translations/pt_BR.po
+++ b/tools/translations/pt_BR.po
@@ -1,21 +1,66 @@
-# LANGUAGE translation of the Godot Engine editor
+# Portuguese (Brazil) translation of the Godot Engine editor
# Copyright (C) 2016 Juan Linietsky, Ariel Manzur and the Godot community
# This file is distributed under the same license as the Godot source code.
+#
# George Marques <george@gmarqu.es>, 2016.
+# Joaquim Ferreira <joaquimferreira1996@bol.com.br>, 2016.
#
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: 2016-05-30\n"
-"PO-Revision-Date: 2016-05-30\n"
-"Last-Translator: George Marques <george@gmarqu.es>\n"
-"Language-Team: Godot Brasil\n"
+"PO-Revision-Date: 2016-06-20 01:48+0000\n"
+"Last-Translator: George Marques <georgemjesus@gmail.com>\n"
+"Language-Team: Portuguese (Brazil) <https://hosted.weblate.org/projects"
+"/godot-engine/godot/pt_BR/>\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Poedit 1.8.7\n"
+"Plural-Forms: nplurals=2; plural=n > 1;\n"
+"X-Generator: Weblate 2.7-dev\n"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid type argument to convert(), use TYPE_* constants."
+msgstr "Argumento de tipo inválido para convert(), use constantes TYPE_*."
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not enough bytes for decoding bytes, or invalid format."
+msgstr "Não há bytes suficientes para decodificar, ou o formato é inválido."
+
+#: modules/gdscript/gd_functions.cpp
+msgid "step argument is zero!"
+msgstr "o argumento step é zero!"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not a script with an instance"
+msgstr "Não é um script com uma instância"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not based on a script"
+msgstr "Não é baseado num script"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not based on a resource file"
+msgstr "Não é baseado num arquivo de recurso"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (missing @path)"
+msgstr "Formato de dicionário de instância inválido (faltando @path)"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (can't load script at @path)"
+msgstr ""
+"Formato de dicionário de instância inválido (não se pôde carregar o script "
+"em @path)"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (invalid script at @path)"
+msgstr "Formato de dicionário de instância inválido (script inválido em @path)"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary (invalid subclasses)"
+msgstr "Dicionário de instância inválido (subclasses inválidas)"
#: scene/2d/animated_sprite.cpp
msgid ""
@@ -23,7 +68,7 @@ msgid ""
"order for AnimatedSprite to display frames."
msgstr ""
"Um recurso do tipo SpriteFrames deve ser criado ou definido na propriedade "
-"\"Quadros\" para que o nó AnimatedSprite mostre quadros."
+"\"Frames\" para que o nó AnimatedSprite mostre quadros."
#: scene/2d/canvas_modulate.cpp
msgid ""
@@ -77,12 +122,13 @@ msgstr ""
msgid ""
"An occluder polygon must be set (or drawn) for this occluder to take effect."
msgstr ""
-"Um polígono de oclusão deve ser definido (ou desenhado) para que este oclusor "
-"tenha efeito."
+"Um polígono de oclusão deve ser definido (ou desenhado) para que este "
+"oclusor tenha efeito."
#: scene/2d/light_occluder_2d.cpp
msgid "The occluder polygon for this occluder is empty. Please draw a polygon!"
-msgstr "O polígono para este oclusor está vazio. Por favor desenhe um polígono!"
+msgstr ""
+"O polígono para este oclusor está vazio. Por favor desenhe um polígono!"
#: scene/2d/navigation_polygon.cpp
msgid ""
@@ -132,16 +178,16 @@ msgstr ""
#: scene/2d/sprite.cpp
msgid ""
-"Path property must point to a valid Viewport node to work. Such Viewport must "
-"be set to 'render target' mode."
+"Path property must point to a valid Viewport node to work. Such Viewport "
+"must be set to 'render target' mode."
msgstr ""
"A propriedade \"Caminho\" deve apontar a um nó Viewport para funcionar. Tal "
"Viewport deve estar no modo \"Destino de Render\"."
#: scene/2d/sprite.cpp
msgid ""
-"The Viewport set in the path property must be set as 'render target' in order "
-"for this sprite to work."
+"The Viewport set in the path property must be set as 'render target' in "
+"order for this sprite to work."
msgstr ""
"O nó Viewport definido na propriedade \"Caminho\" deve ser marcado como "
"\"destino de render\" para que este sprite funcione."
@@ -169,8 +215,8 @@ msgid ""
"A shape must be provided for CollisionShape to function. Please create a "
"shape resource for it!"
msgstr ""
-"Uma forma deve ser fornecida para que o nó CollisionShape fucione. Por favor, "
-"crie um recurso de forma a ele!"
+"Uma forma deve ser fornecida para que o nó CollisionShape fucione. Por "
+"favor, crie um recurso de forma a ele!"
#: scene/3d/collision_polygon.cpp
msgid ""
@@ -194,11 +240,11 @@ msgstr ""
#: scene/3d/navigation_mesh.cpp
msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. It "
-"only provides navigation data."
+"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
+"It only provides navigation data."
msgstr ""
-"NavigationMeshInstance deve ser filho ou neto de um nó Navigation. Ele apenas "
-"fornece dados de navegação."
+"NavigationMeshInstance deve ser filho ou neto de um nó Navigation. Ele "
+"apenas fornece dados de navegação."
#: scene/3d/scenario_fx.cpp
msgid ""
@@ -216,13 +262,12 @@ msgstr ""
"'amostras' para que o SpatialSamplePlayer possa tocar algum som."
#: scene/3d/sprite_3d.cpp
-#, fuzzy
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
"order for AnimatedSprite3D to display frames."
msgstr ""
"Um recurso do tipo SpriteFrames deve ser criado ou definido na propriedade "
-"\"Quadros\" para que o nó AnimatedSprite mostre quadros."
+"\"Frames\" para que o nó AnimatedSprite mostre quadros."
#: scene/gui/dialogs.cpp tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Cancel"
@@ -260,24 +305,20 @@ msgid "Open"
msgstr "Abrir"
#: scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Open a File"
-msgstr "Abrir Arquivo(s) de Amostra"
+msgstr "Abrir um Arquivo"
#: scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Open File(s)"
-msgstr "Abrir Arquivo(s) de Amostra"
+msgstr "Abrir Arquivo(s)"
#: scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Open a Directory"
-msgstr "Escolha um Diretório"
+msgstr "Abrir um Diretório"
#: scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Open a File or Directory"
-msgstr "Escolha um Diretório"
+msgstr "Abrir Arquivo ou Diretório"
#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
#: tools/editor/editor_node.cpp
@@ -341,7 +382,7 @@ msgstr "Alt+"
#: scene/gui/input_action.cpp
msgid "Ctrl+"
-msgstr ""
+msgstr "Ctrl+"
#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
#: tools/editor/settings_config_dialog.cpp
@@ -404,7 +445,8 @@ msgstr "Colar"
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
#: tools/editor/plugins/script_editor_plugin.cpp
-#: tools/editor/plugins/shader_editor_plugin.cpp tools/editor/project_export.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+#: tools/editor/project_export.cpp
msgid "Select All"
msgstr "Selecionar Tudo"
@@ -424,8 +466,8 @@ msgstr "Desfazer"
#: scene/gui/popup.cpp
msgid ""
"Popups will hide by default unless you call popup() or any of the popup*() "
-"functions. Making them visible for editing is fine though, but they will hide "
-"upon running."
+"functions. Making them visible for editing is fine though, but they will "
+"hide upon running."
msgstr ""
"Popups são ocultos por padrão a menos que você chame alguma das funções "
"popup*(). Torná-los visíveis para editar não causa problema, mas eles "
@@ -540,6 +582,18 @@ msgid "Anim Delete Keys"
msgstr "Excluir Chaves da Anim"
#: tools/editor/animation_editor.cpp
+msgid "Continuous"
+msgstr "Contínuo"
+
+#: tools/editor/animation_editor.cpp
+msgid "Discrete"
+msgstr "Discreto"
+
+#: tools/editor/animation_editor.cpp
+msgid "Trigger"
+msgstr "Gatilho"
+
+#: tools/editor/animation_editor.cpp
msgid "Anim Add Key"
msgstr "Adicionar Chave na Anim"
@@ -647,6 +701,10 @@ msgid "Change Anim Loop"
msgstr "Mudar Loop da Animação"
#: tools/editor/animation_editor.cpp
+msgid "Change Anim Loop Interpolation"
+msgstr "Mudar Interpolação do Loop da Animação"
+
+#: tools/editor/animation_editor.cpp
msgid "Anim Create Typed Value Key"
msgstr "Criar Chave com Valor Definido"
@@ -687,6 +745,10 @@ msgid "Enable/Disable looping in animation."
msgstr "Habilitar/Desabilitar loop de animação."
#: tools/editor/animation_editor.cpp
+msgid "Enable/Disable interpolation when looping animation."
+msgstr "Habilitar/Desabilitar interpolação quando repetindo a animação."
+
+#: tools/editor/animation_editor.cpp
msgid "Add new tracks."
msgstr "Adicionar novas trilhas."
@@ -807,22 +869,20 @@ msgid "Site:"
msgstr "Site:"
#: tools/editor/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Support.."
-msgstr "Exportar..."
+msgstr "Suportado..."
#: tools/editor/asset_library_editor_plugin.cpp
msgid "Official"
-msgstr ""
+msgstr "Oficial"
#: tools/editor/asset_library_editor_plugin.cpp
msgid "Community"
-msgstr ""
+msgstr "Comunidade"
#: tools/editor/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Testing"
-msgstr "Configurações"
+msgstr "Em teste"
#: tools/editor/asset_library_editor_plugin.cpp
msgid "Assets ZIP File"
@@ -875,7 +935,7 @@ msgstr "Sem Correspondências"
#: tools/editor/code_editor.cpp
msgid "Replaced %d Ocurrence(s)."
-msgstr "Substituída(s) %d Ocorrência(s)"
+msgstr "Substituída(s) %d Ocorrência(s)."
#: tools/editor/code_editor.cpp
msgid "Replace"
@@ -953,13 +1013,9 @@ msgid "Method in target Node must be specified!"
msgstr "O método no Nó destino precisa ser especificado!"
#: tools/editor/connections_dialog.cpp
-msgid "Connect To Node:"
+msgid "Conect To Node:"
msgstr "Conectar ao Nó:"
-#: tools/editor/connections_dialog.cpp
-msgid "Binds (Extra Params):"
-msgstr "Ligações (Parâmetros Extra):"
-
#: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp
#: tools/editor/plugins/item_list_editor_plugin.cpp
#: tools/editor/plugins/theme_editor_plugin.cpp
@@ -969,17 +1025,22 @@ msgstr "Adicionar"
#: tools/editor/connections_dialog.cpp tools/editor/dependency_editor.cpp
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
-#: tools/editor/plugins/theme_editor_plugin.cpp tools/editor/project_manager.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+#: tools/editor/project_manager.cpp
msgid "Remove"
msgstr "Remover"
#: tools/editor/connections_dialog.cpp
-msgid "Path To Node:"
-msgstr "Caminho para o Nó:"
+msgid "Add Extra Call Argument:"
+msgstr "Adicionar Argumento de Chamada Extra:"
#: tools/editor/connections_dialog.cpp
-msgid "Method In Node:"
-msgstr "Método no Nó:"
+msgid "Extra Call Arguments:"
+msgstr "Argumentos de Chamada Extras:"
+
+#: tools/editor/connections_dialog.cpp
+msgid "Path to Node:"
+msgstr "Caminho para o Nó:"
#: tools/editor/connections_dialog.cpp
msgid "Make Function"
@@ -1002,6 +1063,10 @@ msgid "Connect '%s' to '%s'"
msgstr "Conectar \"%s\" a \"%s\""
#: tools/editor/connections_dialog.cpp
+msgid "Connecting Signal:"
+msgstr "Conectando Sinal:"
+
+#: tools/editor/connections_dialog.cpp
msgid "Create Subscription"
msgstr "Criar Conexão"
@@ -1015,9 +1080,8 @@ msgid "Disconnect"
msgstr "Disconectar"
#: tools/editor/connections_dialog.cpp tools/editor/node_dock.cpp
-#, fuzzy
msgid "Signals"
-msgstr "Sinais:"
+msgstr "Sinais"
#: tools/editor/create_dialog.cpp
msgid "Create New"
@@ -1071,7 +1135,7 @@ msgstr "Dependências:"
#: tools/editor/dependency_editor.cpp
msgid "Fix Broken"
-msgstr "Consertar Quebradas:"
+msgstr "Consertar Quebradas"
#: tools/editor/dependency_editor.cpp
msgid "Dependency Editor"
@@ -1144,7 +1208,8 @@ msgid "Delete selected files?"
msgstr "Excluir os arquivos selecionados?"
#: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp
-#: tools/editor/plugins/item_list_editor_plugin.cpp tools/editor/scenes_dock.cpp
+#: tools/editor/plugins/item_list_editor_plugin.cpp
+#: tools/editor/scenes_dock.cpp
msgid "Delete"
msgstr "Excluir"
@@ -1278,9 +1343,8 @@ msgid "Setting Up.."
msgstr "Ajustando..."
#: tools/editor/editor_log.cpp
-#, fuzzy
msgid " Output:"
-msgstr "Saída"
+msgstr " Saída:"
#: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp
msgid "Re-Importing"
@@ -1342,8 +1406,8 @@ msgstr "Criando Miniatura"
msgid ""
"Couldn't save scene. Likely dependencies (instances) couldn't be satisfied."
msgstr ""
-"Não se pôde salvar a cena. É provável que dependências (instâncias) não foram "
-"satisfeitas."
+"Não se pôde salvar a cena. É provável que dependências (instâncias) não "
+"foram satisfeitas."
#: tools/editor/editor_node.cpp
msgid "Failed to load resource."
@@ -1394,9 +1458,8 @@ msgid "Copy Params"
msgstr "Copiar Parâmetros"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Paste Params"
-msgstr "Colar Quadro"
+msgstr "Colar Params"
#: tools/editor/editor_node.cpp
#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
@@ -1416,9 +1479,8 @@ msgid "Make Sub-Resources Unique"
msgstr "Tornar Únicos os Sub-recursos"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Open in Help"
-msgstr "Abrir Cena"
+msgstr "Abrir na Ajuda"
#: tools/editor/editor_node.cpp
msgid "There is no defined scene to run."
@@ -1429,6 +1491,8 @@ msgid ""
"No main scene has ever been defined.\n"
"Select one from \"Project Settings\" under the 'application' category."
msgstr ""
+"A cena principal não foi definida.\n"
+"Selecione uma nas \"Configurações do Projeto\" na categoria \"application\"."
#: tools/editor/editor_node.cpp
msgid "Current scene was never saved, please save it prior to running."
@@ -1515,11 +1579,12 @@ msgid "Quick Run Scene.."
msgstr "Rodar Cena Ãgil..."
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid ""
"Open Project Manager? \n"
"(Unsaved changes will be lost)"
-msgstr "Fechar cena? (Mudanças não salvas serão perdidas)"
+msgstr ""
+"Abrir Gerenciador de Projetos?\n"
+"(Mudanças não salvas serão perdidas)"
#: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp
msgid "Ugh"
@@ -1527,8 +1592,8 @@ msgstr "Ugh"
#: tools/editor/editor_node.cpp
msgid ""
-"Error loading scene, it must be inside the project path. Use 'Import' to open "
-"the scene, then save it inside the project path."
+"Error loading scene, it must be inside the project path. Use 'Import' to "
+"open the scene, then save it inside the project path."
msgstr ""
"Erro ao carregar cena, ela deve estar dentro do caminho do projeto. Use "
"\"Importar\" para abrir a cena e então salve-a dentro do projeto."
@@ -1546,9 +1611,8 @@ msgid "Save Layout"
msgstr "Salvar Layout"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Load Layout"
-msgstr "Salvar Layout"
+msgstr "Carregar Layout"
#: tools/editor/editor_node.cpp tools/editor/project_export.cpp
msgid "Default"
@@ -1577,7 +1641,15 @@ msgstr "Cena"
#: tools/editor/editor_node.cpp
msgid "Go to previously opened scene."
-msgstr "Ir para cena aberta anteriormente"
+msgstr "Ir para cena aberta anteriormente."
+
+#: tools/editor/editor_node.cpp
+msgid "Fullscreen Mode"
+msgstr "Modo Tela-Cheia"
+
+#: tools/editor/editor_node.cpp
+msgid "Distraction Free Mode"
+msgstr "Modo Sem Distrações"
#: tools/editor/editor_node.cpp
msgid "Operations with scene files."
@@ -1612,9 +1684,8 @@ msgid "Open Recent"
msgstr "Abrir Recente"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Quick Filter Files.."
-msgstr "Buscar Arquivo Ãgil..."
+msgstr "Filtrar Arquivos Rapidamente..."
#: tools/editor/editor_node.cpp
msgid "Convert To.."
@@ -1686,9 +1757,8 @@ msgid "Export"
msgstr "Exportar"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Play the project."
-msgstr "Rodar o projeto (F5)."
+msgstr "Roda o projeto."
#: tools/editor/editor_node.cpp
#: tools/editor/plugins/sample_library_editor_plugin.cpp
@@ -1700,14 +1770,12 @@ msgid "Pause the scene"
msgstr "Pausar a cena"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Pause Scene"
-msgstr "Pausar a cena"
+msgstr "Pausa a cena"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Stop the scene."
-msgstr "Parar a cena (F8)."
+msgstr "Para a cena."
#: tools/editor/editor_node.cpp
#: tools/editor/plugins/sample_library_editor_plugin.cpp
@@ -1715,14 +1783,12 @@ msgid "Stop"
msgstr "Parar"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Play the edited scene."
-msgstr "Rodar a cena editada (F6)."
+msgstr "Roda a cena editada."
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Play Scene"
-msgstr "Salvar Cena"
+msgstr "Rodar Cena"
#: tools/editor/editor_node.cpp
msgid "Play custom scene"
@@ -1733,19 +1799,20 @@ msgid "Debug options"
msgstr "Opções de depuração"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Deploy with Remote Debug"
msgstr "Instalar Depuração Remota"
#: tools/editor/editor_node.cpp
msgid ""
-"When exporting or deploying, the resulting executable will attempt to connect "
-"to the IP of this computer in order to be debugged."
+"When exporting or deploying, the resulting executable will attempt to "
+"connect to the IP of this computer in order to be debugged."
msgstr ""
+"Quando exportando ou instalando, o programa resultante tentará conectar ao "
+"IP deste computador para poder ser depurado."
#: tools/editor/editor_node.cpp
msgid "Small Deploy with Network FS"
-msgstr ""
+msgstr "Instalação Pequena com FS em rede"
#: tools/editor/editor_node.cpp
msgid ""
@@ -1753,9 +1820,14 @@ msgid ""
"executable.\n"
"The filesystem will be provided from the project by the editor over the "
"network.\n"
-"On Android, deploy will use the USB cable for faster performance. This option "
-"speeds up testing for games with a large footprint."
+"On Android, deploy will use the USB cable for faster performance. This "
+"option speeds up testing for games with a large footprint."
msgstr ""
+"Quando esta opção está habilitada, a exportação ou instalação produzirá um "
+"executável mínimo.\n"
+"O sistema de arquivos (FS) será fornecido ao projeto pelo editor via rede.\n"
+"No Android, a instalação usará o cabo USB para melhor desempenho. Esta opção "
+"acelera os testes de jogos com muito conteúdo."
#: tools/editor/editor_node.cpp
msgid "Visible Collision Shapes"
@@ -1766,6 +1838,8 @@ msgid ""
"Collision shapes and raycast nodes (for 2D and 3D) will be visible on the "
"running game if this option is turned on."
msgstr ""
+"Formas de colisão e nós do tipo RayCast (2D e 3D) serão visíveis durante a "
+"execução do jogo caso esta opção esteja habilitada."
#: tools/editor/editor_node.cpp
msgid "Visible Navigation"
@@ -1776,10 +1850,12 @@ msgid ""
"Navigation meshes and polygons will be visible on the running game if this "
"option is turned on."
msgstr ""
+"Malhas e polígonos de navegação serão visíveis no jogo se esta opção estiver "
+"ligada."
#: tools/editor/editor_node.cpp
msgid "Sync Scene Changes"
-msgstr ""
+msgstr "Sincronizar Alterações na Cena"
#: tools/editor/editor_node.cpp
msgid ""
@@ -1788,11 +1864,14 @@ msgid ""
"When used remotely on a device, this is more efficient with network "
"filesystem."
msgstr ""
+"Quando essa opção está ativa, quaisquer modificações feitas à cena no editor "
+"serão replicadas no jogo em execução.\n"
+"Quando usado remotamente em um dispositivo, isso é mais eficiente com o "
+"sistema de arquivos via rede."
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Sync Script Changes"
-msgstr "Atualizar nas Mudanças"
+msgstr "Sincronizar Mudanças no Script"
#: tools/editor/editor_node.cpp
msgid ""
@@ -1801,6 +1880,10 @@ msgid ""
"When used remotely on a device, this is more efficient with network "
"filesystem."
msgstr ""
+"Quando essa opção está ativa, qualquer script que é salvo será recarregado "
+"no jogo em execução.\n"
+"Quando usado remotamente em um dispositivo, isso é mais eficiente com o "
+"sistema de arquivos via rede."
#: tools/editor/editor_node.cpp tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Settings"
@@ -1854,9 +1937,7 @@ msgstr "Carrega um recurso existente do disco e o edita."
msgid "Save the currently edited resource."
msgstr "Salva o recurso editado atualmente."
-#: tools/editor/editor_node.cpp
-#: tools/editor/plugins/animation_player_editor_plugin.cpp
-#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp
msgid "Save As.."
msgstr "Salvar Como..."
@@ -1903,7 +1984,7 @@ msgstr "Obrigado!"
#: tools/editor/editor_node.cpp
msgid "Import Templates From ZIP File"
-msgstr "Importar Modelos de um Arquivo ZIP."
+msgstr "Importar Modelos de um Arquivo ZIP"
#: tools/editor/editor_node.cpp tools/editor/project_export.cpp
msgid "Export Project"
@@ -2064,9 +2145,8 @@ msgid "Imported Resources"
msgstr "Recursos Importados"
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
-#, fuzzy
msgid "No bit masks to import!"
-msgstr "Nenhum item a importar!"
+msgstr "Sem máscaras de bits para importar!"
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
@@ -2096,9 +2176,8 @@ msgid "Save path is empty!"
msgstr "Caminho de salvamento vazio!"
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
-#, fuzzy
msgid "Import BitMasks"
-msgstr "Importar Textura"
+msgstr "Importar Máscara de Bits"
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
@@ -2125,7 +2204,7 @@ msgstr "Aceitar"
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
msgid "Bit Mask"
-msgstr ""
+msgstr "Máscara de Bits"
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
msgid "No source font file!"
@@ -2295,7 +2374,7 @@ msgstr "Filtros"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Source path is empty."
-msgstr "Caminho de origem está vazio"
+msgstr "Caminho de origem está vazio."
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Couldn't load post-import script."
@@ -2327,20 +2406,19 @@ msgstr "Compartilhado"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Target Texture Folder:"
-msgstr "Pasta Destino para Textura"
+msgstr "Pasta Destino para Textura:"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Post-Process Script:"
-msgstr "Script de Pós-Processamento"
+msgstr "Script de Pós-Processamento:"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Custom Root Node Type:"
msgstr "Tipo Personalizado de Nó Raiz:"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
-#, fuzzy
msgid "Auto"
-msgstr "AutoLoad"
+msgstr "Auto"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "The Following Files are Missing:"
@@ -2377,7 +2455,7 @@ msgstr "Não se pôde carregar script pós-importação:"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Invalid/broken script for post-import:"
-msgstr "Script pós-importação inválido/quebrado."
+msgstr "Script pós-importação inválido/quebrado:"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Error running post-import script:"
@@ -2641,18 +2719,16 @@ msgid "MultiNode Set"
msgstr "Múltiplos Nós definidos"
#: tools/editor/node_dock.cpp
-#, fuzzy
msgid "Node"
-msgstr "Misturar Nó"
+msgstr "Nó"
#: tools/editor/node_dock.cpp
-#, fuzzy
msgid "Groups"
-msgstr "Grupos:"
+msgstr "Grupos"
#: tools/editor/node_dock.cpp
msgid "Select a Node to edit Signals and Groups."
-msgstr ""
+msgstr "Selecione um Nó para editar Sinais e Grupos."
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
@@ -2732,7 +2808,8 @@ msgstr "ERRO: Nenhuma animação para editar!"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Play selected animation backwards from current pos. (A)"
msgstr ""
-"Iniciar animação selecionada de trás pra frente a partir da posição atual. (A)"
+"Iniciar animação selecionada de trás pra frente a partir da posição atual. "
+"(A)"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Play selected animation backwards from end. (Shift+A)"
@@ -2764,6 +2841,10 @@ msgid "Create new animation in player."
msgstr "Criar nova animação no player."
#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Load animation from disk."
+msgstr "Carregar uma animação do disco."
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Load an animation from disk."
msgstr "Carregar uma animação do disco."
@@ -2772,12 +2853,16 @@ msgid "Save the current animation"
msgstr "Salvar a animação atual"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Save As"
+msgstr "Salvar Como"
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
msgstr "Mostrar lista de animações no player."
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Autoplay on Load"
-msgstr "Reproduzir automaticamente ao carregar."
+msgstr "Auto-reprodução ao Carregar"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Edit Target Blend Times"
@@ -2813,7 +2898,7 @@ msgstr "Tempos de Mistura:"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Next (Auto Queue):"
-msgstr "Próximo (Entrar na fila automaticamente)"
+msgstr "Próximo (Auto-enfileirar):"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Cross-Animation Blend Times"
@@ -2976,7 +3061,7 @@ msgstr "Triângulo nº"
#: tools/editor/plugins/baked_light_baker.cpp
msgid "Light Baker Setup:"
-msgstr "Configurar Baker de Luz."
+msgstr "Configurar Baker de Luz:"
#: tools/editor/plugins/baked_light_baker.cpp
msgid "Parsing Geometry"
@@ -3053,7 +3138,7 @@ msgstr "Deslocamento de rotação:"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Rotation Step:"
-msgstr "Passo de Rotação"
+msgstr "Passo de Rotação:"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move Pivot"
@@ -3061,7 +3146,7 @@ msgstr "Mover Pivô"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Move Action"
-msgstr "Mover Ação"
+msgstr "Ação de Mover"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Edit IK Chain"
@@ -3077,7 +3162,7 @@ msgstr "Alterar Âncoras"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Zoom (%):"
-msgstr "Ampliar (%)"
+msgstr "Ampliação (%):"
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Paste Pose"
@@ -3099,7 +3184,7 @@ msgstr "Alt+Arrastar: Mover"
msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)."
msgstr ""
"Aperte \"v\" para Mudar Pivô, \"Shift+v\" para Arrastar Pivô (enquanto "
-"movendo)"
+"movendo)."
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Alt+RMB: Depth list selection"
@@ -3298,7 +3383,7 @@ msgstr "Editar Polígono (Remover Ponto)"
#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Create a new polygon from scratch."
-msgstr "Criar um novo polígono do zero"
+msgstr "Criar um novo polígono do zero."
#: tools/editor/plugins/collision_polygon_editor_plugin.cpp
msgid "Create Poly3D"
@@ -3376,7 +3461,7 @@ msgstr "LMB: Mover Ponto."
#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
msgid "Ctrl+LMB: Split Segment."
-msgstr "Ctrl+LMB: Dividir Segmento"
+msgstr "Ctrl+LMB: Dividir Segmento."
#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
@@ -3429,7 +3514,7 @@ msgstr "Criar Corpo Trimesh Estático"
#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Convex Static Body"
-msgstr "Create Convex Static Body"
+msgstr "Criar um Corpo Estático Convexo"
#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Trimesh Collision Sibling"
@@ -3895,7 +3980,8 @@ msgstr "Importar Tema"
msgid "Save Theme As.."
msgstr "Salvar Tema Como..."
-#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/project_export.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/project_export.cpp
msgid "File"
msgstr "Arquivo"
@@ -3967,13 +4053,8 @@ msgid "Auto Indent"
msgstr "Auto Recuar"
#: tools/editor/plugins/script_editor_plugin.cpp
-#, fuzzy
-msgid "Reload Tool Script"
-msgstr "Criar Script para Nó"
-
-#: tools/editor/plugins/script_editor_plugin.cpp
-msgid "Reload Tool Script (Soft)"
-msgstr ""
+msgid "Soft Reload Script"
+msgstr "Recarregar Script (suave)"
#: tools/editor/plugins/script_editor_plugin.cpp
#: tools/editor/plugins/shader_editor_plugin.cpp
@@ -4065,8 +4146,8 @@ msgid "Help"
msgstr "Ajuda"
#: tools/editor/plugins/script_editor_plugin.cpp
-msgid "Contextual"
-msgstr "Contextual"
+msgid "Contextual Help"
+msgstr "Ajuda Contextual"
#: tools/editor/plugins/script_editor_plugin.cpp
msgid "Tutorials"
@@ -4274,10 +4355,6 @@ msgid "Transform Aborted."
msgstr "Transformação Abortada."
#: tools/editor/plugins/spatial_editor_plugin.cpp
-msgid "View Plane Transform."
-msgstr "Visualizar Transformação do Plano."
-
-#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "X-Axis Transform."
msgstr "Transformação do Eixo-X."
@@ -4290,6 +4367,10 @@ msgid "Z-Axis Transform."
msgstr "Transformação do Eixo-Z."
#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View Plane Transform."
+msgstr "Visualizar Transformação do Plano."
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Scaling to %s%%."
msgstr "Escalonando para %s%%."
@@ -4299,7 +4380,7 @@ msgstr "Rotacionando %s degraus."
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Bottom View."
-msgstr "Visão inferior"
+msgstr "Visão inferior."
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Bottom"
@@ -4351,7 +4432,7 @@ msgstr "Chaveamento está desativado (nenhuma chave inserida)."
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Animation Key Inserted."
-msgstr "Chave de Animação Inserida"
+msgstr "Chave de Animação Inserida."
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Align with view"
@@ -4430,9 +4511,8 @@ msgid "Scale Mode (R)"
msgstr "Modo Escala (R)"
#: tools/editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "Transform"
-msgstr "Tipo de Transformação"
+msgstr "Transformação"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Local Coords"
@@ -4452,30 +4532,27 @@ msgstr "Usar sRGB Padrão"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "1 Viewport"
-msgstr ""
+msgstr "1 Viewport"
#: tools/editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "2 Viewports"
-msgstr "Configurações da Viewport:"
+msgstr "2 Viewports"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "2 Viewports (Alt)"
-msgstr ""
+msgstr "2 Viewports (Alt)"
#: tools/editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "3 Viewports"
-msgstr "Configurações da Viewport:"
+msgstr "3 Viewports"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "3 Viewports (Alt)"
-msgstr ""
+msgstr "3 Viewports (Alt)"
#: tools/editor/plugins/spatial_editor_plugin.cpp
-#, fuzzy
msgid "4 Viewports"
-msgstr "Configurações da Viewport:"
+msgstr "4 Viewports"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Display Normal"
@@ -4519,7 +4596,7 @@ msgstr "Escala do Snap (%):"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Viewport Settings"
-msgstr "Configurações da Viewport:"
+msgstr "Configurações da Viewport"
#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Default Light Normal:"
@@ -4634,20 +4711,20 @@ msgid "StyleBox Preview:"
msgstr "Pré-Visualização do StyleBox:"
#: tools/editor/plugins/texture_region_editor_plugin.cpp
-#, fuzzy
msgid "Texture Region Editor"
-msgstr "Editor de Região do Sprite"
+msgstr "Editor de Região da Textura"
#: tools/editor/plugins/texture_region_editor_plugin.cpp
-#, fuzzy
msgid "Scale Region Editor"
-msgstr "Editor de Região do Sprite"
+msgstr "Editor de Região de Escala"
#: tools/editor/plugins/texture_region_editor_plugin.cpp
msgid ""
"No texture in this node.\n"
"Set a texture to be able to edit region."
msgstr ""
+"Sem textura nesse nó.\n"
+"Defina uma textura para poder editar essa região."
#: tools/editor/plugins/theme_editor_plugin.cpp
msgid "Can't save theme to file:"
@@ -4675,8 +4752,12 @@ msgid "Remove Class Items"
msgstr "Remover Itens de Classe"
#: tools/editor/plugins/theme_editor_plugin.cpp
-msgid "Create Template"
-msgstr "Criar Modelo"
+msgid "Create Empty Template"
+msgstr "Criar Modelo Vazio"
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Create Empty Editor Template"
+msgstr "Criar Modelo de Editor Vazio"
#: tools/editor/plugins/theme_editor_plugin.cpp
msgid "CheckBox Radio1"
@@ -4762,32 +4843,36 @@ msgid "Erase TileMap"
msgstr "Apagar TileMap"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Bucket"
-msgstr "Balde"
+msgid "Erase selection"
+msgstr "Apagar Seleção"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Pick Tile"
-msgstr "Pegar Tile"
+msgid "Find tile"
+msgstr "Localizar tile"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Select"
-msgstr "Selecionar"
+msgid "Transpose"
+msgstr "Transpor"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase Selection"
-msgstr "Apagar Seleção"
+msgid "Mirror X"
+msgstr "Espelhar X"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Transpose"
-msgstr "Transpor"
+msgid "Mirror Y"
+msgstr "Espelhar Y"
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Bucket"
+msgstr "Balde"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Mirror X (A)"
-msgstr "Espelhar X (A)"
+msgid "Pick Tile"
+msgstr "Pegar Tile"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Mirror Y (S)"
-msgstr "Espelhar Y (S)"
+msgid "Select"
+msgstr "Selecionar"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
@@ -4930,8 +5015,8 @@ msgstr "Ação"
msgid ""
"Filters to export non-resource files (comma-separated, e.g.: *.json, *.txt):"
msgstr ""
-"Filtros para exportar arquivos que não sejam recursos (separados por vírgula, "
-"e.g.: *.json, *.txt):"
+"Filtros para exportar arquivos que não sejam recursos (separados por "
+"vírgula, e.g.: *.json, *.txt):"
#: tools/editor/project_export.cpp
msgid "Filters to exclude from export (comma-separated, e.g.: *.json, *.txt):"
@@ -4977,7 +5062,7 @@ msgstr "Formatos de Compressão:"
#: tools/editor/project_export.cpp
msgid "Image Groups"
-msgstr "Grupos de Imagens:"
+msgstr "Grupos de Imagens"
#: tools/editor/project_export.cpp
msgid "Groups:"
@@ -5105,7 +5190,7 @@ msgstr "Caminho de projeto inválido, o caminho deve existir!"
#: tools/editor/project_manager.cpp
msgid "Invalid project path, engine.cfg must not exist."
-msgstr "Caminho de projeto inválido, engine.cfg não deve existir!"
+msgstr "Caminho de projeto inválido, engine.cfg não deve existir."
#: tools/editor/project_manager.cpp
msgid "Invalid project path, engine.cfg must exist."
@@ -5172,14 +5257,12 @@ msgid "Remove project from the list? (Folder contents will not be modified)"
msgstr "Remover projeto da lista? (O conteúdo da pasta não será modificado)"
#: tools/editor/project_manager.cpp
-#, fuzzy
msgid "Project Manager"
-msgstr "Nome do Projeto:"
+msgstr "Gerenciador de Projetos"
#: tools/editor/project_manager.cpp
-#, fuzzy
msgid "Project List"
-msgstr "Sair para a Lista de Projetos"
+msgstr "Lista de Projetos"
#: tools/editor/project_manager.cpp
msgid "Run"
@@ -5199,22 +5282,19 @@ msgstr "Sair"
#: tools/editor/project_settings.cpp
msgid "Key "
-msgstr ""
+msgstr "Chave "
#: tools/editor/project_settings.cpp
-#, fuzzy
msgid "Joy Button"
-msgstr "Botão"
+msgstr "Botão do Joystick"
#: tools/editor/project_settings.cpp
-#, fuzzy
msgid "Joy Axis"
-msgstr "Eixo"
+msgstr "Eixo do Joystick"
#: tools/editor/project_settings.cpp
-#, fuzzy
msgid "Mouse Button"
-msgstr "Botão do Mouse:"
+msgstr "Botão do Mous"
#: tools/editor/project_settings.cpp
msgid "Invalid action (anything goes but '/' or ':')."
@@ -5332,17 +5412,16 @@ msgstr ""
#: tools/editor/project_settings.cpp
msgid "Invalid name. Must not collide with an existing global constant name."
msgstr ""
-"Nome inválido. Não é permitido utilizar nomes de constantes globais da engine."
+"Nome inválido. Não é permitido utilizar nomes de constantes globais da "
+"engine."
#: tools/editor/project_settings.cpp
-#, fuzzy
msgid "Autoload '%s' already exists!"
-msgstr "A ação \"%s\" já existe!"
+msgstr "Autoload \"%s\" já existe!"
#: tools/editor/project_settings.cpp
-#, fuzzy
msgid "Rename Autoload"
-msgstr "Remover Autoload"
+msgstr "Renomear Autoload"
#: tools/editor/project_settings.cpp
msgid "Toggle AutoLoad Globals"
@@ -5454,7 +5533,7 @@ msgstr "Remapeamentos por Localidade:"
#: tools/editor/project_settings.cpp
msgid "Locale"
-msgstr "Localidade:"
+msgstr "Localidade"
#: tools/editor/project_settings.cpp
msgid "AutoLoad"
@@ -5634,8 +5713,8 @@ msgstr "Ok"
#: tools/editor/scene_tree_dock.cpp
msgid ""
-"Cannot instance the scene '%s' because the current scene exists within one of "
-"its nodes."
+"Cannot instance the scene '%s' because the current scene exists within one "
+"of its nodes."
msgstr ""
"Não se pode instanciar a cena \"%s\" porque a cena atual existe dentro de um "
"de seus nós."
@@ -5813,6 +5892,10 @@ msgid "Load As Placeholder"
msgstr "Carregar como Substituto"
#: tools/editor/scene_tree_editor.cpp
+msgid "Discard Instancing"
+msgstr "Descartar Instanciação"
+
+#: tools/editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "Abrir no Editor"
@@ -5869,9 +5952,8 @@ msgid "View Owners.."
msgstr "Visualizar Proprietários..."
#: tools/editor/scenes_dock.cpp
-#, fuzzy
msgid "Copy Path"
-msgstr "Copiar Parâmetros"
+msgstr "Copiar Caminho"
#: tools/editor/scenes_dock.cpp
msgid "Rename or Move.."
@@ -5975,7 +6057,7 @@ msgstr "Caminho válido"
#: tools/editor/script_create_dialog.cpp
msgid "Class Name:"
-msgstr "Nome da Classe"
+msgstr "Nome da Classe:"
#: tools/editor/script_create_dialog.cpp
msgid "Built-In Script"
@@ -6042,18 +6124,16 @@ msgid "Remote Inspector"
msgstr "Inspetor Remoto"
#: tools/editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Live Scene Tree:"
-msgstr "Ãrvore de Cena:"
+msgstr "Ãrvore de Cena ao vivo:"
#: tools/editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Remote Object Properties: "
-msgstr "Propriedades do objeto."
+msgstr "Propriedades do Objeto Remoto: "
#: tools/editor/script_editor_debugger.cpp
msgid "Profiler"
-msgstr ""
+msgstr "Profiler"
#: tools/editor/script_editor_debugger.cpp
msgid "Monitor"
@@ -6064,9 +6144,8 @@ msgid "Value"
msgstr "Valor"
#: tools/editor/script_editor_debugger.cpp
-#, fuzzy
msgid "Monitors"
-msgstr "Monitor"
+msgstr "Monitores"
#: tools/editor/script_editor_debugger.cpp
msgid "List of Video Memory Usage by Resource:"
@@ -6094,7 +6173,7 @@ msgstr "Uso"
#: tools/editor/script_editor_debugger.cpp
msgid "Misc"
-msgstr ""
+msgstr "Misc"
#: tools/editor/script_editor_debugger.cpp
msgid "Clicked Control:"
@@ -6114,7 +6193,7 @@ msgstr "Definir a partir da árvore"
#: tools/editor/settings_config_dialog.cpp
msgid "Shortcuts"
-msgstr ""
+msgstr "Atalhos"
#: tools/editor/spatial_editor_gizmos.cpp
msgid "Change Light Radius"
@@ -6152,12 +6231,18 @@ msgstr "Mudar o tamanho do Shape Ray"
msgid "Change Notifier Extents"
msgstr "Alterar a Extensão do Notificador"
+#~ msgid "Binds (Extra Params):"
+#~ msgstr "Ligações (Parâmetros Extra):"
+
+#~ msgid "Method In Node:"
+#~ msgstr "Método no Nó:"
+
+#~ msgid "Reload Tool Script (Soft)"
+#~ msgstr "Recarregar Tool Script (suave)"
+
#~ msgid "Edit Connections.."
#~ msgstr "Editar Conexões..."
-#~ msgid "Connections:"
-#~ msgstr "Conexões:"
-
#~ msgid "Set Params"
#~ msgstr "Definir Parâmetros"
diff --git a/tools/translations/ru.po b/tools/translations/ru.po
index 138aa2c858..63fb6c4177 100644
--- a/tools/translations/ru.po
+++ b/tools/translations/ru.po
@@ -1,24 +1,66 @@
-# LANGUAGE translation of the Godot Engine editor
+# Russian translation of the Godot Engine editor
# Copyright (C) 2016 Juan Linietsky, Ariel Manzur and the Godot community
# This file is distributed under the same license as the Godot source code.
-# DimOkGamer dimokgamer@gmail.com , 2016
-# Maxim toby3d Lebedev mail@toby3d.ru , 2016
#
+# DimOkGamer <dimokgamer@gmail.com>, 2016.
+# Maxim toby3d Lebedev <mail@toby3d.ru>, 2016.
#
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: \n"
+"PO-Revision-Date: 2016-06-19 17:29+0300\n"
"Last-Translator: DimOkGamer <dimokgamer@gmail.com>\n"
-"Language-Team: Russian\n"
+"Language-Team: Russian <https://hosted.weblate.org/projects/godot-"
+"engine/godot/ru/>\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<="
+"4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Poedit 1.8.8\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
-"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid type argument to convert(), use TYPE_* constants."
+msgstr "Ðеверный тип аргумента Ð´Ð»Ñ convert(), иÑпользуйте TYPE_* конÑтанты."
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not enough bytes for decoding bytes, or invalid format."
+msgstr "Ðе хватает байтов Ð´Ð»Ñ Ð´ÐµÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð±Ð°Ð¹Ñ‚Ð¾Ð², или неверный формат."
+
+#: modules/gdscript/gd_functions.cpp
+msgid "step argument is zero!"
+msgstr "Ðргумент шага равен нулю!"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not a script with an instance"
+msgstr "Скрипт без ÑкземплÑра"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not based on a script"
+msgstr "ОÑнован не на Ñкрипте"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not based on a resource file"
+msgstr "ОÑнован не на файле реÑурÑов"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (missing @path)"
+msgstr "ÐедопуÑтимый формат ÑкземплÑра ÑÐ»Ð¾Ð²Ð°Ñ€Ñ (отÑутÑтвует @path)"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (can't load script at @path)"
+msgstr ""
+"ÐедопуÑтимый формат ÑкземплÑра ÑÐ»Ð¾Ð²Ð°Ñ€Ñ (невозможно загрузить Ñкрипт из @path)"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (invalid script at @path)"
+msgstr "ÐедопуÑтимый формат ÑкземплÑра ÑÐ»Ð¾Ð²Ð°Ñ€Ñ (неверный Ñкрипт в @path)"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary (invalid subclasses)"
+msgstr "ÐедопуÑтимый ÑкземплÑÑ€ ÑÐ»Ð¾Ð²Ð°Ñ€Ñ (неверные подклаÑÑÑ‹)"
#: scene/2d/animated_sprite.cpp
msgid ""
@@ -44,8 +86,8 @@ msgid ""
msgstr ""
"CollisionPolygon2D Ñлужит только Ð´Ð»Ñ Ð¾Ð±ÐµÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ñтолкновений фигурам типа "
"CollisionObject2D. ПожалуйÑта иÑпользовать его только в качеÑтве дочернего "
-"Ð´Ð»Ñ Area2D, StaticBody2D, RigidBody2D, KinematicBody2D и др. чтобы придать им "
-"форму."
+"Ð´Ð»Ñ Area2D, StaticBody2D, RigidBody2D, KinematicBody2D и др. чтобы придать "
+"им форму."
#: scene/2d/collision_polygon_2d.cpp
msgid "An empty CollisionPolygon2D has no effect on collision."
@@ -59,8 +101,8 @@ msgid ""
msgstr ""
"CollisionShape2D Ñлужит только Ð´Ð»Ñ Ð¾Ð±ÐµÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ñтолкновений фигурам типа "
"CollisionObject2D. ПожалуйÑта иÑпользовать его только в качеÑтве дочернего "
-"Ð´Ð»Ñ Area2D, StaticBody2D, RigidBody2D, KinematicBody2D и др. чтобы придать им "
-"форму."
+"Ð´Ð»Ñ Area2D, StaticBody2D, RigidBody2D, KinematicBody2D и др. чтобы придать "
+"им форму."
#: scene/2d/collision_shape_2d.cpp
msgid ""
@@ -109,8 +151,8 @@ msgstr ""
msgid ""
"ParallaxLayer node only works when set as child of a ParallaxBackground node."
msgstr ""
-"Ðод ParallaxLayer работает только при уÑтановке его в качеÑтве дочернего узла "
-"ParallaxBackground."
+"Ðод ParallaxLayer работает только при уÑтановке его в качеÑтве дочернего "
+"узла ParallaxBackground."
#: scene/2d/particles_2d.cpp
msgid "Path property must point to a valid Particles2D node to work."
@@ -137,26 +179,27 @@ msgstr ""
#: scene/2d/sprite.cpp
msgid ""
-"Path property must point to a valid Viewport node to work. Such Viewport must "
-"be set to 'render target' mode."
+"Path property must point to a valid Viewport node to work. Such Viewport "
+"must be set to 'render target' mode."
msgstr ""
"Ð”Ð»Ñ Ñ€Ð°Ð±Ð¾Ñ‚Ñ‹, параметр Path должен указывать на дейÑтвительный Ðод Viewport. "
"Такой Viewport должен быть уÑтановлен в качеÑтве цели рендеринга."
#: scene/2d/sprite.cpp
msgid ""
-"The Viewport set in the path property must be set as 'render target' in order "
-"for this sprite to work."
+"The Viewport set in the path property must be set as 'render target' in "
+"order for this sprite to work."
msgstr ""
-"ОблаÑти проÑмотра уÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ð°Ñ Ð² ÑвойÑтве path должна быть назначена \"целью "
-"визуализации\" Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾, чтобы Ñтот Ñпрайт работал."
+"ОблаÑти проÑмотра уÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ð°Ñ Ð² ÑвойÑтве path должна быть назначена \""
+"целью визуализации\" Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾, чтобы Ñтот Ñпрайт работал."
#: scene/2d/visibility_notifier_2d.cpp
msgid ""
"VisibilityEnable2D works best when used with the edited scene root directly "
"as parent."
msgstr ""
-"VisibilityEnable2D работает лучше, когда иÑпользуетÑÑ, как дочерний нод корнÑ."
+"VisibilityEnable2D работает лучше, когда иÑпользуетÑÑ, как дочерний нод "
+"корнÑ."
#: scene/3d/body_shape.cpp
msgid ""
@@ -196,8 +239,8 @@ msgstr "РеÑÑƒÑ€Ñ NavigationMesh должен быть уÑтановлен Ð
#: scene/3d/navigation_mesh.cpp
msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. It "
-"only provides navigation data."
+"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
+"It only provides navigation data."
msgstr ""
"NavigationMeshInstance должен быть ребёнком или внуком нода Navigation. Он "
"обеÑпечивает только навигационные данные."
@@ -401,7 +444,8 @@ msgstr "Ð’Ñтавить"
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
#: tools/editor/plugins/script_editor_plugin.cpp
-#: tools/editor/plugins/shader_editor_plugin.cpp tools/editor/project_export.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+#: tools/editor/project_export.cpp
msgid "Select All"
msgstr "Выбрать вÑе"
@@ -421,8 +465,8 @@ msgstr "Отменить"
#: scene/gui/popup.cpp
msgid ""
"Popups will hide by default unless you call popup() or any of the popup*() "
-"functions. Making them visible for editing is fine though, but they will hide "
-"upon running."
+"functions. Making them visible for editing is fine though, but they will "
+"hide upon running."
msgstr ""
"Ð’Ñплывающие окна будут ÑкрыватьÑÑ Ð¿Ð¾-умолчанию, еÑли Ð’Ñ‹ не вызовете popup() "
"или любой из popup*(). Ð”ÐµÐ»Ð°Ñ Ð¸Ñ… доÑтупными Ð´Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ…Ð¾Ñ€Ð¾ÑˆÐ°Ñ Ð¼Ñ‹Ñль, "
@@ -538,6 +582,18 @@ msgid "Anim Delete Keys"
msgstr "Ключ удалён"
#: tools/editor/animation_editor.cpp
+msgid "Continuous"
+msgstr "ÐепрерывнаÑ"
+
+#: tools/editor/animation_editor.cpp
+msgid "Discrete"
+msgstr "ДиÑкретнаÑ"
+
+#: tools/editor/animation_editor.cpp
+msgid "Trigger"
+msgstr "Триггер"
+
+#: tools/editor/animation_editor.cpp
msgid "Anim Add Key"
msgstr "Ключ добавлен"
@@ -645,6 +701,10 @@ msgid "Change Anim Loop"
msgstr "Изменено зацикливание анимации"
#: tools/editor/animation_editor.cpp
+msgid "Change Anim Loop Interpolation"
+msgstr "Изменена интерполÑÑ†Ð¸Ñ Ð°Ð½Ð¸Ð¼Ð°Ñ†Ð¸Ð¸"
+
+#: tools/editor/animation_editor.cpp
msgid "Anim Create Typed Value Key"
msgstr "Создан ключ Ñ Ð²Ð²Ð¾Ð´Ð¸Ð¼Ñ‹Ð¼ значением"
@@ -685,6 +745,10 @@ msgid "Enable/Disable looping in animation."
msgstr "Включить/отключить зацикливание в анимации."
#: tools/editor/animation_editor.cpp
+msgid "Enable/Disable interpolation when looping animation."
+msgstr "Включить/отключить интерполÑцию при зацикливании анимации."
+
+#: tools/editor/animation_editor.cpp
msgid "Add new tracks."
msgstr "Добавить новые дорожки."
@@ -949,13 +1013,9 @@ msgid "Method in target Node must be specified!"
msgstr "Метод должен быть указан в целевом Ðоде!"
#: tools/editor/connections_dialog.cpp
-msgid "Connect To Node:"
+msgid "Conect To Node:"
msgstr "ПриÑоединить к ноду:"
-#: tools/editor/connections_dialog.cpp
-msgid "Binds (Extra Params):"
-msgstr "СвÑзи (необÑзательные параметры):"
-
#: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp
#: tools/editor/plugins/item_list_editor_plugin.cpp
#: tools/editor/plugins/theme_editor_plugin.cpp
@@ -965,17 +1025,22 @@ msgstr "Добавить"
#: tools/editor/connections_dialog.cpp tools/editor/dependency_editor.cpp
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
-#: tools/editor/plugins/theme_editor_plugin.cpp tools/editor/project_manager.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+#: tools/editor/project_manager.cpp
msgid "Remove"
msgstr "Удалить"
#: tools/editor/connections_dialog.cpp
-msgid "Path To Node:"
-msgstr "Путь к ноду:"
+msgid "Add Extra Call Argument:"
+msgstr "Добавить дополнительный параметр вызова:"
#: tools/editor/connections_dialog.cpp
-msgid "Method In Node:"
-msgstr "Ðазвание метода:"
+msgid "Extra Call Arguments:"
+msgstr "Дополнительные параметры вызова:"
+
+#: tools/editor/connections_dialog.cpp
+msgid "Path to Node:"
+msgstr "Путь к ноду:"
#: tools/editor/connections_dialog.cpp
msgid "Make Function"
@@ -998,6 +1063,10 @@ msgid "Connect '%s' to '%s'"
msgstr "ПриÑоединить '%s' к '%s'"
#: tools/editor/connections_dialog.cpp
+msgid "Connecting Signal:"
+msgstr "Подключение Ñигнала:"
+
+#: tools/editor/connections_dialog.cpp
msgid "Create Subscription"
msgstr "Создать подпиÑку"
@@ -1138,7 +1207,8 @@ msgid "Delete selected files?"
msgstr "Удалить выбранные файлы?"
#: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp
-#: tools/editor/plugins/item_list_editor_plugin.cpp tools/editor/scenes_dock.cpp
+#: tools/editor/plugins/item_list_editor_plugin.cpp
+#: tools/editor/scenes_dock.cpp
msgid "Delete"
msgstr "Удалить"
@@ -1335,8 +1405,8 @@ msgstr "Создание ÑÑкизов"
msgid ""
"Couldn't save scene. Likely dependencies (instances) couldn't be satisfied."
msgstr ""
-"Ðе возможно Ñохранить Ñцену. ВероÑтно, завиÑимоÑти (ÑкземплÑры) не могли быть "
-"удовлетворены."
+"Ðе возможно Ñохранить Ñцену. ВероÑтно, завиÑимоÑти (ÑкземплÑры) не могли "
+"быть удовлетворены."
#: tools/editor/editor_node.cpp
msgid "Failed to load resource."
@@ -1522,8 +1592,8 @@ msgstr "ЯÑно"
#: tools/editor/editor_node.cpp
msgid ""
-"Error loading scene, it must be inside the project path. Use 'Import' to open "
-"the scene, then save it inside the project path."
+"Error loading scene, it must be inside the project path. Use 'Import' to "
+"open the scene, then save it inside the project path."
msgstr ""
"Ошибка при загрузке Ñцены, она должна быть внутри каталога проекта. "
"ИÑпользуйте \"Импорт\", чтобы открыть Ñцену, а затем Ñохраните её в каталоге "
@@ -1575,6 +1645,14 @@ msgid "Go to previously opened scene."
msgstr "Перейти к предыдущей открытой Ñцене."
#: tools/editor/editor_node.cpp
+msgid "Fullscreen Mode"
+msgstr "ПолноÑкранный режим"
+
+#: tools/editor/editor_node.cpp
+msgid "Distraction Free Mode"
+msgstr "Свободный режим"
+
+#: tools/editor/editor_node.cpp
msgid "Operations with scene files."
msgstr "Операции Ñ Ñ„Ð°Ð¹Ð»Ð°Ð¼Ð¸ Ñцены."
@@ -1727,8 +1805,8 @@ msgstr "Развернуть Ñ ÑƒÐ´Ð°Ð»Ñ‘Ð½Ð½Ð¾Ð¹ отладкой"
#: tools/editor/editor_node.cpp
msgid ""
-"When exporting or deploying, the resulting executable will attempt to connect "
-"to the IP of this computer in order to be debugged."
+"When exporting or deploying, the resulting executable will attempt to "
+"connect to the IP of this computer in order to be debugged."
msgstr ""
"При ÑкÑпорте или развёртывании, полученный иÑполнÑемый файл будет пытатьÑÑ "
"подключитьÑÑ Ðº IP Ñтого компьютера Ñ Ñ†ÐµÐ»ÑŒÑŽ отладки."
@@ -1743,8 +1821,8 @@ msgid ""
"executable.\n"
"The filesystem will be provided from the project by the editor over the "
"network.\n"
-"On Android, deploy will use the USB cable for faster performance. This option "
-"speeds up testing for games with a large footprint."
+"On Android, deploy will use the USB cable for faster performance. This "
+"option speeds up testing for games with a large footprint."
msgstr ""
"Когда Ñта Ð¾Ð¿Ñ†Ð¸Ñ Ð²ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°, ÑкÑпорт или развёртывание будет Ñоздавать "
"минимальный иÑполнÑемый файл.\n"
@@ -1860,9 +1938,7 @@ msgstr "Загрузить ÑущеÑтвующий реÑÑƒÑ€Ñ Ñ Ð´Ð¸Ñка Ð
msgid "Save the currently edited resource."
msgstr "Сохранить текущий редактируемый реÑурÑ."
-#: tools/editor/editor_node.cpp
-#: tools/editor/plugins/animation_player_editor_plugin.cpp
-#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp
msgid "Save As.."
msgstr "Сохранить как.."
@@ -2513,8 +2589,8 @@ msgid ""
"NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files to "
"the project."
msgstr ""
-"Ð’ÐИМÐÐИЕ: Импортирование 2D текÑтур не обÑзательно. ПроÑто Ñкопируйте png/jpg "
-"файлы в папку проекта."
+"Ð’ÐИМÐÐИЕ: Импортирование 2D текÑтур не обÑзательно. ПроÑто Ñкопируйте png/"
+"jpg файлы в папку проекта."
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Crop empty space."
@@ -2737,7 +2813,8 @@ msgstr "ОШИБКÐ: Ðет анимации Ð´Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Play selected animation backwards from current pos. (A)"
msgstr ""
-"ВоÑпроизвеÑти выбранную анимацию в обратном направлении Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ¹ позиции. (A)"
+"ВоÑпроизвеÑти выбранную анимацию в обратном направлении Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ¹ позиции. "
+"(A)"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Play selected animation backwards from end. (Shift+A)"
@@ -2769,14 +2846,22 @@ msgid "Create new animation in player."
msgstr "Создать новую анимацию."
#: tools/editor/plugins/animation_player_editor_plugin.cpp
-msgid "Load an animation from disk."
+msgid "Load animation from disk."
msgstr "Загрузить анимацию Ñ Ð´Ð¸Ñка."
#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Load an animation from disk."
+msgstr "Загрузить Ñту анимацию Ñ Ð´Ð¸Ñка."
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Save the current animation"
msgstr "Сохранить текущую анимацию"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Save As"
+msgstr "Сохранить как"
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
msgstr "Показать ÑпиÑок анимаций."
@@ -3899,7 +3984,8 @@ msgstr "Импортировать тему"
msgid "Save Theme As.."
msgstr "Сохранить тему как.."
-#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/project_export.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/project_export.cpp
msgid "File"
msgstr "Файл"
@@ -3971,12 +4057,8 @@ msgid "Auto Indent"
msgstr "ÐвтоотÑтуп"
#: tools/editor/plugins/script_editor_plugin.cpp
-msgid "Reload Tool Script"
-msgstr "Перезагрузить инÑтрум. Ñкрипт"
-
-#: tools/editor/plugins/script_editor_plugin.cpp
-msgid "Reload Tool Script (Soft)"
-msgstr "Перезагрузить инÑтрум. Ñкрипт (мÑгко)"
+msgid "Soft Reload Script"
+msgstr "МÑгко перезагрузить Ñкрипты"
#: tools/editor/plugins/script_editor_plugin.cpp
#: tools/editor/plugins/shader_editor_plugin.cpp
@@ -4068,8 +4150,8 @@ msgid "Help"
msgstr "Справка"
#: tools/editor/plugins/script_editor_plugin.cpp
-msgid "Contextual"
-msgstr "КонтекÑтнаÑ"
+msgid "Contextual Help"
+msgstr "КонтекÑÑ‚Ð½Ð°Ñ Ñправка"
#: tools/editor/plugins/script_editor_plugin.cpp
msgid "Tutorials"
@@ -4277,10 +4359,6 @@ msgid "Transform Aborted."
msgstr "ÐŸÑ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ñ€ÐµÑ€Ñ‹Ð²Ð°ÐµÑ‚ÑÑ."
#: tools/editor/plugins/spatial_editor_plugin.cpp
-msgid "View Plane Transform."
-msgstr "Вид Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð»Ð¾ÑкоÑти."
-
-#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "X-Axis Transform."
msgstr "Преобразование по X."
@@ -4293,6 +4371,10 @@ msgid "Z-Axis Transform."
msgstr "Преобразование по Z."
#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View Plane Transform."
+msgstr "Вид Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð»Ð¾ÑкоÑти."
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Scaling to %s%%."
msgstr "МаÑштабирование до %s%%."
@@ -4674,8 +4756,12 @@ msgid "Remove Class Items"
msgstr "Удалить Ñлемент клаÑÑа"
#: tools/editor/plugins/theme_editor_plugin.cpp
-msgid "Create Template"
-msgstr "Создать шаблон"
+msgid "Create Empty Template"
+msgstr "Создать пуÑтой образец"
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Create Empty Editor Template"
+msgstr "Создать пуÑтой образец редактора"
#: tools/editor/plugins/theme_editor_plugin.cpp
msgid "CheckBox Radio1"
@@ -4761,32 +4847,36 @@ msgid "Erase TileMap"
msgstr "Стирать карту тайлов"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Bucket"
-msgstr "Заливка"
+msgid "Erase selection"
+msgstr "ОчиÑтить выделенное"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Pick Tile"
-msgstr "Выбрать тайл"
+msgid "Find tile"
+msgstr "Ðайти тайл"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Select"
-msgstr "Выделение"
+msgid "Transpose"
+msgstr "ТранÑпонировать"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase Selection"
-msgstr "ОчиÑтить выделенное"
+msgid "Mirror X"
+msgstr "Зеркально по X"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Transpose"
-msgstr "ТранÑпонировать"
+msgid "Mirror Y"
+msgstr "Зеркально по Y"
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Bucket"
+msgstr "Заливка"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Mirror X (A)"
-msgstr "Зеркально по X (A)"
+msgid "Pick Tile"
+msgstr "Выбрать тайл"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Mirror Y (S)"
-msgstr "Зеркально по Y (S)"
+msgid "Select"
+msgstr "Выделение"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
@@ -4929,8 +5019,8 @@ msgstr "ДейÑтвие"
msgid ""
"Filters to export non-resource files (comma-separated, e.g.: *.json, *.txt):"
msgstr ""
-"Фильтр Ð´Ð»Ñ ÑкÑпорта не реÑурÑных файлов (через запÑтую, например: *.json, *."
-"txt):"
+"Фильтр Ð´Ð»Ñ ÑкÑпорта не реÑурÑных файлов (через запÑтую, например: *.json, "
+"*.txt):"
#: tools/editor/project_export.cpp
msgid "Filters to exclude from export (comma-separated, e.g.: *.json, *.txt):"
@@ -5315,7 +5405,8 @@ msgstr "ДопуÑтимые Ñимволы:"
#: tools/editor/project_settings.cpp
msgid "Invalid name. Must not collide with an existing engine class name."
msgstr ""
-"ÐедопуÑтимое имÑ. Ðе должно конфликтовать Ñ ÑущеÑтвующим именем клаÑÑа движка."
+"ÐедопуÑтимое имÑ. Ðе должно конфликтовать Ñ ÑущеÑтвующим именем клаÑÑа "
+"движка."
#: tools/editor/project_settings.cpp
msgid "Invalid name. Must not collide with an existing buit-in type name."
@@ -5629,8 +5720,8 @@ msgstr "Ок"
#: tools/editor/scene_tree_dock.cpp
msgid ""
-"Cannot instance the scene '%s' because the current scene exists within one of "
-"its nodes."
+"Cannot instance the scene '%s' because the current scene exists within one "
+"of its nodes."
msgstr ""
"Ðевозможно добавить Ñцену %s, потому что Ñ‚ÐµÐºÑƒÑ‰Ð°Ñ Ñцена ÑущеÑтвует в одном из "
"его нодов."
@@ -5764,8 +5855,8 @@ msgid ""
"Instance a scene file as a Node. Creates an inherited scene if no root node "
"exists."
msgstr ""
-"Добавить файл Ñцены как нод. Создаёт наÑледуемую Ñцену, еÑли корневой узел не "
-"ÑущеÑтвует."
+"Добавить файл Ñцены как нод. Создаёт наÑледуемую Ñцену, еÑли корневой узел "
+"не ÑущеÑтвует."
#: tools/editor/scene_tree_editor.cpp
msgid ""
@@ -5808,6 +5899,10 @@ msgid "Load As Placeholder"
msgstr "Загрузить как заполнитель"
#: tools/editor/scene_tree_editor.cpp
+msgid "Discard Instancing"
+msgstr "ОтброÑить инÑтанÑинг"
+
+#: tools/editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "Открыть в редакторе"
@@ -6143,12 +6238,18 @@ msgstr "Изменена длинна луча"
msgid "Change Notifier Extents"
msgstr "Изменены границы уведомителÑ"
+#~ msgid "Binds (Extra Params):"
+#~ msgstr "СвÑзи (необÑзательные параметры):"
+
+#~ msgid "Method In Node:"
+#~ msgstr "Ðазвание метода:"
+
+#~ msgid "Reload Tool Script (Soft)"
+#~ msgstr "Перезагрузить инÑтрум. Ñкрипт (мÑгко)"
+
#~ msgid "Edit Connections.."
#~ msgstr "Изменить ÑвÑзи.."
-#~ msgid "Connections:"
-#~ msgstr "СвÑзи:"
-
#~ msgid "Set Params"
#~ msgstr "Ðазначить параметры"
diff --git a/tools/translations/sk.po b/tools/translations/sk.po
new file mode 100644
index 0000000000..b21333b7f8
--- /dev/null
+++ b/tools/translations/sk.po
@@ -0,0 +1,6106 @@
+# Slovak translation of the Godot Engine editor
+# Copyright (C) 2016 Juan Linietsky, Ariel Manzur and the Godot community
+# This file is distributed under the same license as the Godot source code.
+#
+# lablazer <avojtus@centrum.sk>, 2016.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Godot Engine editor\n"
+"PO-Revision-Date: 2016-06-11 11:23+0000\n"
+"Last-Translator: lablazer <avojtus@centrum.sk>\n"
+"Language-Team: Slovak <https://hosted.weblate.org/projects/godot-engine/"
+"godot/sk/>\n"
+"Language: sk\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8-bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+"X-Generator: Weblate 2.7-dev\n"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid type argument to convert(), use TYPE_* constants."
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not enough bytes for decoding bytes, or invalid format."
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "step argument is zero!"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not a script with an instance"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not based on a script"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not based on a resource file"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (missing @path)"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (can't load script at @path)"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (invalid script at @path)"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary (invalid subclasses)"
+msgstr ""
+
+#: scene/2d/animated_sprite.cpp
+msgid ""
+"A SpriteFrames resource must be created or set in the 'Frames' property in "
+"order for AnimatedSprite to display frames."
+msgstr ""
+
+#: scene/2d/canvas_modulate.cpp
+msgid ""
+"Only one visible CanvasModulate is allowed per scene (or set of instanced "
+"scenes). The first created one will work, while the rest will be ignored."
+msgstr ""
+
+#: scene/2d/collision_polygon_2d.cpp
+msgid ""
+"CollisionPolygon2D only serves to provide a collision shape to a "
+"CollisionObject2D derived node. Please only use it as a child of Area2D, "
+"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape."
+msgstr ""
+
+#: scene/2d/collision_polygon_2d.cpp
+msgid "An empty CollisionPolygon2D has no effect on collision."
+msgstr "Prázdny CollisionPolygon2D nemá žiaden efekt na kolíziu."
+
+#: scene/2d/collision_shape_2d.cpp
+msgid ""
+"CollisionShape2D only serves to provide a collision shape to a "
+"CollisionObject2D derived node. Please only use it as a child of Area2D, "
+"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape."
+msgstr ""
+"CollisionShape2D slúži iba na pridelenie kolízneho tvaru objektu vydedeného "
+"z CollisionObject2D uzlu. Prosím, použite ho iba ako dieťa objektu Area2D, "
+"StaticBody2D, RigidBody2D, KinematicBody2D, atÄ. aby ste im dali tvar."
+
+#: scene/2d/collision_shape_2d.cpp
+msgid ""
+"A shape must be provided for CollisionShape2D to function. Please create a "
+"shape resource for it!"
+msgstr ""
+"Musíte nastaviť tvar objektu CollisionShape2D aby fungoval. Prosím, vytvorte "
+"preň tvarový objekt!"
+
+#: scene/2d/light_2d.cpp
+msgid ""
+"A texture with the shape of the light must be supplied to the 'texture' "
+"property."
+msgstr "Textúra s tvarom svetla musí mať nastavenú vlastnosť \"textúra\"."
+
+#: scene/2d/light_occluder_2d.cpp
+msgid ""
+"An occluder polygon must be set (or drawn) for this occluder to take effect."
+msgstr ""
+"Okluzorový polygón musí byť nastavený (alebo vykreslený) aby sa okluzor "
+"prejavil."
+
+#: scene/2d/light_occluder_2d.cpp
+msgid "The occluder polygon for this occluder is empty. Please draw a polygon!"
+msgstr ""
+
+#: scene/2d/navigation_polygon.cpp
+msgid ""
+"A NavigationPolygon resource must be set or created for this node to work. "
+"Please set a property or draw a polygon."
+msgstr ""
+
+#: scene/2d/navigation_polygon.cpp
+msgid ""
+"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
+"node. It only provides navigation data."
+msgstr ""
+
+#: scene/2d/parallax_layer.cpp
+msgid ""
+"ParallaxLayer node only works when set as child of a ParallaxBackground node."
+msgstr ""
+
+#: scene/2d/particles_2d.cpp
+msgid "Path property must point to a valid Particles2D node to work."
+msgstr ""
+
+#: scene/2d/path_2d.cpp
+msgid "PathFollow2D only works when set as a child of a Path2D node."
+msgstr ""
+
+#: scene/2d/remote_transform_2d.cpp
+msgid "Path property must point to a valid Node2D node to work."
+msgstr ""
+
+#: scene/2d/sample_player_2d.cpp scene/audio/sample_player.cpp
+msgid ""
+"A SampleLibrary resource must be created or set in the 'samples' property in "
+"order for SamplePlayer to play sound."
+msgstr ""
+
+#: scene/2d/sprite.cpp
+msgid ""
+"Path property must point to a valid Viewport node to work. Such Viewport "
+"must be set to 'render target' mode."
+msgstr ""
+
+#: scene/2d/sprite.cpp
+msgid ""
+"The Viewport set in the path property must be set as 'render target' in "
+"order for this sprite to work."
+msgstr ""
+
+#: scene/2d/visibility_notifier_2d.cpp
+msgid ""
+"VisibilityEnable2D works best when used with the edited scene root directly "
+"as parent."
+msgstr ""
+
+#: scene/3d/body_shape.cpp
+msgid ""
+"CollisionShape only serves to provide a collision shape to a CollisionObject "
+"derived node. Please only use it as a child of Area, StaticBody, RigidBody, "
+"KinematicBody, etc. to give them a shape."
+msgstr ""
+
+#: scene/3d/body_shape.cpp
+msgid ""
+"A shape must be provided for CollisionShape to function. Please create a "
+"shape resource for it!"
+msgstr ""
+
+#: scene/3d/collision_polygon.cpp
+msgid ""
+"CollisionPolygon only serves to provide a collision shape to a "
+"CollisionObject derived node. Please only use it as a child of Area, "
+"StaticBody, RigidBody, KinematicBody, etc. to give them a shape."
+msgstr ""
+
+#: scene/3d/collision_polygon.cpp
+msgid "An empty CollisionPolygon has no effect on collision."
+msgstr ""
+
+#: scene/3d/navigation_mesh.cpp
+msgid "A NavigationMesh resource must be set or created for this node to work."
+msgstr ""
+
+#: scene/3d/navigation_mesh.cpp
+msgid ""
+"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
+"It only provides navigation data."
+msgstr ""
+
+#: scene/3d/scenario_fx.cpp
+msgid ""
+"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)."
+msgstr ""
+
+#: scene/3d/spatial_sample_player.cpp
+msgid ""
+"A SampleLibrary resource must be created or set in the 'samples' property in "
+"order for SpatialSamplePlayer to play sound."
+msgstr ""
+
+#: scene/3d/sprite_3d.cpp
+msgid ""
+"A SpriteFrames resource must be created or set in the 'Frames' property in "
+"order for AnimatedSprite3D to display frames."
+msgstr ""
+
+#: scene/gui/dialogs.cpp tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Cancel"
+msgstr ""
+
+#: scene/gui/dialogs.cpp
+msgid "OK"
+msgstr ""
+
+#: scene/gui/dialogs.cpp
+msgid "Alert!"
+msgstr ""
+
+#: scene/gui/dialogs.cpp
+msgid "Please Confirm..."
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+msgid "File Exists, Overwrite?"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+msgid "All Recognized"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+msgid "All Files (*)"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+#: tools/editor/editor_help.cpp tools/editor/editor_node.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/quick_open.cpp
+#: tools/editor/scenes_dock.cpp
+msgid "Open"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp
+msgid "Open a File"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp
+msgid "Open File(s)"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp
+msgid "Open a Directory"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp
+msgid "Open a File or Directory"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+#: tools/editor/editor_node.cpp
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Save"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+msgid "Save a File"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_dir_dialog.cpp
+#: tools/editor/editor_file_dialog.cpp
+msgid "Create Folder"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+#: tools/editor/project_settings.cpp tools/editor/script_create_dialog.cpp
+msgid "Path:"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+msgid "Directories & Files:"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "File:"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+msgid "Filter:"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_dir_dialog.cpp
+#: tools/editor/editor_file_dialog.cpp tools/editor/editor_plugin_settings.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Name:"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_dir_dialog.cpp
+#: tools/editor/editor_file_dialog.cpp
+msgid "Could not create folder."
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+msgid "Must use a valid extension."
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+#: tools/editor/settings_config_dialog.cpp
+msgid "Shift+"
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+#: tools/editor/settings_config_dialog.cpp
+msgid "Alt+"
+msgstr ""
+
+#: scene/gui/input_action.cpp
+msgid "Ctrl+"
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+#: tools/editor/settings_config_dialog.cpp
+msgid "Meta+"
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+msgid "Device"
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+msgid "Button"
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+msgid "Left Button."
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+msgid "Right Button."
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+msgid "Middle Button."
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+msgid "Wheel Up."
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+msgid "Wheel Down."
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+msgid "Axis"
+msgstr ""
+
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Cut"
+msgstr ""
+
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+#: tools/editor/property_editor.cpp tools/editor/resources_dock.cpp
+msgid "Copy"
+msgstr ""
+
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+#: tools/editor/property_editor.cpp tools/editor/resources_dock.cpp
+msgid "Paste"
+msgstr ""
+
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+#: tools/editor/project_export.cpp
+msgid "Select All"
+msgstr ""
+
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp tools/editor/editor_log.cpp
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+#: tools/editor/plugins/rich_text_editor_plugin.cpp
+#: tools/editor/property_editor.cpp tools/editor/script_editor_debugger.cpp
+msgid "Clear"
+msgstr ""
+
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp tools/editor/editor_node.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Undo"
+msgstr ""
+
+#: scene/gui/popup.cpp
+msgid ""
+"Popups will hide by default unless you call popup() or any of the popup*() "
+"functions. Making them visible for editing is fine though, but they will "
+"hide upon running."
+msgstr ""
+
+#: scene/main/viewport.cpp
+msgid ""
+"This viewport is not set as render target. If you intend for it to display "
+"its contents directly to the screen, make it a child of a Control so it can "
+"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
+"texture to some node for display."
+msgstr ""
+
+#: scene/resources/dynamic_font.cpp
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Error initializing FreeType."
+msgstr ""
+
+#: scene/resources/dynamic_font.cpp
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Unknown font format."
+msgstr ""
+
+#: scene/resources/dynamic_font.cpp
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Error loading font."
+msgstr ""
+
+#: scene/resources/dynamic_font.cpp
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Invalid font size."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Disabled"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "All Selection"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Move Add Key"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Change Transition"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Change Transform"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Change Value"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Change Call"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Add Track"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Move Anim Track Up"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Move Anim Track Down"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Remove Anim Track"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Duplicate Keys"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Set Transitions to:"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Track Rename"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Track Change Interpolation"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Track Change Value Mode"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Edit Node Curve"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Edit Selection Curve"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Delete Keys"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Continuous"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Discrete"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Trigger"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Add Key"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Move Keys"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Scale Selection"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Scale From Cursor"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Duplicate Selection"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Duplicate Transposed"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Goto Next Step"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Goto Prev Step"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp tools/editor/property_editor.cpp
+msgid "Linear"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Constant"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "In"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Out"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "In-Out"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Out-In"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Transitions"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Optimize Animation"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Clean-Up Animation"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Create NEW track for %s and insert key?"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Create %d NEW tracks and insert keys?"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp tools/editor/create_dialog.cpp
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+#: tools/editor/plugins/particles_editor_plugin.cpp
+#: tools/editor/project_manager.cpp tools/editor/script_create_dialog.cpp
+msgid "Create"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Create & Insert"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Insert Track & Key"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Insert Key"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Change Anim Len"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Change Anim Loop"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Change Anim Loop Interpolation"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Create Typed Value Key"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Insert"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Scale Keys"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Add Call Track"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Animation zoom."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Length (s):"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Animation length (in seconds)."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Step (s):"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Cursor step snap (in seconds)."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Enable/Disable looping in animation."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Enable/Disable interpolation when looping animation."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Add new tracks."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Move current track up."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Move current track down."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Remove selected track."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Track tools"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Enable editing of individual keys by clicking them."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim. Optimizer"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Max. Linear Error:"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Max. Angular Error:"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Max Optimizable Angle:"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Optimize"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Key"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Transition"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Scale Ratio:"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Call Functions in Which Node?"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Remove invalid keys"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Remove unresolved and empty tracks"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Clean-up all animations"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Clean-Up Animation(s) (NO UNDO!)"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Clean-Up"
+msgstr ""
+
+#: tools/editor/array_property_edit.cpp
+msgid "Resize Array"
+msgstr ""
+
+#: tools/editor/array_property_edit.cpp
+msgid "Change Array Value Type"
+msgstr ""
+
+#: tools/editor/array_property_edit.cpp
+msgid "Change Array Value"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp tools/editor/create_dialog.cpp
+#: tools/editor/editor_help.cpp tools/editor/editor_node.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/quick_open.cpp
+#: tools/editor/settings_config_dialog.cpp
+msgid "Search:"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "Sort:"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "Reverse"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+#: tools/editor/project_settings.cpp
+msgid "Category:"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "All"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "Site:"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "Support.."
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "Official"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "Community"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "Testing"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "Assets ZIP File"
+msgstr ""
+
+#: tools/editor/call_dialog.cpp
+msgid "Method List For '%s':"
+msgstr ""
+
+#: tools/editor/call_dialog.cpp
+msgid "Call"
+msgstr ""
+
+#: tools/editor/call_dialog.cpp tools/editor/connections_dialog.cpp
+#: tools/editor/import_settings.cpp
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+#: tools/editor/project_settings.cpp tools/editor/property_editor.cpp
+#: tools/editor/run_settings_dialog.cpp tools/editor/settings_config_dialog.cpp
+msgid "Close"
+msgstr ""
+
+#: tools/editor/call_dialog.cpp
+msgid "Method List:"
+msgstr ""
+
+#: tools/editor/call_dialog.cpp
+msgid "Arguments:"
+msgstr ""
+
+#: tools/editor/call_dialog.cpp
+msgid "Return:"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Go to Line"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Line Number:"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "No Matches"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Replaced %d Ocurrence(s)."
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Replace"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Replace All"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Match Case"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Whole Words"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Selection Only"
+msgstr ""
+
+#: tools/editor/code_editor.cpp tools/editor/editor_help.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+#: tools/editor/project_settings.cpp
+msgid "Search"
+msgstr ""
+
+#: tools/editor/code_editor.cpp tools/editor/editor_help.cpp
+msgid "Find"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Next"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Replaced %d ocurrence(s)."
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Not found!"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Replace By"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Case Sensitive"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Backwards"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Prompt On Replace"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Skip"
+msgstr ""
+
+#: tools/editor/code_editor.cpp tools/editor/script_editor_debugger.cpp
+msgid "Line:"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Col:"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Method in target Node must be specified!"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Conect To Node:"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp
+#: tools/editor/plugins/item_list_editor_plugin.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+#: tools/editor/project_settings.cpp
+msgid "Add"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp tools/editor/dependency_editor.cpp
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+#: tools/editor/project_manager.cpp
+msgid "Remove"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Add Extra Call Argument:"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Extra Call Arguments:"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Path to Node:"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Make Function"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Deferred"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Oneshot"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Connect"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Connect '%s' to '%s'"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Connecting Signal:"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Create Subscription"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Connect.."
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Disconnect"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp tools/editor/node_dock.cpp
+msgid "Signals"
+msgstr ""
+
+#: tools/editor/create_dialog.cpp
+msgid "Create New"
+msgstr ""
+
+#: tools/editor/create_dialog.cpp tools/editor/editor_help.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/quick_open.cpp
+msgid "Matches:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Search Replacement For:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Dependencies For:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid ""
+"Scene '%s' is currently being edited.\n"
+"Changes will not take effect unless reloaded."
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid ""
+"Resource '%s' is in use.\n"
+"Changes will take effect when reloaded."
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Dependencies"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Resource"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp tools/editor/project_manager.cpp
+#: tools/editor/project_settings.cpp
+msgid "Path"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Dependencies:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Fix Broken"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Dependency Editor"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Search Replacement Resource:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Owners Of:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid ""
+"The files being removed are required by other resources in order for them to "
+"work.\n"
+"Remove them anyway? (no undo)"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Remove selected files from the project? (no undo)"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Error loading:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Scene failed to load due to missing dependencies:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Open Anyway"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Which action should be taken?"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Fix Dependencies"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Errors loading!"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Permanently delete %d item(s)? (No undo!)"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Owns"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Resources Without Explicit Ownership:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp
+msgid "Orphan Resource Explorer"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Delete selected files?"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp
+#: tools/editor/plugins/item_list_editor_plugin.cpp
+#: tools/editor/scenes_dock.cpp
+msgid "Delete"
+msgstr ""
+
+#: tools/editor/editor_data.cpp
+msgid "Updating Scene"
+msgstr ""
+
+#: tools/editor/editor_data.cpp
+msgid "Storing local changes.."
+msgstr ""
+
+#: tools/editor/editor_data.cpp
+msgid "Updating scene.."
+msgstr ""
+
+#: tools/editor/editor_dir_dialog.cpp
+msgid "Choose a Directory"
+msgstr ""
+
+#: tools/editor/editor_dir_dialog.cpp
+msgid "Choose"
+msgstr ""
+
+#: tools/editor/editor_file_dialog.cpp tools/editor/scenes_dock.cpp
+msgid "Favorites:"
+msgstr ""
+
+#: tools/editor/editor_file_dialog.cpp
+msgid "Recent:"
+msgstr ""
+
+#: tools/editor/editor_file_dialog.cpp
+msgid "Preview:"
+msgstr ""
+
+#: tools/editor/editor_file_system.cpp
+msgid "Cannot go into subdir:"
+msgstr ""
+
+#: tools/editor/editor_file_system.cpp
+msgid "ScanSources"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Search Classes"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Class List:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp tools/editor/property_editor.cpp
+msgid "Class:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp tools/editor/scene_tree_editor.cpp
+#: tools/editor/script_create_dialog.cpp
+msgid "Inherits:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Inherited by:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Brief Description:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Public Methods:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Members:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "GUI Theme Items:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Signals:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Constants:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp tools/editor/script_editor_debugger.cpp
+msgid "Description:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Method Description:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Search Text"
+msgstr ""
+
+#: tools/editor/editor_import_export.cpp
+msgid "Added:"
+msgstr ""
+
+#: tools/editor/editor_import_export.cpp
+msgid "Removed:"
+msgstr ""
+
+#: tools/editor/editor_import_export.cpp tools/editor/project_export.cpp
+msgid "Error saving atlas:"
+msgstr ""
+
+#: tools/editor/editor_import_export.cpp
+msgid "Could not save atlas subtexture:"
+msgstr ""
+
+#: tools/editor/editor_import_export.cpp
+msgid "Storing File:"
+msgstr ""
+
+#: tools/editor/editor_import_export.cpp
+msgid "Packing"
+msgstr ""
+
+#: tools/editor/editor_import_export.cpp
+msgid "Exporting for %s"
+msgstr ""
+
+#: tools/editor/editor_import_export.cpp
+msgid "Setting Up.."
+msgstr ""
+
+#: tools/editor/editor_log.cpp
+msgid " Output:"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp
+msgid "Re-Importing"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Importing:"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Node From Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/scenes_dock.cpp
+msgid "Re-Import.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/resources_dock.cpp
+msgid "Error saving resource!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/resources_dock.cpp
+msgid "Save Resource As.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp
+msgid "I see.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Can't open file for writing:"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Requested file format unknown:"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Error while saving."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Saving Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Analyzing"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Creating Thumbnail"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"Couldn't save scene. Likely dependencies (instances) couldn't be satisfied."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Failed to load resource."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Can't load MeshLibrary for merging!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Error saving MeshLibrary!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Can't load TileSet for merging!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Error saving TileSet!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Can't open export templates zip."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Loading Export Templates"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Error trying to save layout!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Default editor layout overridden."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Layout name not found!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Restored default layout to base settings."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Copy Params"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Paste Params"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Paste Resource"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Copy Resource"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Make Built-In"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Make Sub-Resources Unique"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Open in Help"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "There is no defined scene to run."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"No main scene has ever been defined.\n"
+"Select one from \"Project Settings\" under the 'application' category."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Current scene was never saved, please save it prior to running."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Could not start subprocess!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Open Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Open Base Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Quick Open Scene.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Quick Open Script.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Yes"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Close scene? (Unsaved changes will be lost)"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Save Scene As.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "This scene has never been saved. Save before running?"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Please save the scene first."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Save Translatable Strings"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Export Mesh Library"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Export Tile Set"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Quit"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Exit the editor?"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Current scene not saved. Open anyway?"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Can't reload a scene that was never saved."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Revert"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "This action cannot be undone. Revert anyway?"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Quick Run Scene.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"Open Project Manager? \n"
+"(Unsaved changes will be lost)"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp
+msgid "Ugh"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"Error loading scene, it must be inside the project path. Use 'Import' to "
+"open the scene, then save it inside the project path."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Error loading scene."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Scene '%s' has broken dependencies:"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Save Layout"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Load Layout"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/project_export.cpp
+msgid "Default"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Delete Layout"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Switch Scene Tab"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "%d more file(s)"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "%d more file(s) or folder(s)"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Go to previously opened scene."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Fullscreen Mode"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Distraction Free Mode"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Operations with scene files."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "New Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "New Inherited Scene.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Open Scene.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Save Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Close Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Close Goto Prev. Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Open Recent"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Quick Filter Files.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Convert To.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Translatable Strings.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "MeshLibrary.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "TileSet.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Redo"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Run Script"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Project Settings"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Revert Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Quit to Project List"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Import assets to the project."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+#: tools/editor/project_manager.cpp
+msgid "Import"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Miscellaneous project or scene-wide tools."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Tools"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Export the project to many platforms."
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/project_export.cpp
+msgid "Export"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Play the project."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Play"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Pause the scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Pause Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Stop the scene."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Stop"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Play the edited scene."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Play Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Play custom scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Debug options"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Deploy with Remote Debug"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"When exporting or deploying, the resulting executable will attempt to "
+"connect to the IP of this computer in order to be debugged."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Small Deploy with Network FS"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"When this option is enabled, export or deploy will produce a minimal "
+"executable.\n"
+"The filesystem will be provided from the project by the editor over the "
+"network.\n"
+"On Android, deploy will use the USB cable for faster performance. This "
+"option speeds up testing for games with a large footprint."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Visible Collision Shapes"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"Collision shapes and raycast nodes (for 2D and 3D) will be visible on the "
+"running game if this option is turned on."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Visible Navigation"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"Navigation meshes and polygons will be visible on the running game if this "
+"option is turned on."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Sync Scene Changes"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"When this option is turned on, any changes made to the scene in the editor "
+"will be replicated in the running game.\n"
+"When used remotely on a device, this is more efficient with network "
+"filesystem."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Sync Script Changes"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"When this option is turned on, any script that is saved will be reloaded on "
+"the running game.\n"
+"When used remotely on a device, this is more efficient with network "
+"filesystem."
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Settings"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/settings_config_dialog.cpp
+msgid "Editor Settings"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Editor Layout"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Install Export Templates"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "About"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Alerts when an external resource has changed."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Spins when the editor window repaints!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Update Always"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Update Changes"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Inspector"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Create a new resource in memory and edit it."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Load an existing resource from disk and edit it."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Save the currently edited resource."
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp
+msgid "Save As.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Go to the previous edited object in history."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Go to the next edited object in history."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "History of recently edited objects."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Object properties."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "FileSystem"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Output"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp
+#: tools/editor/import_settings.cpp
+msgid "Re-Import"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/editor_plugin_settings.cpp
+msgid "Update"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Thanks from the Godot community!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Thanks!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Import Templates From ZIP File"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/project_export.cpp
+msgid "Export Project"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Export Library"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Merge With Existing"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/project_export.cpp
+msgid "Password:"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Open & Run a Script"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Load Errors"
+msgstr ""
+
+#: tools/editor/editor_plugin_settings.cpp
+msgid "Installed Plugins:"
+msgstr ""
+
+#: tools/editor/editor_plugin_settings.cpp
+msgid "Version:"
+msgstr ""
+
+#: tools/editor/editor_plugin_settings.cpp
+msgid "Author:"
+msgstr ""
+
+#: tools/editor/editor_plugin_settings.cpp
+msgid "Status:"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Stop Profiling"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Start Profiling"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Measure:"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Frame Time (sec)"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Average Time (sec)"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Frame %"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Fixed Frame %"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp tools/editor/script_editor_debugger.cpp
+msgid "Time:"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Inclusive"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Self"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Frame #:"
+msgstr ""
+
+#: tools/editor/editor_reimport_dialog.cpp
+msgid "Please wait for scan to complete."
+msgstr ""
+
+#: tools/editor/editor_reimport_dialog.cpp
+msgid "Current scene must be saved to re-import."
+msgstr ""
+
+#: tools/editor/editor_reimport_dialog.cpp
+msgid "Save & Re-Import"
+msgstr ""
+
+#: tools/editor/editor_reimport_dialog.cpp
+msgid "Re-Import Changed Resources"
+msgstr ""
+
+#: tools/editor/editor_run_script.cpp
+msgid "Write your logic in the _run() method."
+msgstr ""
+
+#: tools/editor/editor_run_script.cpp
+msgid "There is an edited scene already."
+msgstr ""
+
+#: tools/editor/editor_run_script.cpp
+msgid "Couldn't instance script:"
+msgstr ""
+
+#: tools/editor/editor_run_script.cpp
+msgid "Did you forget the 'tool' keyword?"
+msgstr ""
+
+#: tools/editor/editor_run_script.cpp
+msgid "Couldn't run script:"
+msgstr ""
+
+#: tools/editor/editor_run_script.cpp
+msgid "Did you forget the '_run' method?"
+msgstr ""
+
+#: tools/editor/editor_settings.cpp
+msgid "Default (Same as Editor)"
+msgstr ""
+
+#: tools/editor/editor_sub_scene.cpp
+msgid "Select Node(s) to Import"
+msgstr ""
+
+#: tools/editor/editor_sub_scene.cpp
+msgid "Scene Path:"
+msgstr ""
+
+#: tools/editor/editor_sub_scene.cpp
+msgid "Import From Node:"
+msgstr ""
+
+#: tools/editor/file_type_cache.cpp
+msgid "Can't open file_type_cache.cch for writing, not saving file type cache!"
+msgstr ""
+
+#: tools/editor/groups_editor.cpp
+msgid "Add to Group"
+msgstr ""
+
+#: tools/editor/groups_editor.cpp
+msgid "Remove from Group"
+msgstr ""
+
+#: tools/editor/import_settings.cpp
+msgid "Imported Resources"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+msgid "No bit masks to import!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Target path is empty."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Target path must be a complete resource path."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Target path must exist."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+msgid "Save path is empty!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+msgid "Import BitMasks"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Source Texture(s):"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Target Path:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Accept"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+msgid "Bit Mask"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "No source font file!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "No target font resource!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Can't load/process source font."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Couldn't save font."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Source Font:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Source Font Size:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Dest Resource:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "The quick brown fox jumps over the lazy dog."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Test:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Options:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Font Import"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid ""
+"This file is already a Godot font file, please supply a BMFont type file "
+"instead."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Failed opening as BMFont file."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Invalid font custom source."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Font"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+msgid "No meshes to import!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+msgid "Single Mesh Import"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+msgid "Source Mesh(es):"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Mesh"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+msgid "Surface %d"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+msgid "No samples to import!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+msgid "Import Audio Samples"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+msgid "Source Sample(s):"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+msgid "Audio Sample"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "New Clip"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Animation Options"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Flags"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Bake FPS:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Optimizer"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Max Linear Error"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Max Angular Error"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Max Angle"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Clips"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp
+msgid "Name"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Start(s)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "End(s)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Loop"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Filters"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Source path is empty."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Couldn't load post-import script."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Invalid/broken script for post-import."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Error importing scene."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Import 3D Scene"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Source Scene:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Same as Target Scene"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Shared"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Target Texture Folder:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Post-Process Script:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Custom Root Node Type:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Auto"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "The Following Files are Missing:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Import Anyway"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Import & Open"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Edited scene has not been saved, open imported scene anyway?"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
+msgid "Import Scene"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Importing Scene.."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Running Custom Script.."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Couldn't load post-import script:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Invalid/broken script for post-import:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Error running post-import script:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Import Image:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Can't import a file over itself:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Couldn't localize path: %s (already local)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Saving.."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "3D Scene Animation"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Uncompressed"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Compress Lossless (PNG)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Compress Lossy (WebP)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Compress (VRAM)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Texture Format"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Texture Compression Quality (WebP):"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Texture Options"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Please specify some files!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "At least one file needed for Atlas."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Error importing:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Only one file is required for large texture."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Max Texture Size:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Import Textures for Atlas (2D)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Cell Size:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Large Texture"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Import Large Textures (2D)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Source Texture"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Base Atlas Texture"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Source Texture(s)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Import Textures for 2D"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Import Textures for 3D"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Import Textures"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "2D Texture"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "3D Texture"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Atlas Texture"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid ""
+"NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files to "
+"the project."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Crop empty space."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Texture"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Import Large Texture"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Load Source Image"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Slicing"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Inserting"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Saving"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Couldn't save large texture:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Build Atlas For:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Loading Image:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Couldn't load image:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Converting Images"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Cropping Images"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Blitting Images"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Couldn't save atlas image:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Couldn't save converted texture:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Invalid source!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Invalid translation source!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Column"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+#: tools/editor/script_create_dialog.cpp
+msgid "Language"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "No items to import!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "No target path!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Import Translations"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Couldn't import!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Import Translation"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Source CSV:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Ignore First Row"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Compress"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Add to Project (engine.cfg)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Import Languages:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Translation"
+msgstr ""
+
+#: tools/editor/multi_node_edit.cpp
+msgid "MultiNode Set"
+msgstr ""
+
+#: tools/editor/node_dock.cpp
+msgid "Node"
+msgstr ""
+
+#: tools/editor/node_dock.cpp
+msgid "Groups"
+msgstr ""
+
+#: tools/editor/node_dock.cpp
+msgid "Select a Node to edit Signals and Groups."
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Toggle Autoplay"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "New Animation Name:"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "New Anim"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Change Animation Name:"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Remove Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "ERROR: Invalid animation name!"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "ERROR: Animation name already exists!"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Add Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Blend Next Changed"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Change Blend Time"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Load Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Duplicate Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "ERROR: No animation to copy!"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "ERROR: No animation resource on clipboard!"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Pasted Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Paste Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "ERROR: No animation to edit!"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Play selected animation backwards from current pos. (A)"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Play selected animation backwards from end. (Shift+A)"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Stop animation playback. (S)"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Play selected animation from start. (Shift+D)"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Play selected animation from current pos. (D)"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Animation position (in seconds)."
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Scale animation playback globally for the node."
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create new animation in player."
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Load animation from disk."
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Load an animation from disk."
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Save the current animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Save As"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Display list of animations in player."
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Autoplay on Load"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Edit Target Blend Times"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Animation Tools"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Copy Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Animation Name:"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+#: tools/editor/property_editor.cpp tools/editor/script_create_dialog.cpp
+msgid "Error!"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Blend Times:"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Next (Auto Queue):"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Cross-Animation Blend Times"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "New name:"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Fade In (s):"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Fade Out (s):"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Blend"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Mix"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Auto Restart:"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Restart (s):"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Random Restart (s):"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Start!"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Amount:"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Blend:"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Blend 0:"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Blend 1:"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "X-Fade Time (s):"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Current:"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Add Input"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Clear Auto-Advance"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Set Auto-Advance"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Delete Input"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Rename"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Animation tree is valid."
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Animation tree is invalid."
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Animation Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "OneShot Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Mix Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Blend2 Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Blend3 Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Blend4 Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "TimeScale Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "TimeSeek Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Transition Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Import Animations.."
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Edit Node Filters"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Filters.."
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Parsing %d Triangles:"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Triangle #"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Light Baker Setup:"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Parsing Geometry"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Fixing Lights"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Making BVH"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Creating Light Octree"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Creating Octree Texture"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Transfer to Lightmaps:"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Allocating Texture #"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Baking Triangle #"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Post-Processing Texture #"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_editor_plugin.cpp
+msgid "BakedLightInstance does not contain a BakedLight resource."
+msgstr ""
+
+#: tools/editor/plugins/baked_light_editor_plugin.cpp
+msgid "Bake!"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_editor_plugin.cpp
+msgid "Reset the lightmap octree baking process (start over)."
+msgstr ""
+
+#: tools/editor/plugins/camera_editor_plugin.cpp
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Preview"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Configure Snap"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid "Grid Offset:"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid "Grid Step:"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Rotation Offset:"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Rotation Step:"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move Pivot"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move Action"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Edit IK Chain"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Edit CanvasItem"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Change Anchors"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom (%):"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Paste Pose"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Select Mode (Q)"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Drag: Rotate"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Alt+Drag: Move"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Alt+RMB: Depth list selection"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Move Mode (W)"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Rotate Mode (E)"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Show a list of all objects at the position clicked\n"
+"(same as Alt+RMB in select mode)."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Click to change object's rotation pivot."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Pan Mode"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Lock the selected object in place (can't be moved)."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Unlock the selected object (can be moved)."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Makes sure the object's children are not selectable."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Restores the object's children's ability to be selected."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+#: tools/editor/project_manager.cpp
+msgid "Edit"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Use Snap"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid "Show Grid"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Use Rotation Snap"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Snap Relative"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Configure Snap.."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Use Pixel Snap"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Expand to Parent"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Skeleton.."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Make Bones"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Clear Bones"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Make IK Chain"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Clear IK Chain"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom In"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom Out"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom Reset"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom Set.."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Center Selection"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Frame Selection"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Anchor"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Keys (Ins)"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key (Existing Tracks)"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Copy Pose"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Clear Pose"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Set a Value"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Snap (Pixels):"
+msgstr ""
+
+#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Create Poly"
+msgstr ""
+
+#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/collision_polygon_editor_plugin.cpp
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Edit Poly"
+msgstr ""
+
+#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/collision_polygon_editor_plugin.cpp
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Edit Poly (Remove Point)"
+msgstr ""
+
+#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+msgid "Create a new polygon from scratch."
+msgstr ""
+
+#: tools/editor/plugins/collision_polygon_editor_plugin.cpp
+msgid "Create Poly3D"
+msgstr ""
+
+#: tools/editor/plugins/collision_shape_2d_editor_plugin.cpp
+msgid "Set Handle"
+msgstr ""
+
+#: tools/editor/plugins/color_ramp_editor_plugin.cpp
+msgid "Add/Remove Color Ramp Point"
+msgstr ""
+
+#: tools/editor/plugins/color_ramp_editor_plugin.cpp
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Modify Color Ramp"
+msgstr ""
+
+#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
+msgid "Creating Mesh Library"
+msgstr ""
+
+#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
+msgid "Thumbnail.."
+msgstr ""
+
+#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr ""
+
+#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+msgid "Add Item"
+msgstr ""
+
+#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
+msgid "Remove Selected Item"
+msgstr ""
+
+#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
+msgid "Import from Scene"
+msgstr ""
+
+#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr ""
+
+#: tools/editor/plugins/item_list_editor_plugin.cpp
+msgid "Item %d"
+msgstr ""
+
+#: tools/editor/plugins/item_list_editor_plugin.cpp
+msgid "Items"
+msgstr ""
+
+#: tools/editor/plugins/item_list_editor_plugin.cpp
+msgid "Item List Editor"
+msgstr ""
+
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+msgid "Create Occluder Polygon"
+msgstr ""
+
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+msgid "Edit existing polygon:"
+msgstr ""
+
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+msgid "LMB: Move Point."
+msgstr ""
+
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+msgid "Ctrl+LMB: Split Segment."
+msgstr ""
+
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+msgid "RMB: Erase Point."
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Mesh is empty!"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Static Trimesh Body"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Static Convex Body"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "This doesn't work on scene root!"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Trimesh Shape"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Convex Shape"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Navigation Mesh"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "MeshInstance lacks a Mesh!"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Could not create outline!"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Outline"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Trimesh Static Body"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Convex Static Body"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Trimesh Collision Sibling"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Convex Collision Sibling"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Outline Mesh.."
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Outline Mesh"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Outline Size:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "No mesh source specified (and no MultiMesh set in node)."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "No mesh source specified (and MultiMesh contains no Mesh)."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Mesh source is invalid (invalid path)."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Mesh source is invalid (not a MeshInstance)."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Mesh source is invalid (contains no Mesh resource)."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "No surface source specified."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Surface source is invalid (invalid path)."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Surface source is invalid (no geometry)."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Surface source is invalid (no faces)."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Parent has no solid faces to populate."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Couldn't map area."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Select a Source Mesh:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Select a Target Surface:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Populate Surface"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Populate MultiMesh"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Target Surface:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Source Mesh:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "X-Axis"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Y-Axis"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Z-Axis"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Mesh Up Axis:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Random Rotation:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Random Tilt:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Random Scale:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Populate"
+msgstr ""
+
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+msgid "Create Navigation Polygon"
+msgstr ""
+
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+msgid "Remove Poly And Point"
+msgstr ""
+
+#: tools/editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Error loading image:"
+msgstr ""
+
+#: tools/editor/plugins/particles_2d_editor_plugin.cpp
+msgid "No pixels with transparency > 128 in image.."
+msgstr ""
+
+#: tools/editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Set Emission Mask"
+msgstr ""
+
+#: tools/editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Clear Emission Mask"
+msgstr ""
+
+#: tools/editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Load Emission Mask"
+msgstr ""
+
+#: tools/editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Generated Point Count:"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Node does not contain geometry."
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Node does not contain geometry (faces)."
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Faces contain no area!"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "No faces!"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Generate AABB"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emitter From Mesh"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emitter From Node"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Clear Emitter"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emitter"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Emission Positions:"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Emission Fill:"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Surface"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Volume"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+msgid "Remove Point from Curve"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Add Point to Curve"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+msgid "Move Point in Curve"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+msgid "Move In-Control in Curve"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+msgid "Move Out-Control in Curve"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Select Points"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Shift+Drag: Select Control Points"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Click: Add Point"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Right Click: Delete Point"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+msgid "Select Control Points (Shift+Drag)"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Add Point (in empty space)"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Split Segment (in curve)"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Delete Point"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Close Curve"
+msgstr ""
+
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Curve Point #"
+msgstr ""
+
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Set Curve Point Pos"
+msgstr ""
+
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Set Curve In Pos"
+msgstr ""
+
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Set Curve Out Pos"
+msgstr ""
+
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Split Path"
+msgstr ""
+
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Remove Path Point"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Create UV Map"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Transform UV Map"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Polygon 2D UV Editor"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Move Point"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Ctrl: Rotate"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Shift: Move All"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Shift+Ctrl: Scale"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Move Polygon"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Rotate Polygon"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Scale Polygon"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Polygon->UV"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV->Polygon"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Clear UV"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid "Snap"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid "Enable Snap"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid "Grid"
+msgstr ""
+
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "ERROR: Couldn't load resource!"
+msgstr ""
+
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Add Resource"
+msgstr ""
+
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Rename Resource"
+msgstr ""
+
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Delete Resource"
+msgstr ""
+
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Resource clipboard is empty!"
+msgstr ""
+
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Load Resource"
+msgstr ""
+
+#: tools/editor/plugins/rich_text_editor_plugin.cpp
+msgid "Parse BBCode"
+msgstr ""
+
+#: tools/editor/plugins/sample_editor_plugin.cpp
+msgid "Length:"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Open Sample File(s)"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "ERROR: Couldn't load sample!"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Add Sample"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Rename Sample"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Delete Sample"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "16 Bits"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "8 Bits"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Stereo"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Mono"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "Format"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Pitch"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Error while saving theme"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Error saving"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Error importing theme"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Error importing"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Import Theme"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Save Theme As.."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/project_export.cpp
+msgid "File"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/property_editor.cpp
+msgid "New"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Save All"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "History Prev"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "History Next"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Reload Theme"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Save Theme"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Save Theme As"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/scene_tree_dock.cpp
+msgid "Move Up"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/scene_tree_dock.cpp
+msgid "Move Down"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Indent Left"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Indent Right"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Toggle Comment"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Clone Down"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Complete Symbol"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Trim Trailing Whitespace"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Auto Indent"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Soft Reload Script"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Find.."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Find Next"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Find Previous"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Replace.."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Goto Function.."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Goto Line.."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Debug"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Toggle Breakpoint"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Remove All Breakpoints"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Goto Next Breakpoint"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Goto Previous Breakpoint"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "Step Over"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "Step Into"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "Break"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "Continue"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Keep Debugger Open"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Window"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Move Left"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Move Right"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Help"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Contextual Help"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Tutorials"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Open https://godotengine.org at tutorials section."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Classes"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Search the class hierarchy."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Search Help"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Search the reference documentation."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Go to previous edited document."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Go to next edited document."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid ""
+"The following files are newer on disk.\n"
+"What action should be taken?:"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Reload"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Resave"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "Debugger"
+msgstr ""
+
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Vertex"
+msgstr ""
+
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Fragment"
+msgstr ""
+
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Lighting"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Scalar Constant"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Vec Constant"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change RGB Constant"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Scalar Operator"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Vec Operator"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Vec Scalar Operator"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change RGB Operator"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Toggle Rot Only"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Scalar Function"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Vec Function"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Scalar Uniform"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Vec Uniform"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change RGB Uniform"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Default Value"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change XForm Uniform"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Texture Uniform"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Cubemap Uniform"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Comment"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Add/Remove to Color Ramp"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Add/Remove to Curve Map"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Modify Curve Map"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Input Name"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Connect Graph Nodes"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Disconnect Graph Nodes"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Remove Shader Graph Node"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Move Shader Graph Node"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Duplicate Graph Node(s)"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Delete Shader Graph Node(s)"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Error: Cyclic Connection Link"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Error: Missing Input Connections"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Add Shader Graph Node"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Orthogonal"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Perspective"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Transform Aborted."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "X-Axis Transform."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Y-Axis Transform."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Z-Axis Transform."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View Plane Transform."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Scaling to %s%%."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Rotating %s degrees."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Bottom View."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Bottom"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Top View."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Top"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Rear View."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Rear"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Front View."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Front"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Left View."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Left"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Right View."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Right"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Keying is disabled (no key inserted)."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Animation Key Inserted."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Align with view"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Top (Num7)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Bottom (Shift+Num7)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Left (Num3)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Right (Shift+Num3)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Front (Num1)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Rear (Shift+Num1)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Perspective (Num5)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Orthogonal (Num5)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Environment"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Audio Listener"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Gizmos"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Selection (F)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Align with view (Ctrl+Shift+F)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "XForm Dialog"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "No scene selected to instance!"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Instance at Cursor"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Could not instance scene!"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Scale Mode (R)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Transform"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Local Coords"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Transform Dialog.."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Use Default Light"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Use Default sRGB"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "1 Viewport"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "2 Viewports"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "2 Viewports (Alt)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "3 Viewports"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "3 Viewports (Alt)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "4 Viewports"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Display Normal"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Display Wireframe"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Display Overdraw"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Display Shadeless"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View Origin"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View Grid"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap Settings"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Translate Snap:"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Rotate Snap (deg.):"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Scale Snap (%):"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Viewport Settings"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Default Light Normal:"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Ambient Light Color:"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Perspective FOV (deg.):"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View Z-Near:"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View Z-Far:"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Transform Change"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Translate:"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Rotate (deg.):"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Scale (ratio):"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Transform Type"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Pre"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Post"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "ERROR: Couldn't load frame resource!"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Add Frame"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Resource clipboard is empty or not a texture!"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Paste Frame"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Add Empty"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Change Animation Loop"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Change Animation FPS"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "(empty)"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Animations"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Speed (FPS):"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Animation Frames"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Insert Empty (Before)"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Insert Empty (After)"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Up"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Down"
+msgstr ""
+
+#: tools/editor/plugins/style_box_editor_plugin.cpp
+msgid "StyleBox Preview:"
+msgstr ""
+
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid "Texture Region Editor"
+msgstr ""
+
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid "Scale Region Editor"
+msgstr ""
+
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid ""
+"No texture in this node.\n"
+"Set a texture to be able to edit region."
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Can't save theme to file:"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Add All Items"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Add All"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Add Class Items"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Class Items"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Create Empty Template"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Create Empty Editor Template"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "CheckBox Radio1"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "CheckBox Radio2"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Item"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Check Item"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Checked Item"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Has"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Many"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp tools/editor/project_export.cpp
+msgid "Options"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Have,Many,Several,Options!"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Tab 1"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Tab 2"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Tab 3"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+#: tools/editor/project_settings.cpp tools/editor/scene_tree_editor.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "Type:"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Data Type:"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Icon"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Style"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Color"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Paint TileMap"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+#: tools/editor/scene_tree_dock.cpp
+msgid "Duplicate"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Erase TileMap"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Erase selection"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Find tile"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Transpose"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Mirror X"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Mirror Y"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Bucket"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Pick Tile"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Select"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Rotate 0 degrees"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Rotate 90 degrees"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Rotate 180 degrees"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Rotate 270 degrees"
+msgstr ""
+
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+msgid "Could not find tile:"
+msgstr ""
+
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+msgid "Item name or ID:"
+msgstr ""
+
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create from scene?"
+msgstr ""
+
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+msgid "Merge from scene?"
+msgstr ""
+
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create from Scene"
+msgstr ""
+
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+msgid "Merge from Scene"
+msgstr ""
+
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "Error"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Edit Script Options"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Please export outside the project folder!"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Error exporting project!"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Error writing the project PCK!"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "No exporter for platform '%s' yet."
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Include"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Change Image Group"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Group name can't be empty!"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Invalid character in group name!"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Group name already exists!"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Add Image Group"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Delete Image Group"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Atlas Preview"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Project Export Settings"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Target"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export to Platform"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Resources"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export selected resources (including dependencies)."
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export all resources in the project."
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export all files in the project directory."
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export Mode:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Resources to Export:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Action"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid ""
+"Filters to export non-resource files (comma-separated, e.g.: *.json, *.txt):"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Filters to exclude from export (comma-separated, e.g.: *.json, *.txt):"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Convert text scenes to binary on export."
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Images"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Keep Original"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compress for Disk (Lossy, WebP)"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compress for RAM (BC/PVRTC/ETC)"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Convert Images (*.png):"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compress for Disk (Lossy) Quality:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Shrink All Images:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compress Formats:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Image Groups"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Groups:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compress Disk"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compress RAM"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compress Mode:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Lossy Quality:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Atlas:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Shrink By:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Preview Atlas"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Image Filter:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Images:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Select None"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Group"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Samples"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Sample Conversion Mode: (.wav files):"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Keep"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compress (RAM - IMA-ADPCM)"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Sampling Rate Limit (Hz):"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Trim"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Trailing Silence:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Script"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Script Export Mode:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Text"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compiled"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Encrypted (Provide Key Below)"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Script Encryption Key (256-bits as hex):"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export PCK/Zip"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export Project PCK"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export.."
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Project Export"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export Preset:"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Invalid project path, the path must exist!"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Invalid project path, engine.cfg must not exist."
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Invalid project path, engine.cfg must exist."
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Imported Project"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Invalid project path (changed anything?)."
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Couldn't create engine.cfg in project path."
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Import Existing Project"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Project Path (Must Exist):"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Project Name:"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Create New Project"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Project Path:"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Browse"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "New Game Project"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "That's a BINGO!"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Unnamed Project"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Are you sure to open more than one projects?"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Are you sure to run more than one projects?"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Remove project from the list? (Folder contents will not be modified)"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Project Manager"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Project List"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Run"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Scan"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "New Project"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Exit"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Key "
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Joy Button"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Joy Axis"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Mouse Button"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Invalid action (anything goes but '/' or ':')."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Action '%s' already exists!"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Rename Input Action Event"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Add Input Action Event"
+msgstr ""
+
+#: tools/editor/project_settings.cpp tools/editor/settings_config_dialog.cpp
+msgid "Control+"
+msgstr ""
+
+#: tools/editor/project_settings.cpp tools/editor/settings_config_dialog.cpp
+msgid "Press a Key.."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Mouse Button Index:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Left Button"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Right Button"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Middle Button"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Wheel Up Button"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Wheel Down Button"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Button 6"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Button 7"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Button 8"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Button 9"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Joystick Axis Index:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Joystick Button Index:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Add Input Action"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Erase Input Action Event"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Toggle Persisting"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Error saving settings."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Settings saved OK."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Add Translation"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Invalid name."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Valid characters:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Invalid name. Must not collide with an existing engine class name."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Invalid name. Must not collide with an existing buit-in type name."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Invalid name. Must not collide with an existing global constant name."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Autoload '%s' already exists!"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Rename Autoload"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Toggle AutoLoad Globals"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Add Autoload"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Remove Autoload"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Move Autoload"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Remove Translation"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Add Remapped Path"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Resource Remap Add Remap"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Change Resource Remap Language"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Remove Resource Remap"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Remove Resource Remap Option"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Enable"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Project Settings (engine.cfg)"
+msgstr ""
+
+#: tools/editor/project_settings.cpp tools/editor/settings_config_dialog.cpp
+msgid "General"
+msgstr ""
+
+#: tools/editor/project_settings.cpp tools/editor/property_editor.cpp
+msgid "Property:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Del"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Copy To Platform.."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Input Map"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Action:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Device:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Index:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Localization"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Translations"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Translations:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Add.."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Remaps"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Resources:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Remaps by Locale:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Locale"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "AutoLoad"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Node Name:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "List:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Singleton"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Plugins"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Preset.."
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Ease In"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Ease Out"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Zero"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Easing In-Out"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Easing Out-In"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "File.."
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Dir.."
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Load"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Assign"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Error loading file: Not a resource!"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Couldn't load image"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Bit %d, val %d."
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "On"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Set"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Properties:"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Global"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Sections:"
+msgstr ""
+
+#: tools/editor/pvrtc_compress.cpp
+msgid "Could not execute PVRTC tool:"
+msgstr ""
+
+#: tools/editor/pvrtc_compress.cpp
+msgid "Can't load back converted image using PVRTC tool:"
+msgstr ""
+
+#: tools/editor/reparent_dialog.cpp tools/editor/scene_tree_dock.cpp
+msgid "Reparent Node"
+msgstr ""
+
+#: tools/editor/reparent_dialog.cpp
+msgid "Reparent Location (Select new Parent):"
+msgstr ""
+
+#: tools/editor/reparent_dialog.cpp
+msgid "Keep Global Transform"
+msgstr ""
+
+#: tools/editor/reparent_dialog.cpp tools/editor/scene_tree_dock.cpp
+msgid "Reparent"
+msgstr ""
+
+#: tools/editor/resources_dock.cpp
+msgid "Create New Resource"
+msgstr ""
+
+#: tools/editor/resources_dock.cpp
+msgid "Open Resource"
+msgstr ""
+
+#: tools/editor/resources_dock.cpp
+msgid "Save Resource"
+msgstr ""
+
+#: tools/editor/resources_dock.cpp
+msgid "Resource Tools"
+msgstr ""
+
+#: tools/editor/resources_dock.cpp
+msgid "Make Local"
+msgstr ""
+
+#: tools/editor/run_settings_dialog.cpp
+msgid "Run Mode:"
+msgstr ""
+
+#: tools/editor/run_settings_dialog.cpp
+msgid "Current Scene"
+msgstr ""
+
+#: tools/editor/run_settings_dialog.cpp
+msgid "Main Scene"
+msgstr ""
+
+#: tools/editor/run_settings_dialog.cpp
+msgid "Main Scene Arguments:"
+msgstr ""
+
+#: tools/editor/run_settings_dialog.cpp
+msgid "Scene Run Settings"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "OK :("
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "No parent to instance a child at."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Error loading scene from %s"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Error instancing scene from %s"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid ""
+"Cannot instance the scene '%s' because the current scene exists within one "
+"of its nodes."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Instance Scene(s)"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "This operation can't be done on the tree root."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Move Node In Parent"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Move Nodes In Parent"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Duplicate Node(s)"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Delete Node(s)?"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "This operation can't be done without a scene."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "This operation requires a single selected node."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "This operation can't be done on instanced scenes."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Save New Scene As.."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Makes Sense!"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Can't operate on nodes from a foreign scene!"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Can't operate on nodes the current scene inherits from!"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Remove Node(s)"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Create Node"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid ""
+"Couldn't save new scene. Likely dependencies (instances) couldn't be "
+"satisfied."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Error saving scene."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Error duplicating scene to save it."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "New Scene Root"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Inherit Scene"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Add Child Node"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Instance Child Scene"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Change Type"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Edit Groups"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Edit Connections"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Add Script"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Merge From Scene"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Save Branch as Scene"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Delete Node(s)"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Add/Create a New Node"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid ""
+"Instance a scene file as a Node. Creates an inherited scene if no root node "
+"exists."
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid ""
+"This item cannot be made visible because the parent is hidden. Unhide the "
+"parent first."
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Toggle Spatial Visible"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Toggle CanvasItem Visible"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Instance:"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Invalid node name, the following characters are not allowed:"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Rename Node"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Scene Tree (Nodes):"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Editable Children"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Load As Placeholder"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Discard Instancing"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Open in Editor"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Clear Inheritance"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Clear Inheritance? (No Undo!)"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Clear!"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Select a Node"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Same source and destination files, doing nothing."
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Same source and destination paths, doing nothing."
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Can't move directories to within themselves."
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Can't operate on '..'"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Pick New Name and Location For:"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "No files selected!"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Instance"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Edit Dependencies.."
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "View Owners.."
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Copy Path"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Rename or Move.."
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Move To.."
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Info"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Show In File Manager"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Previous Directory"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Next Directory"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Re-Scan Filesystem"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Toggle folder status as Favorite"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Instance the selected scene(s) as child of the selected node."
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Move"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Invalid parent class name"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Valid chars:"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Invalid class name"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Valid name"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "N/A"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Class name is invalid!"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Parent class name is invalid!"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Invalid path!"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Could not create script in filesystem."
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Path is empty"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Path is not local"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Invalid base path"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "File exists"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Invalid extension"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Valid path"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Class Name:"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Built-In Script"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Create Node Script"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Bytes:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Warning"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Error:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Source:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Function:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Errors"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Child Process Connected"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Inspect Previous Instance"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Inspect Next Instance"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Stack Frames"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Variable"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Errors:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Stack Trace (if applicable):"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Remote Inspector"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Live Scene Tree:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Remote Object Properties: "
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Profiler"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Monitor"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Value"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Monitors"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "List of Video Memory Usage by Resource:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Total:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Video Mem"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Resource Path"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Type"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Usage"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Misc"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Clicked Control:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Clicked Control Type:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Live Edit Root:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Set From Tree"
+msgstr ""
+
+#: tools/editor/settings_config_dialog.cpp
+msgid "Shortcuts"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Light Radius"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Camera FOV"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Camera Size"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Sphere Shape Radius"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Box Shape Extents"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Capsule Shape Radius"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Capsule Shape Height"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Ray Shape Length"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Notifier Extents"
+msgstr ""
diff --git a/tools/translations/tools.pot b/tools/translations/tools.pot
index f007a7be36..854f8fef78 100644
--- a/tools/translations/tools.pot
+++ b/tools/translations/tools.pot
@@ -1,6 +1,7 @@
# LANGUAGE translation of the Godot Engine editor
# Copyright (C) 2016 Juan Linietsky, Ariel Manzur and the Godot community
# This file is distributed under the same license as the Godot source code.
+#
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
@@ -10,6 +11,46 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid type argument to convert(), use TYPE_* constants."
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not enough bytes for decoding bytes, or invalid format."
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "step argument is zero!"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not a script with an instance"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not based on a script"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not based on a resource file"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (missing @path)"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (can't load script at @path)"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (invalid script at @path)"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary (invalid subclasses)"
+msgstr ""
+
#: scene/2d/animated_sprite.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -98,14 +139,14 @@ msgstr ""
#: scene/2d/sprite.cpp
msgid ""
-"Path property must point to a valid Viewport node to work. Such Viewport must "
-"be set to 'render target' mode."
+"Path property must point to a valid Viewport node to work. Such Viewport "
+"must be set to 'render target' mode."
msgstr ""
#: scene/2d/sprite.cpp
msgid ""
-"The Viewport set in the path property must be set as 'render target' in order "
-"for this sprite to work."
+"The Viewport set in the path property must be set as 'render target' in "
+"order for this sprite to work."
msgstr ""
#: scene/2d/visibility_notifier_2d.cpp
@@ -144,8 +185,8 @@ msgstr ""
#: scene/3d/navigation_mesh.cpp
msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. It "
-"only provides navigation data."
+"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
+"It only provides navigation data."
msgstr ""
#: scene/3d/scenario_fx.cpp
@@ -341,7 +382,8 @@ msgstr ""
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
#: tools/editor/plugins/script_editor_plugin.cpp
-#: tools/editor/plugins/shader_editor_plugin.cpp tools/editor/project_export.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+#: tools/editor/project_export.cpp
msgid "Select All"
msgstr ""
@@ -361,8 +403,8 @@ msgstr ""
#: scene/gui/popup.cpp
msgid ""
"Popups will hide by default unless you call popup() or any of the popup*() "
-"functions. Making them visible for editing is fine though, but they will hide "
-"upon running."
+"functions. Making them visible for editing is fine though, but they will "
+"hide upon running."
msgstr ""
#: scene/main/viewport.cpp
@@ -470,6 +512,18 @@ msgid "Anim Delete Keys"
msgstr ""
#: tools/editor/animation_editor.cpp
+msgid "Continuous"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Discrete"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Trigger"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
msgid "Anim Add Key"
msgstr ""
@@ -577,6 +631,10 @@ msgid "Change Anim Loop"
msgstr ""
#: tools/editor/animation_editor.cpp
+msgid "Change Anim Loop Interpolation"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
msgid "Anim Create Typed Value Key"
msgstr ""
@@ -617,6 +675,10 @@ msgid "Enable/Disable looping in animation."
msgstr ""
#: tools/editor/animation_editor.cpp
+msgid "Enable/Disable interpolation when looping animation."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
msgid "Add new tracks."
msgstr ""
@@ -884,10 +946,6 @@ msgstr ""
msgid "Connect To Node:"
msgstr ""
-#: tools/editor/connections_dialog.cpp
-msgid "Binds (Extra Params):"
-msgstr ""
-
#: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp
#: tools/editor/plugins/item_list_editor_plugin.cpp
#: tools/editor/plugins/theme_editor_plugin.cpp
@@ -897,16 +955,21 @@ msgstr ""
#: tools/editor/connections_dialog.cpp tools/editor/dependency_editor.cpp
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
-#: tools/editor/plugins/theme_editor_plugin.cpp tools/editor/project_manager.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+#: tools/editor/project_manager.cpp
msgid "Remove"
msgstr ""
#: tools/editor/connections_dialog.cpp
-msgid "Path To Node:"
+msgid "Add Extra Call Argument:"
msgstr ""
#: tools/editor/connections_dialog.cpp
-msgid "Method In Node:"
+msgid "Extra Call Arguments:"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Path to Node:"
msgstr ""
#: tools/editor/connections_dialog.cpp
@@ -930,6 +993,10 @@ msgid "Connect '%s' to '%s'"
msgstr ""
#: tools/editor/connections_dialog.cpp
+msgid "Connecting Signal:"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
msgid "Create Subscription"
msgstr ""
@@ -1064,7 +1131,8 @@ msgid "Delete selected files?"
msgstr ""
#: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp
-#: tools/editor/plugins/item_list_editor_plugin.cpp tools/editor/scenes_dock.cpp
+#: tools/editor/plugins/item_list_editor_plugin.cpp
+#: tools/editor/scenes_dock.cpp
msgid "Delete"
msgstr ""
@@ -1441,8 +1509,8 @@ msgstr ""
#: tools/editor/editor_node.cpp
msgid ""
-"Error loading scene, it must be inside the project path. Use 'Import' to open "
-"the scene, then save it inside the project path."
+"Error loading scene, it must be inside the project path. Use 'Import' to "
+"open the scene, then save it inside the project path."
msgstr ""
#: tools/editor/editor_node.cpp
@@ -1458,7 +1526,7 @@ msgid "Save Layout"
msgstr ""
#: tools/editor/editor_node.cpp
-msgid "Load Layout"
+msgid "Delete Layout"
msgstr ""
#: tools/editor/editor_node.cpp tools/editor/project_export.cpp
@@ -1466,10 +1534,6 @@ msgid "Default"
msgstr ""
#: tools/editor/editor_node.cpp
-msgid "Delete Layout"
-msgstr ""
-
-#: tools/editor/editor_node.cpp
msgid "Switch Scene Tab"
msgstr ""
@@ -1491,6 +1555,14 @@ msgid "Go to previously opened scene."
msgstr ""
#: tools/editor/editor_node.cpp
+msgid "Fullscreen Mode"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Distraction Free Mode"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
msgid "Operations with scene files."
msgstr ""
@@ -1643,8 +1715,8 @@ msgstr ""
#: tools/editor/editor_node.cpp
msgid ""
-"When exporting or deploying, the resulting executable will attempt to connect "
-"to the IP of this computer in order to be debugged."
+"When exporting or deploying, the resulting executable will attempt to "
+"connect to the IP of this computer in order to be debugged."
msgstr ""
#: tools/editor/editor_node.cpp
@@ -1657,8 +1729,8 @@ msgid ""
"executable.\n"
"The filesystem will be provided from the project by the editor over the "
"network.\n"
-"On Android, deploy will use the USB cable for faster performance. This option "
-"speeds up testing for games with a large footprint."
+"On Android, deploy will use the USB cable for faster performance. This "
+"option speeds up testing for games with a large footprint."
msgstr ""
#: tools/editor/editor_node.cpp
@@ -1757,9 +1829,7 @@ msgstr ""
msgid "Save the currently edited resource."
msgstr ""
-#: tools/editor/editor_node.cpp
-#: tools/editor/plugins/animation_player_editor_plugin.cpp
-#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp
msgid "Save As.."
msgstr ""
@@ -2035,6 +2105,12 @@ msgid "No target font resource!"
msgstr ""
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid ""
+"Invalid file extension.\n"
+"Please use .fnt."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
msgid "Can't load/process source font."
msgstr ""
@@ -2652,6 +2728,10 @@ msgid "Create new animation in player."
msgstr ""
#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Load animation from disk."
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Load an animation from disk."
msgstr ""
@@ -2660,6 +2740,10 @@ msgid "Save the current animation"
msgstr ""
#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Save As"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
msgstr ""
@@ -3778,7 +3862,8 @@ msgstr ""
msgid "Save Theme As.."
msgstr ""
-#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/project_export.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/project_export.cpp
msgid "File"
msgstr ""
@@ -3850,11 +3935,7 @@ msgid "Auto Indent"
msgstr ""
#: tools/editor/plugins/script_editor_plugin.cpp
-msgid "Reload Tool Script"
-msgstr ""
-
-#: tools/editor/plugins/script_editor_plugin.cpp
-msgid "Reload Tool Script (Soft)"
+msgid "Soft Reload Script"
msgstr ""
#: tools/editor/plugins/script_editor_plugin.cpp
@@ -3947,7 +4028,7 @@ msgid "Help"
msgstr ""
#: tools/editor/plugins/script_editor_plugin.cpp
-msgid "Contextual"
+msgid "Contextual Help"
msgstr ""
#: tools/editor/plugins/script_editor_plugin.cpp
@@ -4154,10 +4235,6 @@ msgid "Transform Aborted."
msgstr ""
#: tools/editor/plugins/spatial_editor_plugin.cpp
-msgid "View Plane Transform."
-msgstr ""
-
-#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "X-Axis Transform."
msgstr ""
@@ -4170,6 +4247,10 @@ msgid "Z-Axis Transform."
msgstr ""
#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View Plane Transform."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Scaling to %s%%."
msgstr ""
@@ -4549,7 +4630,11 @@ msgid "Remove Class Items"
msgstr ""
#: tools/editor/plugins/theme_editor_plugin.cpp
-msgid "Create Template"
+msgid "Create Empty Template"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Create Empty Editor Template"
msgstr ""
#: tools/editor/plugins/theme_editor_plugin.cpp
@@ -4636,31 +4721,35 @@ msgid "Erase TileMap"
msgstr ""
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Bucket"
+msgid "Erase selection"
msgstr ""
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Pick Tile"
+msgid "Find tile"
msgstr ""
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Select"
+msgid "Transpose"
msgstr ""
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase Selection"
+msgid "Mirror X"
msgstr ""
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Transpose"
+msgid "Mirror Y"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Bucket"
msgstr ""
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Mirror X (A)"
+msgid "Pick Tile"
msgstr ""
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Mirror Y (S)"
+msgid "Select"
msgstr ""
#: tools/editor/plugins/tile_map_editor_plugin.cpp
@@ -5495,8 +5584,8 @@ msgstr ""
#: tools/editor/scene_tree_dock.cpp
msgid ""
-"Cannot instance the scene '%s' because the current scene exists within one of "
-"its nodes."
+"Cannot instance the scene '%s' because the current scene exists within one "
+"of its nodes."
msgstr ""
#: tools/editor/scene_tree_dock.cpp
@@ -5574,31 +5663,27 @@ msgid "Error duplicating scene to save it."
msgstr ""
#: tools/editor/scene_tree_dock.cpp
-msgid "New Scene Root"
-msgstr ""
-
-#: tools/editor/scene_tree_dock.cpp
-msgid "Inherit Scene"
+msgid "Edit Groups"
msgstr ""
#: tools/editor/scene_tree_dock.cpp
-msgid "Add Child Node"
+msgid "Edit Connections"
msgstr ""
#: tools/editor/scene_tree_dock.cpp
-msgid "Instance Child Scene"
+msgid "Delete Node(s)"
msgstr ""
#: tools/editor/scene_tree_dock.cpp
-msgid "Change Type"
+msgid "Add Child Node"
msgstr ""
#: tools/editor/scene_tree_dock.cpp
-msgid "Edit Groups"
+msgid "Instance Child Scene"
msgstr ""
#: tools/editor/scene_tree_dock.cpp
-msgid "Edit Connections"
+msgid "Change Type"
msgstr ""
#: tools/editor/scene_tree_dock.cpp
@@ -5614,10 +5699,6 @@ msgid "Save Branch as Scene"
msgstr ""
#: tools/editor/scene_tree_dock.cpp
-msgid "Delete Node(s)"
-msgstr ""
-
-#: tools/editor/scene_tree_dock.cpp
msgid "Add/Create a New Node"
msgstr ""
@@ -5666,6 +5747,10 @@ msgid "Load As Placeholder"
msgstr ""
#: tools/editor/scene_tree_editor.cpp
+msgid "Discard Instancing"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
diff --git a/tools/translations/zh_CN.po b/tools/translations/zh_CN.po
index b35419f445..70b7845f9d 100644
--- a/tools/translations/zh_CN.po
+++ b/tools/translations/zh_CN.po
@@ -1,38 +1,81 @@
-# LANGUAGE translation of the Godot Engine editor
+# Chinese (China) translation of the Godot Engine editor
# Copyright (C) 2016 Juan Linietsky, Ariel Manzur and the Godot community
# This file is distributed under the same license as the Godot source code.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
# Geequlim <geequlim@gmail.com>, 2016.
#
msgid ""
msgstr ""
"Project-Id-Version: Godot Engine editor\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2016-05-31 23:28+0800\n"
+"PO-Revision-Date: 2016-06-11 11:37+0000\n"
"Last-Translator: Geequlim <geequlim@gmail.com>\n"
-"Language-Team: 汉语 <geequlim@gmail.com>\n"
+"Language-Team: Chinese (China) <https://hosted.weblate.org/projects/godot-"
+"engine/godot/zh_CN/>\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Gtranslator 2.91.7\n"
"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Weblate 2.7-dev\n"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid type argument to convert(), use TYPE_* constants."
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not enough bytes for decoding bytes, or invalid format."
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "step argument is zero!"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+#, fuzzy
+msgid "Not a script with an instance"
+msgstr "没有选用è¦å®žä¾‹åŒ–的场景ï¼"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not based on a script"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+#, fuzzy
+msgid "Not based on a resource file"
+msgstr "请设置目标字体资æºï¼"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (missing @path)"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (can't load script at @path)"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (invalid script at @path)"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary (invalid subclasses)"
+msgstr ""
#: scene/2d/animated_sprite.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
"order for AnimatedSprite to display frames."
msgstr ""
-"SpriteFrames资æºå¿…须是通过AnimatedSprite节点的frames属性创建的,å¦åˆ™æ— æ³•显示动"
-"画帧。"
+"SpriteFrames资æºå¿…须是通过AnimatedSprite节点的frames属性创建的,å¦åˆ™æ— æ³•显示"
+"动画帧。"
#: scene/2d/canvas_modulate.cpp
msgid ""
"Only one visible CanvasModulate is allowed per scene (or set of instanced "
"scenes). The first created one will work, while the rest will be ignored."
msgstr ""
-"æ¯ä¸ªåœºæ™¯ä¸­åªå…许有一个CanvasModulate类型的节点,场景中的第一个CanvasModulate节"
-"点能正常工作,其余的将被忽略。"
+"æ¯ä¸ªåœºæ™¯ä¸­åªå…许有一个CanvasModulate类型的节点,场景中的第一个CanvasModulate"
+"节点能正常工作,其余的将被忽略。"
#: scene/2d/collision_polygon_2d.cpp
msgid ""
@@ -66,7 +109,7 @@ msgstr "形状资æºå¿…须是通过CollisionShape2D节点的shape属性创建的
msgid ""
"A texture with the shape of the light must be supplied to the 'texture' "
"property."
-msgstr ""
+msgstr "光照的形状与纹ç†å¿…é¡»æä¾›ç»™çº¹ç†å±žæ€§ã€‚"
#: scene/2d/light_occluder_2d.cpp
msgid ""
@@ -95,7 +138,8 @@ msgstr ""
#: scene/2d/parallax_layer.cpp
msgid ""
"ParallaxLayer node only works when set as child of a ParallaxBackground node."
-msgstr "ParallaxLayer类型的节点必须作为ParallaxBackgroundçš„å­èŠ‚ç‚¹æ‰èƒ½æ­£å¸¸å·¥ä½œã€‚"
+msgstr ""
+"ParallaxLayer类型的节点必须作为ParallaxBackgroundçš„å­èŠ‚ç‚¹æ‰èƒ½æ­£å¸¸å·¥ä½œã€‚"
#: scene/2d/particles_2d.cpp
msgid "Path property must point to a valid Particles2D node to work."
@@ -114,21 +158,21 @@ msgid ""
"A SampleLibrary resource must be created or set in the 'samples' property in "
"order for SamplePlayer to play sound."
msgstr ""
-"SampleLibrary类型的资æºå¿…须是通过SamplePlayer类型节点的samples属性创建的,这样"
-"çš„èµ„æºæ‰èƒ½ç”¨äºŽæ’­æ”¾å£°éŸ³ã€‚"
+"SampleLibrary类型的资æºå¿…须是通过SamplePlayer类型节点的samples属性创建的,这"
+"æ ·çš„èµ„æºæ‰èƒ½ç”¨äºŽæ’­æ”¾å£°éŸ³ã€‚"
#: scene/2d/sprite.cpp
msgid ""
-"Path property must point to a valid Viewport node to work. Such Viewport must "
-"be set to 'render target' mode."
+"Path property must point to a valid Viewport node to work. Such Viewport "
+"must be set to 'render target' mode."
msgstr ""
"Path属性必须指å‘ä¸€ä¸ªåˆæ³•çš„Viewport节点æ‰èƒ½å·¥ä½œï¼ŒåŒæ—¶æ­¤Viewport还需è¦å¯"
"用'render target'。"
#: scene/2d/sprite.cpp
msgid ""
-"The Viewport set in the path property must be set as 'render target' in order "
-"for this sprite to work."
+"The Viewport set in the path property must be set as 'render target' in "
+"order for this sprite to work."
msgstr ""
"ä¸ºäº†è®©æ­¤ç²¾çµæ­£å¸¸å·¥ä½œï¼Œå®ƒçš„path属性所指å‘çš„Viewport需è¦å¼€å¯'render target'。"
@@ -174,8 +218,8 @@ msgstr "此节点需è¦è®¾ç½®NavigationMeshèµ„æºæ‰èƒ½å·¥ä½œã€‚"
#: scene/3d/navigation_mesh.cpp
msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. It "
-"only provides navigation data."
+"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
+"It only provides navigation data."
msgstr ""
"NavigationMeshInstance类型节点必须作为Navigation节点的å­å­™æ‰èƒ½æä¾›å¯¼èˆªæ•°æ®ã€‚"
@@ -193,13 +237,12 @@ msgstr ""
"正常播放声音。"
#: scene/3d/sprite_3d.cpp
-#, fuzzy
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
"order for AnimatedSprite3D to display frames."
msgstr ""
-"SpriteFrames资æºå¿…须是通过AnimatedSprite节点的frames属性创建的,å¦åˆ™æ— æ³•显示动"
-"画帧。"
+"SpriteFrame资æºå¿…须是通过AnimatedSprite3D节点的Frames属性创建的,å¦åˆ™æ— æ³•显示"
+"动画帧。"
#: scene/gui/dialogs.cpp tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Cancel"
@@ -215,7 +258,7 @@ msgstr "æç¤ºï¼"
#: scene/gui/dialogs.cpp
msgid "Please Confirm..."
-msgstr "请确认"
+msgstr "请确认..."
#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
msgid "File Exists, Overwrite?"
@@ -237,24 +280,20 @@ msgid "Open"
msgstr "打开"
#: scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Open a File"
-msgstr "打开声音文件"
+msgstr "打开文件"
#: scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Open File(s)"
-msgstr "打开声音文件"
+msgstr "打开文件"
#: scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Open a Directory"
-msgstr "选择目录"
+msgstr "打开目录"
#: scene/gui/file_dialog.cpp
-#, fuzzy
msgid "Open a File or Directory"
-msgstr "选择目录"
+msgstr "打开文件或目录"
#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
#: tools/editor/editor_node.cpp
@@ -295,7 +334,7 @@ msgstr "筛选:"
#: tools/editor/editor_file_dialog.cpp tools/editor/editor_plugin_settings.cpp
#: tools/editor/plugins/theme_editor_plugin.cpp
msgid "Name:"
-msgstr "åç§°"
+msgstr "åç§°:"
#: scene/gui/file_dialog.cpp tools/editor/editor_dir_dialog.cpp
#: tools/editor/editor_file_dialog.cpp
@@ -318,7 +357,7 @@ msgstr "Alt+"
#: scene/gui/input_action.cpp
msgid "Ctrl+"
-msgstr ""
+msgstr "Ctrl+"
#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
#: tools/editor/settings_config_dialog.cpp
@@ -381,7 +420,8 @@ msgstr "粘贴"
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
#: tools/editor/plugins/script_editor_plugin.cpp
-#: tools/editor/plugins/shader_editor_plugin.cpp tools/editor/project_export.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+#: tools/editor/project_export.cpp
msgid "Select All"
msgstr "全选"
@@ -401,11 +441,11 @@ msgstr "撤销"
#: scene/gui/popup.cpp
msgid ""
"Popups will hide by default unless you call popup() or any of the popup*() "
-"functions. Making them visible for editing is fine though, but they will hide "
-"upon running."
+"functions. Making them visible for editing is fine though, but they will "
+"hide upon running."
msgstr ""
-"Popup对象在你调用popup()方法之å‰å°†ä¿æŒéšè—,这里设置为å¯è§å¹¶ä¸ä»£è¡¨æ‰§è¡Œåœºæ™¯æ—¶å®ƒ"
-"会出现。"
+"Popup对象在你调用popup()方法之å‰å°†ä¿æŒéšè—,这里设置为å¯è§å¹¶ä¸ä»£è¡¨æ‰§è¡Œåœºæ™¯æ—¶"
+"它会出现。"
#: scene/main/viewport.cpp
msgid ""
@@ -414,6 +454,9 @@ msgid ""
"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
"texture to some node for display."
msgstr ""
+"这个Viewport未设置render target。如果你刻æ„为之,直接在å±å¹•上显示其内容,使其"
+"æˆä¸ºå­æŽ§ä»¶çš„æ‰€ä»¥å®ƒå¯ä»¥èŽ·å–大å°ã€‚å¦åˆ™è¯·è®¾ç½®render target,将其内部纹ç†åˆ†é…给一"
+"些节点显示。"
#: scene/resources/dynamic_font.cpp
#: tools/editor/io_plugins/editor_font_import_plugin.cpp
@@ -512,6 +555,20 @@ msgid "Anim Delete Keys"
msgstr "删除关键帧"
#: tools/editor/animation_editor.cpp
+#, fuzzy
+msgid "Continuous"
+msgstr "ç»§ç»­"
+
+#: tools/editor/animation_editor.cpp
+#, fuzzy
+msgid "Discrete"
+msgstr "删除事件连接"
+
+#: tools/editor/animation_editor.cpp
+msgid "Trigger"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
msgid "Anim Add Key"
msgstr "添加关键帧"
@@ -619,6 +676,11 @@ msgid "Change Anim Loop"
msgstr "修改动画循环"
#: tools/editor/animation_editor.cpp
+#, fuzzy
+msgid "Change Anim Loop Interpolation"
+msgstr "修改动画循环"
+
+#: tools/editor/animation_editor.cpp
msgid "Anim Create Typed Value Key"
msgstr ""
@@ -659,6 +721,11 @@ msgid "Enable/Disable looping in animation."
msgstr "å¯ç”¨/ç¦ç”¨å¾ªçޝ"
#: tools/editor/animation_editor.cpp
+#, fuzzy
+msgid "Enable/Disable interpolation when looping animation."
+msgstr "å¯ç”¨/ç¦ç”¨å¾ªçޝ"
+
+#: tools/editor/animation_editor.cpp
msgid "Add new tracks."
msgstr "新建轨é“"
@@ -779,26 +846,24 @@ msgid "Site:"
msgstr "站点:"
#: tools/editor/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Support.."
-msgstr "导出.."
+msgstr "支æŒ.."
#: tools/editor/asset_library_editor_plugin.cpp
msgid "Official"
-msgstr ""
+msgstr "官方"
#: tools/editor/asset_library_editor_plugin.cpp
msgid "Community"
-msgstr ""
+msgstr "社区"
#: tools/editor/asset_library_editor_plugin.cpp
-#, fuzzy
msgid "Testing"
-msgstr "设置"
+msgstr "测试"
#: tools/editor/asset_library_editor_plugin.cpp
msgid "Assets ZIP File"
-msgstr ""
+msgstr "ZIP资æºåŒ…"
#: tools/editor/call_dialog.cpp
msgid "Method List For '%s':"
@@ -925,13 +990,10 @@ msgid "Method in target Node must be specified!"
msgstr "必须设置方法的对象节点ï¼"
#: tools/editor/connections_dialog.cpp
-msgid "Connect To Node:"
+#, fuzzy
+msgid "Conect To Node:"
msgstr "连接到节点:"
-#: tools/editor/connections_dialog.cpp
-msgid "Binds (Extra Params):"
-msgstr "ç»‘å®šï¼ˆé™„åŠ å‚æ•°ï¼‰ï¼š"
-
#: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp
#: tools/editor/plugins/item_list_editor_plugin.cpp
#: tools/editor/plugins/theme_editor_plugin.cpp
@@ -941,17 +1003,24 @@ msgstr "添加"
#: tools/editor/connections_dialog.cpp tools/editor/dependency_editor.cpp
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
-#: tools/editor/plugins/theme_editor_plugin.cpp tools/editor/project_manager.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+#: tools/editor/project_manager.cpp
msgid "Remove"
msgstr "移除"
#: tools/editor/connections_dialog.cpp
-msgid "Path To Node:"
-msgstr "节点路径:"
+msgid "Add Extra Call Argument:"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+#, fuzzy
+msgid "Extra Call Arguments:"
+msgstr "傿•°ï¼š"
#: tools/editor/connections_dialog.cpp
-msgid "Method In Node:"
-msgstr "节点方法:"
+#, fuzzy
+msgid "Path to Node:"
+msgstr "节点路径:"
#: tools/editor/connections_dialog.cpp
msgid "Make Function"
@@ -974,6 +1043,11 @@ msgid "Connect '%s' to '%s'"
msgstr "连接'%s'到'%s'"
#: tools/editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connecting Signal:"
+msgstr "事件:"
+
+#: tools/editor/connections_dialog.cpp
msgid "Create Subscription"
msgstr ""
@@ -987,9 +1061,8 @@ msgid "Disconnect"
msgstr "删除事件连接"
#: tools/editor/connections_dialog.cpp tools/editor/node_dock.cpp
-#, fuzzy
msgid "Signals"
-msgstr "事件:"
+msgstr "ä¿¡å·"
#: tools/editor/create_dialog.cpp
msgid "Create New"
@@ -1109,7 +1182,8 @@ msgid "Delete selected files?"
msgstr "删除选中的文件?"
#: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp
-#: tools/editor/plugins/item_list_editor_plugin.cpp tools/editor/scenes_dock.cpp
+#: tools/editor/plugins/item_list_editor_plugin.cpp
+#: tools/editor/scenes_dock.cpp
msgid "Delete"
msgstr "删除"
@@ -1243,7 +1317,6 @@ msgid "Setting Up.."
msgstr "é…ç½®.."
#: tools/editor/editor_log.cpp
-#, fuzzy
msgid " Output:"
msgstr "输出"
@@ -1314,11 +1387,11 @@ msgstr "加载资æºå¤±è´¥ã€‚"
#: tools/editor/editor_node.cpp
msgid "Can't load MeshLibrary for merging!"
-msgstr ""
+msgstr "无法加载è¦åˆå¹¶çš„MeshLibrary"
#: tools/editor/editor_node.cpp
msgid "Error saving MeshLibrary!"
-msgstr ""
+msgstr "ä¿å­˜MeshLibrary出错ï¼"
#: tools/editor/editor_node.cpp
msgid "Can't load TileSet for merging!"
@@ -1357,7 +1430,6 @@ msgid "Copy Params"
msgstr "æ‹·è´å‚æ•°"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Paste Params"
msgstr "粘贴帧"
@@ -1379,9 +1451,8 @@ msgid "Make Sub-Resources Unique"
msgstr ""
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Open in Help"
-msgstr "打开场景"
+msgstr "查看帮助"
#: tools/editor/editor_node.cpp
msgid "There is no defined scene to run."
@@ -1392,6 +1463,8 @@ msgid ""
"No main scene has ever been defined.\n"
"Select one from \"Project Settings\" under the 'application' category."
msgstr ""
+"尚未定义主场景。\n"
+"请在项目设置的application分类下设置选择主场景。"
#: tools/editor/editor_node.cpp
msgid "Current scene was never saved, please save it prior to running."
@@ -1407,7 +1480,7 @@ msgstr "打开场景"
#: tools/editor/editor_node.cpp
msgid "Open Base Scene"
-msgstr ""
+msgstr "打开父场景"
#: tools/editor/editor_node.cpp
msgid "Quick Open Scene.."
@@ -1443,7 +1516,7 @@ msgstr "ä¿å­˜å¯ç¿»è¯‘字符串"
#: tools/editor/editor_node.cpp
msgid "Export Mesh Library"
-msgstr ""
+msgstr "导出MeshLibrary"
#: tools/editor/editor_node.cpp
msgid "Export Tile Set"
@@ -1489,8 +1562,8 @@ msgstr "é¢"
#: tools/editor/editor_node.cpp
msgid ""
-"Error loading scene, it must be inside the project path. Use 'Import' to open "
-"the scene, then save it inside the project path."
+"Error loading scene, it must be inside the project path. Use 'Import' to "
+"open the scene, then save it inside the project path."
msgstr ""
"加载场景出错,场景必须放在项目目录下。请å°è¯•使用'导入'èœå•导入此场景åŽå†è¯•。"
@@ -1507,9 +1580,8 @@ msgid "Save Layout"
msgstr "ä¿å­˜å¸ƒå±€"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Load Layout"
-msgstr "ä¿å­˜å¸ƒå±€"
+msgstr "加载布局"
#: tools/editor/editor_node.cpp tools/editor/project_export.cpp
msgid "Default"
@@ -1541,6 +1613,14 @@ msgid "Go to previously opened scene."
msgstr "å‰å¾€ä¸Šä¸€ä¸ªæ‰“开的场景。"
#: tools/editor/editor_node.cpp
+msgid "Fullscreen Mode"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Distraction Free Mode"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
msgid "Operations with scene files."
msgstr "æ“作场景文件。"
@@ -1573,9 +1653,8 @@ msgid "Open Recent"
msgstr "最近打开"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Quick Filter Files.."
-msgstr "快速查找文件.."
+msgstr "快速筛选文件.."
#: tools/editor/editor_node.cpp
msgid "Convert To.."
@@ -1587,7 +1666,7 @@ msgstr "å¯ç¿»è¯‘字符串"
#: tools/editor/editor_node.cpp
msgid "MeshLibrary.."
-msgstr ""
+msgstr "MeshLibrary.."
#: tools/editor/editor_node.cpp
msgid "TileSet.."
@@ -1647,7 +1726,6 @@ msgid "Export"
msgstr "导出"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Play the project."
msgstr "è¿è¡Œæ­¤é¡¹ç›®ï¼ˆF5)"
@@ -1661,14 +1739,12 @@ msgid "Pause the scene"
msgstr "æš‚åœè¿è¡Œåœºæ™¯"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Pause Scene"
msgstr "æš‚åœè¿è¡Œåœºæ™¯"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Stop the scene."
-msgstr "åœæ­¢è¿è¡Œåœºæ™¯ï¼ˆF8)"
+msgstr "åœæ­¢è¿è¡Œåœºæ™¯"
#: tools/editor/editor_node.cpp
#: tools/editor/plugins/sample_library_editor_plugin.cpp
@@ -1676,14 +1752,12 @@ msgid "Stop"
msgstr "åœæ­¢"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Play the edited scene."
-msgstr "è¿è¡Œæ‰“开的场景(F6)"
+msgstr "打开并è¿è¡Œåœºæ™¯"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Play Scene"
-msgstr "ä¿å­˜åœºæ™¯"
+msgstr "è¿è¡Œåœºæ™¯"
#: tools/editor/editor_node.cpp
msgid "Play custom scene"
@@ -1694,19 +1768,19 @@ msgid "Debug options"
msgstr "调试选项"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Deploy with Remote Debug"
msgstr "部署远程调试"
#: tools/editor/editor_node.cpp
msgid ""
-"When exporting or deploying, the resulting executable will attempt to connect "
-"to the IP of this computer in order to be debugged."
+"When exporting or deploying, the resulting executable will attempt to "
+"connect to the IP of this computer in order to be debugged."
msgstr ""
+"导出或å‘å¸ƒé¡¹ç›®æ—¶ï¼Œä¸ºäº†èƒ½å¤Ÿè°ƒè¯•é¡¹ç›®ï¼Œå¯æ‰§è¡Œæ–‡ä»¶å°†è¯•图通过本机IP连接到调试器。"
#: tools/editor/editor_node.cpp
msgid "Small Deploy with Network FS"
-msgstr ""
+msgstr "å‘布基于网络文件系统的最å°åº”用包"
#: tools/editor/editor_node.cpp
msgid ""
@@ -1714,9 +1788,13 @@ msgid ""
"executable.\n"
"The filesystem will be provided from the project by the editor over the "
"network.\n"
-"On Android, deploy will use the USB cable for faster performance. This option "
-"speeds up testing for games with a large footprint."
+"On Android, deploy will use the USB cable for faster performance. This "
+"option speeds up testing for games with a large footprint."
msgstr ""
+"当å¯ç”¨æ­¤é¡¹åŽï¼Œå°†åœ¨å¯¼å‡ºæˆ–å‘å¸ƒé¡¹ç›®æ—¶ç”Ÿæˆæœ€å°åŒ–å¯è‡ªè¡Œæ–‡ä»¶ã€‚\n"
+"文件系统将通过网络连接到编辑器æ¥å®žçŽ°ã€‚\n"
+"在Androidå¹³å°ï¼Œé€šè¿‡USBå‘布能获得更快的效率。\n"
+"此选项用于加快游æˆçš„æµ‹è¯•。"
#: tools/editor/editor_node.cpp
msgid "Visible Collision Shapes"
@@ -1726,7 +1804,7 @@ msgstr "碰撞区域å¯è§"
msgid ""
"Collision shapes and raycast nodes (for 2D and 3D) will be visible on the "
"running game if this option is turned on."
-msgstr ""
+msgstr "如果å¯ç”¨æ­¤é¡¹ï¼ŒèŠ‚ç‚¹çš„ç¢°æ’žåŒºåŸŸå’Œraycast将在游æˆè¿è¡Œæ—¶å¯è§ã€‚"
#: tools/editor/editor_node.cpp
msgid "Visible Navigation"
@@ -1736,11 +1814,11 @@ msgstr "Navigationå¯è§"
msgid ""
"Navigation meshes and polygons will be visible on the running game if this "
"option is turned on."
-msgstr ""
+msgstr "如果å¯ç”¨æ­¤é¡¹ï¼Œç”¨äºŽå¯¼èˆªçš„mesh和多边形将在游æˆè¿è¡Œæ—¶å¯è§ã€‚"
#: tools/editor/editor_node.cpp
msgid "Sync Scene Changes"
-msgstr ""
+msgstr "åŒæ­¥åœºæ™¯ä¿®æ”¹"
#: tools/editor/editor_node.cpp
msgid ""
@@ -1749,11 +1827,12 @@ msgid ""
"When used remotely on a device, this is more efficient with network "
"filesystem."
msgstr ""
+"开坿­¤é¡¹åŽï¼Œåœ¨ç¼–辑器中对场景的所有修改都会被应用与正在è¿è¡Œçš„æ¸¸æˆä¸­ã€‚\n"
+"当使用远程设备调试时,使用网络文件系统能有效æé«˜ç¼–辑效率。"
#: tools/editor/editor_node.cpp
-#, fuzzy
msgid "Sync Script Changes"
-msgstr "有更改时更新UI"
+msgstr "åŒæ­¥è„šæœ¬å˜æ›´"
#: tools/editor/editor_node.cpp
msgid ""
@@ -1762,6 +1841,8 @@ msgid ""
"When used remotely on a device, this is more efficient with network "
"filesystem."
msgstr ""
+"开坿­¤é¡¹åŽï¼Œæ‰€æœ‰è„šæœ¬åœ¨ä¿å­˜æ—¶éƒ½ä¼šè¢«æ­£åœ¨è¿è¡Œçš„æ¸¸æˆé‡æ–°åŠ è½½ã€‚\n"
+"当使用远程设备调试时,使用网络文件系统能有效æé«˜ç¼–辑效率。"
#: tools/editor/editor_node.cpp tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Settings"
@@ -1815,9 +1896,7 @@ msgstr "从ç£ç›˜ä¸­åŠ è½½èµ„æºå¹¶ç¼–辑。"
msgid "Save the currently edited resource."
msgstr "ä¿å­˜å½“å‰ç¼–辑的资æºã€‚"
-#: tools/editor/editor_node.cpp
-#: tools/editor/plugins/animation_player_editor_plugin.cpp
-#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp
msgid "Save As.."
msgstr "å¦å­˜ä¸º"
@@ -2023,9 +2102,8 @@ msgid "Imported Resources"
msgstr "已导入的资æº"
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
-#, fuzzy
msgid "No bit masks to import!"
-msgstr "没有è¦å¯¼å…¥çš„项目ï¼"
+msgstr "没有è¦å¯¼å…¥çš„bit masksï¼"
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
@@ -2055,9 +2133,8 @@ msgid "Save path is empty!"
msgstr "ä¿å­˜è·¯å¾„为空ï¼"
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
-#, fuzzy
msgid "Import BitMasks"
-msgstr "导入贴图"
+msgstr "导入BitMask"
#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
@@ -2201,15 +2278,15 @@ msgstr "动画选项"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Flags"
-msgstr ""
+msgstr "标记"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Bake FPS:"
-msgstr ""
+msgstr "烘培FPS:"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Optimizer"
-msgstr ""
+msgstr "优化"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Max Linear Error"
@@ -2248,7 +2325,7 @@ msgstr "循环"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Filters"
-msgstr ""
+msgstr "筛选"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Source path is empty."
@@ -2292,7 +2369,7 @@ msgstr ""
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Custom Root Node Type:"
-msgstr ""
+msgstr "自定义根节点类型:"
#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
msgid "Auto"
@@ -2413,7 +2490,7 @@ msgstr "导入2Dç²¾çµé›†"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Cell Size:"
-msgstr ""
+msgstr "å•元尺寸:"
#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
msgid "Large Texture"
@@ -2597,16 +2674,15 @@ msgstr ""
#: tools/editor/node_dock.cpp
msgid "Node"
-msgstr ""
+msgstr "节点"
#: tools/editor/node_dock.cpp
-#, fuzzy
msgid "Groups"
msgstr "分组:"
#: tools/editor/node_dock.cpp
msgid "Select a Node to edit Signals and Groups."
-msgstr ""
+msgstr "请选择一个节点æ¥è®¾ç½®ä¿¡å·æˆ–分组。"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Toggle Autoplay"
@@ -2716,6 +2792,11 @@ msgid "Create new animation in player."
msgstr "在播放中创建动画。"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Load animation from disk."
+msgstr "从ç£ç›˜ä¸­åŠ è½½åŠ¨ç”»ã€‚"
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Load an animation from disk."
msgstr "从ç£ç›˜ä¸­åŠ è½½åŠ¨ç”»ã€‚"
@@ -2724,6 +2805,11 @@ msgid "Save the current animation"
msgstr "ä¿å­˜å½“å‰åŠ¨ç”»"
#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Save As"
+msgstr "å¦å­˜ä¸º"
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
msgstr "在播放器中显示动画列表。"
@@ -2968,11 +3054,11 @@ msgstr ""
#: tools/editor/plugins/baked_light_editor_plugin.cpp
msgid "BakedLightInstance does not contain a BakedLight resource."
-msgstr ""
+msgstr "BakedLightInstance未包å«BakedLight资æºã€‚"
#: tools/editor/plugins/baked_light_editor_plugin.cpp
msgid "Bake!"
-msgstr ""
+msgstr "烘培ï¼"
#: tools/editor/plugins/baked_light_editor_plugin.cpp
msgid "Reset the lightmap octree baking process (start over)."
@@ -3138,7 +3224,7 @@ msgstr ""
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Skeleton.."
-msgstr ""
+msgstr "骨骼.."
#: tools/editor/plugins/canvas_item_editor_plugin.cpp
msgid "Make Bones"
@@ -3293,7 +3379,7 @@ msgstr "从场景中导入"
#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
msgid "Update from Scene"
-msgstr ""
+msgstr "从场景中更新"
#: tools/editor/plugins/item_list_editor_plugin.cpp
msgid "Item %d"
@@ -3333,7 +3419,7 @@ msgstr "é¼ æ ‡å³é”®ï¼šç§»é™¤ç‚¹"
#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Mesh is empty!"
-msgstr ""
+msgstr "Mesh为空ï¼"
#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
msgid "Create Static Trimesh Body"
@@ -3727,12 +3813,12 @@ msgstr "清除UV"
#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
#: tools/editor/plugins/texture_region_editor_plugin.cpp
msgid "Snap"
-msgstr ""
+msgstr "å¸é™„"
#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
#: tools/editor/plugins/texture_region_editor_plugin.cpp
msgid "Enable Snap"
-msgstr ""
+msgstr "å¯ç”¨å¸é™„"
#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
#: tools/editor/plugins/texture_region_editor_plugin.cpp
@@ -3842,7 +3928,8 @@ msgstr "导入主题"
msgid "Save Theme As.."
msgstr "主题å¦å­˜ä¸º"
-#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/project_export.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/project_export.cpp
msgid "File"
msgstr "文件"
@@ -3915,12 +4002,8 @@ msgstr "自动缩进"
#: tools/editor/plugins/script_editor_plugin.cpp
#, fuzzy
-msgid "Reload Tool Script"
-msgstr "创建脚本"
-
-#: tools/editor/plugins/script_editor_plugin.cpp
-msgid "Reload Tool Script (Soft)"
-msgstr ""
+msgid "Soft Reload Script"
+msgstr "釿–°åŠ è½½Tool脚本"
#: tools/editor/plugins/script_editor_plugin.cpp
#: tools/editor/plugins/shader_editor_plugin.cpp
@@ -4012,7 +4095,8 @@ msgid "Help"
msgstr "帮助"
#: tools/editor/plugins/script_editor_plugin.cpp
-msgid "Contextual"
+#, fuzzy
+msgid "Contextual Help"
msgstr "æœç´¢å…‰æ ‡ä½ç½®"
#: tools/editor/plugins/script_editor_plugin.cpp
@@ -4221,10 +4305,6 @@ msgid "Transform Aborted."
msgstr "å·²å¿½ç•¥å˜æ¢ã€‚"
#: tools/editor/plugins/spatial_editor_plugin.cpp
-msgid "View Plane Transform."
-msgstr ""
-
-#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "X-Axis Transform."
msgstr "Xè½´å˜æ¢ã€‚"
@@ -4237,6 +4317,10 @@ msgid "Z-Axis Transform."
msgstr "Zè½´å˜æ¢ã€‚"
#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View Plane Transform."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Scaling to %s%%."
msgstr "缩放到%s%%"
@@ -4577,20 +4661,18 @@ msgid "StyleBox Preview:"
msgstr "StyleBox预览:"
#: tools/editor/plugins/texture_region_editor_plugin.cpp
-#, fuzzy
msgid "Texture Region Editor"
-msgstr "ç²¾çµçº¹ç†åŒºåŸŸç¼–辑"
+msgstr "纹ç†åŒºåŸŸç¼–辑"
#: tools/editor/plugins/texture_region_editor_plugin.cpp
-#, fuzzy
msgid "Scale Region Editor"
-msgstr "ç²¾çµçº¹ç†åŒºåŸŸç¼–辑"
+msgstr "缩放区域编辑"
#: tools/editor/plugins/texture_region_editor_plugin.cpp
msgid ""
"No texture in this node.\n"
"Set a texture to be able to edit region."
-msgstr ""
+msgstr "此节点没有贴图,请先为它设置贴图åŽå†è¯•。"
#: tools/editor/plugins/theme_editor_plugin.cpp
msgid "Can't save theme to file:"
@@ -4618,7 +4700,13 @@ msgid "Remove Class Items"
msgstr "移除类项目"
#: tools/editor/plugins/theme_editor_plugin.cpp
-msgid "Create Template"
+#, fuzzy
+msgid "Create Empty Template"
+msgstr "创建模æ¿"
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+#, fuzzy
+msgid "Create Empty Editor Template"
msgstr "创建模æ¿"
#: tools/editor/plugins/theme_editor_plugin.cpp
@@ -4705,34 +4793,42 @@ msgid "Erase TileMap"
msgstr "擦除砖å—地图"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Bucket"
-msgstr ""
-
-#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Pick Tile"
-msgstr "选择砖å—"
-
-#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Select"
-msgstr "选择"
+#, fuzzy
+msgid "Erase selection"
+msgstr "擦除选中"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase Selection"
-msgstr "擦除选中"
+#, fuzzy
+msgid "Find tile"
+msgstr "查找下一项"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
msgid "Transpose"
msgstr "转置"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Mirror X (A)"
+#, fuzzy
+msgid "Mirror X"
msgstr "沿X轴翻转(A)"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Mirror Y (S)"
+#, fuzzy
+msgid "Mirror Y"
msgstr "沿Y轴翻转(S)"
#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Bucket"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Pick Tile"
+msgstr "选择砖å—"
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Select"
+msgstr "选择"
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
msgid "Rotate 0 degrees"
msgstr "旋转0度"
@@ -5111,14 +5207,12 @@ msgid "Remove project from the list? (Folder contents will not be modified)"
msgstr "移除此项目(项目的文件ä¸å—å½±å“)"
#: tools/editor/project_manager.cpp
-#, fuzzy
msgid "Project Manager"
-msgstr "项目å称:"
+msgstr "项目管ç†å™¨"
#: tools/editor/project_manager.cpp
-#, fuzzy
msgid "Project List"
-msgstr "退出到项目列表"
+msgstr "项目列表"
#: tools/editor/project_manager.cpp
msgid "Run"
@@ -5269,12 +5363,10 @@ msgid "Invalid name. Must not collide with an existing global constant name."
msgstr "åç§°éžæ³•,与已存在的全局常é‡å称冲çªã€‚"
#: tools/editor/project_settings.cpp
-#, fuzzy
msgid "Autoload '%s' already exists!"
-msgstr "动作%s已存在ï¼"
+msgstr "Autoload %s已存在ï¼"
#: tools/editor/project_settings.cpp
-#, fuzzy
msgid "Rename Autoload"
msgstr "移除Autoload"
@@ -5568,8 +5660,8 @@ msgstr "好的"
#: tools/editor/scene_tree_dock.cpp
msgid ""
-"Cannot instance the scene '%s' because the current scene exists within one of "
-"its nodes."
+"Cannot instance the scene '%s' because the current scene exists within one "
+"of its nodes."
msgstr "无法实例化场景%s当å‰åœºæ™¯å·²å­˜åœ¨äºŽå®ƒçš„å­èŠ‚ç‚¹ä¸­ã€‚"
#: tools/editor/scene_tree_dock.cpp
@@ -5739,6 +5831,10 @@ msgid "Load As Placeholder"
msgstr "加载为å ä½ç¬¦"
#: tools/editor/scene_tree_editor.cpp
+msgid "Discard Instancing"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr "在编辑器中打开"
@@ -5795,9 +5891,8 @@ msgid "View Owners.."
msgstr "查看所有者"
#: tools/editor/scenes_dock.cpp
-#, fuzzy
msgid "Copy Path"
-msgstr "æ‹·è´å‚æ•°"
+msgstr "æ‹·è´è·¯å¾„"
#: tools/editor/scenes_dock.cpp
msgid "Rename or Move.."
@@ -5885,7 +5980,7 @@ msgstr "必须是项目路径"
#: tools/editor/script_create_dialog.cpp
msgid "Invalid base path"
-msgstr ""
+msgstr "çˆ¶è·¯å¾„éžæ³•"
#: tools/editor/script_create_dialog.cpp
msgid "File exists"
@@ -6037,7 +6132,7 @@ msgstr "从场景树设置"
#: tools/editor/settings_config_dialog.cpp
msgid "Shortcuts"
-msgstr ""
+msgstr "å¿«æ·é”®"
#: tools/editor/spatial_editor_gizmos.cpp
msgid "Change Light Radius"
@@ -6075,12 +6170,18 @@ msgstr ""
msgid "Change Notifier Extents"
msgstr ""
+#~ msgid "Binds (Extra Params):"
+#~ msgstr "ç»‘å®šï¼ˆé™„åŠ å‚æ•°ï¼‰ï¼š"
+
+#~ msgid "Method In Node:"
+#~ msgstr "节点方法:"
+
+#~ msgid "Reload Tool Script (Soft)"
+#~ msgstr "釿–°åŠ è½½Tool脚本(Soft)"
+
#~ msgid "Edit Connections.."
#~ msgstr "编辑事件连接"
-#~ msgid "Connections:"
-#~ msgstr "事件:"
-
#~ msgid "Set Params"
#~ msgstr "è®¾ç½®å‚æ•°"
diff --git a/tools/translations/zh_HK.po b/tools/translations/zh_HK.po
index 62fd341155..8f6476594b 100644
--- a/tools/translations/zh_HK.po
+++ b/tools/translations/zh_HK.po
@@ -1,6 +1,7 @@
-# LANGUAGE translation of the Godot Engine editor
+# Chinese (Honk Kong) translation of the Godot Engine editor
# Copyright (C) 2016 Juan Linietsky, Ariel Manzur and the Godot community
# This file is distributed under the same license as the Godot source code.
+#
# Wesley <ZX_WT@ymail.com>, 2016.
#
msgid ""
@@ -14,6 +15,46 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid type argument to convert(), use TYPE_* constants."
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not enough bytes for decoding bytes, or invalid format."
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "step argument is zero!"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not a script with an instance"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not based on a script"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not based on a resource file"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (missing @path)"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (can't load script at @path)"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (invalid script at @path)"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary (invalid subclasses)"
+msgstr ""
+
#: scene/2d/animated_sprite.cpp
msgid ""
"A SpriteFrames resource must be created or set in the 'Frames' property in "
@@ -102,14 +143,14 @@ msgstr ""
#: scene/2d/sprite.cpp
msgid ""
-"Path property must point to a valid Viewport node to work. Such Viewport must "
-"be set to 'render target' mode."
+"Path property must point to a valid Viewport node to work. Such Viewport "
+"must be set to 'render target' mode."
msgstr ""
#: scene/2d/sprite.cpp
msgid ""
-"The Viewport set in the path property must be set as 'render target' in order "
-"for this sprite to work."
+"The Viewport set in the path property must be set as 'render target' in "
+"order for this sprite to work."
msgstr ""
#: scene/2d/visibility_notifier_2d.cpp
@@ -148,8 +189,8 @@ msgstr ""
#: scene/3d/navigation_mesh.cpp
msgid ""
-"NavigationMeshInstance must be a child or grandchild to a Navigation node. It "
-"only provides navigation data."
+"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
+"It only provides navigation data."
msgstr ""
#: scene/3d/scenario_fx.cpp
@@ -348,7 +389,8 @@ msgstr "貼上"
#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
#: tools/editor/plugins/script_editor_plugin.cpp
-#: tools/editor/plugins/shader_editor_plugin.cpp tools/editor/project_export.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+#: tools/editor/project_export.cpp
msgid "Select All"
msgstr "å…¨é¸"
@@ -368,8 +410,8 @@ msgstr "復原"
#: scene/gui/popup.cpp
msgid ""
"Popups will hide by default unless you call popup() or any of the popup*() "
-"functions. Making them visible for editing is fine though, but they will hide "
-"upon running."
+"functions. Making them visible for editing is fine though, but they will "
+"hide upon running."
msgstr ""
#: scene/main/viewport.cpp
@@ -477,6 +519,19 @@ msgid "Anim Delete Keys"
msgstr ""
#: tools/editor/animation_editor.cpp
+msgid "Continuous"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+#, fuzzy
+msgid "Discrete"
+msgstr "中斷"
+
+#: tools/editor/animation_editor.cpp
+msgid "Trigger"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
msgid "Anim Add Key"
msgstr ""
@@ -584,6 +639,10 @@ msgid "Change Anim Loop"
msgstr ""
#: tools/editor/animation_editor.cpp
+msgid "Change Anim Loop Interpolation"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
msgid "Anim Create Typed Value Key"
msgstr ""
@@ -624,6 +683,10 @@ msgid "Enable/Disable looping in animation."
msgstr ""
#: tools/editor/animation_editor.cpp
+msgid "Enable/Disable interpolation when looping animation."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
msgid "Add new tracks."
msgstr ""
@@ -889,11 +952,7 @@ msgid "Method in target Node must be specified!"
msgstr ""
#: tools/editor/connections_dialog.cpp
-msgid "Connect To Node:"
-msgstr ""
-
-#: tools/editor/connections_dialog.cpp
-msgid "Binds (Extra Params):"
+msgid "Conect To Node:"
msgstr ""
#: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp
@@ -905,16 +964,21 @@ msgstr "添加"
#: tools/editor/connections_dialog.cpp tools/editor/dependency_editor.cpp
#: tools/editor/plugins/animation_tree_editor_plugin.cpp
-#: tools/editor/plugins/theme_editor_plugin.cpp tools/editor/project_manager.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+#: tools/editor/project_manager.cpp
msgid "Remove"
msgstr "移除"
#: tools/editor/connections_dialog.cpp
-msgid "Path To Node:"
+msgid "Add Extra Call Argument:"
msgstr ""
#: tools/editor/connections_dialog.cpp
-msgid "Method In Node:"
+msgid "Extra Call Arguments:"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Path to Node:"
msgstr ""
#: tools/editor/connections_dialog.cpp
@@ -938,6 +1002,11 @@ msgid "Connect '%s' to '%s'"
msgstr "由 '%s' 連到 '%s'"
#: tools/editor/connections_dialog.cpp
+#, fuzzy
+msgid "Connecting Signal:"
+msgstr "連接"
+
+#: tools/editor/connections_dialog.cpp
msgid "Create Subscription"
msgstr ""
@@ -1072,7 +1141,8 @@ msgid "Delete selected files?"
msgstr "è¦åˆªé™¤é¸ä¸­æª”案?"
#: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp
-#: tools/editor/plugins/item_list_editor_plugin.cpp tools/editor/scenes_dock.cpp
+#: tools/editor/plugins/item_list_editor_plugin.cpp
+#: tools/editor/scenes_dock.cpp
msgid "Delete"
msgstr "刪除"
@@ -1450,8 +1520,8 @@ msgstr ""
#: tools/editor/editor_node.cpp
msgid ""
-"Error loading scene, it must be inside the project path. Use 'Import' to open "
-"the scene, then save it inside the project path."
+"Error loading scene, it must be inside the project path. Use 'Import' to "
+"open the scene, then save it inside the project path."
msgstr ""
#: tools/editor/editor_node.cpp
@@ -1500,6 +1570,14 @@ msgid "Go to previously opened scene."
msgstr ""
#: tools/editor/editor_node.cpp
+msgid "Fullscreen Mode"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Distraction Free Mode"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
msgid "Operations with scene files."
msgstr ""
@@ -1655,8 +1733,8 @@ msgstr ""
#: tools/editor/editor_node.cpp
msgid ""
-"When exporting or deploying, the resulting executable will attempt to connect "
-"to the IP of this computer in order to be debugged."
+"When exporting or deploying, the resulting executable will attempt to "
+"connect to the IP of this computer in order to be debugged."
msgstr ""
#: tools/editor/editor_node.cpp
@@ -1669,8 +1747,8 @@ msgid ""
"executable.\n"
"The filesystem will be provided from the project by the editor over the "
"network.\n"
-"On Android, deploy will use the USB cable for faster performance. This option "
-"speeds up testing for games with a large footprint."
+"On Android, deploy will use the USB cable for faster performance. This "
+"option speeds up testing for games with a large footprint."
msgstr ""
#: tools/editor/editor_node.cpp
@@ -1770,9 +1848,7 @@ msgstr ""
msgid "Save the currently edited resource."
msgstr ""
-#: tools/editor/editor_node.cpp
-#: tools/editor/plugins/animation_player_editor_plugin.cpp
-#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp
msgid "Save As.."
msgstr "å¦å­˜ç‚º.."
@@ -2665,6 +2741,10 @@ msgid "Create new animation in player."
msgstr ""
#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Load animation from disk."
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Load an animation from disk."
msgstr ""
@@ -2673,6 +2753,11 @@ msgid "Save the current animation"
msgstr ""
#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#, fuzzy
+msgid "Save As"
+msgstr "å¦å­˜ç‚º.."
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
msgid "Display list of animations in player."
msgstr ""
@@ -3791,7 +3876,8 @@ msgstr ""
msgid "Save Theme As.."
msgstr ""
-#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/project_export.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/project_export.cpp
msgid "File"
msgstr "檔案"
@@ -3863,11 +3949,7 @@ msgid "Auto Indent"
msgstr ""
#: tools/editor/plugins/script_editor_plugin.cpp
-msgid "Reload Tool Script"
-msgstr ""
-
-#: tools/editor/plugins/script_editor_plugin.cpp
-msgid "Reload Tool Script (Soft)"
+msgid "Soft Reload Script"
msgstr ""
#: tools/editor/plugins/script_editor_plugin.cpp
@@ -3960,7 +4042,7 @@ msgid "Help"
msgstr ""
#: tools/editor/plugins/script_editor_plugin.cpp
-msgid "Contextual"
+msgid "Contextual Help"
msgstr ""
#: tools/editor/plugins/script_editor_plugin.cpp
@@ -4167,10 +4249,6 @@ msgid "Transform Aborted."
msgstr ""
#: tools/editor/plugins/spatial_editor_plugin.cpp
-msgid "View Plane Transform."
-msgstr ""
-
-#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "X-Axis Transform."
msgstr ""
@@ -4183,6 +4261,10 @@ msgid "Z-Axis Transform."
msgstr ""
#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View Plane Transform."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
msgid "Scaling to %s%%."
msgstr ""
@@ -4562,7 +4644,11 @@ msgid "Remove Class Items"
msgstr ""
#: tools/editor/plugins/theme_editor_plugin.cpp
-msgid "Create Template"
+msgid "Create Empty Template"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Create Empty Editor Template"
msgstr ""
#: tools/editor/plugins/theme_editor_plugin.cpp
@@ -4649,31 +4735,35 @@ msgid "Erase TileMap"
msgstr ""
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Bucket"
+msgid "Erase selection"
msgstr ""
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Pick Tile"
+msgid "Find tile"
msgstr ""
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Select"
+msgid "Transpose"
msgstr ""
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Erase Selection"
+msgid "Mirror X"
msgstr ""
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Transpose"
+msgid "Mirror Y"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Bucket"
msgstr ""
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Mirror X (A)"
+msgid "Pick Tile"
msgstr ""
#: tools/editor/plugins/tile_map_editor_plugin.cpp
-msgid "Mirror Y (S)"
+msgid "Select"
msgstr ""
#: tools/editor/plugins/tile_map_editor_plugin.cpp
@@ -5508,8 +5598,8 @@ msgstr "Ok"
#: tools/editor/scene_tree_dock.cpp
msgid ""
-"Cannot instance the scene '%s' because the current scene exists within one of "
-"its nodes."
+"Cannot instance the scene '%s' because the current scene exists within one "
+"of its nodes."
msgstr ""
#: tools/editor/scene_tree_dock.cpp
@@ -5679,6 +5769,10 @@ msgid "Load As Placeholder"
msgstr ""
#: tools/editor/scene_tree_editor.cpp
+msgid "Discard Instancing"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
msgid "Open in Editor"
msgstr ""
@@ -6019,9 +6113,6 @@ msgstr ""
#~ msgid "Edit Connections.."
#~ msgstr "編輯連接"
-#~ msgid "Connections:"
-#~ msgstr "連接"
-
#~ msgid "Live Editing"
#~ msgstr "峿™‚編輯"
diff --git a/tools/translations/zh_TW.po b/tools/translations/zh_TW.po
new file mode 100644
index 0000000000..64399c4826
--- /dev/null
+++ b/tools/translations/zh_TW.po
@@ -0,0 +1,6105 @@
+# Chinese (Taiwan) translation of the Godot Engine editor
+# Copyright (C) 2016 Juan Linietsky, Ariel Manzur and the Godot community
+# This file is distributed under the same license as the Godot source code.
+#
+# popcade <popcade@gmail.com>, 2016.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Godot Engine editor\n"
+"PO-Revision-Date: 2016-06-13 13:57+0000\n"
+"Last-Translator: popcade <popcade@gmail.com>\n"
+"Language-Team: Chinese (Taiwan) <https://hosted.weblate.org/projects/godot-"
+"engine/godot/zh_TW/>\n"
+"Language: zh_TW\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8-bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Weblate 2.7-dev\n"
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid type argument to convert(), use TYPE_* constants."
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not enough bytes for decoding bytes, or invalid format."
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "step argument is zero!"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not a script with an instance"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not based on a script"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Not based on a resource file"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (missing @path)"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (can't load script at @path)"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary format (invalid script at @path)"
+msgstr ""
+
+#: modules/gdscript/gd_functions.cpp
+msgid "Invalid instance dictionary (invalid subclasses)"
+msgstr ""
+
+#: scene/2d/animated_sprite.cpp
+msgid ""
+"A SpriteFrames resource must be created or set in the 'Frames' property in "
+"order for AnimatedSprite to display frames."
+msgstr "SpriteFrames資æºå¿…須在Frames屬性中被創建或設置æ‰èƒ½å¤ é¡¯ç¤ºå‹•畫格。"
+
+#: scene/2d/canvas_modulate.cpp
+msgid ""
+"Only one visible CanvasModulate is allowed per scene (or set of instanced "
+"scenes). The first created one will work, while the rest will be ignored."
+msgstr ""
+"æ¯å€‹å ´æ™¯ä¸­åƒ…å…許一個å¯è¦‹çš„CanvasModulateï¼Œåªæœ‰ç¬¬ä¸€å€‹CanvasModulate會有作用,"
+"其餘的將被忽略。"
+
+#: scene/2d/collision_polygon_2d.cpp
+msgid ""
+"CollisionPolygon2D only serves to provide a collision shape to a "
+"CollisionObject2D derived node. Please only use it as a child of Area2D, "
+"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape."
+msgstr ""
+"CollisionPolygon2Dåªèƒ½ç‚ºCollisionObject2Dè¡ç”Ÿçš„節點æä¾›ç¢°æ’žå½¢ç‹€è³‡è¨Šï¼Œè«‹å°‡å…¶ä½¿"
+"用於Area2Dã€StaticBody2Dã€RigidBody2Dã€KinematicBody2D這類的節點下。"
+
+#: scene/2d/collision_polygon_2d.cpp
+msgid "An empty CollisionPolygon2D has no effect on collision."
+msgstr "空白的CollisionPolygon2Dä¸èµ·ç¢°æ’žåµæ¸¬çš„作用。"
+
+#: scene/2d/collision_shape_2d.cpp
+msgid ""
+"CollisionShape2D only serves to provide a collision shape to a "
+"CollisionObject2D derived node. Please only use it as a child of Area2D, "
+"StaticBody2D, RigidBody2D, KinematicBody2D, etc. to give them a shape."
+msgstr ""
+"CollisionShape2Dåªèƒ½ç‚ºCollisionObject2Dè¡ç”Ÿçš„節點æä¾›ç¢°æ’žå½¢ç‹€è³‡è¨Šï¼Œè«‹å°‡å…¶ä½¿ç”¨"
+"æ–¼Area2Dã€StaticBody2Dã€RigidBody2Dã€KinematicBody2D這類的節點下。"
+
+#: scene/2d/collision_shape_2d.cpp
+msgid ""
+"A shape must be provided for CollisionShape2D to function. Please create a "
+"shape resource for it!"
+msgstr "CollisionShape2D必須被賦予形狀æ‰èƒ½é‹ä½œï¼Œè«‹ç‚ºå®ƒå»ºç«‹å€‹å½¢ç‹€å§ï¼"
+
+#: scene/2d/light_2d.cpp
+msgid ""
+"A texture with the shape of the light must be supplied to the 'texture' "
+"property."
+msgstr "光照形狀的æè³ªå¿…須被賦與在æè³ªçš„屬性中。"
+
+#: scene/2d/light_occluder_2d.cpp
+msgid ""
+"An occluder polygon must be set (or drawn) for this occluder to take effect."
+msgstr "æ­¤é®å…‰é«”必須被建立或設置é®è”½å½¢ç‹€æ‰èƒ½ç™¼æ®é®è”½ä½œç”¨ã€‚"
+
+#: scene/2d/light_occluder_2d.cpp
+msgid "The occluder polygon for this occluder is empty. Please draw a polygon!"
+msgstr "æ­¤é®å…‰é«”沒有被賦予形狀,請繪製一個å§ï¼"
+
+#: scene/2d/navigation_polygon.cpp
+msgid ""
+"A NavigationPolygon resource must be set or created for this node to work. "
+"Please set a property or draw a polygon."
+msgstr ""
+
+#: scene/2d/navigation_polygon.cpp
+msgid ""
+"NavigationPolygonInstance must be a child or grandchild to a Navigation2D "
+"node. It only provides navigation data."
+msgstr ""
+
+#: scene/2d/parallax_layer.cpp
+msgid ""
+"ParallaxLayer node only works when set as child of a ParallaxBackground node."
+msgstr ""
+
+#: scene/2d/particles_2d.cpp
+msgid "Path property must point to a valid Particles2D node to work."
+msgstr ""
+
+#: scene/2d/path_2d.cpp
+msgid "PathFollow2D only works when set as a child of a Path2D node."
+msgstr ""
+
+#: scene/2d/remote_transform_2d.cpp
+msgid "Path property must point to a valid Node2D node to work."
+msgstr ""
+
+#: scene/2d/sample_player_2d.cpp scene/audio/sample_player.cpp
+msgid ""
+"A SampleLibrary resource must be created or set in the 'samples' property in "
+"order for SamplePlayer to play sound."
+msgstr ""
+
+#: scene/2d/sprite.cpp
+msgid ""
+"Path property must point to a valid Viewport node to work. Such Viewport "
+"must be set to 'render target' mode."
+msgstr ""
+
+#: scene/2d/sprite.cpp
+msgid ""
+"The Viewport set in the path property must be set as 'render target' in "
+"order for this sprite to work."
+msgstr ""
+
+#: scene/2d/visibility_notifier_2d.cpp
+msgid ""
+"VisibilityEnable2D works best when used with the edited scene root directly "
+"as parent."
+msgstr ""
+
+#: scene/3d/body_shape.cpp
+msgid ""
+"CollisionShape only serves to provide a collision shape to a CollisionObject "
+"derived node. Please only use it as a child of Area, StaticBody, RigidBody, "
+"KinematicBody, etc. to give them a shape."
+msgstr ""
+
+#: scene/3d/body_shape.cpp
+msgid ""
+"A shape must be provided for CollisionShape to function. Please create a "
+"shape resource for it!"
+msgstr ""
+
+#: scene/3d/collision_polygon.cpp
+msgid ""
+"CollisionPolygon only serves to provide a collision shape to a "
+"CollisionObject derived node. Please only use it as a child of Area, "
+"StaticBody, RigidBody, KinematicBody, etc. to give them a shape."
+msgstr ""
+
+#: scene/3d/collision_polygon.cpp
+msgid "An empty CollisionPolygon has no effect on collision."
+msgstr ""
+
+#: scene/3d/navigation_mesh.cpp
+msgid "A NavigationMesh resource must be set or created for this node to work."
+msgstr ""
+
+#: scene/3d/navigation_mesh.cpp
+msgid ""
+"NavigationMeshInstance must be a child or grandchild to a Navigation node. "
+"It only provides navigation data."
+msgstr ""
+
+#: scene/3d/scenario_fx.cpp
+msgid ""
+"Only one WorldEnvironment is allowed per scene (or set of instanced scenes)."
+msgstr ""
+
+#: scene/3d/spatial_sample_player.cpp
+msgid ""
+"A SampleLibrary resource must be created or set in the 'samples' property in "
+"order for SpatialSamplePlayer to play sound."
+msgstr ""
+
+#: scene/3d/sprite_3d.cpp
+msgid ""
+"A SpriteFrames resource must be created or set in the 'Frames' property in "
+"order for AnimatedSprite3D to display frames."
+msgstr ""
+
+#: scene/gui/dialogs.cpp tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Cancel"
+msgstr ""
+
+#: scene/gui/dialogs.cpp
+msgid "OK"
+msgstr ""
+
+#: scene/gui/dialogs.cpp
+msgid "Alert!"
+msgstr ""
+
+#: scene/gui/dialogs.cpp
+msgid "Please Confirm..."
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+msgid "File Exists, Overwrite?"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+msgid "All Recognized"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+msgid "All Files (*)"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+#: tools/editor/editor_help.cpp tools/editor/editor_node.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/quick_open.cpp
+#: tools/editor/scenes_dock.cpp
+msgid "Open"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp
+msgid "Open a File"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp
+msgid "Open File(s)"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp
+msgid "Open a Directory"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp
+msgid "Open a File or Directory"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+#: tools/editor/editor_node.cpp
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Save"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+msgid "Save a File"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_dir_dialog.cpp
+#: tools/editor/editor_file_dialog.cpp
+msgid "Create Folder"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+#: tools/editor/project_settings.cpp tools/editor/script_create_dialog.cpp
+msgid "Path:"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+msgid "Directories & Files:"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "File:"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+msgid "Filter:"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_dir_dialog.cpp
+#: tools/editor/editor_file_dialog.cpp tools/editor/editor_plugin_settings.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Name:"
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_dir_dialog.cpp
+#: tools/editor/editor_file_dialog.cpp
+msgid "Could not create folder."
+msgstr ""
+
+#: scene/gui/file_dialog.cpp tools/editor/editor_file_dialog.cpp
+msgid "Must use a valid extension."
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+#: tools/editor/settings_config_dialog.cpp
+msgid "Shift+"
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+#: tools/editor/settings_config_dialog.cpp
+msgid "Alt+"
+msgstr ""
+
+#: scene/gui/input_action.cpp
+msgid "Ctrl+"
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+#: tools/editor/settings_config_dialog.cpp
+msgid "Meta+"
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+msgid "Device"
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+msgid "Button"
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+msgid "Left Button."
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+msgid "Right Button."
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+msgid "Middle Button."
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+msgid "Wheel Up."
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+msgid "Wheel Down."
+msgstr ""
+
+#: scene/gui/input_action.cpp tools/editor/project_settings.cpp
+msgid "Axis"
+msgstr ""
+
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Cut"
+msgstr ""
+
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+#: tools/editor/property_editor.cpp tools/editor/resources_dock.cpp
+msgid "Copy"
+msgstr ""
+
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+#: tools/editor/property_editor.cpp tools/editor/resources_dock.cpp
+msgid "Paste"
+msgstr ""
+
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+#: tools/editor/project_export.cpp
+msgid "Select All"
+msgstr ""
+
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp tools/editor/editor_log.cpp
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+#: tools/editor/plugins/rich_text_editor_plugin.cpp
+#: tools/editor/property_editor.cpp tools/editor/script_editor_debugger.cpp
+msgid "Clear"
+msgstr ""
+
+#: scene/gui/line_edit.cpp scene/gui/text_edit.cpp tools/editor/editor_node.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Undo"
+msgstr ""
+
+#: scene/gui/popup.cpp
+msgid ""
+"Popups will hide by default unless you call popup() or any of the popup*() "
+"functions. Making them visible for editing is fine though, but they will "
+"hide upon running."
+msgstr ""
+
+#: scene/main/viewport.cpp
+msgid ""
+"This viewport is not set as render target. If you intend for it to display "
+"its contents directly to the screen, make it a child of a Control so it can "
+"obtain a size. Otherwise, make it a RenderTarget and assign its internal "
+"texture to some node for display."
+msgstr ""
+
+#: scene/resources/dynamic_font.cpp
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Error initializing FreeType."
+msgstr ""
+
+#: scene/resources/dynamic_font.cpp
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Unknown font format."
+msgstr ""
+
+#: scene/resources/dynamic_font.cpp
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Error loading font."
+msgstr ""
+
+#: scene/resources/dynamic_font.cpp
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Invalid font size."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Disabled"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "All Selection"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Move Add Key"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Change Transition"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Change Transform"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Change Value"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Change Call"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Add Track"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Move Anim Track Up"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Move Anim Track Down"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Remove Anim Track"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Duplicate Keys"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Set Transitions to:"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Track Rename"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Track Change Interpolation"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Track Change Value Mode"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Edit Node Curve"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Edit Selection Curve"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Delete Keys"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Continuous"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Discrete"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Trigger"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Add Key"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Move Keys"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Scale Selection"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Scale From Cursor"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Duplicate Selection"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Duplicate Transposed"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Goto Next Step"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Goto Prev Step"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp tools/editor/property_editor.cpp
+msgid "Linear"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Constant"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "In"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Out"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "In-Out"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Out-In"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Transitions"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Optimize Animation"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Clean-Up Animation"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Create NEW track for %s and insert key?"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Create %d NEW tracks and insert keys?"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp tools/editor/create_dialog.cpp
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+#: tools/editor/plugins/particles_editor_plugin.cpp
+#: tools/editor/project_manager.cpp tools/editor/script_create_dialog.cpp
+msgid "Create"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Create & Insert"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Insert Track & Key"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Insert Key"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Change Anim Len"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Change Anim Loop"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Change Anim Loop Interpolation"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Create Typed Value Key"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Insert"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Scale Keys"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim Add Call Track"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Animation zoom."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Length (s):"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Animation length (in seconds)."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Step (s):"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Cursor step snap (in seconds)."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Enable/Disable looping in animation."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Enable/Disable interpolation when looping animation."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Add new tracks."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Move current track up."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Move current track down."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Remove selected track."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Track tools"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Enable editing of individual keys by clicking them."
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Anim. Optimizer"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Max. Linear Error:"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Max. Angular Error:"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Max Optimizable Angle:"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Optimize"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Key"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Transition"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Scale Ratio:"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Call Functions in Which Node?"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Remove invalid keys"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Remove unresolved and empty tracks"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Clean-up all animations"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Clean-Up Animation(s) (NO UNDO!)"
+msgstr ""
+
+#: tools/editor/animation_editor.cpp
+msgid "Clean-Up"
+msgstr ""
+
+#: tools/editor/array_property_edit.cpp
+msgid "Resize Array"
+msgstr ""
+
+#: tools/editor/array_property_edit.cpp
+msgid "Change Array Value Type"
+msgstr ""
+
+#: tools/editor/array_property_edit.cpp
+msgid "Change Array Value"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp tools/editor/create_dialog.cpp
+#: tools/editor/editor_help.cpp tools/editor/editor_node.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/quick_open.cpp
+#: tools/editor/settings_config_dialog.cpp
+msgid "Search:"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "Sort:"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "Reverse"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+#: tools/editor/project_settings.cpp
+msgid "Category:"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "All"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "Site:"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "Support.."
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "Official"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "Community"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "Testing"
+msgstr ""
+
+#: tools/editor/asset_library_editor_plugin.cpp
+msgid "Assets ZIP File"
+msgstr ""
+
+#: tools/editor/call_dialog.cpp
+msgid "Method List For '%s':"
+msgstr ""
+
+#: tools/editor/call_dialog.cpp
+msgid "Call"
+msgstr ""
+
+#: tools/editor/call_dialog.cpp tools/editor/connections_dialog.cpp
+#: tools/editor/import_settings.cpp
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+#: tools/editor/project_settings.cpp tools/editor/property_editor.cpp
+#: tools/editor/run_settings_dialog.cpp tools/editor/settings_config_dialog.cpp
+msgid "Close"
+msgstr ""
+
+#: tools/editor/call_dialog.cpp
+msgid "Method List:"
+msgstr ""
+
+#: tools/editor/call_dialog.cpp
+msgid "Arguments:"
+msgstr ""
+
+#: tools/editor/call_dialog.cpp
+msgid "Return:"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Go to Line"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Line Number:"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "No Matches"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Replaced %d Ocurrence(s)."
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Replace"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Replace All"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Match Case"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Whole Words"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Selection Only"
+msgstr ""
+
+#: tools/editor/code_editor.cpp tools/editor/editor_help.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+#: tools/editor/project_settings.cpp
+msgid "Search"
+msgstr ""
+
+#: tools/editor/code_editor.cpp tools/editor/editor_help.cpp
+msgid "Find"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Next"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Replaced %d ocurrence(s)."
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Not found!"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Replace By"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Case Sensitive"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Backwards"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Prompt On Replace"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Skip"
+msgstr ""
+
+#: tools/editor/code_editor.cpp tools/editor/script_editor_debugger.cpp
+msgid "Line:"
+msgstr ""
+
+#: tools/editor/code_editor.cpp
+msgid "Col:"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Method in target Node must be specified!"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Conect To Node:"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp tools/editor/groups_editor.cpp
+#: tools/editor/plugins/item_list_editor_plugin.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+#: tools/editor/project_settings.cpp
+msgid "Add"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp tools/editor/dependency_editor.cpp
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+#: tools/editor/project_manager.cpp
+msgid "Remove"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Add Extra Call Argument:"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Extra Call Arguments:"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Path to Node:"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Make Function"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Deferred"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Oneshot"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Connect"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Connect '%s' to '%s'"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Connecting Signal:"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Create Subscription"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+msgid "Connect.."
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Disconnect"
+msgstr ""
+
+#: tools/editor/connections_dialog.cpp tools/editor/node_dock.cpp
+msgid "Signals"
+msgstr ""
+
+#: tools/editor/create_dialog.cpp
+msgid "Create New"
+msgstr ""
+
+#: tools/editor/create_dialog.cpp tools/editor/editor_help.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp tools/editor/quick_open.cpp
+msgid "Matches:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Search Replacement For:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Dependencies For:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid ""
+"Scene '%s' is currently being edited.\n"
+"Changes will not take effect unless reloaded."
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid ""
+"Resource '%s' is in use.\n"
+"Changes will take effect when reloaded."
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Dependencies"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Resource"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp tools/editor/project_manager.cpp
+#: tools/editor/project_settings.cpp
+msgid "Path"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Dependencies:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Fix Broken"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Dependency Editor"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Search Replacement Resource:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Owners Of:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid ""
+"The files being removed are required by other resources in order for them to "
+"work.\n"
+"Remove them anyway? (no undo)"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Remove selected files from the project? (no undo)"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Error loading:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Scene failed to load due to missing dependencies:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Open Anyway"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Which action should be taken?"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Fix Dependencies"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Errors loading!"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Permanently delete %d item(s)? (No undo!)"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Owns"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Resources Without Explicit Ownership:"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp
+msgid "Orphan Resource Explorer"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp
+msgid "Delete selected files?"
+msgstr ""
+
+#: tools/editor/dependency_editor.cpp tools/editor/editor_node.cpp
+#: tools/editor/plugins/item_list_editor_plugin.cpp
+#: tools/editor/scenes_dock.cpp
+msgid "Delete"
+msgstr ""
+
+#: tools/editor/editor_data.cpp
+msgid "Updating Scene"
+msgstr ""
+
+#: tools/editor/editor_data.cpp
+msgid "Storing local changes.."
+msgstr ""
+
+#: tools/editor/editor_data.cpp
+msgid "Updating scene.."
+msgstr ""
+
+#: tools/editor/editor_dir_dialog.cpp
+msgid "Choose a Directory"
+msgstr ""
+
+#: tools/editor/editor_dir_dialog.cpp
+msgid "Choose"
+msgstr ""
+
+#: tools/editor/editor_file_dialog.cpp tools/editor/scenes_dock.cpp
+msgid "Favorites:"
+msgstr ""
+
+#: tools/editor/editor_file_dialog.cpp
+msgid "Recent:"
+msgstr ""
+
+#: tools/editor/editor_file_dialog.cpp
+msgid "Preview:"
+msgstr ""
+
+#: tools/editor/editor_file_system.cpp
+msgid "Cannot go into subdir:"
+msgstr ""
+
+#: tools/editor/editor_file_system.cpp
+msgid "ScanSources"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Search Classes"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Class List:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp tools/editor/property_editor.cpp
+msgid "Class:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp tools/editor/scene_tree_editor.cpp
+#: tools/editor/script_create_dialog.cpp
+msgid "Inherits:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Inherited by:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Brief Description:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Public Methods:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Members:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "GUI Theme Items:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Signals:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Constants:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp tools/editor/script_editor_debugger.cpp
+msgid "Description:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Method Description:"
+msgstr ""
+
+#: tools/editor/editor_help.cpp
+msgid "Search Text"
+msgstr ""
+
+#: tools/editor/editor_import_export.cpp
+msgid "Added:"
+msgstr ""
+
+#: tools/editor/editor_import_export.cpp
+msgid "Removed:"
+msgstr ""
+
+#: tools/editor/editor_import_export.cpp tools/editor/project_export.cpp
+msgid "Error saving atlas:"
+msgstr ""
+
+#: tools/editor/editor_import_export.cpp
+msgid "Could not save atlas subtexture:"
+msgstr ""
+
+#: tools/editor/editor_import_export.cpp
+msgid "Storing File:"
+msgstr ""
+
+#: tools/editor/editor_import_export.cpp
+msgid "Packing"
+msgstr ""
+
+#: tools/editor/editor_import_export.cpp
+msgid "Exporting for %s"
+msgstr ""
+
+#: tools/editor/editor_import_export.cpp
+msgid "Setting Up.."
+msgstr ""
+
+#: tools/editor/editor_log.cpp
+msgid " Output:"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp
+msgid "Re-Importing"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Importing:"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Node From Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/scenes_dock.cpp
+msgid "Re-Import.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/resources_dock.cpp
+msgid "Error saving resource!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/resources_dock.cpp
+msgid "Save Resource As.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp
+msgid "I see.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Can't open file for writing:"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Requested file format unknown:"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Error while saving."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Saving Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Analyzing"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Creating Thumbnail"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"Couldn't save scene. Likely dependencies (instances) couldn't be satisfied."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Failed to load resource."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Can't load MeshLibrary for merging!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Error saving MeshLibrary!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Can't load TileSet for merging!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Error saving TileSet!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Can't open export templates zip."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Loading Export Templates"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Error trying to save layout!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Default editor layout overridden."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Layout name not found!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Restored default layout to base settings."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Copy Params"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Paste Params"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Paste Resource"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Copy Resource"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Make Built-In"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Make Sub-Resources Unique"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Open in Help"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "There is no defined scene to run."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"No main scene has ever been defined.\n"
+"Select one from \"Project Settings\" under the 'application' category."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Current scene was never saved, please save it prior to running."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Could not start subprocess!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Open Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Open Base Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Quick Open Scene.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Quick Open Script.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Yes"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Close scene? (Unsaved changes will be lost)"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Save Scene As.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "This scene has never been saved. Save before running?"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Please save the scene first."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Save Translatable Strings"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Export Mesh Library"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Export Tile Set"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Quit"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Exit the editor?"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Current scene not saved. Open anyway?"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Can't reload a scene that was never saved."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Revert"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "This action cannot be undone. Revert anyway?"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Quick Run Scene.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"Open Project Manager? \n"
+"(Unsaved changes will be lost)"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/scene_tree_dock.cpp
+msgid "Ugh"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"Error loading scene, it must be inside the project path. Use 'Import' to "
+"open the scene, then save it inside the project path."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Error loading scene."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Scene '%s' has broken dependencies:"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Save Layout"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Load Layout"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/project_export.cpp
+msgid "Default"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Delete Layout"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Switch Scene Tab"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "%d more file(s)"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "%d more file(s) or folder(s)"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Go to previously opened scene."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Fullscreen Mode"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Distraction Free Mode"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Operations with scene files."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "New Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "New Inherited Scene.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Open Scene.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Save Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Close Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Close Goto Prev. Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Open Recent"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Quick Filter Files.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Convert To.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Translatable Strings.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "MeshLibrary.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "TileSet.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Redo"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Run Script"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Project Settings"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Revert Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Quit to Project List"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Import assets to the project."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+#: tools/editor/project_manager.cpp
+msgid "Import"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Miscellaneous project or scene-wide tools."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Tools"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Export the project to many platforms."
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/project_export.cpp
+msgid "Export"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Play the project."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Play"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Pause the scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Pause Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Stop the scene."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Stop"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Play the edited scene."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Play Scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Play custom scene"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Debug options"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Deploy with Remote Debug"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"When exporting or deploying, the resulting executable will attempt to "
+"connect to the IP of this computer in order to be debugged."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Small Deploy with Network FS"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"When this option is enabled, export or deploy will produce a minimal "
+"executable.\n"
+"The filesystem will be provided from the project by the editor over the "
+"network.\n"
+"On Android, deploy will use the USB cable for faster performance. This "
+"option speeds up testing for games with a large footprint."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Visible Collision Shapes"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"Collision shapes and raycast nodes (for 2D and 3D) will be visible on the "
+"running game if this option is turned on."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Visible Navigation"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"Navigation meshes and polygons will be visible on the running game if this "
+"option is turned on."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Sync Scene Changes"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"When this option is turned on, any changes made to the scene in the editor "
+"will be replicated in the running game.\n"
+"When used remotely on a device, this is more efficient with network "
+"filesystem."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Sync Script Changes"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid ""
+"When this option is turned on, any script that is saved will be reloaded on "
+"the running game.\n"
+"When used remotely on a device, this is more efficient with network "
+"filesystem."
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Settings"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/settings_config_dialog.cpp
+msgid "Editor Settings"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Editor Layout"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Install Export Templates"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "About"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Alerts when an external resource has changed."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Spins when the editor window repaints!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Update Always"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Update Changes"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Inspector"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Create a new resource in memory and edit it."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Load an existing resource from disk and edit it."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Save the currently edited resource."
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/plugins/script_editor_plugin.cpp
+msgid "Save As.."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Go to the previous edited object in history."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Go to the next edited object in history."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "History of recently edited objects."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Object properties."
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "FileSystem"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Output"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/editor_reimport_dialog.cpp
+#: tools/editor/import_settings.cpp
+msgid "Re-Import"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/editor_plugin_settings.cpp
+msgid "Update"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Thanks from the Godot community!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Thanks!"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Import Templates From ZIP File"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/project_export.cpp
+msgid "Export Project"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Export Library"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Merge With Existing"
+msgstr ""
+
+#: tools/editor/editor_node.cpp tools/editor/project_export.cpp
+msgid "Password:"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Open & Run a Script"
+msgstr ""
+
+#: tools/editor/editor_node.cpp
+msgid "Load Errors"
+msgstr ""
+
+#: tools/editor/editor_plugin_settings.cpp
+msgid "Installed Plugins:"
+msgstr ""
+
+#: tools/editor/editor_plugin_settings.cpp
+msgid "Version:"
+msgstr ""
+
+#: tools/editor/editor_plugin_settings.cpp
+msgid "Author:"
+msgstr ""
+
+#: tools/editor/editor_plugin_settings.cpp
+msgid "Status:"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Stop Profiling"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Start Profiling"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Measure:"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Frame Time (sec)"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Average Time (sec)"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Frame %"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Fixed Frame %"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp tools/editor/script_editor_debugger.cpp
+msgid "Time:"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Inclusive"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Self"
+msgstr ""
+
+#: tools/editor/editor_profiler.cpp
+msgid "Frame #:"
+msgstr ""
+
+#: tools/editor/editor_reimport_dialog.cpp
+msgid "Please wait for scan to complete."
+msgstr ""
+
+#: tools/editor/editor_reimport_dialog.cpp
+msgid "Current scene must be saved to re-import."
+msgstr ""
+
+#: tools/editor/editor_reimport_dialog.cpp
+msgid "Save & Re-Import"
+msgstr ""
+
+#: tools/editor/editor_reimport_dialog.cpp
+msgid "Re-Import Changed Resources"
+msgstr ""
+
+#: tools/editor/editor_run_script.cpp
+msgid "Write your logic in the _run() method."
+msgstr ""
+
+#: tools/editor/editor_run_script.cpp
+msgid "There is an edited scene already."
+msgstr ""
+
+#: tools/editor/editor_run_script.cpp
+msgid "Couldn't instance script:"
+msgstr ""
+
+#: tools/editor/editor_run_script.cpp
+msgid "Did you forget the 'tool' keyword?"
+msgstr ""
+
+#: tools/editor/editor_run_script.cpp
+msgid "Couldn't run script:"
+msgstr ""
+
+#: tools/editor/editor_run_script.cpp
+msgid "Did you forget the '_run' method?"
+msgstr ""
+
+#: tools/editor/editor_settings.cpp
+msgid "Default (Same as Editor)"
+msgstr ""
+
+#: tools/editor/editor_sub_scene.cpp
+msgid "Select Node(s) to Import"
+msgstr ""
+
+#: tools/editor/editor_sub_scene.cpp
+msgid "Scene Path:"
+msgstr ""
+
+#: tools/editor/editor_sub_scene.cpp
+msgid "Import From Node:"
+msgstr ""
+
+#: tools/editor/file_type_cache.cpp
+msgid "Can't open file_type_cache.cch for writing, not saving file type cache!"
+msgstr ""
+
+#: tools/editor/groups_editor.cpp
+msgid "Add to Group"
+msgstr ""
+
+#: tools/editor/groups_editor.cpp
+msgid "Remove from Group"
+msgstr ""
+
+#: tools/editor/import_settings.cpp
+msgid "Imported Resources"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+msgid "No bit masks to import!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Target path is empty."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Target path must be a complete resource path."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Target path must exist."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+msgid "Save path is empty!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+msgid "Import BitMasks"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Source Texture(s):"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Target Path:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Accept"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_bitmask_import_plugin.cpp
+msgid "Bit Mask"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "No source font file!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "No target font resource!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Can't load/process source font."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Couldn't save font."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Source Font:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Source Font Size:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Dest Resource:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "The quick brown fox jumps over the lazy dog."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Test:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Options:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Font Import"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid ""
+"This file is already a Godot font file, please supply a BMFont type file "
+"instead."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Failed opening as BMFont file."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+msgid "Invalid font custom source."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_font_import_plugin.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Font"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+msgid "No meshes to import!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+msgid "Single Mesh Import"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+msgid "Source Mesh(es):"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Mesh"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_mesh_import_plugin.cpp
+msgid "Surface %d"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+msgid "No samples to import!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+msgid "Import Audio Samples"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+msgid "Source Sample(s):"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_sample_import_plugin.cpp
+msgid "Audio Sample"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "New Clip"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Animation Options"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Flags"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Bake FPS:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Optimizer"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Max Linear Error"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Max Angular Error"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Max Angle"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Clips"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+#: tools/editor/project_manager.cpp tools/editor/project_settings.cpp
+msgid "Name"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Start(s)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "End(s)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Loop"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Filters"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Source path is empty."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Couldn't load post-import script."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Invalid/broken script for post-import."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Error importing scene."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Import 3D Scene"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Source Scene:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Same as Target Scene"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Shared"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Target Texture Folder:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Post-Process Script:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Custom Root Node Type:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Auto"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "The Following Files are Missing:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Import Anyway"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Import & Open"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Edited scene has not been saved, open imported scene anyway?"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
+msgid "Import Scene"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Importing Scene.."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Running Custom Script.."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Couldn't load post-import script:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Invalid/broken script for post-import:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Error running post-import script:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Import Image:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Can't import a file over itself:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Couldn't localize path: %s (already local)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "Saving.."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_scene_import_plugin.cpp
+msgid "3D Scene Animation"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Uncompressed"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Compress Lossless (PNG)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Compress Lossy (WebP)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Compress (VRAM)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Texture Format"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Texture Compression Quality (WebP):"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Texture Options"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Please specify some files!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "At least one file needed for Atlas."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Error importing:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Only one file is required for large texture."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Max Texture Size:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Import Textures for Atlas (2D)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Cell Size:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Large Texture"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Import Large Textures (2D)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Source Texture"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Base Atlas Texture"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Source Texture(s)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Import Textures for 2D"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Import Textures for 3D"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Import Textures"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "2D Texture"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "3D Texture"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Atlas Texture"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid ""
+"NOTICE: Importing 2D textures is not mandatory. Just copy png/jpg files to "
+"the project."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Crop empty space."
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Texture"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Import Large Texture"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Load Source Image"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Slicing"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Inserting"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Saving"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Couldn't save large texture:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Build Atlas For:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Loading Image:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Couldn't load image:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Converting Images"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Cropping Images"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Blitting Images"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Couldn't save atlas image:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_texture_import_plugin.cpp
+msgid "Couldn't save converted texture:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Invalid source!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Invalid translation source!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Column"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+#: tools/editor/script_create_dialog.cpp
+msgid "Language"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "No items to import!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "No target path!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Import Translations"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Couldn't import!"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Import Translation"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Source CSV:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Ignore First Row"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Compress"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Add to Project (engine.cfg)"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Import Languages:"
+msgstr ""
+
+#: tools/editor/io_plugins/editor_translation_import_plugin.cpp
+msgid "Translation"
+msgstr ""
+
+#: tools/editor/multi_node_edit.cpp
+msgid "MultiNode Set"
+msgstr ""
+
+#: tools/editor/node_dock.cpp
+msgid "Node"
+msgstr ""
+
+#: tools/editor/node_dock.cpp
+msgid "Groups"
+msgstr ""
+
+#: tools/editor/node_dock.cpp
+msgid "Select a Node to edit Signals and Groups."
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Toggle Autoplay"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "New Animation Name:"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "New Anim"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Change Animation Name:"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Remove Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "ERROR: Invalid animation name!"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "ERROR: Animation name already exists!"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Rename Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Add Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Blend Next Changed"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Change Blend Time"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Load Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Duplicate Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "ERROR: No animation to copy!"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "ERROR: No animation resource on clipboard!"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Pasted Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Paste Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "ERROR: No animation to edit!"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Play selected animation backwards from current pos. (A)"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Play selected animation backwards from end. (Shift+A)"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Stop animation playback. (S)"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Play selected animation from start. (Shift+D)"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Play selected animation from current pos. (D)"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Animation position (in seconds)."
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Scale animation playback globally for the node."
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create new animation in player."
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Load animation from disk."
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Load an animation from disk."
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Save the current animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Save As"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Display list of animations in player."
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Autoplay on Load"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Edit Target Blend Times"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Animation Tools"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Copy Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Create New Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Animation Name:"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+#: tools/editor/property_editor.cpp tools/editor/script_create_dialog.cpp
+msgid "Error!"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Blend Times:"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Next (Auto Queue):"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+msgid "Cross-Animation Blend Times"
+msgstr ""
+
+#: tools/editor/plugins/animation_player_editor_plugin.cpp
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Animation"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "New name:"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Scale:"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Fade In (s):"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Fade Out (s):"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Blend"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Mix"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Auto Restart:"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Restart (s):"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Random Restart (s):"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Start!"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Amount:"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Blend:"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Blend 0:"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Blend 1:"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "X-Fade Time (s):"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Current:"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Add Input"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Clear Auto-Advance"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Set Auto-Advance"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Delete Input"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Rename"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Animation tree is valid."
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Animation tree is invalid."
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Animation Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "OneShot Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Mix Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Blend2 Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Blend3 Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Blend4 Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "TimeScale Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "TimeSeek Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Transition Node"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Import Animations.."
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Edit Node Filters"
+msgstr ""
+
+#: tools/editor/plugins/animation_tree_editor_plugin.cpp
+msgid "Filters.."
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Parsing %d Triangles:"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Triangle #"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Light Baker Setup:"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Parsing Geometry"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Fixing Lights"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Making BVH"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Creating Light Octree"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Creating Octree Texture"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Transfer to Lightmaps:"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Allocating Texture #"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Baking Triangle #"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_baker.cpp
+msgid "Post-Processing Texture #"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_editor_plugin.cpp
+msgid "BakedLightInstance does not contain a BakedLight resource."
+msgstr ""
+
+#: tools/editor/plugins/baked_light_editor_plugin.cpp
+msgid "Bake!"
+msgstr ""
+
+#: tools/editor/plugins/baked_light_editor_plugin.cpp
+msgid "Reset the lightmap octree baking process (start over)."
+msgstr ""
+
+#: tools/editor/plugins/camera_editor_plugin.cpp
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Preview"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Configure Snap"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid "Grid Offset:"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid "Grid Step:"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Rotation Offset:"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Rotation Step:"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move Pivot"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Move Action"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Edit IK Chain"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Edit CanvasItem"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Change Anchors"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom (%):"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Paste Pose"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Select Mode (Q)"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Drag: Rotate"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Alt+Drag: Move"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Press 'v' to Change Pivot, 'Shift+v' to Drag Pivot (while moving)."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Alt+RMB: Depth list selection"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Move Mode (W)"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Rotate Mode (E)"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid ""
+"Show a list of all objects at the position clicked\n"
+"(same as Alt+RMB in select mode)."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Click to change object's rotation pivot."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Pan Mode"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Lock the selected object in place (can't be moved)."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Unlock the selected object (can be moved)."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Makes sure the object's children are not selectable."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Restores the object's children's ability to be selected."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+#: tools/editor/project_manager.cpp
+msgid "Edit"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Use Snap"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid "Show Grid"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Use Rotation Snap"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Snap Relative"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Configure Snap.."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Use Pixel Snap"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Expand to Parent"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Skeleton.."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Make Bones"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Clear Bones"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Make IK Chain"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Clear IK Chain"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom In"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom Out"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom Reset"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Zoom Set.."
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Center Selection"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Frame Selection"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Anchor"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Keys (Ins)"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Insert Key (Existing Tracks)"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Copy Pose"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Clear Pose"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Set a Value"
+msgstr ""
+
+#: tools/editor/plugins/canvas_item_editor_plugin.cpp
+msgid "Snap (Pixels):"
+msgstr ""
+
+#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Create Poly"
+msgstr ""
+
+#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/collision_polygon_editor_plugin.cpp
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Edit Poly"
+msgstr ""
+
+#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/collision_polygon_editor_plugin.cpp
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Edit Poly (Remove Point)"
+msgstr ""
+
+#: tools/editor/plugins/collision_polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+msgid "Create a new polygon from scratch."
+msgstr ""
+
+#: tools/editor/plugins/collision_polygon_editor_plugin.cpp
+msgid "Create Poly3D"
+msgstr ""
+
+#: tools/editor/plugins/collision_shape_2d_editor_plugin.cpp
+msgid "Set Handle"
+msgstr ""
+
+#: tools/editor/plugins/color_ramp_editor_plugin.cpp
+msgid "Add/Remove Color Ramp Point"
+msgstr ""
+
+#: tools/editor/plugins/color_ramp_editor_plugin.cpp
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Modify Color Ramp"
+msgstr ""
+
+#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
+msgid "Creating Mesh Library"
+msgstr ""
+
+#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
+msgid "Thumbnail.."
+msgstr ""
+
+#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
+msgid "Remove item %d?"
+msgstr ""
+
+#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
+#: tools/editor/plugins/theme_editor_plugin.cpp
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+msgid "Add Item"
+msgstr ""
+
+#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
+msgid "Remove Selected Item"
+msgstr ""
+
+#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
+msgid "Import from Scene"
+msgstr ""
+
+#: tools/editor/plugins/cube_grid_theme_editor_plugin.cpp
+msgid "Update from Scene"
+msgstr ""
+
+#: tools/editor/plugins/item_list_editor_plugin.cpp
+msgid "Item %d"
+msgstr ""
+
+#: tools/editor/plugins/item_list_editor_plugin.cpp
+msgid "Items"
+msgstr ""
+
+#: tools/editor/plugins/item_list_editor_plugin.cpp
+msgid "Item List Editor"
+msgstr ""
+
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+msgid "Create Occluder Polygon"
+msgstr ""
+
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+msgid "Edit existing polygon:"
+msgstr ""
+
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+msgid "LMB: Move Point."
+msgstr ""
+
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+msgid "Ctrl+LMB: Split Segment."
+msgstr ""
+
+#: tools/editor/plugins/light_occluder_2d_editor_plugin.cpp
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+msgid "RMB: Erase Point."
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Mesh is empty!"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Static Trimesh Body"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Static Convex Body"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "This doesn't work on scene root!"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Trimesh Shape"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Convex Shape"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Navigation Mesh"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "MeshInstance lacks a Mesh!"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Could not create outline!"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Outline"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Trimesh Static Body"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Convex Static Body"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Trimesh Collision Sibling"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Convex Collision Sibling"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Outline Mesh.."
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Create Outline Mesh"
+msgstr ""
+
+#: tools/editor/plugins/mesh_instance_editor_plugin.cpp
+msgid "Outline Size:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "No mesh source specified (and no MultiMesh set in node)."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "No mesh source specified (and MultiMesh contains no Mesh)."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Mesh source is invalid (invalid path)."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Mesh source is invalid (not a MeshInstance)."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Mesh source is invalid (contains no Mesh resource)."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "No surface source specified."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Surface source is invalid (invalid path)."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Surface source is invalid (no geometry)."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Surface source is invalid (no faces)."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Parent has no solid faces to populate."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Couldn't map area."
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Select a Source Mesh:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Select a Target Surface:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Populate Surface"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Populate MultiMesh"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Target Surface:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Source Mesh:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "X-Axis"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Y-Axis"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Z-Axis"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Mesh Up Axis:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Random Rotation:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Random Tilt:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Random Scale:"
+msgstr ""
+
+#: tools/editor/plugins/multimesh_editor_plugin.cpp
+msgid "Populate"
+msgstr ""
+
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+msgid "Create Navigation Polygon"
+msgstr ""
+
+#: tools/editor/plugins/navigation_polygon_editor_plugin.cpp
+msgid "Remove Poly And Point"
+msgstr ""
+
+#: tools/editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Error loading image:"
+msgstr ""
+
+#: tools/editor/plugins/particles_2d_editor_plugin.cpp
+msgid "No pixels with transparency > 128 in image.."
+msgstr ""
+
+#: tools/editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Set Emission Mask"
+msgstr ""
+
+#: tools/editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Clear Emission Mask"
+msgstr ""
+
+#: tools/editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Load Emission Mask"
+msgstr ""
+
+#: tools/editor/plugins/particles_2d_editor_plugin.cpp
+msgid "Generated Point Count:"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Node does not contain geometry."
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Node does not contain geometry (faces)."
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Faces contain no area!"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "No faces!"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Generate AABB"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emitter From Mesh"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emitter From Node"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Clear Emitter"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Create Emitter"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Emission Positions:"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Emission Fill:"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Surface"
+msgstr ""
+
+#: tools/editor/plugins/particles_editor_plugin.cpp
+msgid "Volume"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+msgid "Remove Point from Curve"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Add Point to Curve"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+msgid "Move Point in Curve"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+msgid "Move In-Control in Curve"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+msgid "Move Out-Control in Curve"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Select Points"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Shift+Drag: Select Control Points"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Click: Add Point"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Right Click: Delete Point"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+msgid "Select Control Points (Shift+Drag)"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Add Point (in empty space)"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Split Segment (in curve)"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Delete Point"
+msgstr ""
+
+#: tools/editor/plugins/path_2d_editor_plugin.cpp
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Close Curve"
+msgstr ""
+
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Curve Point #"
+msgstr ""
+
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Set Curve Point Pos"
+msgstr ""
+
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Set Curve In Pos"
+msgstr ""
+
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Set Curve Out Pos"
+msgstr ""
+
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Split Path"
+msgstr ""
+
+#: tools/editor/plugins/path_editor_plugin.cpp
+msgid "Remove Path Point"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Create UV Map"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Transform UV Map"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Polygon 2D UV Editor"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Move Point"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Ctrl: Rotate"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Shift: Move All"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Shift+Ctrl: Scale"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Move Polygon"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Rotate Polygon"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Scale Polygon"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Polygon->UV"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "UV->Polygon"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+msgid "Clear UV"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid "Snap"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid "Enable Snap"
+msgstr ""
+
+#: tools/editor/plugins/polygon_2d_editor_plugin.cpp
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid "Grid"
+msgstr ""
+
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "ERROR: Couldn't load resource!"
+msgstr ""
+
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Add Resource"
+msgstr ""
+
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Rename Resource"
+msgstr ""
+
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Delete Resource"
+msgstr ""
+
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+msgid "Resource clipboard is empty!"
+msgstr ""
+
+#: tools/editor/plugins/resource_preloader_editor_plugin.cpp
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Load Resource"
+msgstr ""
+
+#: tools/editor/plugins/rich_text_editor_plugin.cpp
+msgid "Parse BBCode"
+msgstr ""
+
+#: tools/editor/plugins/sample_editor_plugin.cpp
+msgid "Length:"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Open Sample File(s)"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "ERROR: Couldn't load sample!"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Add Sample"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Rename Sample"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Delete Sample"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "16 Bits"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "8 Bits"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Stereo"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Mono"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "Format"
+msgstr ""
+
+#: tools/editor/plugins/sample_library_editor_plugin.cpp
+msgid "Pitch"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Error while saving theme"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Error saving"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Error importing theme"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Error importing"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Import Theme"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Save Theme As.."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/project_export.cpp
+msgid "File"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/property_editor.cpp
+msgid "New"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Save All"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "History Prev"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "History Next"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Reload Theme"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Save Theme"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Save Theme As"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/scene_tree_dock.cpp
+msgid "Move Up"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/scene_tree_dock.cpp
+msgid "Move Down"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Indent Left"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Indent Right"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Toggle Comment"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Clone Down"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Complete Symbol"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Trim Trailing Whitespace"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Auto Indent"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Soft Reload Script"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Find.."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Find Next"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Find Previous"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Replace.."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Goto Function.."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Goto Line.."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Debug"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Toggle Breakpoint"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Remove All Breakpoints"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Goto Next Breakpoint"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Goto Previous Breakpoint"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "Step Over"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "Step Into"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "Break"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "Continue"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Keep Debugger Open"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Window"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Move Left"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Move Right"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Help"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Contextual Help"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Tutorials"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Open https://godotengine.org at tutorials section."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Classes"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Search the class hierarchy."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Search Help"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Search the reference documentation."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Go to previous edited document."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Go to next edited document."
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Create Script"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid ""
+"The following files are newer on disk.\n"
+"What action should be taken?:"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Reload"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+msgid "Resave"
+msgstr ""
+
+#: tools/editor/plugins/script_editor_plugin.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "Debugger"
+msgstr ""
+
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Vertex"
+msgstr ""
+
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Fragment"
+msgstr ""
+
+#: tools/editor/plugins/shader_editor_plugin.cpp
+msgid "Lighting"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Scalar Constant"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Vec Constant"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change RGB Constant"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Scalar Operator"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Vec Operator"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Vec Scalar Operator"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change RGB Operator"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Toggle Rot Only"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Scalar Function"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Vec Function"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Scalar Uniform"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Vec Uniform"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change RGB Uniform"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Default Value"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change XForm Uniform"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Texture Uniform"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Cubemap Uniform"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Comment"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Add/Remove to Color Ramp"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Add/Remove to Curve Map"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Modify Curve Map"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Change Input Name"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Connect Graph Nodes"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Disconnect Graph Nodes"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Remove Shader Graph Node"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Move Shader Graph Node"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Duplicate Graph Node(s)"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Delete Shader Graph Node(s)"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Error: Cyclic Connection Link"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Error: Missing Input Connections"
+msgstr ""
+
+#: tools/editor/plugins/shader_graph_editor_plugin.cpp
+msgid "Add Shader Graph Node"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Orthogonal"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Perspective"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Transform Aborted."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "X-Axis Transform."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Y-Axis Transform."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Z-Axis Transform."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View Plane Transform."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Scaling to %s%%."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Rotating %s degrees."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Bottom View."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Bottom"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Top View."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Top"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Rear View."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Rear"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Front View."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Front"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Left View."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Left"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Right View."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Right"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Keying is disabled (no key inserted)."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Animation Key Inserted."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Align with view"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Top (Num7)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Bottom (Shift+Num7)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Left (Num3)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Right (Shift+Num3)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Front (Num1)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Rear (Shift+Num1)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Perspective (Num5)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Orthogonal (Num5)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Environment"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Audio Listener"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Gizmos"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Selection (F)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Align with view (Ctrl+Shift+F)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "XForm Dialog"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "No scene selected to instance!"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Instance at Cursor"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Could not instance scene!"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Scale Mode (R)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Transform"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Local Coords"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Transform Dialog.."
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Use Default Light"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Use Default sRGB"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "1 Viewport"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "2 Viewports"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "2 Viewports (Alt)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "3 Viewports"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "3 Viewports (Alt)"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "4 Viewports"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Display Normal"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Display Wireframe"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Display Overdraw"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Display Shadeless"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View Origin"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View Grid"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Snap Settings"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Translate Snap:"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Rotate Snap (deg.):"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Scale Snap (%):"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Viewport Settings"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Default Light Normal:"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Ambient Light Color:"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Perspective FOV (deg.):"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View Z-Near:"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "View Z-Far:"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Transform Change"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Translate:"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Rotate (deg.):"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Scale (ratio):"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Transform Type"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Pre"
+msgstr ""
+
+#: tools/editor/plugins/spatial_editor_plugin.cpp
+msgid "Post"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "ERROR: Couldn't load frame resource!"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Add Frame"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Resource clipboard is empty or not a texture!"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Paste Frame"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Add Empty"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Change Animation Loop"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Change Animation FPS"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "(empty)"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Animations"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Speed (FPS):"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Animation Frames"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Insert Empty (Before)"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Insert Empty (After)"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Up"
+msgstr ""
+
+#: tools/editor/plugins/sprite_frames_editor_plugin.cpp
+msgid "Down"
+msgstr ""
+
+#: tools/editor/plugins/style_box_editor_plugin.cpp
+msgid "StyleBox Preview:"
+msgstr ""
+
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid "Texture Region Editor"
+msgstr ""
+
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid "Scale Region Editor"
+msgstr ""
+
+#: tools/editor/plugins/texture_region_editor_plugin.cpp
+msgid ""
+"No texture in this node.\n"
+"Set a texture to be able to edit region."
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Can't save theme to file:"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Add All Items"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Add All"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+msgid "Remove Item"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Add Class Items"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Remove Class Items"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Create Empty Template"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Create Empty Editor Template"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "CheckBox Radio1"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "CheckBox Radio2"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Item"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Check Item"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Checked Item"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Has"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Many"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp tools/editor/project_export.cpp
+msgid "Options"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Have,Many,Several,Options!"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Tab 1"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Tab 2"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Tab 3"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+#: tools/editor/project_settings.cpp tools/editor/scene_tree_editor.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "Type:"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Data Type:"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Icon"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Style"
+msgstr ""
+
+#: tools/editor/plugins/theme_editor_plugin.cpp
+msgid "Color"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Paint TileMap"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+#: tools/editor/scene_tree_dock.cpp
+msgid "Duplicate"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Erase TileMap"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Erase selection"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Find tile"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Transpose"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Mirror X"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Mirror Y"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Bucket"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Pick Tile"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Select"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Rotate 0 degrees"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Rotate 90 degrees"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Rotate 180 degrees"
+msgstr ""
+
+#: tools/editor/plugins/tile_map_editor_plugin.cpp
+msgid "Rotate 270 degrees"
+msgstr ""
+
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+msgid "Could not find tile:"
+msgstr ""
+
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+msgid "Item name or ID:"
+msgstr ""
+
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create from scene?"
+msgstr ""
+
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+msgid "Merge from scene?"
+msgstr ""
+
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+msgid "Create from Scene"
+msgstr ""
+
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+msgid "Merge from Scene"
+msgstr ""
+
+#: tools/editor/plugins/tile_set_editor_plugin.cpp
+#: tools/editor/script_editor_debugger.cpp
+msgid "Error"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Edit Script Options"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Please export outside the project folder!"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Error exporting project!"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Error writing the project PCK!"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "No exporter for platform '%s' yet."
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Include"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Change Image Group"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Group name can't be empty!"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Invalid character in group name!"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Group name already exists!"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Add Image Group"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Delete Image Group"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Atlas Preview"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Project Export Settings"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Target"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export to Platform"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Resources"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export selected resources (including dependencies)."
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export all resources in the project."
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export all files in the project directory."
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export Mode:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Resources to Export:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Action"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid ""
+"Filters to export non-resource files (comma-separated, e.g.: *.json, *.txt):"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Filters to exclude from export (comma-separated, e.g.: *.json, *.txt):"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Convert text scenes to binary on export."
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Images"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Keep Original"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compress for Disk (Lossy, WebP)"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compress for RAM (BC/PVRTC/ETC)"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Convert Images (*.png):"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compress for Disk (Lossy) Quality:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Shrink All Images:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compress Formats:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Image Groups"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Groups:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compress Disk"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compress RAM"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compress Mode:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Lossy Quality:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Atlas:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Shrink By:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Preview Atlas"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Image Filter:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Images:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Select None"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Group"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Samples"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Sample Conversion Mode: (.wav files):"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Keep"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compress (RAM - IMA-ADPCM)"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Sampling Rate Limit (Hz):"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Trim"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Trailing Silence:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Script"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Script Export Mode:"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Text"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Compiled"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Encrypted (Provide Key Below)"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Script Encryption Key (256-bits as hex):"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export PCK/Zip"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export Project PCK"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export.."
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Project Export"
+msgstr ""
+
+#: tools/editor/project_export.cpp
+msgid "Export Preset:"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Invalid project path, the path must exist!"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Invalid project path, engine.cfg must not exist."
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Invalid project path, engine.cfg must exist."
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Imported Project"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Invalid project path (changed anything?)."
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Couldn't create engine.cfg in project path."
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Import Existing Project"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Project Path (Must Exist):"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Project Name:"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Create New Project"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Project Path:"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Browse"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "New Game Project"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "That's a BINGO!"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Unnamed Project"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Are you sure to open more than one projects?"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Are you sure to run more than one projects?"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Remove project from the list? (Folder contents will not be modified)"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Project Manager"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Project List"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Run"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Scan"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "New Project"
+msgstr ""
+
+#: tools/editor/project_manager.cpp
+msgid "Exit"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Key "
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Joy Button"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Joy Axis"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Mouse Button"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Invalid action (anything goes but '/' or ':')."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Action '%s' already exists!"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Rename Input Action Event"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Add Input Action Event"
+msgstr ""
+
+#: tools/editor/project_settings.cpp tools/editor/settings_config_dialog.cpp
+msgid "Control+"
+msgstr ""
+
+#: tools/editor/project_settings.cpp tools/editor/settings_config_dialog.cpp
+msgid "Press a Key.."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Mouse Button Index:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Left Button"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Right Button"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Middle Button"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Wheel Up Button"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Wheel Down Button"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Button 6"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Button 7"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Button 8"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Button 9"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Joystick Axis Index:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Joystick Button Index:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Add Input Action"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Erase Input Action Event"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Toggle Persisting"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Error saving settings."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Settings saved OK."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Add Translation"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Invalid name."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Valid characters:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Invalid name. Must not collide with an existing engine class name."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Invalid name. Must not collide with an existing buit-in type name."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Invalid name. Must not collide with an existing global constant name."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Autoload '%s' already exists!"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Rename Autoload"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Toggle AutoLoad Globals"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Add Autoload"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Remove Autoload"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Move Autoload"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Remove Translation"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Add Remapped Path"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Resource Remap Add Remap"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Change Resource Remap Language"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Remove Resource Remap"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Remove Resource Remap Option"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Enable"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Project Settings (engine.cfg)"
+msgstr ""
+
+#: tools/editor/project_settings.cpp tools/editor/settings_config_dialog.cpp
+msgid "General"
+msgstr ""
+
+#: tools/editor/project_settings.cpp tools/editor/property_editor.cpp
+msgid "Property:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Del"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Copy To Platform.."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Input Map"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Action:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Device:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Index:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Localization"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Translations"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Translations:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Add.."
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Remaps"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Resources:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Remaps by Locale:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Locale"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "AutoLoad"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Node Name:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "List:"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Singleton"
+msgstr ""
+
+#: tools/editor/project_settings.cpp
+msgid "Plugins"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Preset.."
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Ease In"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Ease Out"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Zero"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Easing In-Out"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Easing Out-In"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "File.."
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Dir.."
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Load"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Assign"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Error loading file: Not a resource!"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Couldn't load image"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Bit %d, val %d."
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "On"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Set"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Properties:"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Global"
+msgstr ""
+
+#: tools/editor/property_editor.cpp
+msgid "Sections:"
+msgstr ""
+
+#: tools/editor/pvrtc_compress.cpp
+msgid "Could not execute PVRTC tool:"
+msgstr ""
+
+#: tools/editor/pvrtc_compress.cpp
+msgid "Can't load back converted image using PVRTC tool:"
+msgstr ""
+
+#: tools/editor/reparent_dialog.cpp tools/editor/scene_tree_dock.cpp
+msgid "Reparent Node"
+msgstr ""
+
+#: tools/editor/reparent_dialog.cpp
+msgid "Reparent Location (Select new Parent):"
+msgstr ""
+
+#: tools/editor/reparent_dialog.cpp
+msgid "Keep Global Transform"
+msgstr ""
+
+#: tools/editor/reparent_dialog.cpp tools/editor/scene_tree_dock.cpp
+msgid "Reparent"
+msgstr ""
+
+#: tools/editor/resources_dock.cpp
+msgid "Create New Resource"
+msgstr ""
+
+#: tools/editor/resources_dock.cpp
+msgid "Open Resource"
+msgstr ""
+
+#: tools/editor/resources_dock.cpp
+msgid "Save Resource"
+msgstr ""
+
+#: tools/editor/resources_dock.cpp
+msgid "Resource Tools"
+msgstr ""
+
+#: tools/editor/resources_dock.cpp
+msgid "Make Local"
+msgstr ""
+
+#: tools/editor/run_settings_dialog.cpp
+msgid "Run Mode:"
+msgstr ""
+
+#: tools/editor/run_settings_dialog.cpp
+msgid "Current Scene"
+msgstr ""
+
+#: tools/editor/run_settings_dialog.cpp
+msgid "Main Scene"
+msgstr ""
+
+#: tools/editor/run_settings_dialog.cpp
+msgid "Main Scene Arguments:"
+msgstr ""
+
+#: tools/editor/run_settings_dialog.cpp
+msgid "Scene Run Settings"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "OK :("
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "No parent to instance a child at."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Error loading scene from %s"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Error instancing scene from %s"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Ok"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid ""
+"Cannot instance the scene '%s' because the current scene exists within one "
+"of its nodes."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Instance Scene(s)"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "This operation can't be done on the tree root."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Move Node In Parent"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Move Nodes In Parent"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Duplicate Node(s)"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Delete Node(s)?"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "This operation can't be done without a scene."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "This operation requires a single selected node."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "This operation can't be done on instanced scenes."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Save New Scene As.."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Makes Sense!"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Can't operate on nodes from a foreign scene!"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Can't operate on nodes the current scene inherits from!"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Remove Node(s)"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Create Node"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid ""
+"Couldn't save new scene. Likely dependencies (instances) couldn't be "
+"satisfied."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Error saving scene."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Error duplicating scene to save it."
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "New Scene Root"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Inherit Scene"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Add Child Node"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Instance Child Scene"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Change Type"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Edit Groups"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Edit Connections"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Add Script"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Merge From Scene"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Save Branch as Scene"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Delete Node(s)"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid "Add/Create a New Node"
+msgstr ""
+
+#: tools/editor/scene_tree_dock.cpp
+msgid ""
+"Instance a scene file as a Node. Creates an inherited scene if no root node "
+"exists."
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid ""
+"This item cannot be made visible because the parent is hidden. Unhide the "
+"parent first."
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Toggle Spatial Visible"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Toggle CanvasItem Visible"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Instance:"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Invalid node name, the following characters are not allowed:"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Rename Node"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Scene Tree (Nodes):"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Editable Children"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Load As Placeholder"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Discard Instancing"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Open in Editor"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Clear Inheritance"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Clear Inheritance? (No Undo!)"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Clear!"
+msgstr ""
+
+#: tools/editor/scene_tree_editor.cpp
+msgid "Select a Node"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Same source and destination files, doing nothing."
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Same source and destination paths, doing nothing."
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Can't move directories to within themselves."
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Can't operate on '..'"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Pick New Name and Location For:"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "No files selected!"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Instance"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Edit Dependencies.."
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "View Owners.."
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Copy Path"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Rename or Move.."
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Move To.."
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Info"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Show In File Manager"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Previous Directory"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Next Directory"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Re-Scan Filesystem"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Toggle folder status as Favorite"
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Instance the selected scene(s) as child of the selected node."
+msgstr ""
+
+#: tools/editor/scenes_dock.cpp
+msgid "Move"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Invalid parent class name"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Valid chars:"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Invalid class name"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Valid name"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "N/A"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Class name is invalid!"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Parent class name is invalid!"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Invalid path!"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Could not create script in filesystem."
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Path is empty"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Path is not local"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Invalid base path"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "File exists"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Invalid extension"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Valid path"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Class Name:"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Built-In Script"
+msgstr ""
+
+#: tools/editor/script_create_dialog.cpp
+msgid "Create Node Script"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Bytes:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Warning"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Error:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Source:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Function:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Errors"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Child Process Connected"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Inspect Previous Instance"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Inspect Next Instance"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Stack Frames"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Variable"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Errors:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Stack Trace (if applicable):"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Remote Inspector"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Live Scene Tree:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Remote Object Properties: "
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Profiler"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Monitor"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Value"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Monitors"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "List of Video Memory Usage by Resource:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Total:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Video Mem"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Resource Path"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Type"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Usage"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Misc"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Clicked Control:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Clicked Control Type:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Live Edit Root:"
+msgstr ""
+
+#: tools/editor/script_editor_debugger.cpp
+msgid "Set From Tree"
+msgstr ""
+
+#: tools/editor/settings_config_dialog.cpp
+msgid "Shortcuts"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Light Radius"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Camera FOV"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Camera Size"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Sphere Shape Radius"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Box Shape Extents"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Capsule Shape Radius"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Capsule Shape Height"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Ray Shape Length"
+msgstr ""
+
+#: tools/editor/spatial_editor_gizmos.cpp
+msgid "Change Notifier Extents"
+msgstr ""