package;


import haxe.Timer;
import haxe.Unserializer;
import lime.app.Future;
import lime.app.Preloader;
import lime.app.Promise;
import lime.audio.AudioSource;
import lime.audio.openal.AL;
import lime.audio.AudioBuffer;
import lime.graphics.Image;
import lime.net.HTTPRequest;
import lime.system.CFFI;
import lime.text.Font;
import lime.utils.Bytes;
import lime.utils.UInt8Array;
import lime.Assets;

#if sys
import sys.FileSystem;
#end

#if flash
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Loader;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.events.ProgressEvent;
import flash.media.Sound;
import flash.net.URLLoader;
import flash.net.URLRequest;
#end


class DefaultAssetLibrary extends AssetLibrary {
	
	
	public var className (default, null) = new Map <String, Dynamic> ();
	public var path (default, null) = new Map <String, String> ();
	public var type (default, null) = new Map <String, AssetType> ();
	
	private var lastModified:Float;
	private var timer:Timer;
	
	
	public function new () {
		
		super ();
		
		#if (openfl && !flash)
		
		
		openfl.text.Font.registerFont (__ASSET__OPENFL__assets_fonts_chevyray___express_mono_ttf);
		openfl.text.Font.registerFont (__ASSET__OPENFL__assets_fonts_chevyray___express_ttf);
		openfl.text.Font.registerFont (__ASSET__OPENFL__assets_fonts_chevyray___tentown_ttf);
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		openfl.text.Font.registerFont (__ASSET__OPENFL__flixel_fonts_nokiafc22_ttf);
		openfl.text.Font.registerFont (__ASSET__OPENFL__flixel_fonts_monsterrat_ttf);
		
		
		
		#end
		
		#if flash
		
		className.set ("assets/data/data-goes-here.txt", __ASSET__assets_data_data_goes_here_txt);
		type.set ("assets/data/data-goes-here.txt", AssetType.TEXT);
		className.set ("assets/fonts/ChevyRay - Express Mono.ttf", __ASSET__assets_fonts_chevyray___express_mono_ttf);
		type.set ("assets/fonts/ChevyRay - Express Mono.ttf", AssetType.FONT);
		className.set ("assets/fonts/ChevyRay - Express.ttf", __ASSET__assets_fonts_chevyray___express_ttf);
		type.set ("assets/fonts/ChevyRay - Express.ttf", AssetType.FONT);
		className.set ("assets/fonts/ChevyRay - Tentown.ttf", __ASSET__assets_fonts_chevyray___tentown_ttf);
		type.set ("assets/fonts/ChevyRay - Tentown.ttf", AssetType.FONT);
		className.set ("assets/images/bg.ase", __ASSET__assets_images_bg_ase);
		type.set ("assets/images/bg.ase", AssetType.BINARY);
		className.set ("assets/images/bg.aseprite", __ASSET__assets_images_bg_aseprite);
		type.set ("assets/images/bg.aseprite", AssetType.BINARY);
		className.set ("assets/images/bg2.aseprite", __ASSET__assets_images_bg2_aseprite);
		type.set ("assets/images/bg2.aseprite", AssetType.BINARY);
		className.set ("assets/images/bg3.aseprite", __ASSET__assets_images_bg3_aseprite);
		type.set ("assets/images/bg3.aseprite", AssetType.BINARY);
		className.set ("assets/images/bg_grass.png", __ASSET__assets_images_bg_grass_png);
		type.set ("assets/images/bg_grass.png", AssetType.IMAGE);
		className.set ("assets/images/bg_trail.png", __ASSET__assets_images_bg_trail_png);
		type.set ("assets/images/bg_trail.png", AssetType.IMAGE);
		className.set ("assets/images/explosion.aseprite", __ASSET__assets_images_explosion_aseprite);
		type.set ("assets/images/explosion.aseprite", AssetType.BINARY);
		className.set ("assets/images/explosion.png", __ASSET__assets_images_explosion_png);
		type.set ("assets/images/explosion.png", AssetType.IMAGE);
		className.set ("assets/images/hotdog.aseprite", __ASSET__assets_images_hotdog_aseprite);
		type.set ("assets/images/hotdog.aseprite", AssetType.BINARY);
		className.set ("assets/images/hotdog1.png", __ASSET__assets_images_hotdog1_png);
		type.set ("assets/images/hotdog1.png", AssetType.IMAGE);
		className.set ("assets/images/hotdog2.aseprite", __ASSET__assets_images_hotdog2_aseprite);
		type.set ("assets/images/hotdog2.aseprite", AssetType.BINARY);
		className.set ("assets/images/hotdog2.png", __ASSET__assets_images_hotdog2_png);
		type.set ("assets/images/hotdog2.png", AssetType.IMAGE);
		className.set ("assets/images/hotdog3.png", __ASSET__assets_images_hotdog3_png);
		type.set ("assets/images/hotdog3.png", AssetType.IMAGE);
		className.set ("assets/images/hotdog4.png", __ASSET__assets_images_hotdog4_png);
		type.set ("assets/images/hotdog4.png", AssetType.IMAGE);
		className.set ("assets/images/hotdograin.aseprite", __ASSET__assets_images_hotdograin_aseprite);
		type.set ("assets/images/hotdograin.aseprite", AssetType.BINARY);
		className.set ("assets/images/hotdograin.png", __ASSET__assets_images_hotdograin_png);
		type.set ("assets/images/hotdograin.png", AssetType.IMAGE);
		className.set ("assets/images/images-go-here.txt", __ASSET__assets_images_images_go_here_txt);
		type.set ("assets/images/images-go-here.txt", AssetType.TEXT);
		className.set ("assets/images/manu.aseprite", __ASSET__assets_images_manu_aseprite);
		type.set ("assets/images/manu.aseprite", AssetType.BINARY);
		className.set ("assets/images/menu.aseprite", __ASSET__assets_images_menu_aseprite);
		type.set ("assets/images/menu.aseprite", AssetType.BINARY);
		className.set ("assets/images/menu.png", __ASSET__assets_images_menu_png);
		type.set ("assets/images/menu.png", AssetType.IMAGE);
		className.set ("assets/images/pin.aseprite", __ASSET__assets_images_pin_aseprite);
		type.set ("assets/images/pin.aseprite", AssetType.BINARY);
		className.set ("assets/images/pin.png", __ASSET__assets_images_pin_png);
		type.set ("assets/images/pin.png", AssetType.IMAGE);
		className.set ("assets/images/shadow.png", __ASSET__assets_images_shadow_png);
		type.set ("assets/images/shadow.png", AssetType.IMAGE);
		className.set ("assets/images/signbg.aseprite", __ASSET__assets_images_signbg_aseprite);
		type.set ("assets/images/signbg.aseprite", AssetType.BINARY);
		className.set ("assets/images/signbg.png", __ASSET__assets_images_signbg_png);
		type.set ("assets/images/signbg.png", AssetType.IMAGE);
		className.set ("assets/images/truck.ase", __ASSET__assets_images_truck_ase);
		type.set ("assets/images/truck.ase", AssetType.BINARY);
		className.set ("assets/images/truck.aseprite", __ASSET__assets_images_truck_aseprite);
		type.set ("assets/images/truck.aseprite", AssetType.BINARY);
		className.set ("assets/images/truck_back.png", __ASSET__assets_images_truck_back_png);
		type.set ("assets/images/truck_back.png", AssetType.IMAGE);
		className.set ("assets/images/truck_body.png", __ASSET__assets_images_truck_body_png);
		type.set ("assets/images/truck_body.png", AssetType.IMAGE);
		className.set ("assets/images/truck_person.png", __ASSET__assets_images_truck_person_png);
		type.set ("assets/images/truck_person.png", AssetType.IMAGE);
		className.set ("assets/images/truck_wheel.png", __ASSET__assets_images_truck_wheel_png);
		type.set ("assets/images/truck_wheel.png", AssetType.IMAGE);
		className.set ("assets/music/music-goes-here.txt", __ASSET__assets_music_music_goes_here_txt);
		type.set ("assets/music/music-goes-here.txt", AssetType.TEXT);
		className.set ("assets/music/music.wav", __ASSET__assets_music_music_wav);
		type.set ("assets/music/music.wav", AssetType.SOUND);
		className.set ("assets/sounds/bonus.wav", __ASSET__assets_sounds_bonus_wav);
		type.set ("assets/sounds/bonus.wav", AssetType.SOUND);
		className.set ("assets/sounds/engine.wav", __ASSET__assets_sounds_engine_wav);
		type.set ("assets/sounds/engine.wav", AssetType.SOUND);
		className.set ("assets/sounds/explode1.wav", __ASSET__assets_sounds_explode1_wav);
		type.set ("assets/sounds/explode1.wav", AssetType.SOUND);
		className.set ("assets/sounds/explode2.wav", __ASSET__assets_sounds_explode2_wav);
		type.set ("assets/sounds/explode2.wav", AssetType.SOUND);
		className.set ("assets/sounds/explode3.wav", __ASSET__assets_sounds_explode3_wav);
		type.set ("assets/sounds/explode3.wav", AssetType.SOUND);
		className.set ("assets/sounds/hit1.wav", __ASSET__assets_sounds_hit1_wav);
		type.set ("assets/sounds/hit1.wav", AssetType.SOUND);
		className.set ("assets/sounds/hit2.wav", __ASSET__assets_sounds_hit2_wav);
		type.set ("assets/sounds/hit2.wav", AssetType.SOUND);
		className.set ("assets/sounds/hit3.wav", __ASSET__assets_sounds_hit3_wav);
		type.set ("assets/sounds/hit3.wav", AssetType.SOUND);
		className.set ("assets/sounds/hit4.wav", __ASSET__assets_sounds_hit4_wav);
		type.set ("assets/sounds/hit4.wav", AssetType.SOUND);
		className.set ("assets/sounds/sounds-go-here.txt", __ASSET__assets_sounds_sounds_go_here_txt);
		type.set ("assets/sounds/sounds-go-here.txt", AssetType.TEXT);
		className.set ("flixel/sounds/beep.mp3", __ASSET__flixel_sounds_beep_mp3);
		type.set ("flixel/sounds/beep.mp3", AssetType.MUSIC);
		className.set ("flixel/sounds/flixel.mp3", __ASSET__flixel_sounds_flixel_mp3);
		type.set ("flixel/sounds/flixel.mp3", AssetType.MUSIC);
		className.set ("flixel/fonts/nokiafc22.ttf", __ASSET__flixel_fonts_nokiafc22_ttf);
		type.set ("flixel/fonts/nokiafc22.ttf", AssetType.FONT);
		className.set ("flixel/fonts/monsterrat.ttf", __ASSET__flixel_fonts_monsterrat_ttf);
		type.set ("flixel/fonts/monsterrat.ttf", AssetType.FONT);
		className.set ("flixel/images/ui/button.png", __ASSET__flixel_images_ui_button_png);
		type.set ("flixel/images/ui/button.png", AssetType.IMAGE);
		className.set ("flixel/images/logo/default.png", __ASSET__flixel_images_logo_default_png);
		type.set ("flixel/images/logo/default.png", AssetType.IMAGE);
		
		
		#elseif html5
		
		var id;
		id = "assets/data/data-goes-here.txt";
		path.set (id, id);
		
		type.set (id, AssetType.TEXT);
		id = "assets/fonts/ChevyRay - Express Mono.ttf";
		className.set (id, __ASSET__assets_fonts_chevyray___express_mono_ttf);
		
		type.set (id, AssetType.FONT);
		id = "assets/fonts/ChevyRay - Express.ttf";
		className.set (id, __ASSET__assets_fonts_chevyray___express_ttf);
		
		type.set (id, AssetType.FONT);
		id = "assets/fonts/ChevyRay - Tentown.ttf";
		className.set (id, __ASSET__assets_fonts_chevyray___tentown_ttf);
		
		type.set (id, AssetType.FONT);
		id = "assets/images/bg.ase";
		path.set (id, id);
		
		type.set (id, AssetType.BINARY);
		id = "assets/images/bg.aseprite";
		path.set (id, id);
		
		type.set (id, AssetType.BINARY);
		id = "assets/images/bg2.aseprite";
		path.set (id, id);
		
		type.set (id, AssetType.BINARY);
		id = "assets/images/bg3.aseprite";
		path.set (id, id);
		
		type.set (id, AssetType.BINARY);
		id = "assets/images/bg_grass.png";
		path.set (id, id);
		
		type.set (id, AssetType.IMAGE);
		id = "assets/images/bg_trail.png";
		path.set (id, id);
		
		type.set (id, AssetType.IMAGE);
		id = "assets/images/explosion.aseprite";
		path.set (id, id);
		
		type.set (id, AssetType.BINARY);
		id = "assets/images/explosion.png";
		path.set (id, id);
		
		type.set (id, AssetType.IMAGE);
		id = "assets/images/hotdog.aseprite";
		path.set (id, id);
		
		type.set (id, AssetType.BINARY);
		id = "assets/images/hotdog1.png";
		path.set (id, id);
		
		type.set (id, AssetType.IMAGE);
		id = "assets/images/hotdog2.aseprite";
		path.set (id, id);
		
		type.set (id, AssetType.BINARY);
		id = "assets/images/hotdog2.png";
		path.set (id, id);
		
		type.set (id, AssetType.IMAGE);
		id = "assets/images/hotdog3.png";
		path.set (id, id);
		
		type.set (id, AssetType.IMAGE);
		id = "assets/images/hotdog4.png";
		path.set (id, id);
		
		type.set (id, AssetType.IMAGE);
		id = "assets/images/hotdograin.aseprite";
		path.set (id, id);
		
		type.set (id, AssetType.BINARY);
		id = "assets/images/hotdograin.png";
		path.set (id, id);
		
		type.set (id, AssetType.IMAGE);
		id = "assets/images/images-go-here.txt";
		path.set (id, id);
		
		type.set (id, AssetType.TEXT);
		id = "assets/images/manu.aseprite";
		path.set (id, id);
		
		type.set (id, AssetType.BINARY);
		id = "assets/images/menu.aseprite";
		path.set (id, id);
		
		type.set (id, AssetType.BINARY);
		id = "assets/images/menu.png";
		path.set (id, id);
		
		type.set (id, AssetType.IMAGE);
		id = "assets/images/pin.aseprite";
		path.set (id, id);
		
		type.set (id, AssetType.BINARY);
		id = "assets/images/pin.png";
		path.set (id, id);
		
		type.set (id, AssetType.IMAGE);
		id = "assets/images/shadow.png";
		path.set (id, id);
		
		type.set (id, AssetType.IMAGE);
		id = "assets/images/signbg.aseprite";
		path.set (id, id);
		
		type.set (id, AssetType.BINARY);
		id = "assets/images/signbg.png";
		path.set (id, id);
		
		type.set (id, AssetType.IMAGE);
		id = "assets/images/truck.ase";
		path.set (id, id);
		
		type.set (id, AssetType.BINARY);
		id = "assets/images/truck.aseprite";
		path.set (id, id);
		
		type.set (id, AssetType.BINARY);
		id = "assets/images/truck_back.png";
		path.set (id, id);
		
		type.set (id, AssetType.IMAGE);
		id = "assets/images/truck_body.png";
		path.set (id, id);
		
		type.set (id, AssetType.IMAGE);
		id = "assets/images/truck_person.png";
		path.set (id, id);
		
		type.set (id, AssetType.IMAGE);
		id = "assets/images/truck_wheel.png";
		path.set (id, id);
		
		type.set (id, AssetType.IMAGE);
		id = "assets/music/music-goes-here.txt";
		path.set (id, id);
		
		type.set (id, AssetType.TEXT);
		id = "assets/music/music.wav";
		path.set (id, id);
		
		type.set (id, AssetType.SOUND);
		id = "assets/sounds/bonus.wav";
		path.set (id, id);
		
		type.set (id, AssetType.SOUND);
		id = "assets/sounds/engine.wav";
		path.set (id, id);
		
		type.set (id, AssetType.SOUND);
		id = "assets/sounds/explode1.wav";
		path.set (id, id);
		
		type.set (id, AssetType.SOUND);
		id = "assets/sounds/explode2.wav";
		path.set (id, id);
		
		type.set (id, AssetType.SOUND);
		id = "assets/sounds/explode3.wav";
		path.set (id, id);
		
		type.set (id, AssetType.SOUND);
		id = "assets/sounds/hit1.wav";
		path.set (id, id);
		
		type.set (id, AssetType.SOUND);
		id = "assets/sounds/hit2.wav";
		path.set (id, id);
		
		type.set (id, AssetType.SOUND);
		id = "assets/sounds/hit3.wav";
		path.set (id, id);
		
		type.set (id, AssetType.SOUND);
		id = "assets/sounds/hit4.wav";
		path.set (id, id);
		
		type.set (id, AssetType.SOUND);
		id = "assets/sounds/sounds-go-here.txt";
		path.set (id, id);
		
		type.set (id, AssetType.TEXT);
		id = "flixel/sounds/beep.mp3";
		path.set (id, id);
		
		type.set (id, AssetType.MUSIC);
		id = "flixel/sounds/flixel.mp3";
		path.set (id, id);
		
		type.set (id, AssetType.MUSIC);
		id = "flixel/fonts/nokiafc22.ttf";
		className.set (id, __ASSET__flixel_fonts_nokiafc22_ttf);
		
		type.set (id, AssetType.FONT);
		id = "flixel/fonts/monsterrat.ttf";
		className.set (id, __ASSET__flixel_fonts_monsterrat_ttf);
		
		type.set (id, AssetType.FONT);
		id = "flixel/images/ui/button.png";
		path.set (id, id);
		
		type.set (id, AssetType.IMAGE);
		id = "flixel/images/logo/default.png";
		path.set (id, id);
		
		type.set (id, AssetType.IMAGE);
		
		
		var assetsPrefix = null;
		if (ApplicationMain.config != null && Reflect.hasField (ApplicationMain.config, "assetsPrefix")) {
			assetsPrefix = ApplicationMain.config.assetsPrefix;
		}
		if (assetsPrefix != null) {
			for (k in path.keys()) {
				path.set(k, assetsPrefix + path[k]);
			}
		}
		
		#else
		
		#if (windows || mac || linux)
		
		var useManifest = false;
		
		className.set ("assets/data/data-goes-here.txt", __ASSET__assets_data_data_goes_here_txt);
		type.set ("assets/data/data-goes-here.txt", AssetType.TEXT);
		
		className.set ("assets/fonts/ChevyRay - Express Mono.ttf", __ASSET__assets_fonts_chevyray___express_mono_ttf);
		type.set ("assets/fonts/ChevyRay - Express Mono.ttf", AssetType.FONT);
		
		className.set ("assets/fonts/ChevyRay - Express.ttf", __ASSET__assets_fonts_chevyray___express_ttf);
		type.set ("assets/fonts/ChevyRay - Express.ttf", AssetType.FONT);
		
		className.set ("assets/fonts/ChevyRay - Tentown.ttf", __ASSET__assets_fonts_chevyray___tentown_ttf);
		type.set ("assets/fonts/ChevyRay - Tentown.ttf", AssetType.FONT);
		
		className.set ("assets/images/bg.ase", __ASSET__assets_images_bg_ase);
		type.set ("assets/images/bg.ase", AssetType.BINARY);
		
		className.set ("assets/images/bg.aseprite", __ASSET__assets_images_bg_aseprite);
		type.set ("assets/images/bg.aseprite", AssetType.BINARY);
		
		className.set ("assets/images/bg2.aseprite", __ASSET__assets_images_bg2_aseprite);
		type.set ("assets/images/bg2.aseprite", AssetType.BINARY);
		
		className.set ("assets/images/bg3.aseprite", __ASSET__assets_images_bg3_aseprite);
		type.set ("assets/images/bg3.aseprite", AssetType.BINARY);
		
		className.set ("assets/images/bg_grass.png", __ASSET__assets_images_bg_grass_png);
		type.set ("assets/images/bg_grass.png", AssetType.IMAGE);
		
		className.set ("assets/images/bg_trail.png", __ASSET__assets_images_bg_trail_png);
		type.set ("assets/images/bg_trail.png", AssetType.IMAGE);
		
		className.set ("assets/images/explosion.aseprite", __ASSET__assets_images_explosion_aseprite);
		type.set ("assets/images/explosion.aseprite", AssetType.BINARY);
		
		className.set ("assets/images/explosion.png", __ASSET__assets_images_explosion_png);
		type.set ("assets/images/explosion.png", AssetType.IMAGE);
		
		className.set ("assets/images/hotdog.aseprite", __ASSET__assets_images_hotdog_aseprite);
		type.set ("assets/images/hotdog.aseprite", AssetType.BINARY);
		
		className.set ("assets/images/hotdog1.png", __ASSET__assets_images_hotdog1_png);
		type.set ("assets/images/hotdog1.png", AssetType.IMAGE);
		
		className.set ("assets/images/hotdog2.aseprite", __ASSET__assets_images_hotdog2_aseprite);
		type.set ("assets/images/hotdog2.aseprite", AssetType.BINARY);
		
		className.set ("assets/images/hotdog2.png", __ASSET__assets_images_hotdog2_png);
		type.set ("assets/images/hotdog2.png", AssetType.IMAGE);
		
		className.set ("assets/images/hotdog3.png", __ASSET__assets_images_hotdog3_png);
		type.set ("assets/images/hotdog3.png", AssetType.IMAGE);
		
		className.set ("assets/images/hotdog4.png", __ASSET__assets_images_hotdog4_png);
		type.set ("assets/images/hotdog4.png", AssetType.IMAGE);
		
		className.set ("assets/images/hotdograin.aseprite", __ASSET__assets_images_hotdograin_aseprite);
		type.set ("assets/images/hotdograin.aseprite", AssetType.BINARY);
		
		className.set ("assets/images/hotdograin.png", __ASSET__assets_images_hotdograin_png);
		type.set ("assets/images/hotdograin.png", AssetType.IMAGE);
		
		className.set ("assets/images/images-go-here.txt", __ASSET__assets_images_images_go_here_txt);
		type.set ("assets/images/images-go-here.txt", AssetType.TEXT);
		
		className.set ("assets/images/manu.aseprite", __ASSET__assets_images_manu_aseprite);
		type.set ("assets/images/manu.aseprite", AssetType.BINARY);
		
		className.set ("assets/images/menu.aseprite", __ASSET__assets_images_menu_aseprite);
		type.set ("assets/images/menu.aseprite", AssetType.BINARY);
		
		className.set ("assets/images/menu.png", __ASSET__assets_images_menu_png);
		type.set ("assets/images/menu.png", AssetType.IMAGE);
		
		className.set ("assets/images/pin.aseprite", __ASSET__assets_images_pin_aseprite);
		type.set ("assets/images/pin.aseprite", AssetType.BINARY);
		
		className.set ("assets/images/pin.png", __ASSET__assets_images_pin_png);
		type.set ("assets/images/pin.png", AssetType.IMAGE);
		
		className.set ("assets/images/shadow.png", __ASSET__assets_images_shadow_png);
		type.set ("assets/images/shadow.png", AssetType.IMAGE);
		
		className.set ("assets/images/signbg.aseprite", __ASSET__assets_images_signbg_aseprite);
		type.set ("assets/images/signbg.aseprite", AssetType.BINARY);
		
		className.set ("assets/images/signbg.png", __ASSET__assets_images_signbg_png);
		type.set ("assets/images/signbg.png", AssetType.IMAGE);
		
		className.set ("assets/images/truck.ase", __ASSET__assets_images_truck_ase);
		type.set ("assets/images/truck.ase", AssetType.BINARY);
		
		className.set ("assets/images/truck.aseprite", __ASSET__assets_images_truck_aseprite);
		type.set ("assets/images/truck.aseprite", AssetType.BINARY);
		
		className.set ("assets/images/truck_back.png", __ASSET__assets_images_truck_back_png);
		type.set ("assets/images/truck_back.png", AssetType.IMAGE);
		
		className.set ("assets/images/truck_body.png", __ASSET__assets_images_truck_body_png);
		type.set ("assets/images/truck_body.png", AssetType.IMAGE);
		
		className.set ("assets/images/truck_person.png", __ASSET__assets_images_truck_person_png);
		type.set ("assets/images/truck_person.png", AssetType.IMAGE);
		
		className.set ("assets/images/truck_wheel.png", __ASSET__assets_images_truck_wheel_png);
		type.set ("assets/images/truck_wheel.png", AssetType.IMAGE);
		
		className.set ("assets/music/music-goes-here.txt", __ASSET__assets_music_music_goes_here_txt);
		type.set ("assets/music/music-goes-here.txt", AssetType.TEXT);
		
		className.set ("assets/music/music.wav", __ASSET__assets_music_music_wav);
		type.set ("assets/music/music.wav", AssetType.SOUND);
		
		className.set ("assets/sounds/bonus.wav", __ASSET__assets_sounds_bonus_wav);
		type.set ("assets/sounds/bonus.wav", AssetType.SOUND);
		
		className.set ("assets/sounds/engine.wav", __ASSET__assets_sounds_engine_wav);
		type.set ("assets/sounds/engine.wav", AssetType.SOUND);
		
		className.set ("assets/sounds/explode1.wav", __ASSET__assets_sounds_explode1_wav);
		type.set ("assets/sounds/explode1.wav", AssetType.SOUND);
		
		className.set ("assets/sounds/explode2.wav", __ASSET__assets_sounds_explode2_wav);
		type.set ("assets/sounds/explode2.wav", AssetType.SOUND);
		
		className.set ("assets/sounds/explode3.wav", __ASSET__assets_sounds_explode3_wav);
		type.set ("assets/sounds/explode3.wav", AssetType.SOUND);
		
		className.set ("assets/sounds/hit1.wav", __ASSET__assets_sounds_hit1_wav);
		type.set ("assets/sounds/hit1.wav", AssetType.SOUND);
		
		className.set ("assets/sounds/hit2.wav", __ASSET__assets_sounds_hit2_wav);
		type.set ("assets/sounds/hit2.wav", AssetType.SOUND);
		
		className.set ("assets/sounds/hit3.wav", __ASSET__assets_sounds_hit3_wav);
		type.set ("assets/sounds/hit3.wav", AssetType.SOUND);
		
		className.set ("assets/sounds/hit4.wav", __ASSET__assets_sounds_hit4_wav);
		type.set ("assets/sounds/hit4.wav", AssetType.SOUND);
		
		className.set ("assets/sounds/sounds-go-here.txt", __ASSET__assets_sounds_sounds_go_here_txt);
		type.set ("assets/sounds/sounds-go-here.txt", AssetType.TEXT);
		
		className.set ("flixel/sounds/beep.mp3", __ASSET__flixel_sounds_beep_mp3);
		type.set ("flixel/sounds/beep.mp3", AssetType.MUSIC);
		
		className.set ("flixel/sounds/flixel.mp3", __ASSET__flixel_sounds_flixel_mp3);
		type.set ("flixel/sounds/flixel.mp3", AssetType.MUSIC);
		
		className.set ("flixel/fonts/nokiafc22.ttf", __ASSET__flixel_fonts_nokiafc22_ttf);
		type.set ("flixel/fonts/nokiafc22.ttf", AssetType.FONT);
		
		className.set ("flixel/fonts/monsterrat.ttf", __ASSET__flixel_fonts_monsterrat_ttf);
		type.set ("flixel/fonts/monsterrat.ttf", AssetType.FONT);
		
		className.set ("flixel/images/ui/button.png", __ASSET__flixel_images_ui_button_png);
		type.set ("flixel/images/ui/button.png", AssetType.IMAGE);
		
		className.set ("flixel/images/logo/default.png", __ASSET__flixel_images_logo_default_png);
		type.set ("flixel/images/logo/default.png", AssetType.IMAGE);
		
		
		if (useManifest) {
			
			loadManifest ();
			
			if (Sys.args ().indexOf ("-livereload") > -1) {
				
				var path = FileSystem.fullPath ("manifest");
				lastModified = FileSystem.stat (path).mtime.getTime ();
				
				timer = new Timer (2000);
				timer.run = function () {
					
					var modified = FileSystem.stat (path).mtime.getTime ();
					
					if (modified > lastModified) {
						
						lastModified = modified;
						loadManifest ();
						
						onChange.dispatch ();
						
					}
					
				}
				
			}
			
		}
		
		#else
		
		loadManifest ();
		
		#end
		#end
		
	}
	
	
	public override function exists (id:String, type:String):Bool {
		
		var requestedType = type != null ? cast (type, AssetType) : null;
		var assetType = this.type.get (id);
		
		if (assetType != null) {
			
			if (assetType == requestedType || ((requestedType == SOUND || requestedType == MUSIC) && (assetType == MUSIC || assetType == SOUND))) {
				
				return true;
				
			}
			
			#if flash
			
			if (requestedType == BINARY && (assetType == BINARY || assetType == TEXT || assetType == IMAGE)) {
				
				return true;
				
			} else if (requestedType == TEXT && assetType == BINARY) {
				
				return true;
				
			} else if (requestedType == null || path.exists (id)) {
				
				return true;
				
			}
			
			#else
			
			if (requestedType == BINARY || requestedType == null || (assetType == BINARY && requestedType == TEXT)) {
				
				return true;
				
			}
			
			#end
			
		}
		
		return false;
		
	}
	
	
	public override function getAudioBuffer (id:String):AudioBuffer {
		
		#if flash
		
		var buffer = new AudioBuffer ();
		buffer.src = cast (Type.createInstance (className.get (id), []), Sound);
		return buffer;
		
		#elseif html5
		
		return null;
		//return new Sound (new URLRequest (path.get (id)));
		
		#else
		
		if (className.exists(id)) return AudioBuffer.fromBytes (cast (Type.createInstance (className.get (id), []), Bytes));
		else return AudioBuffer.fromFile (path.get (id));
		
		#end
		
	}
	
	
	public override function getBytes (id:String):Bytes {
		
		#if flash
		
		switch (type.get (id)) {
			
			case TEXT, BINARY:
				
				return Bytes.ofData (cast (Type.createInstance (className.get (id), []), flash.utils.ByteArray));
			
			case IMAGE:
				
				var bitmapData = cast (Type.createInstance (className.get (id), []), BitmapData);
				return Bytes.ofData (bitmapData.getPixels (bitmapData.rect));
			
			default:
				
				return null;
			
		}
		
		return cast (Type.createInstance (className.get (id), []), Bytes);
		
		#elseif html5
		
		var loader = Preloader.loaders.get (path.get (id));
		
		if (loader == null) {
			
			return null;
			
		}
		
		var bytes = loader.bytes;
		
		if (bytes != null) {
			
			return bytes;
			
		} else {
			
			return null;
		}
		
		#else
		
		if (className.exists(id)) return cast (Type.createInstance (className.get (id), []), Bytes);
		else return Bytes.readFile (path.get (id));
		
		#end
		
	}
	
	
	public override function getFont (id:String):Font {
		
		#if flash
		
		var src = Type.createInstance (className.get (id), []);
		
		var font = new Font (src.fontName);
		font.src = src;
		return font;
		
		#elseif html5
		
		return cast (Type.createInstance (className.get (id), []), Font);
		
		#else
		
		if (className.exists (id)) {
			
			var fontClass = className.get (id);
			return cast (Type.createInstance (fontClass, []), Font);
			
		} else {
			
			return Font.fromFile (path.get (id));
			
		}
		
		#end
		
	}
	
	
	public override function getImage (id:String):Image {
		
		#if flash
		
		return Image.fromBitmapData (cast (Type.createInstance (className.get (id), []), BitmapData));
		
		#elseif html5
		
		return Image.fromImageElement (Preloader.images.get (path.get (id)));
		
		#else
		
		if (className.exists (id)) {
			
			var fontClass = className.get (id);
			return cast (Type.createInstance (fontClass, []), Image);
			
		} else {
			
			return Image.fromFile (path.get (id));
			
		}
		
		#end
		
	}
	
	
	/*public override function getMusic (id:String):Dynamic {
		
		#if flash
		
		return cast (Type.createInstance (className.get (id), []), Sound);
		
		#elseif openfl_html5
		
		//var sound = new Sound ();
		//sound.__buffer = true;
		//sound.load (new URLRequest (path.get (id)));
		//return sound;
		return null;
		
		#elseif html5
		
		return null;
		//return new Sound (new URLRequest (path.get (id)));
		
		#else
		
		return null;
		//if (className.exists(id)) return cast (Type.createInstance (className.get (id), []), Sound);
		//else return new Sound (new URLRequest (path.get (id)), null, true);
		
		#end
		
	}*/
	
	
	public override function getPath (id:String):String {
		
		//#if ios
		
		//return SystemPath.applicationDirectory + "/assets/" + path.get (id);
		
		//#else
		
		return path.get (id);
		
		//#end
		
	}
	
	
	public override function getText (id:String):String {
		
		#if html5
		
		var loader = Preloader.loaders.get (path.get (id));
		
		if (loader == null) {
			
			return null;
			
		}
		
		var bytes = loader.bytes;
		
		if (bytes != null) {
			
			return bytes.getString (0, bytes.length);
			
		} else {
			
			return null;
		}
		
		#else
		
		var bytes = getBytes (id);
		
		if (bytes == null) {
			
			return null;
			
		} else {
			
			return bytes.getString (0, bytes.length);
			
		}
		
		#end
		
	}
	
	
	public override function isLocal (id:String, type:String):Bool {
		
		var requestedType = type != null ? cast (type, AssetType) : null;
		
		#if flash
		
		//if (requestedType != AssetType.MUSIC && requestedType != AssetType.SOUND) {
			
			return className.exists (id);
			
		//}
		
		#end
		
		return true;
		
	}
	
	
	public override function list (type:String):Array<String> {
		
		var requestedType = type != null ? cast (type, AssetType) : null;
		var items = [];
		
		for (id in this.type.keys ()) {
			
			if (requestedType == null || exists (id, type)) {
				
				items.push (id);
				
			}
			
		}
		
		return items;
		
	}
	
	
	public override function loadAudioBuffer (id:String):Future<AudioBuffer> {
		
		var promise = new Promise<AudioBuffer> ();
		
		#if (flash)
		
		if (path.exists (id)) {
			
			var soundLoader = new Sound ();
			soundLoader.addEventListener (Event.COMPLETE, function (event) {
				
				var audioBuffer:AudioBuffer = new AudioBuffer();
				audioBuffer.src = event.currentTarget;
				promise.complete (audioBuffer);
				
			});
			soundLoader.addEventListener (ProgressEvent.PROGRESS, function (event) {
				
				if (event.bytesTotal == 0) {
					
					promise.progress (0);
					
				} else {
					
					promise.progress (event.bytesLoaded / event.bytesTotal);
					
				}
				
			});
			soundLoader.addEventListener (IOErrorEvent.IO_ERROR, promise.error);
			soundLoader.load (new URLRequest (path.get (id)));
			
		} else {
			
			promise.complete (getAudioBuffer (id));
			
		}
		
		#else
		
		promise.completeWith (new Future<AudioBuffer> (function () return getAudioBuffer (id)));
		
		#end
		
		return promise.future;
		
	}
	
	
	public override function loadBytes (id:String):Future<Bytes> {
		
		var promise = new Promise<Bytes> ();
		
		#if flash
		
		if (path.exists (id)) {
			
			var loader = new URLLoader ();
			loader.dataFormat = flash.net.URLLoaderDataFormat.BINARY;
			loader.addEventListener (Event.COMPLETE, function (event:Event) {
				
				var bytes = Bytes.ofData (event.currentTarget.data);
				promise.complete (bytes);
				
			});
			loader.addEventListener (ProgressEvent.PROGRESS, function (event) {
				
				if (event.bytesTotal == 0) {
					
					promise.progress (0);
					
				} else {
					
					promise.progress (event.bytesLoaded / event.bytesTotal);
					
				}
				
			});
			loader.addEventListener (IOErrorEvent.IO_ERROR, promise.error);
			loader.load (new URLRequest (path.get (id)));
			
		} else {
			
			promise.complete (getBytes (id));
			
		}
		
		#elseif html5
		
		if (path.exists (id)) {
			
			var request = new HTTPRequest ();
			promise.completeWith (request.load (path.get (id) + "?" + Assets.cache.version));
			
		} else {
			
			promise.complete (getBytes (id));
			
		}
		
		#else
		
		promise.completeWith (new Future<Bytes> (function () return getBytes (id)));
		
		#end
		
		return promise.future;
		
	}
	
	
	public override function loadImage (id:String):Future<Image> {
		
		var promise = new Promise<Image> ();
		
		#if flash
		
		if (path.exists (id)) {
			
			var loader = new Loader ();
			loader.contentLoaderInfo.addEventListener (Event.COMPLETE, function (event:Event) {
				
				var bitmapData = cast (event.currentTarget.content, Bitmap).bitmapData;
				promise.complete (Image.fromBitmapData (bitmapData));
				
			});
			loader.contentLoaderInfo.addEventListener (ProgressEvent.PROGRESS, function (event) {
				
				if (event.bytesTotal == 0) {
					
					promise.progress (0);
					
				} else {
					
					promise.progress (event.bytesLoaded / event.bytesTotal);
					
				}
				
			});
			loader.contentLoaderInfo.addEventListener (IOErrorEvent.IO_ERROR, promise.error);
			loader.load (new URLRequest (path.get (id)));
			
		} else {
			
			promise.complete (getImage (id));
			
		}
		
		#elseif html5
		
		if (path.exists (id)) {
			
			var image = new js.html.Image ();
			image.onload = function (_):Void {
				
				promise.complete (Image.fromImageElement (image));
				
			}
			image.onerror = promise.error;
			image.src = path.get (id) + "?" + Assets.cache.version;
			
		} else {
			
			promise.complete (getImage (id));
			
		}
		
		#else
		
		promise.completeWith (new Future<Image> (function () return getImage (id)));
		
		#end
		
		return promise.future;
		
	}
	
	
	#if (!flash && !html5)
	private function loadManifest ():Void {
		
		try {
			
			#if blackberry
			var bytes = Bytes.readFile ("app/native/manifest");
			#elseif tizen
			var bytes = Bytes.readFile ("../res/manifest");
			#elseif emscripten
			var bytes = Bytes.readFile ("assets/manifest");
			#elseif (mac && java)
			var bytes = Bytes.readFile ("../Resources/manifest");
			#elseif (ios || tvos)
			var bytes = Bytes.readFile ("assets/manifest");
			#else
			var bytes = Bytes.readFile ("manifest");
			#end
			
			if (bytes != null) {
				
				if (bytes.length > 0) {
					
					var data = bytes.getString (0, bytes.length);
					
					if (data != null && data.length > 0) {
						
						var manifest:Array<Dynamic> = Unserializer.run (data);
						
						for (asset in manifest) {
							
							if (!className.exists (asset.id)) {
								
								#if (ios || tvos)
								path.set (asset.id, "assets/" + asset.path);
								#else
								path.set (asset.id, asset.path);
								#end
								type.set (asset.id, cast (asset.type, AssetType));
								
							}
							
						}
						
					}
					
				}
				
			} else {
				
				trace ("Warning: Could not load asset manifest (bytes was null)");
				
			}
		
		} catch (e:Dynamic) {
			
			trace ('Warning: Could not load asset manifest (${e})');
			
		}
		
	}
	#end
	
	
	public override function loadText (id:String):Future<String> {
		
		var promise = new Promise<String> ();
		
		#if html5
		
		if (path.exists (id)) {
			
			var request = new HTTPRequest ();
			var future = request.load (path.get (id) + "?" + Assets.cache.version);
			future.onProgress (function (progress) promise.progress (progress));
			future.onError (function (msg) promise.error (msg));
			future.onComplete (function (bytes) promise.complete (bytes.getString (0, bytes.length)));
			
		} else {
			
			promise.complete (getText (id));
			
		}
		
		#else
		
		promise.completeWith (loadBytes (id).then (function (bytes) {
			
			return new Future<String> (function () {
				
				if (bytes == null) {
					
					return null;
					
				} else {
					
					return bytes.getString (0, bytes.length);
					
				}
				
			});
			
		}));
		
		#end
		
		return promise.future;
		
	}
	
	
}


#if !display
#if flash

@:keep @:bind #if display private #end class __ASSET__assets_data_data_goes_here_txt extends flash.utils.ByteArray { }
@:keep @:bind #if display private #end class __ASSET__assets_fonts_chevyray___express_mono_ttf extends flash.text.Font { }
@:keep @:bind #if display private #end class __ASSET__assets_fonts_chevyray___express_ttf extends flash.text.Font { }
@:keep @:bind #if display private #end class __ASSET__assets_fonts_chevyray___tentown_ttf extends flash.text.Font { }
@:keep @:bind #if display private #end class __ASSET__assets_images_bg_ase extends flash.utils.ByteArray { }
@:keep @:bind #if display private #end class __ASSET__assets_images_bg_aseprite extends flash.utils.ByteArray { }
@:keep @:bind #if display private #end class __ASSET__assets_images_bg2_aseprite extends flash.utils.ByteArray { }
@:keep @:bind #if display private #end class __ASSET__assets_images_bg3_aseprite extends flash.utils.ByteArray { }
@:keep @:bind #if display private #end class __ASSET__assets_images_bg_grass_png extends flash.display.BitmapData { public function new () { super (0, 0, true, 0); } }
@:keep @:bind #if display private #end class __ASSET__assets_images_bg_trail_png extends flash.display.BitmapData { public function new () { super (0, 0, true, 0); } }
@:keep @:bind #if display private #end class __ASSET__assets_images_explosion_aseprite extends flash.utils.ByteArray { }
@:keep @:bind #if display private #end class __ASSET__assets_images_explosion_png extends flash.display.BitmapData { public function new () { super (0, 0, true, 0); } }
@:keep @:bind #if display private #end class __ASSET__assets_images_hotdog_aseprite extends flash.utils.ByteArray { }
@:keep @:bind #if display private #end class __ASSET__assets_images_hotdog1_png extends flash.display.BitmapData { public function new () { super (0, 0, true, 0); } }
@:keep @:bind #if display private #end class __ASSET__assets_images_hotdog2_aseprite extends flash.utils.ByteArray { }
@:keep @:bind #if display private #end class __ASSET__assets_images_hotdog2_png extends flash.display.BitmapData { public function new () { super (0, 0, true, 0); } }
@:keep @:bind #if display private #end class __ASSET__assets_images_hotdog3_png extends flash.display.BitmapData { public function new () { super (0, 0, true, 0); } }
@:keep @:bind #if display private #end class __ASSET__assets_images_hotdog4_png extends flash.display.BitmapData { public function new () { super (0, 0, true, 0); } }
@:keep @:bind #if display private #end class __ASSET__assets_images_hotdograin_aseprite extends flash.utils.ByteArray { }
@:keep @:bind #if display private #end class __ASSET__assets_images_hotdograin_png extends flash.display.BitmapData { public function new () { super (0, 0, true, 0); } }
@:keep @:bind #if display private #end class __ASSET__assets_images_images_go_here_txt extends flash.utils.ByteArray { }
@:keep @:bind #if display private #end class __ASSET__assets_images_manu_aseprite extends flash.utils.ByteArray { }
@:keep @:bind #if display private #end class __ASSET__assets_images_menu_aseprite extends flash.utils.ByteArray { }
@:keep @:bind #if display private #end class __ASSET__assets_images_menu_png extends flash.display.BitmapData { public function new () { super (0, 0, true, 0); } }
@:keep @:bind #if display private #end class __ASSET__assets_images_pin_aseprite extends flash.utils.ByteArray { }
@:keep @:bind #if display private #end class __ASSET__assets_images_pin_png extends flash.display.BitmapData { public function new () { super (0, 0, true, 0); } }
@:keep @:bind #if display private #end class __ASSET__assets_images_shadow_png extends flash.display.BitmapData { public function new () { super (0, 0, true, 0); } }
@:keep @:bind #if display private #end class __ASSET__assets_images_signbg_aseprite extends flash.utils.ByteArray { }
@:keep @:bind #if display private #end class __ASSET__assets_images_signbg_png extends flash.display.BitmapData { public function new () { super (0, 0, true, 0); } }
@:keep @:bind #if display private #end class __ASSET__assets_images_truck_ase extends flash.utils.ByteArray { }
@:keep @:bind #if display private #end class __ASSET__assets_images_truck_aseprite extends flash.utils.ByteArray { }
@:keep @:bind #if display private #end class __ASSET__assets_images_truck_back_png extends flash.display.BitmapData { public function new () { super (0, 0, true, 0); } }
@:keep @:bind #if display private #end class __ASSET__assets_images_truck_body_png extends flash.display.BitmapData { public function new () { super (0, 0, true, 0); } }
@:keep @:bind #if display private #end class __ASSET__assets_images_truck_person_png extends flash.display.BitmapData { public function new () { super (0, 0, true, 0); } }
@:keep @:bind #if display private #end class __ASSET__assets_images_truck_wheel_png extends flash.display.BitmapData { public function new () { super (0, 0, true, 0); } }
@:keep @:bind #if display private #end class __ASSET__assets_music_music_goes_here_txt extends flash.utils.ByteArray { }
@:keep @:bind #if display private #end class __ASSET__assets_music_music_wav extends flash.media.Sound { }
@:keep @:bind #if display private #end class __ASSET__assets_sounds_bonus_wav extends flash.media.Sound { }
@:keep @:bind #if display private #end class __ASSET__assets_sounds_engine_wav extends flash.media.Sound { }
@:keep @:bind #if display private #end class __ASSET__assets_sounds_explode1_wav extends flash.media.Sound { }
@:keep @:bind #if display private #end class __ASSET__assets_sounds_explode2_wav extends flash.media.Sound { }
@:keep @:bind #if display private #end class __ASSET__assets_sounds_explode3_wav extends flash.media.Sound { }
@:keep @:bind #if display private #end class __ASSET__assets_sounds_hit1_wav extends flash.media.Sound { }
@:keep @:bind #if display private #end class __ASSET__assets_sounds_hit2_wav extends flash.media.Sound { }
@:keep @:bind #if display private #end class __ASSET__assets_sounds_hit3_wav extends flash.media.Sound { }
@:keep @:bind #if display private #end class __ASSET__assets_sounds_hit4_wav extends flash.media.Sound { }
@:keep @:bind #if display private #end class __ASSET__assets_sounds_sounds_go_here_txt extends flash.utils.ByteArray { }
@:keep @:bind #if display private #end class __ASSET__flixel_sounds_beep_mp3 extends flash.media.Sound { }
@:keep @:bind #if display private #end class __ASSET__flixel_sounds_flixel_mp3 extends flash.media.Sound { }
@:keep @:bind #if display private #end class __ASSET__flixel_fonts_nokiafc22_ttf extends flash.text.Font { }
@:keep @:bind #if display private #end class __ASSET__flixel_fonts_monsterrat_ttf extends flash.text.Font { }
@:keep @:bind #if display private #end class __ASSET__flixel_images_ui_button_png extends flash.display.BitmapData { public function new () { super (0, 0, true, 0); } }
@:keep @:bind #if display private #end class __ASSET__flixel_images_logo_default_png extends flash.display.BitmapData { public function new () { super (0, 0, true, 0); } }


#elseif html5


@:keep #if display private #end class __ASSET__assets_fonts_chevyray___express_mono_ttf extends lime.text.Font { public function new () { super (); name = "ChevyRay - Express Mono Regular"; } } 
@:keep #if display private #end class __ASSET__assets_fonts_chevyray___express_ttf extends lime.text.Font { public function new () { super (); name = "ChevyRay - Express Regular"; } } 
@:keep #if display private #end class __ASSET__assets_fonts_chevyray___tentown_ttf extends lime.text.Font { public function new () { super (); name = "ChevyRay - Tentown Regular"; } } 













































@:keep #if display private #end class __ASSET__flixel_fonts_nokiafc22_ttf extends lime.text.Font { public function new () { super (); name = "Nokia Cellphone FC Small"; } } 
@:keep #if display private #end class __ASSET__flixel_fonts_monsterrat_ttf extends lime.text.Font { public function new () { super (); name = "Monsterrat"; } } 




#else



#if (windows || mac || linux || cpp)


@:file("assets/data/data-goes-here.txt") #if display private #end class __ASSET__assets_data_data_goes_here_txt extends lime.utils.Bytes {}
@:font("assets/fonts/ChevyRay - Express Mono.ttf") #if display private #end class __ASSET__assets_fonts_chevyray___express_mono_ttf extends lime.text.Font {}
@:font("assets/fonts/ChevyRay - Express.ttf") #if display private #end class __ASSET__assets_fonts_chevyray___express_ttf extends lime.text.Font {}
@:font("assets/fonts/ChevyRay - Tentown.ttf") #if display private #end class __ASSET__assets_fonts_chevyray___tentown_ttf extends lime.text.Font {}
@:file("assets/images/bg.ase") #if display private #end class __ASSET__assets_images_bg_ase extends lime.utils.Bytes {}
@:file("assets/images/bg.aseprite") #if display private #end class __ASSET__assets_images_bg_aseprite extends lime.utils.Bytes {}
@:file("assets/images/bg2.aseprite") #if display private #end class __ASSET__assets_images_bg2_aseprite extends lime.utils.Bytes {}
@:file("assets/images/bg3.aseprite") #if display private #end class __ASSET__assets_images_bg3_aseprite extends lime.utils.Bytes {}
@:image("assets/images/bg_grass.png") #if display private #end class __ASSET__assets_images_bg_grass_png extends lime.graphics.Image {}
@:image("assets/images/bg_trail.png") #if display private #end class __ASSET__assets_images_bg_trail_png extends lime.graphics.Image {}
@:file("assets/images/explosion.aseprite") #if display private #end class __ASSET__assets_images_explosion_aseprite extends lime.utils.Bytes {}
@:image("assets/images/explosion.png") #if display private #end class __ASSET__assets_images_explosion_png extends lime.graphics.Image {}
@:file("assets/images/hotdog.aseprite") #if display private #end class __ASSET__assets_images_hotdog_aseprite extends lime.utils.Bytes {}
@:image("assets/images/hotdog1.png") #if display private #end class __ASSET__assets_images_hotdog1_png extends lime.graphics.Image {}
@:file("assets/images/hotdog2.aseprite") #if display private #end class __ASSET__assets_images_hotdog2_aseprite extends lime.utils.Bytes {}
@:image("assets/images/hotdog2.png") #if display private #end class __ASSET__assets_images_hotdog2_png extends lime.graphics.Image {}
@:image("assets/images/hotdog3.png") #if display private #end class __ASSET__assets_images_hotdog3_png extends lime.graphics.Image {}
@:image("assets/images/hotdog4.png") #if display private #end class __ASSET__assets_images_hotdog4_png extends lime.graphics.Image {}
@:file("assets/images/hotdograin.aseprite") #if display private #end class __ASSET__assets_images_hotdograin_aseprite extends lime.utils.Bytes {}
@:image("assets/images/hotdograin.png") #if display private #end class __ASSET__assets_images_hotdograin_png extends lime.graphics.Image {}
@:file("assets/images/images-go-here.txt") #if display private #end class __ASSET__assets_images_images_go_here_txt extends lime.utils.Bytes {}
@:file("assets/images/manu.aseprite") #if display private #end class __ASSET__assets_images_manu_aseprite extends lime.utils.Bytes {}
@:file("assets/images/menu.aseprite") #if display private #end class __ASSET__assets_images_menu_aseprite extends lime.utils.Bytes {}
@:image("assets/images/menu.png") #if display private #end class __ASSET__assets_images_menu_png extends lime.graphics.Image {}
@:file("assets/images/pin.aseprite") #if display private #end class __ASSET__assets_images_pin_aseprite extends lime.utils.Bytes {}
@:image("assets/images/pin.png") #if display private #end class __ASSET__assets_images_pin_png extends lime.graphics.Image {}
@:image("assets/images/shadow.png") #if display private #end class __ASSET__assets_images_shadow_png extends lime.graphics.Image {}
@:file("assets/images/signbg.aseprite") #if display private #end class __ASSET__assets_images_signbg_aseprite extends lime.utils.Bytes {}
@:image("assets/images/signbg.png") #if display private #end class __ASSET__assets_images_signbg_png extends lime.graphics.Image {}
@:file("assets/images/truck.ase") #if display private #end class __ASSET__assets_images_truck_ase extends lime.utils.Bytes {}
@:file("assets/images/truck.aseprite") #if display private #end class __ASSET__assets_images_truck_aseprite extends lime.utils.Bytes {}
@:image("assets/images/truck_back.png") #if display private #end class __ASSET__assets_images_truck_back_png extends lime.graphics.Image {}
@:image("assets/images/truck_body.png") #if display private #end class __ASSET__assets_images_truck_body_png extends lime.graphics.Image {}
@:image("assets/images/truck_person.png") #if display private #end class __ASSET__assets_images_truck_person_png extends lime.graphics.Image {}
@:image("assets/images/truck_wheel.png") #if display private #end class __ASSET__assets_images_truck_wheel_png extends lime.graphics.Image {}
@:file("assets/music/music-goes-here.txt") #if display private #end class __ASSET__assets_music_music_goes_here_txt extends lime.utils.Bytes {}
@:file("assets/music/music.wav") #if display private #end class __ASSET__assets_music_music_wav extends lime.utils.Bytes {}
@:file("assets/sounds/bonus.wav") #if display private #end class __ASSET__assets_sounds_bonus_wav extends lime.utils.Bytes {}
@:file("assets/sounds/engine.wav") #if display private #end class __ASSET__assets_sounds_engine_wav extends lime.utils.Bytes {}
@:file("assets/sounds/explode1.wav") #if display private #end class __ASSET__assets_sounds_explode1_wav extends lime.utils.Bytes {}
@:file("assets/sounds/explode2.wav") #if display private #end class __ASSET__assets_sounds_explode2_wav extends lime.utils.Bytes {}
@:file("assets/sounds/explode3.wav") #if display private #end class __ASSET__assets_sounds_explode3_wav extends lime.utils.Bytes {}
@:file("assets/sounds/hit1.wav") #if display private #end class __ASSET__assets_sounds_hit1_wav extends lime.utils.Bytes {}
@:file("assets/sounds/hit2.wav") #if display private #end class __ASSET__assets_sounds_hit2_wav extends lime.utils.Bytes {}
@:file("assets/sounds/hit3.wav") #if display private #end class __ASSET__assets_sounds_hit3_wav extends lime.utils.Bytes {}
@:file("assets/sounds/hit4.wav") #if display private #end class __ASSET__assets_sounds_hit4_wav extends lime.utils.Bytes {}
@:file("assets/sounds/sounds-go-here.txt") #if display private #end class __ASSET__assets_sounds_sounds_go_here_txt extends lime.utils.Bytes {}
@:file("C:/HaxeToolkit/lib/flixel/4,3,0/assets/sounds/beep.mp3") #if display private #end class __ASSET__flixel_sounds_beep_mp3 extends lime.utils.Bytes {}
@:file("C:/HaxeToolkit/lib/flixel/4,3,0/assets/sounds/flixel.mp3") #if display private #end class __ASSET__flixel_sounds_flixel_mp3 extends lime.utils.Bytes {}
@:font("C:/HaxeToolkit/lib/flixel/4,3,0/assets/fonts/nokiafc22.ttf") #if display private #end class __ASSET__flixel_fonts_nokiafc22_ttf extends lime.text.Font {}
@:font("C:/HaxeToolkit/lib/flixel/4,3,0/assets/fonts/monsterrat.ttf") #if display private #end class __ASSET__flixel_fonts_monsterrat_ttf extends lime.text.Font {}
@:image("C:/HaxeToolkit/lib/flixel/4,3,0/assets/images/ui/button.png") #if display private #end class __ASSET__flixel_images_ui_button_png extends lime.graphics.Image {}
@:image("C:/HaxeToolkit/lib/flixel/4,3,0/assets/images/logo/default.png") #if display private #end class __ASSET__flixel_images_logo_default_png extends lime.graphics.Image {}



#end
#end

#if (openfl && !flash)
@:keep #if display private #end class __ASSET__OPENFL__assets_fonts_chevyray___express_mono_ttf extends openfl.text.Font { public function new () { var font = new __ASSET__assets_fonts_chevyray___express_mono_ttf (); src = font.src; name = font.name; super (); }}
@:keep #if display private #end class __ASSET__OPENFL__assets_fonts_chevyray___express_ttf extends openfl.text.Font { public function new () { var font = new __ASSET__assets_fonts_chevyray___express_ttf (); src = font.src; name = font.name; super (); }}
@:keep #if display private #end class __ASSET__OPENFL__assets_fonts_chevyray___tentown_ttf extends openfl.text.Font { public function new () { var font = new __ASSET__assets_fonts_chevyray___tentown_ttf (); src = font.src; name = font.name; super (); }}
@:keep #if display private #end class __ASSET__OPENFL__flixel_fonts_nokiafc22_ttf extends openfl.text.Font { public function new () { var font = new __ASSET__flixel_fonts_nokiafc22_ttf (); src = font.src; name = font.name; super (); }}
@:keep #if display private #end class __ASSET__OPENFL__flixel_fonts_monsterrat_ttf extends openfl.text.Font { public function new () { var font = new __ASSET__flixel_fonts_monsterrat_ttf (); src = font.src; name = font.name; super (); }}

#end

#end