From 6db0871c22d3de0995fafec5b403823ad3db44b9 Mon Sep 17 00:00:00 2001 From: Lubos Lenco Date: Mon, 20 Nov 2017 13:09:16 +0100 Subject: [PATCH] Haxe clean up --- Sources/armory/App.hx | 3 - Sources/armory/data/CameraData.hx | 3 - Sources/armory/data/Data.hx | 3 - Sources/armory/data/LampData.hx | 3 - Sources/armory/data/MaterialData.hx | 3 - Sources/armory/data/Mesh.hx | 3 - Sources/armory/data/MeshData.hx | 3 - Sources/armory/data/ParticleData.hx | 3 - Sources/armory/data/PipelineData.hx | 3 - Sources/armory/data/RenderPath.hx | 3 - Sources/armory/data/SceneFormat.hx | 43 ----- Sources/armory/data/ShaderData.hx | 3 - Sources/armory/data/WorldData.hx | 3 - Sources/armory/math/Ray.hx | 3 - Sources/armory/math/RayCaster.hx | 3 - Sources/armory/object/Animation.hx | 3 - Sources/armory/object/CameraObject.hx | 3 - Sources/armory/object/DecalObject.hx | 3 - Sources/armory/object/LampObject.hx | 3 - Sources/armory/object/MeshObject.hx | 3 - Sources/armory/object/ParticleSystem.hx | 3 - Sources/armory/object/SpeakerObject.hx | 3 - Sources/armory/renderpath/FFT.hx | 26 --- Sources/armory/system/Audio.hx | 3 - Sources/armory/system/Storage.hx | 3 - Sources/armory/system/Time.hx | 3 - Sources/armory/system/Tween.hx | 3 - Sources/armory/system/VR.hx | 3 - Sources/armory/trait/internal/JSScript.hx | 35 ---- Sources/armory/trait/internal/JSScriptAPI.hx | 29 --- blender/arm/exporter.py | 77 ++++---- blender/arm/make_world.py | 22 +-- blender/arm/props.py | 2 +- blender/arm/props_ui.py | 4 +- blender/arm/write_data.py | 1 - tools/cmft/cmft.sh | 176 ------------------- tools/sdfgen/krom/Scene.arm | 105 ----------- tools/sdfgen/krom/krom.js | 1 - 38 files changed, 46 insertions(+), 553 deletions(-) delete mode 100644 Sources/armory/App.hx delete mode 100755 Sources/armory/data/CameraData.hx delete mode 100644 Sources/armory/data/Data.hx delete mode 100755 Sources/armory/data/LampData.hx delete mode 100644 Sources/armory/data/MaterialData.hx delete mode 100755 Sources/armory/data/Mesh.hx delete mode 100644 Sources/armory/data/MeshData.hx delete mode 100644 Sources/armory/data/ParticleData.hx delete mode 100644 Sources/armory/data/PipelineData.hx delete mode 100755 Sources/armory/data/RenderPath.hx delete mode 100644 Sources/armory/data/SceneFormat.hx delete mode 100755 Sources/armory/data/ShaderData.hx delete mode 100755 Sources/armory/data/WorldData.hx delete mode 100644 Sources/armory/math/Ray.hx delete mode 100755 Sources/armory/math/RayCaster.hx delete mode 100644 Sources/armory/object/Animation.hx delete mode 100755 Sources/armory/object/CameraObject.hx delete mode 100644 Sources/armory/object/DecalObject.hx delete mode 100755 Sources/armory/object/LampObject.hx delete mode 100644 Sources/armory/object/MeshObject.hx delete mode 100644 Sources/armory/object/ParticleSystem.hx delete mode 100644 Sources/armory/object/SpeakerObject.hx delete mode 100644 Sources/armory/renderpath/FFT.hx delete mode 100644 Sources/armory/system/Audio.hx delete mode 100644 Sources/armory/system/Storage.hx delete mode 100755 Sources/armory/system/Time.hx delete mode 100755 Sources/armory/system/Tween.hx delete mode 100755 Sources/armory/system/VR.hx delete mode 100644 Sources/armory/trait/internal/JSScript.hx delete mode 100644 Sources/armory/trait/internal/JSScriptAPI.hx delete mode 100755 tools/cmft/cmft.sh delete mode 100755 tools/sdfgen/krom/Scene.arm delete mode 100644 tools/sdfgen/krom/krom.js diff --git a/Sources/armory/App.hx b/Sources/armory/App.hx deleted file mode 100644 index 7684746f..00000000 --- a/Sources/armory/App.hx +++ /dev/null @@ -1,3 +0,0 @@ -package armory; - -typedef App = iron.App; diff --git a/Sources/armory/data/CameraData.hx b/Sources/armory/data/CameraData.hx deleted file mode 100755 index 9f585b04..00000000 --- a/Sources/armory/data/CameraData.hx +++ /dev/null @@ -1,3 +0,0 @@ -package armory.data; - -typedef CameraData = iron.data.CameraData; diff --git a/Sources/armory/data/Data.hx b/Sources/armory/data/Data.hx deleted file mode 100644 index 0bde4b89..00000000 --- a/Sources/armory/data/Data.hx +++ /dev/null @@ -1,3 +0,0 @@ -package armory.data; - -typedef Data = iron.data.Data; diff --git a/Sources/armory/data/LampData.hx b/Sources/armory/data/LampData.hx deleted file mode 100755 index d8f73a94..00000000 --- a/Sources/armory/data/LampData.hx +++ /dev/null @@ -1,3 +0,0 @@ -package armory.data; - -typedef LampData = iron.data.LampData; diff --git a/Sources/armory/data/MaterialData.hx b/Sources/armory/data/MaterialData.hx deleted file mode 100644 index 104da878..00000000 --- a/Sources/armory/data/MaterialData.hx +++ /dev/null @@ -1,3 +0,0 @@ -package armory.data; - -typedef MaterialData = iron.data.MaterialData; diff --git a/Sources/armory/data/Mesh.hx b/Sources/armory/data/Mesh.hx deleted file mode 100755 index f01fe699..00000000 --- a/Sources/armory/data/Mesh.hx +++ /dev/null @@ -1,3 +0,0 @@ -package armory.data; - -typedef Mesh = iron.data.Mesh; diff --git a/Sources/armory/data/MeshData.hx b/Sources/armory/data/MeshData.hx deleted file mode 100644 index caac50a7..00000000 --- a/Sources/armory/data/MeshData.hx +++ /dev/null @@ -1,3 +0,0 @@ -package armory.data; - -typedef MeshData = iron.data.MeshData; diff --git a/Sources/armory/data/ParticleData.hx b/Sources/armory/data/ParticleData.hx deleted file mode 100644 index f1363b5b..00000000 --- a/Sources/armory/data/ParticleData.hx +++ /dev/null @@ -1,3 +0,0 @@ -package armory.data; - -typedef ParticleData = iron.data.ParticleData; diff --git a/Sources/armory/data/PipelineData.hx b/Sources/armory/data/PipelineData.hx deleted file mode 100644 index f36b73de..00000000 --- a/Sources/armory/data/PipelineData.hx +++ /dev/null @@ -1,3 +0,0 @@ -package armory.data; - -typedef PipelineData = iron.data.PipelineData; diff --git a/Sources/armory/data/RenderPath.hx b/Sources/armory/data/RenderPath.hx deleted file mode 100755 index 208a4073..00000000 --- a/Sources/armory/data/RenderPath.hx +++ /dev/null @@ -1,3 +0,0 @@ -package armory.data; - -typedef RenderPath = iron.data.RenderPath; diff --git a/Sources/armory/data/SceneFormat.hx b/Sources/armory/data/SceneFormat.hx deleted file mode 100644 index 5a148fba..00000000 --- a/Sources/armory/data/SceneFormat.hx +++ /dev/null @@ -1,43 +0,0 @@ -package armory.data; - -typedef TSceneFormat = iron.data.SceneFormat.TSceneFormat; -typedef TMeshData = iron.data.SceneFormat.TMeshData; -typedef TSkin = iron.data.SceneFormat.TSkin; -typedef TSkeleton = iron.data.SceneFormat.TSkeleton; -typedef TVertexArray = iron.data.SceneFormat.TVertexArray; -typedef TIndexArray = iron.data.SceneFormat.TIndexArray; -typedef TLampData = iron.data.SceneFormat.TLampData; -typedef TCameraData = iron.data.SceneFormat.TCameraData; -typedef TMaterialData = iron.data.SceneFormat.TMaterialData; -typedef TShaderOverride = iron.data.SceneFormat.TShaderOverride; -typedef TMaterialContext = iron.data.SceneFormat.TMaterialContext; -typedef TBindConstant = iron.data.SceneFormat.TBindConstant; -typedef TBindTexture = iron.data.SceneFormat.TBindTexture; -typedef TShaderData = iron.data.SceneFormat.TShaderData; -typedef TVertexData = iron.data.SceneFormat.TVertexData; -typedef TShaderContext = iron.data.SceneFormat.TShaderContext; -typedef TShaderConstant = iron.data.SceneFormat.TShaderConstant; -typedef TTextureUnit = iron.data.SceneFormat.TTextureUnit; -typedef TRenderPathData = iron.data.SceneFormat.TRenderPathData; -typedef TRenderPathTarget = iron.data.SceneFormat.TRenderPathTarget; -typedef TRenderPathDepthBuffer = iron.data.SceneFormat.TRenderPathDepthBuffer; -typedef TRenderPathStage = iron.data.SceneFormat.TRenderPathStage; -typedef TSpeakerData = iron.data.SceneFormat.TSpeakerData; -typedef TWorldData = iron.data.SceneFormat.TWorldData; -typedef TGreasePencilData = iron.data.SceneFormat.TGreasePencilData; -typedef TGreasePencilLayer = iron.data.SceneFormat.TGreasePencilLayer; -typedef TGreasePencilFrame = iron.data.SceneFormat.TGreasePencilFrame; -typedef TGreasePencilPalette = iron.data.SceneFormat.TGreasePencilPalette; -typedef TGreasePencilPaletteColor = iron.data.SceneFormat.TGreasePencilPaletteColor; -typedef TProbe = iron.data.SceneFormat.TProbe; -typedef TIrradiance = iron.data.SceneFormat.TIrradiance; -typedef TParticleData = iron.data.SceneFormat.TParticleData; -typedef TObj = iron.data.SceneFormat.TObj; -typedef TGroup = iron.data.SceneFormat.TGroup; -typedef TConstraint = iron.data.SceneFormat.TConstraint; -typedef TParticleReference = iron.data.SceneFormat.TParticleReference; -typedef TTrait = iron.data.SceneFormat.TTrait; -typedef TTransform = iron.data.SceneFormat.TTransform; -typedef TAnimationTransform = iron.data.SceneFormat.TAnimationTransform; -typedef TAnimation = iron.data.SceneFormat.TAnimation; -typedef TTrack = iron.data.SceneFormat.TTrack; diff --git a/Sources/armory/data/ShaderData.hx b/Sources/armory/data/ShaderData.hx deleted file mode 100755 index cd266354..00000000 --- a/Sources/armory/data/ShaderData.hx +++ /dev/null @@ -1,3 +0,0 @@ -package armory.data; - -typedef ShaderData = iron.data.ShaderData; diff --git a/Sources/armory/data/WorldData.hx b/Sources/armory/data/WorldData.hx deleted file mode 100755 index e713bb24..00000000 --- a/Sources/armory/data/WorldData.hx +++ /dev/null @@ -1,3 +0,0 @@ -package armory.data; - -typedef WorldData = iron.data.WorldData; diff --git a/Sources/armory/math/Ray.hx b/Sources/armory/math/Ray.hx deleted file mode 100644 index ba8191c3..00000000 --- a/Sources/armory/math/Ray.hx +++ /dev/null @@ -1,3 +0,0 @@ -package armory.math; - -typedef Ray = iron.math.Ray; diff --git a/Sources/armory/math/RayCaster.hx b/Sources/armory/math/RayCaster.hx deleted file mode 100755 index 7e83e750..00000000 --- a/Sources/armory/math/RayCaster.hx +++ /dev/null @@ -1,3 +0,0 @@ -package armory.math; - -typedef RayCaster = iron.math.RayCaster; diff --git a/Sources/armory/object/Animation.hx b/Sources/armory/object/Animation.hx deleted file mode 100644 index 90050d76..00000000 --- a/Sources/armory/object/Animation.hx +++ /dev/null @@ -1,3 +0,0 @@ -package armory.object; - -typedef Animation = iron.object.Animation; diff --git a/Sources/armory/object/CameraObject.hx b/Sources/armory/object/CameraObject.hx deleted file mode 100755 index a6fc3f4c..00000000 --- a/Sources/armory/object/CameraObject.hx +++ /dev/null @@ -1,3 +0,0 @@ -package armory.object; - -typedef CameraObject = iron.object.CameraObject; diff --git a/Sources/armory/object/DecalObject.hx b/Sources/armory/object/DecalObject.hx deleted file mode 100644 index f539deb3..00000000 --- a/Sources/armory/object/DecalObject.hx +++ /dev/null @@ -1,3 +0,0 @@ -package armory.object; - -typedef DecalObject = iron.object.DecalObject; diff --git a/Sources/armory/object/LampObject.hx b/Sources/armory/object/LampObject.hx deleted file mode 100755 index fd9efda5..00000000 --- a/Sources/armory/object/LampObject.hx +++ /dev/null @@ -1,3 +0,0 @@ -package armory.object; - -typedef LampObject = iron.object.LampObject; diff --git a/Sources/armory/object/MeshObject.hx b/Sources/armory/object/MeshObject.hx deleted file mode 100644 index fdd40915..00000000 --- a/Sources/armory/object/MeshObject.hx +++ /dev/null @@ -1,3 +0,0 @@ -package armory.object; - -typedef MeshObject = iron.object.MeshObject; diff --git a/Sources/armory/object/ParticleSystem.hx b/Sources/armory/object/ParticleSystem.hx deleted file mode 100644 index e1918b66..00000000 --- a/Sources/armory/object/ParticleSystem.hx +++ /dev/null @@ -1,3 +0,0 @@ -package armory.object; - -typedef ParticleSystem = iron.object.ParticleSystem; diff --git a/Sources/armory/object/SpeakerObject.hx b/Sources/armory/object/SpeakerObject.hx deleted file mode 100644 index a9da6c9e..00000000 --- a/Sources/armory/object/SpeakerObject.hx +++ /dev/null @@ -1,3 +0,0 @@ -package armory.object; - -typedef SpeakerObject = iron.object.SpeakerObject; diff --git a/Sources/armory/renderpath/FFT.hx b/Sources/armory/renderpath/FFT.hx deleted file mode 100644 index 6825e985..00000000 --- a/Sources/armory/renderpath/FFT.hx +++ /dev/null @@ -1,26 +0,0 @@ -package armory.renderpath; - -import iron.data.RenderPath; - -// Fast Fourier transform data -class FFT { - - static var firstFrame = true; - - // public static function init() { - // var res = 512; - // var phaseArray = new haxe.io.Float32Array(res * res * 4); - // for (i in 0...res) { - // for (j in 0...res) { - // phaseArray[i * res * 4 + j * 4] = Math.random() * 2.0 * Math.PI; - // phaseArray[i * res * 4 + j * 4 + 1] = 0; - // phaseArray[i * res * 4 + j * 4 + 2] = 0; - // phaseArray[i * res * 4 + j * 4 + 3] = 0; - // } - // } - // } - - public static function run(path:RenderPath) { - - } -} diff --git a/Sources/armory/system/Audio.hx b/Sources/armory/system/Audio.hx deleted file mode 100644 index b049aa59..00000000 --- a/Sources/armory/system/Audio.hx +++ /dev/null @@ -1,3 +0,0 @@ -package armory.system; - -typedef Audio = iron.system.Audio; diff --git a/Sources/armory/system/Storage.hx b/Sources/armory/system/Storage.hx deleted file mode 100644 index 339ed3e7..00000000 --- a/Sources/armory/system/Storage.hx +++ /dev/null @@ -1,3 +0,0 @@ -package armory.system; - -typedef Storage = iron.system.Storage; diff --git a/Sources/armory/system/Time.hx b/Sources/armory/system/Time.hx deleted file mode 100755 index a8a2b6ad..00000000 --- a/Sources/armory/system/Time.hx +++ /dev/null @@ -1,3 +0,0 @@ -package armory.system; - -typedef Time = iron.system.Time; diff --git a/Sources/armory/system/Tween.hx b/Sources/armory/system/Tween.hx deleted file mode 100755 index aeaaf412..00000000 --- a/Sources/armory/system/Tween.hx +++ /dev/null @@ -1,3 +0,0 @@ -package armory.system; - -typedef Tween = iron.system.Tween; diff --git a/Sources/armory/system/VR.hx b/Sources/armory/system/VR.hx deleted file mode 100755 index fd13cc7c..00000000 --- a/Sources/armory/system/VR.hx +++ /dev/null @@ -1,3 +0,0 @@ -package armory.system; - -typedef VR = iron.system.VR; diff --git a/Sources/armory/trait/internal/JSScript.hx b/Sources/armory/trait/internal/JSScript.hx deleted file mode 100644 index 2f2ac49e..00000000 --- a/Sources/armory/trait/internal/JSScript.hx +++ /dev/null @@ -1,35 +0,0 @@ -package armory.trait.internal; - -import iron.Trait; - -class JSScript extends Trait { - - static var api:JSScriptAPI = null; - - public function new(scriptName:String) { - super(); - - notifyOnInit(function() { - - iron.data.Data.getBlob(scriptName + '.js', function(blob:kha.Blob) { - - var header = "var App = armory.App; - var Scene = armory.Scene; - var Data = armory.Data; - var Quat = armory.math.Quat; - var Mat4 = armory.math.Mat4; - var Vec4 = armory.math.Vec4;"; - var src = header + blob.toString(); -#if js - if (api == null) api = new JSScriptAPI(); - untyped __js__("var self = {0};", object); -#if !webgl // Krom - untyped __js__("var window = this;"); -#end - untyped __js__("eval(src);"); -#end - }); - - }); - } -} diff --git a/Sources/armory/trait/internal/JSScriptAPI.hx b/Sources/armory/trait/internal/JSScriptAPI.hx deleted file mode 100644 index b334a227..00000000 --- a/Sources/armory/trait/internal/JSScriptAPI.hx +++ /dev/null @@ -1,29 +0,0 @@ -package armory.trait.internal; - -#if cpp - -class JSScriptAPI { } - -#else - -@:expose("armory") -class JSScriptAPI { - - public static var App = iron.App; - public static var Scene = iron.Scene; - public static var Time = iron.system.Time; - public static var Object = iron.object.Object; - public static var Data = iron.data.Data; - - public function new() { } -} - -@:expose("armory.math") -class JSScriptAPIMath { - - public static var Vec4 = iron.math.Vec4; - public static var Mat4 = iron.math.Mat4; - public static var Quat = iron.math.Quat; -} - -#end diff --git a/blender/arm/exporter.py b/blender/arm/exporter.py index 67ca8b6f..d2cbfade 100755 --- a/blender/arm/exporter.py +++ b/blender/arm/exporter.py @@ -1850,9 +1850,9 @@ class ArmoryExporter: if ArmoryExporter.option_mesh_per_file: fp = self.get_meshes_file_path('mesh_' + oid, compressed=self.is_compress(bobject.data)) assets.add(fp) - if hasattr(bobject.data, 'arm_sdfgen') and bobject.data.arm_sdfgen: - sdf_path = fp.replace('/mesh_', '/sdf_') - assets.add(sdf_path) + # if hasattr(bobject.data, 'arm_sdfgen') and bobject.data.arm_sdfgen: + # sdf_path = fp.replace('/mesh_', '/sdf_') + # assets.add(sdf_path) if self.is_mesh_cached(bobject) == True and os.path.exists(fp): return @@ -1992,38 +1992,38 @@ class ArmoryExporter: if bobject.data.arm_dynamic_usage: o['dynamic_usage'] = bobject.data.arm_dynamic_usage - if hasattr(bobject.data, 'arm_sdfgen') and bobject.data.arm_sdfgen: - o['sdf_ref'] = 'sdf_' + oid + # if hasattr(bobject.data, 'arm_sdfgen') and bobject.data.arm_sdfgen: + # o['sdf_ref'] = 'sdf_' + oid self.write_mesh(bobject, fp, o) - if hasattr(bobject.data, 'arm_sdfgen') and bobject.data.arm_sdfgen: - # Copy input - sdk_path = arm.utils.get_sdk_path() - sdfgen_path = sdk_path + '/armory/tools/sdfgen' - shutil.copy(fp, sdfgen_path + '/krom/mesh.arm') - # Extract basecolor - # Assume Armpry PBR with linked texture for now - # mat = bobject.material_slots[0].material - # img = None - # for n in mat.node_tree.nodes: - # if n.type == 'GROUP' and n.node_tree.name.startswith('Armory PBR') and n.inputs[0].is_linked: - # img = n.inputs[0].links[0].from_node.image - # fp_img = bpy.path.abspath(img.filepath) - # shutil.copy(fp_img, sdfgen_path + '/krom/mesh.png') - # Run - krom_location, krom_path = arm.utils.krom_paths() - krom_dir = sdfgen_path + '/krom' - krom_res = sdfgen_path + '/krom' - subprocess.check_output([krom_path, krom_dir, krom_res, '--nosound', '--nowindow']) - # Copy output - sdf_path = fp.replace('/mesh_', '/sdf_') - shutil.copy('out.bin', sdf_path) - assets.add(sdf_path) - os.remove('out.bin') - os.remove(sdfgen_path + '/krom/mesh.arm') - # if img != None: - # os.remove(sdfgen_path + '/krom/mesh.png') + # if hasattr(bobject.data, 'arm_sdfgen') and bobject.data.arm_sdfgen: + # # Copy input + # sdk_path = arm.utils.get_sdk_path() + # sdfgen_path = sdk_path + '/armory/tools/sdfgen' + # shutil.copy(fp, sdfgen_path + '/krom/mesh.arm') + # # Extract basecolor + # # Assume Armpry PBR with linked texture for now + # # mat = bobject.material_slots[0].material + # # img = None + # # for n in mat.node_tree.nodes: + # # if n.type == 'GROUP' and n.node_tree.name.startswith('Armory PBR') and n.inputs[0].is_linked: + # # img = n.inputs[0].links[0].from_node.image + # # fp_img = bpy.path.abspath(img.filepath) + # # shutil.copy(fp_img, sdfgen_path + '/krom/mesh.png') + # # Run + # krom_location, krom_path = arm.utils.krom_paths() + # krom_dir = sdfgen_path + '/krom' + # krom_res = sdfgen_path + '/krom' + # subprocess.check_output([krom_path, krom_dir, krom_res, '--nosound', '--nowindow']) + # # Copy output + # sdf_path = fp.replace('/mesh_', '/sdf_') + # shutil.copy('out.bin', sdf_path) + # assets.add(sdf_path) + # os.remove('out.bin') + # os.remove(sdfgen_path + '/krom/mesh.arm') + # # if img != None: + # # os.remove(sdfgen_path + '/krom/mesh.png') def export_mesh_quality(self, exportMesh, bobject, fp, o): # Triangulate mesh and remap vertices to eliminate duplicates @@ -3111,19 +3111,6 @@ class ArmoryExporter: x['class_name'] = arm.utils.safestr(bpy.data.worlds['Arm'].arm_project_package) + '.node.' + arm.utils.safesrc(t.nodes_name_prop) elif t.type_prop == 'WebAssembly': pass - # basename = t.jsscript_prop.split('.')[0] - # x['type'] = 'Script' - # x['class_name'] = 'armory.trait.internal.JSScript' - # x['parameters'] = ["'" + basename + "'"] - # scriptspath = arm.utils.get_fp_build() + '/compiled/scripts/' - # if not os.path.exists(scriptspath): - # os.makedirs(scriptspath) - # # Write js to file - # assetpath = arm.utils.build_dir() + '/compiled/scripts/' + t.jsscript_prop + '.js' - # targetpath = arm.utils.get_fp() + '/' + assetpath - # with open(targetpath, 'w') as f: - # f.write(bpy.data.texts[t.jsscript_prop].as_string()) - # assets.add(assetpath) elif t.type_prop == 'UI Canvas': ArmoryExporter.export_ui = True x['type'] = 'Script' diff --git a/blender/arm/make_world.py b/blender/arm/make_world.py index 8fad295b..52daebb0 100755 --- a/blender/arm/make_world.py +++ b/blender/arm/make_world.py @@ -124,17 +124,17 @@ def build_node_tree(world): elif rpdat.rp_gi == 'Voxel AO': voxelao = True # SS - if rpdat.rp_dfrs: - wrd.world_defs += '_DFRS' - assets.add_khafile_def('arm_sdf') - if rpdat.rp_dfao: - wrd.world_defs += '_DFAO' - assets.add_khafile_def('arm_sdf') - if rpdat.rp_dfgi: - wrd.world_defs += '_DFGI' - assets.add_khafile_def('arm_sdf') - wrd.world_defs += '_Rad' # Always do radiance for gi - wrd.world_defs += '_Irr' + # if rpdat.rp_dfrs: + # wrd.world_defs += '_DFRS' + # assets.add_khafile_def('arm_sdf') + # if rpdat.rp_dfao: + # wrd.world_defs += '_DFAO' + # assets.add_khafile_def('arm_sdf') + # if rpdat.rp_dfgi: + # wrd.world_defs += '_DFGI' + # assets.add_khafile_def('arm_sdf') + # wrd.world_defs += '_Rad' # Always do radiance for gi + # wrd.world_defs += '_Irr' if rpdat.rp_ssgi == 'RTGI' or rpdat.rp_ssgi == 'RTAO': if rpdat.rp_ssgi == 'RTGI': wrd.world_defs += '_RTGI' diff --git a/blender/arm/props.py b/blender/arm/props.py index 9df4c89c..b29fefc3 100755 --- a/blender/arm/props.py +++ b/blender/arm/props.py @@ -192,7 +192,7 @@ def init_properties(): bpy.types.Mesh.arm_aabb = bpy.props.FloatVectorProperty(name="AABB", size=3, default=[0,0,0]) bpy.types.Mesh.arm_dynamic_usage = bpy.props.BoolProperty(name="Dynamic Usage", description="Mesh data can change at runtime", default=False) bpy.types.Mesh.arm_compress = bpy.props.BoolProperty(name="Compress", description="Pack data into zip file", default=False) - bpy.types.Mesh.arm_sdfgen = bpy.props.BoolProperty(name="Generate SDF", description="Make signed distance field data", default=False, update=invalidate_mesh_cache) + # bpy.types.Mesh.arm_sdfgen = bpy.props.BoolProperty(name="Generate SDF", description="Make signed distance field data", default=False, update=invalidate_mesh_cache) bpy.types.Curve.arm_cached = bpy.props.BoolProperty(name="Mesh Cached", description="No need to reexport curve data", default=False) bpy.types.Curve.arm_compress = bpy.props.BoolProperty(name="Compress", description="Pack data into zip file", default=False) bpy.types.Curve.arm_dynamic_usage = bpy.props.BoolProperty(name="Dynamic Data Usage", description="Curve data can change at runtime", default=False) diff --git a/blender/arm/props_ui.py b/blender/arm/props_ui.py index 011c9cc4..d3284a2a 100644 --- a/blender/arm/props_ui.py +++ b/blender/arm/props_ui.py @@ -158,8 +158,8 @@ class DataPropsPanel(bpy.types.Panel): row = layout.row(align=True) row.prop(obj.data, 'arm_dynamic_usage') row.prop(obj.data, 'arm_compress') - if obj.type == 'MESH': - layout.prop(obj.data, 'arm_sdfgen') + # if obj.type == 'MESH': + # layout.prop(obj.data, 'arm_sdfgen') layout.operator("arm.invalidate_cache") elif obj.type == 'LAMP': row = layout.row(align=True) diff --git a/blender/arm/write_data.py b/blender/arm/write_data.py index fc8b298b..bdfe1d7a 100755 --- a/blender/arm/write_data.py +++ b/blender/arm/write_data.py @@ -117,7 +117,6 @@ project.addSources('Sources'); if enable_dce: f.write("project.addParameter('-dce full');\n") - import_traits.append('armory.trait.internal.JSScriptAPI') import_traits = list(set(import_traits)) for i in range(0, len(import_traits)): f.write("project.addParameter('" + import_traits[i] + "');\n") diff --git a/tools/cmft/cmft.sh b/tools/cmft/cmft.sh deleted file mode 100755 index 921f6ee9..00000000 --- a/tools/cmft/cmft.sh +++ /dev/null @@ -1,176 +0,0 @@ -#!/bin/bash - -# -# Copyright 2014-2015 Dario Manesku. All rights reserved. -# License: http://www.opensource.org/licenses/BSD-2-Clause -# - -CMFT=./cmft-osx - -# Prints help. -#eval $CMFT --help - -# Use this to list available OpenCL devices that can be used with cmft for processing. -#eval $CMFT --printCLDevices - -# Typical parameters for irradiance filter. -# eval $CMFT $@ --input "test.jpg" \ -# --filter irradiance \ -# --srcFaceSize 0 \ -# --dstFaceSize 0 \ -# --outputNum 1 \ -# --output0 "test_irr" \ -# --output0params hdr,rgbe,latlong - -# Typical parameters for generating spherical harmonics coefficients. -eval $CMFT $@ --input "test.hdr" \ - --filter shcoeffs \ - --outputNum 1 \ - --output0 "test" - -# Typical parameters for radiance filter. -# eval $CMFT $@ --input "test.jpg" \ -# ::Filter options \ -# --filter radiance \ -# --srcFaceSize 64 \ -# --excludeBase false \ -# --mipCount 7 \ -# --glossScale 10 \ -# --glossBias 3 \ -# --lightingModel blinnbrdf \ -# --edgeFixup none \ -# --dstFaceSize 64 \ -# ::Processing devices \ -# --numCpuProcessingThreads 4 \ -# --useOpenCL true \ -# --clVendor anyGpuVendor \ -# --deviceType gpu \ -# --deviceIndex 0 \ -# ::Aditional operations \ -# --inputGammaNumerator 2.2 \ -# --inputGammaDenominator 1.0 \ -# --outputGammaNumerator 1.0 \ -# --outputGammaDenominator 2.2 \ -# --generateMipChain true \ -# ::Output \ -# --outputNum 1 \ -# --output0 "envmap_rad" \ -# --output0params hdr,rgbe,latlong \ - # --output1 "okretnica_pmrem" \ - # --output1params ktx,rgba8,cubemap - -# Cmft can also be run without any processing filter. This can be used for performing image manipulations or exporting different image format. -#eval $CMFT $@ --input "okretnica.tga" \ -# --filter none \ -# ::Aditional operations \ -# --inputGamma 1.0 \ -# --inputGammaDenominator 1.0 \ -# --outputGamma 1.0 \ -# --outputGammaDenominator 1.0 \ -# --generateMipChain true \ -# ::Cubemap transformations \ -# --posXrotate90 \ -# --posXrotate180 \ -# --posXrotate270 \ -# --posXflipH \ -# --posXflipV \ -# --negXrotate90 \ -# --negXrotate180 \ -# --negXrotate270 \ -# --negXflipH \ -# --negXflipV \ -# --posYrotate90 \ -# --posYrotate180 \ -# --posYrotate270 \ -# --posYflipH \ -# --posYflipV \ -# --negYrotate90 \ -# --negYrotate180 \ -# --negYrotate270 \ -# --negYflipH \ -# --negYflipV \ -# --posZrotate90 \ -# --posZrotate180 \ -# --posZrotate270 \ -# --posZflipH \ -# --posZflipV \ -# --negZrotate90 \ -# --negZrotate180 \ -# --negZrotate270 \ -# --negZflipH \ -# --negZflipV \ -# ::Output \ -# --outputNum 1 \ -# --output0 "okretnica_dds" \ -# --output0params dds,bgra8,cubemap \ - -# Cmft with all parameters listed. This is mainly to have a look at what is all possible. -#eval $CMFT $@ --input "okretnica.tga" \ -# ::Filter options \ -# --filter radiance \ -# --srcFaceSize 256 \ -# --excludeBase false \ -# --mipCount 7 \ -# --glossScale 10 \ -# --glossBias 3 \ -# --lightingModel blinnbrdf \ -# --edgeFixup none \ -# --dstFaceSize 256 \ -# ::Processing devices \ -# --numCpuProcessingThreads 4 \ -# --useOpenCL true \ -# --clVendor anyGpuVendor \ -# --deviceType gpu \ -# --deviceIndex 0 \ -# ::Aditional operations \ -# --inputGamma 1.0 \ -# --inputGammaDenominator 1.0 \ -# --outputGamma 1.0 \ -# --outputGammaDenominator 1.0 \ -# --generateMipChain false \ -# ::Cubemap transformations \ -# --posXrotate90 \ -# --posXrotate180 \ -# --posXrotate270 \ -# --posXflipH \ -# --posXflipV \ -# --negXrotate90 \ -# --negXrotate180 \ -# --negXrotate270 \ -# --negXflipH \ -# --negXflipV \ -# --posYrotate90 \ -# --posYrotate180 \ -# --posYrotate270 \ -# --posYflipH \ -# --posYflipV \ -# --negYrotate90 \ -# --negYrotate180 \ -# --negYrotate270 \ -# --negYflipH \ -# --negYflipV \ -# --posZrotate90 \ -# --posZrotate180 \ -# --posZrotate270 \ -# --posZflipH \ -# --posZflipV \ -# --negZrotate90 \ -# --negZrotate180 \ -# --negZrotate270 \ -# --negZflipH \ -# --negZflipV \ -# ::Output \ -# --outputNum 5 \ -# --output0 "cmft_cubemap" --output0params dds,bgra8,cubemap \ -# --output1 "cmft_hstrip" --output1params dds,bgra8,hstrip \ -# --output2 "cmft_cubecross" --output2params ktx,rgba32f,hcross \ -# --output3 "cmft_facelist" --output3params tga,bgra8,facelist \ -# --output4 "cmft_latlong" --output4params hdr,rgbe,latlong - -# eval $CMFT $@ --input "shrine.hdr" \ -# --filter none \ -# ::Output \ -# --outputNum 1 \ -# --dstFaceSize 0 \ -# --output0 "test" \ -# --output0params hdr,rgbe,latlong \ No newline at end of file diff --git a/tools/sdfgen/krom/Scene.arm b/tools/sdfgen/krom/Scene.arm deleted file mode 100755 index 730af2da..00000000 --- a/tools/sdfgen/krom/Scene.arm +++ /dev/null @@ -1,105 +0,0 @@ -{ - "name": "Scene", - "renderpath_datas": [ - { - "name": "simple_path", - "render_targets": [ - { - "name": "sdf", - "width": 50, - "height": 2500, - "format": "A32" - } - ], - "stages": [ - { - "command": "call_function", - "params": ["Main.begin"] - }, - { - "command": "set_target", - "params": [ - "1.0", "sdf" - ] - }, - { - "command": "clear_target", - "params": [ - "color", "#ff000000", - "depth", "1.0" - ] - }, - { - "command": "draw_shader_quad", - "params": [ - "Scene/sdfgen/sdfgen" - ] - }, - { - "command": "call_function", - "params": ["Main.end"] - } - ] - } - ], - "shader_datas": [ - { - "contexts": [ - { - "name": "sdfgen", - "compare_mode": "always", - "constants": [ - { - "name": "meshverts", - "type": "int", - "link": "_meshverts" - } - ], - "cull_mode": "none", - "depth_write": false, - "fragment_shader": "sdfgen.frag", - "vertex_shader": "sdfgen.vert", - "texture_units": [ - { - "name": "meshtex", - "link": "_meshtex" - } - ], - "vertex_structure": [ - { - "name": "pos", - "size": 2 - } - ] - } - ], - "name": "sdfgen" - } - ], - "camera_datas": [ - { - "name": "CameraData", - "type": "perspective", - "near_plane": 0.1, - "far_plane": 100.0, - "fov": 0.85, - "render_path": "simple_path" - } - ], - "camera_ref": "Camera", - "objects": [ - { - "name": "Camera", - "type": "camera_object", - "data_ref": "CameraData", - "transform": { - "values": [ - 0.6859206557273865,-0.32401347160339355,0.6515582203865051,7.481131553649902, - 0.7276763319969177,0.305420845746994,-0.6141703724861145,-6.5076398849487305, - 0.0,0.8953956365585327,0.44527140259742737,5.34366512298584, - 0.0,0.0,0.0,1.0 - ] - } - } - ] -} \ No newline at end of file diff --git a/tools/sdfgen/krom/krom.js b/tools/sdfgen/krom/krom.js deleted file mode 100644 index 0ad4dbe3..00000000 --- a/tools/sdfgen/krom/krom.js +++ /dev/null @@ -1 +0,0 @@ -function $extend(e,t){function a(){}a.prototype=e;var r=new a;for(var i in t)r[i]=t[i];return t.toString!==Object.prototype.toString&&(r.toString=t.toString),r}function $iterator(e){return e instanceof Array?function(){return HxOverrides.iter(e)}:"function"==typeof e.iterator?$bind(e,e.iterator):e.iterator}function $bind(e,t){if(null==t)return null;null==t.__id__&&(t.__id__=$fid++);var a;return null==e.hx__closures__?e.hx__closures__={}:a=e.hx__closures__[t.__id__],null==a&&((a=function(){return a.method.apply(a.scope,arguments)}).scope=e,a.method=t,e.hx__closures__[t.__id__]=a),a}var $hx_exports="undefined"!=typeof exports?exports:"undefined"!=typeof window?window:"undefined"!=typeof self?self:this;$hx_exports.kha=$hx_exports.kha||{},$hx_exports.kha.input=$hx_exports.kha.input||{},$hx_exports.kha._Color=$hx_exports.kha._Color||{};var $global="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,$hxClasses=$hxClasses||{},$estr=function(){return js_Boot.__string_rec(this,"")},HxOverrides=$hxClasses.HxOverrides=function(){};HxOverrides.__name__=!0,HxOverrides.strDate=function(e){switch(e.length){case 8:var t=e.split(":"),a=new Date;return a.setTime(0),a.setUTCHours(t[0]),a.setUTCMinutes(t[1]),a.setUTCSeconds(t[2]),a;case 10:var r=e.split("-");return new Date(r[0],r[1]-1,r[2],0,0,0);case 19:var i=e.split(" "),s=i[0].split("-"),n=i[1].split(":");return new Date(s[0],s[1]-1,s[2],n[0],n[1],n[2]);default:throw new js__$Boot_HaxeError("Invalid date format : "+e)}},HxOverrides.cca=function(e,t){var a=e.charCodeAt(t);if(a==a)return a},HxOverrides.substr=function(e,t,a){if(null==a)a=e.length;else if(a<0){if(0!=t)return"";a=e.length+a}return e.substr(t,a)},HxOverrides.remove=function(e,t){var a=e.indexOf(t);return-1!=a&&(e.splice(a,1),!0)},HxOverrides.iter=function(e){return{cur:0,arr:e,hasNext:function(){return this.cur=a&&HxOverrides.substr(e,r-a,a)==t},StringTools.replace=function(e,t,a){return e.split(t).join(a)};var Type=$hxClasses.Type=function(){};Type.__name__=!0,Type.resolveClass=function(e){var t=$hxClasses[e];return null!=t&&t.__name__?t:null},Type.resolveEnum=function(e){var t=$hxClasses[e];return null!=t&&t.__ename__?t:null},Type.createInstance=function(e,t){switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3]);case 5:return new e(t[0],t[1],t[2],t[3],t[4]);case 6:return new e(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6]);case 8:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7]);case 9:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8]);case 10:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9]);case 11:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10]);case 12:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11]);case 13:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12]);case 14:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13]);default:throw new js__$Boot_HaxeError("Too many arguments")}},Type.createEmptyInstance=function(e){function t(){}return t.prototype=e.prototype,new t},Type.createEnum=function(e,t,a){var r=Reflect.field(e,t);if(null==r)throw new js__$Boot_HaxeError("No such constructor "+t);if(Reflect.isFunction(r)){if(null==a)throw new js__$Boot_HaxeError("Constructor "+t+" need parameters");return r.apply(e,a)}if(null!=a&&0!=a.length)throw new js__$Boot_HaxeError("Constructor "+t+" does not need parameters");return r};var _$UInt_UInt_$Impl_$=$hxClasses["_UInt.UInt_Impl_"]={};_$UInt_UInt_$Impl_$.__name__=!0,_$UInt_UInt_$Impl_$.gt=function(e,t){var a=e<0;return a!=t<0?a:e>t},_$UInt_UInt_$Impl_$.gte=function(e,t){var a=e<0;return a!=t<0?a:e>=t},_$UInt_UInt_$Impl_$.toFloat=function(e){var t=e;return t<0?4294967296+t:t+0};var haxe_IMap=$hxClasses["haxe.IMap"]=function(){};haxe_IMap.__name__=!0;var haxe__$Int64__$_$_$Int64=$hxClasses["haxe._Int64.___Int64"]=function(e,t){this.high=e,this.low=t};haxe__$Int64__$_$_$Int64.__name__=!0,haxe__$Int64__$_$_$Int64.prototype={__class__:haxe__$Int64__$_$_$Int64};var haxe_Log=$hxClasses["haxe.Log"]=function(){};haxe_Log.__name__=!0,haxe_Log.trace=function(e,t){js_Boot.__trace(e,t)};var haxe__$Unserializer_DefaultResolver=$hxClasses["haxe._Unserializer.DefaultResolver"]=function(){};haxe__$Unserializer_DefaultResolver.__name__=!0,haxe__$Unserializer_DefaultResolver.prototype={resolveClass:function(e){return Type.resolveClass(e)},resolveEnum:function(e){return Type.resolveEnum(e)},__class__:haxe__$Unserializer_DefaultResolver};var haxe_Unserializer=$hxClasses["haxe.Unserializer"]=function(e){this.buf=e,this.length=e.length,this.pos=0,this.scache=[],this.cache=[];var t=haxe_Unserializer.DEFAULT_RESOLVER;null==t&&(t=new haxe__$Unserializer_DefaultResolver,haxe_Unserializer.DEFAULT_RESOLVER=t),this.resolver=t};haxe_Unserializer.__name__=!0,haxe_Unserializer.initCodes=function(){for(var e=[],t=0,a=haxe_Unserializer.BASE64.length;t57)break;e=10*e+(r-48),this.pos++}else{if(this.pos!=a)break;t=!0,this.pos++}}return t&&(e*=-1),e},readFloat:function(){for(var e=this.pos;;){var t=this.buf.charCodeAt(this.pos);if(t!=t)break;if(!(t>=43&&t<58||101==t||69==t))break;this.pos++}return parseFloat(HxOverrides.substr(this.buf,e,this.pos-e))},unserializeObject:function(e){for(;;){if(this.pos>=this.length)throw new js__$Boot_HaxeError("Invalid object");if(103==this.buf.charCodeAt(this.pos))break;var t=this.unserialize();if("string"!=typeof t)throw new js__$Boot_HaxeError("Invalid object key");var a=this.unserialize();e[t]=a}this.pos++},unserializeEnum:function(e,t){if(58!=this.buf.charCodeAt(this.pos++))throw new js__$Boot_HaxeError("Invalid enum format");var a=this.readDigits();if(0==a)return Type.createEnum(e,t);for(var r=[];a-- >0;)r.push(this.unserialize());return Type.createEnum(e,t,r)},unserialize:function(){switch(this.buf.charCodeAt(this.pos++)){case 65:var e=this.unserialize(),t=this.resolver.resolveClass(e);if(null==t)throw new js__$Boot_HaxeError("Class not found "+e);return t;case 66:var a=this.unserialize(),r=this.resolver.resolveEnum(a);if(null==r)throw new js__$Boot_HaxeError("Enum not found "+a);return r;case 67:var i=this.unserialize(),s=this.resolver.resolveClass(i);if(null==s)throw new js__$Boot_HaxeError("Class not found "+i);var n=Type.createEmptyInstance(s);if(this.cache.push(n),n.hxUnserialize(this),103!=this.buf.charCodeAt(this.pos++))throw new js__$Boot_HaxeError("Invalid custom data");return n;case 77:var _=new haxe_ds_ObjectMap;this.cache.push(_);for(this.buf;104!=this.buf.charCodeAt(this.pos);){var o=this.unserialize();_.set(o,this.unserialize())}return this.pos++,_;case 82:var h=this.readDigits();if(h<0||h>=this.scache.length)throw new js__$Boot_HaxeError("Invalid string reference");return this.scache[h];case 97:this.buf;var l=[];for(this.cache.push(l);;){var c=this.buf.charCodeAt(this.pos);if(104==c){this.pos++;break}if(117==c){this.pos++;var d=this.readDigits();l[l.length+d-1]=null}else l.push(this.unserialize())}return l;case 98:var u=new haxe_ds_StringMap;this.cache.push(u);for(this.buf;104!=this.buf.charCodeAt(this.pos);){var p=this.unserialize(),f=this.unserialize();null!=__map_reserved[p]?u.setReserved(p,f):u.h[p]=f}return this.pos++,u;case 99:var g=this.unserialize(),m=this.resolver.resolveClass(g);if(null==m)throw new js__$Boot_HaxeError("Class not found "+g);var v=Type.createEmptyInstance(m);return this.cache.push(v),this.unserializeObject(v),v;case 100:return this.readFloat();case 102:return!1;case 105:return this.readDigits();case 106:var k=this.unserialize(),b=this.resolver.resolveEnum(k);if(null==b)throw new js__$Boot_HaxeError("Enum not found "+k);this.pos++;var y=this.readDigits(),S=b.__constructs__.slice()[y];if(null==S)throw new js__$Boot_HaxeError("Unknown enum index "+k+"@"+y);var x=this.unserializeEnum(b,S);return this.cache.push(x),x;case 107:return NaN;case 108:var B=new List;this.cache.push(B);for(this.buf;104!=this.buf.charCodeAt(this.pos);)B.add(this.unserialize());return this.pos++,B;case 109:return-1/0;case 110:return null;case 111:var w={};return this.cache.push(w),this.unserializeObject(w),w;case 112:return 1/0;case 113:var I=new haxe_ds_IntMap;this.cache.push(I);this.buf;for(var T=this.buf.charCodeAt(this.pos++);58==T;){var C=this.readDigits(),M=this.unserialize();I.h[C]=M,T=this.buf.charCodeAt(this.pos++)}if(104!=T)throw new js__$Boot_HaxeError("Invalid IntMap format");return I;case 114:var A=this.readDigits();if(A<0||A>=this.cache.length)throw new js__$Boot_HaxeError("Invalid reference");return this.cache[A];case 115:var R=this.readDigits(),V=this.buf;if(58!=this.buf.charCodeAt(this.pos++)||this.length-this.pos>2)+(F>=2?F-1:0))),E=0;P<$;){var U=D[V.charCodeAt(P++)],N=D[V.charCodeAt(P++)];j.b[E++]=255&(U<<2|N>>4);var L=D[V.charCodeAt(P++)];j.b[E++]=255&(N<<4|L>>2);var z=D[V.charCodeAt(P++)];j.b[E++]=255&(L<<6|z)}if(F>=2){var O=D[V.charCodeAt(P++)],H=D[V.charCodeAt(P++)];if(j.b[E++]=255&(O<<2|H>>4),3==F){var G=D[V.charCodeAt(P++)];j.b[E++]=255&(H<<4|G>>2)}}return this.pos+=R,this.cache.push(j),j;case 116:return!0;case 118:var W;if(this.buf.charCodeAt(this.pos)>=48&&this.buf.charCodeAt(this.pos)<=57&&this.buf.charCodeAt(this.pos+1)>=48&&this.buf.charCodeAt(this.pos+1)<=57&&this.buf.charCodeAt(this.pos+2)>=48&&this.buf.charCodeAt(this.pos+2)<=57&&this.buf.charCodeAt(this.pos+3)>=48&&this.buf.charCodeAt(this.pos+3)<=57&&45==this.buf.charCodeAt(this.pos+4))W=HxOverrides.strDate(HxOverrides.substr(this.buf,this.pos,19)),this.pos+=19;else{var K=this.readFloat();W=new Date(K)}return this.cache.push(W),W;case 119:var Z=this.unserialize(),Q=this.resolver.resolveEnum(Z);if(null==Q)throw new js__$Boot_HaxeError("Enum not found "+Z);var q=this.unserializeEnum(Q,this.unserialize());return this.cache.push(q),q;case 120:throw js__$Boot_HaxeError.wrap(this.unserialize());case 121:var Y=this.readDigits();if(58!=this.buf.charCodeAt(this.pos++)||this.length-this.posthis.length||a+r>t.length)throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds);0==a&&r==t.b.byteLength?this.b.set(t.b,e):this.b.set(t.b.subarray(a,a+r),e)},sub:function(e,t){if(e<0||t<0||e+t>this.length)throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds);return new haxe_io_Bytes(this.b.buffer.slice(e+this.b.byteOffset,e+this.b.byteOffset+t))},getFloat:function(e){return null==this.data&&(this.data=new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength)),this.data.getFloat32(e,!0)},setInt32:function(e,t){null==this.data&&(this.data=new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength)),this.data.setInt32(e,t,!0)},getString:function(e,t){if(e<0||t<0||e+t>this.length)throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds);for(var a="",r=this.b,i=String.fromCharCode,s=e,n=e+t;s>10)),a+=i(1023&o|56320)}}return a},toString:function(){return this.getString(0,this.length)},__class__:haxe_io_Bytes};var haxe_io_BytesBuffer=$hxClasses["haxe.io.BytesBuffer"]=function(){this.b=[]};haxe_io_BytesBuffer.__name__=!0,haxe_io_BytesBuffer.prototype={getBytes:function(){var e=new haxe_io_Bytes(new Uint8Array(this.b).buffer);return this.b=null,e},__class__:haxe_io_BytesBuffer};var haxe_io_Input=$hxClasses["haxe.io.Input"]=function(){};haxe_io_Input.__name__=!0,haxe_io_Input.prototype={readByte:function(){throw new js__$Boot_HaxeError("Not implemented")},readBytes:function(e,t,a){var r=a,i=e.b;if(t<0||a<0||t+a>e.length)throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds);try{for(;r>0;)i[t]=this.readByte(),++t,--r}catch(e){if(e instanceof js__$Boot_HaxeError&&(e=e.val),!js_Boot.__instanceof(e,haxe_io_Eof))throw e}return a-r},set_bigEndian:function(e){return this.bigEndian=e,e},readFullBytes:function(e,t,a){for(;a>0;){var r=this.readBytes(e,t,a);if(0==r)throw new js__$Boot_HaxeError(haxe_io_Error.Blocked);t+=r,a-=r}},read:function(e){for(var t=new haxe_io_Bytes(new ArrayBuffer(e)),a=0;e>0;){var r=this.readBytes(t,a,e);if(0==r)throw new js__$Boot_HaxeError(haxe_io_Error.Blocked);a+=r,e-=r}return t},readFloat:function(){return haxe_io_FPHelper.i32ToFloat(this.readInt32())},readDouble:function(){var e=this.readInt32(),t=this.readInt32();return this.bigEndian?haxe_io_FPHelper.i64ToDouble(t,e):haxe_io_FPHelper.i64ToDouble(e,t)},readInt8:function(){var e=this.readByte();return e>=128?e-256:e},readInt16:function(){var e=this.readByte(),t=this.readByte(),a=this.bigEndian?t|e<<8:e|t<<8;return 0!=(32768&a)?a-65536:a},readUInt16:function(){var e=this.readByte(),t=this.readByte();return this.bigEndian?t|e<<8:e|t<<8},readInt32:function(){var e=this.readByte(),t=this.readByte(),a=this.readByte(),r=this.readByte();return this.bigEndian?r|a<<8|t<<16|e<<24:e|t<<8|a<<16|r<<24},readString:function(e){var t=new haxe_io_Bytes(new ArrayBuffer(e));return this.readFullBytes(t,0,e),t.toString()},__class__:haxe_io_Input,__properties__:{set_bigEndian:"set_bigEndian"}};var haxe_io_BytesInput=$hxClasses["haxe.io.BytesInput"]=function(e,t,a){if(null==t&&(t=0),null==a&&(a=e.length-t),t<0||a<0||t+a>e.length)throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds);this.b=e.b,this.pos=t,this.len=a,this.totlen=a};haxe_io_BytesInput.__name__=!0,haxe_io_BytesInput.__super__=haxe_io_Input,haxe_io_BytesInput.prototype=$extend(haxe_io_Input.prototype,{set_position:function(e){return e<0?e=0:e>this.totlen&&(e=this.totlen),this.len=this.totlen-e,this.pos=e},readByte:function(){if(0==this.len)throw new js__$Boot_HaxeError(new haxe_io_Eof);return this.len--,this.b[this.pos++]},readBytes:function(e,t,a){if(t<0||a<0||t+a>e.length)throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds);if(0==this.len&&a>0)throw new js__$Boot_HaxeError(new haxe_io_Eof);this.lene.length)throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds);for(var r=e.b,i=a;i>0;)this.writeByte(r[t]),++t,--i;return a},write:function(e){for(var t=e.length,a=0;t>0;){var r=this.writeBytes(e,a,t);if(0==r)throw new js__$Boot_HaxeError(haxe_io_Error.Blocked);a+=r,t-=r}},writeFloat:function(e){this.writeInt32(haxe_io_FPHelper.floatToI32(e))},writeInt32:function(e){this.bigEndian?(this.writeByte(e>>>24),this.writeByte(e>>16&255),this.writeByte(e>>8&255),this.writeByte(255&e)):(this.writeByte(255&e),this.writeByte(e>>8&255),this.writeByte(e>>16&255),this.writeByte(e>>>24))},__class__:haxe_io_Output};var haxe_io_BytesOutput=$hxClasses["haxe.io.BytesOutput"]=function(){this.b=new haxe_io_BytesBuffer};haxe_io_BytesOutput.__name__=!0,haxe_io_BytesOutput.__super__=haxe_io_Output,haxe_io_BytesOutput.prototype=$extend(haxe_io_Output.prototype,{writeByte:function(e){this.b.b.push(e)},writeBytes:function(e,t,a){var r=this.b;if(t<0||a<0||t+a>e.length)throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds);r.b;for(var i=e.b,s=t,n=t+a;s>>31<<1),a=e>>>23&255,r=8388607&e;return 0==r&&0==a?0:t*(1+Math.pow(2,-23)*r)*Math.pow(2,a-127)},haxe_io_FPHelper.floatToI32=function(e){if(0==e)return 0;var t=e<0?-e:e,a=Math.floor(Math.log(t)/.6931471805599453);a<-127?a=-127:a>128&&(a=128);var r=Math.round(8388608*(t/Math.pow(2,a)-1));return 8388608==r&&a<128&&(r=0,++a),(e<0?-2147483648:0)|a+127<<23|r},haxe_io_FPHelper.i64ToDouble=function(e,t){var a=1-(t>>>31<<1),r=(t>>20&2047)-1023,i=4294967296*(1048575&t)+2147483648*(e>>>31)+(2147483647&e);return 0==i&&-1023==r?0:a*(1+Math.pow(2,-52)*i)*Math.pow(2,r)},haxe_io_FPHelper.doubleToI64=function(e){var t=haxe_io_FPHelper.i64tmp;if(0==e)t.low=0,t.high=0;else if(isFinite(e)){var a=e<0?-e:e,r=Math.floor(Math.log(a)/.6931471805599453),i=Math.round(4503599627370496*(a/Math.pow(2,r)-1)),s=0|i,n=i/4294967296|0;t.low=s,t.high=(e<0?-2147483648:0)|r+1023<<20|n}else e>0?(t.low=0,t.high=2146435072):(t.low=0,t.high=-1048576);return t};var haxe_zip_ExtraField=$hxClasses["haxe.zip.ExtraField"]={__ename__:!0,__constructs__:["FUnknown","FInfoZipUnicodePath","FUtf8"]};haxe_zip_ExtraField.FUnknown=function(e,t){var a=["FUnknown",0,e,t];return a.__enum__=haxe_zip_ExtraField,a.toString=$estr,a},haxe_zip_ExtraField.FInfoZipUnicodePath=function(e,t){var a=["FInfoZipUnicodePath",1,e,t];return a.__enum__=haxe_zip_ExtraField,a.toString=$estr,a},haxe_zip_ExtraField.FUtf8=["FUtf8",2],haxe_zip_ExtraField.FUtf8.toString=$estr,haxe_zip_ExtraField.FUtf8.__enum__=haxe_zip_ExtraField;var haxe_zip_Huffman=$hxClasses["haxe.zip.Huffman"]={__ename__:!0,__constructs__:["Found","NeedBit","NeedBits"]};haxe_zip_Huffman.Found=function(e){var t=["Found",0,e];return t.__enum__=haxe_zip_Huffman,t.toString=$estr,t},haxe_zip_Huffman.NeedBit=function(e,t){var a=["NeedBit",1,e,t];return a.__enum__=haxe_zip_Huffman,a.toString=$estr,a},haxe_zip_Huffman.NeedBits=function(e,t){var a=["NeedBits",2,e,t];return a.__enum__=haxe_zip_Huffman,a.toString=$estr,a};var haxe_zip_HuffTools=$hxClasses["haxe.zip.HuffTools"]=function(){};haxe_zip_HuffTools.__name__=!0,haxe_zip_HuffTools.prototype={treeDepth:function(e){switch(e[1]){case 0:return 0;case 1:var t=e[3],a=e[2],r=this.treeDepth(a),i=this.treeDepth(t);return 1+(r0?(this.treeWalk(e,t,a+1,r-1,n),this.treeWalk(e,t|1<t)throw new js__$Boot_HaxeError("Invalid huffman");var i=a<<5|r;return e.h.hasOwnProperty(i)?haxe_zip_Huffman.Found(e.h[i]):(a<<=1,++r,haxe_zip_Huffman.NeedBit(this.treeMake(e,t,a,r),this.treeMake(e,t,1|a,r)))},make:function(e,t,a,r){var i=[],s=[];if(r>32)throw new js__$Boot_HaxeError("Invalid huffman");for(var n=0,_=r;n<_;){n++;i.push(0),s.push(0)}for(var o=0,h=a;o=r)throw new js__$Boot_HaxeError("Invalid huffman");i[l]++}for(var c=0,d=1,u=r-1;d65536&&this.slide(),this.buffer.blit(this.pos,e,t,a),this.pos+=a},addByte:function(e){65536==this.pos&&this.slide(),this.buffer.b[this.pos]=255&e,this.pos++},getLastChar:function(){return this.buffer.b[this.pos-1]},available:function(){return this.pos},checksum:function(){return null!=this.crc&&this.crc.update(this.buffer,0,this.pos),this.crc},__class__:haxe_zip__$InflateImpl_Window};var haxe_zip__$InflateImpl_State=$hxClasses["haxe.zip._InflateImpl.State"]={__ename__:!0,__constructs__:["Head","Block","CData","Flat","Crc","Dist","DistOne","Done"]};haxe_zip__$InflateImpl_State.Head=["Head",0],haxe_zip__$InflateImpl_State.Head.toString=$estr,haxe_zip__$InflateImpl_State.Head.__enum__=haxe_zip__$InflateImpl_State,haxe_zip__$InflateImpl_State.Block=["Block",1],haxe_zip__$InflateImpl_State.Block.toString=$estr,haxe_zip__$InflateImpl_State.Block.__enum__=haxe_zip__$InflateImpl_State,haxe_zip__$InflateImpl_State.CData=["CData",2],haxe_zip__$InflateImpl_State.CData.toString=$estr,haxe_zip__$InflateImpl_State.CData.__enum__=haxe_zip__$InflateImpl_State,haxe_zip__$InflateImpl_State.Flat=["Flat",3],haxe_zip__$InflateImpl_State.Flat.toString=$estr,haxe_zip__$InflateImpl_State.Flat.__enum__=haxe_zip__$InflateImpl_State,haxe_zip__$InflateImpl_State.Crc=["Crc",4],haxe_zip__$InflateImpl_State.Crc.toString=$estr,haxe_zip__$InflateImpl_State.Crc.__enum__=haxe_zip__$InflateImpl_State,haxe_zip__$InflateImpl_State.Dist=["Dist",5],haxe_zip__$InflateImpl_State.Dist.toString=$estr,haxe_zip__$InflateImpl_State.Dist.__enum__=haxe_zip__$InflateImpl_State,haxe_zip__$InflateImpl_State.DistOne=["DistOne",6],haxe_zip__$InflateImpl_State.DistOne.toString=$estr,haxe_zip__$InflateImpl_State.DistOne.__enum__=haxe_zip__$InflateImpl_State,haxe_zip__$InflateImpl_State.Done=["Done",7],haxe_zip__$InflateImpl_State.Done.toString=$estr,haxe_zip__$InflateImpl_State.Done.__enum__=haxe_zip__$InflateImpl_State;var haxe_zip_InflateImpl=$hxClasses["haxe.zip.InflateImpl"]=function(e,t,a){null==a&&(a=!0),null==t&&(t=!0),this.final=!1,this.htools=new haxe_zip_HuffTools,this.huffman=this.buildFixedHuffman(),this.huffdist=null,this.len=0,this.dist=0,this.state=t?haxe_zip__$InflateImpl_State.Head:haxe_zip__$InflateImpl_State.Block,this.input=e,this.bits=0,this.nbits=0,this.needed=0,this.output=null,this.outpos=0,this.lengths=[];for(var r=0;r<19;){r++;this.lengths.push(-1)}this.window=new haxe_zip__$InflateImpl_Window(a)};haxe_zip_InflateImpl.__name__=!0,haxe_zip_InflateImpl.prototype={buildFixedHuffman:function(){if(null!=haxe_zip_InflateImpl.FIXED_HUFFMAN)return haxe_zip_InflateImpl.FIXED_HUFFMAN;for(var e=[],t=0;t<288;){var a=t++;e.push(a<=143?8:a<=255?9:a<=279?7:8)}return haxe_zip_InflateImpl.FIXED_HUFFMAN=this.htools.make(e,0,288,10),haxe_zip_InflateImpl.FIXED_HUFFMAN},readBytes:function(e,t,a){if(this.needed=a,this.outpos=t,this.output=e,a>0)for(;this.inflateLoop(););return a-this.needed},getBits:function(e){for(;this.nbits>=e,t},getBit:function(){0==this.nbits&&(this.nbits=8,this.bits=this.input.readByte());var e=1==(1&this.bits);return this.nbits--,this.bits>>=1,e},getRevBits:function(e){return 0==e?0:this.getBit()?1<t)throw new js__$Boot_HaxeError("Invalid data");for(;at)throw new js__$Boot_HaxeError("Invalid data");break;case 18:if((a+=11+this.getBits(7))>t)throw new js__$Boot_HaxeError("Invalid data");break;default:throw new js__$Boot_HaxeError("Invalid data")}}},inflateLoop:function(){switch(this.state[1]){case 0:var e=this.input.readByte();if(8!=(15&e))throw new js__$Boot_HaxeError("Invalid data");var t=this.input.readByte(),a=0!=(32&t);if(((e<<8)+t)%31!=0)throw new js__$Boot_HaxeError("Invalid data");if(a)throw new js__$Boot_HaxeError("Unsupported dictionary");return this.state=haxe_zip__$InflateImpl_State.Block,!0;case 1:switch(this.final=this.getBit(),this.getBits(2)){case 0:if(this.len=this.input.readUInt16(),this.input.readUInt16()!=65535-this.len)throw new js__$Boot_HaxeError("Invalid data");this.state=haxe_zip__$InflateImpl_State.Flat;var r=this.inflateLoop();return this.resetBits(),r;case 1:return this.huffman=this.buildFixedHuffman(),this.huffdist=null,this.state=haxe_zip__$InflateImpl_State.CData,!0;case 2:for(var i=this.getBits(5)+257,s=this.getBits(5)+1,n=this.getBits(4)+4,_=0,o=n;_0;if(256==f)return this.state=this.final?haxe_zip__$InflateImpl_State.Crc:haxe_zip__$InflateImpl_State.Block,!0;f-=257;var g=haxe_zip_InflateImpl.LEN_EXTRA_BITS_TBL[f];if(-1==g)throw new js__$Boot_HaxeError("Invalid data");this.len=haxe_zip_InflateImpl.LEN_BASE_VAL_TBL[f]+this.getBits(g);var m=null==this.huffdist?this.getRevBits(5):this.applyHuffman(this.huffdist);if(-1==(g=haxe_zip_InflateImpl.DIST_EXTRA_BITS_TBL[m]))throw new js__$Boot_HaxeError("Invalid data");if(this.dist=haxe_zip_InflateImpl.DIST_BASE_VAL_TBL[m]+this.getBits(g),this.dist>this.window.available())throw new js__$Boot_HaxeError("Invalid data");return this.state=1==this.dist?haxe_zip__$InflateImpl_State.DistOne:haxe_zip__$InflateImpl_State.Dist,!0;case 3:var v=this.len0;case 4:var b=this.window.checksum();if(null==b)return this.state=haxe_zip__$InflateImpl_State.Done,!0;var y=haxe_crypto_Adler32.read(this.input);if(!b.equals(y))throw new js__$Boot_HaxeError("Invalid CRC");return this.state=haxe_zip__$InflateImpl_State.Done,!0;case 5:for(;this.len>0&&this.needed>0;){var S=this.len0;case 6:var B=this.len0;case 7:return!1}},__class__:haxe_zip_InflateImpl};var haxe_zip_Reader=$hxClasses["haxe.zip.Reader"]=function(e){this.i=e};haxe_zip_Reader.__name__=!0,haxe_zip_Reader.readZip=function(e){return new haxe_zip_Reader(e).read()},haxe_zip_Reader.unzip=function(e){if(!e.compressed)return e.data;var t=new haxe_zip_Uncompress(-15),a=new haxe_io_Bytes(new ArrayBuffer(e.fileSize)),r=t.execute(e.data,0,a,0);if(t.close(),!r.done||r.read!=e.data.length||r.write!=e.fileSize)throw new js__$Boot_HaxeError("Invalid compressed data for "+e.fileName);return e.compressed=!1,e.dataSize=e.fileSize,e.data=a,e.data},haxe_zip_Reader.prototype={readZipDate:function(){var e=this.i.readUInt16(),t=e>>11&31,a=e>>5&63,r=31&e,i=this.i.readUInt16(),s=i>>9,n=i>>5&15,_=31&i;return new Date(s+1980,n-1,_,t,a,r<<1)},readExtraFields:function(e){for(var t=new List;e>0;){if(e<4)throw new js__$Boot_HaxeError("Invalid extra fields data");var a=this.i.readUInt16(),r=this.i.readUInt16();if(et.length)throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds);r.b;for(var n=t.b,_=0,o=s;_0){for(var e=0,t=iron_App.traitInits;e0){for(var t=0,a=iron_App.traitInits;t0)iron_data_Data.getMaterial(n,e.material_refs[0],function(t){var r=s.addDecalObject(t,a);s.returnObject(r,e,i)});else{var m=this.addDecalObject(null,a);this.returnObject(m,e,i)}else if("object"==e.type){var v=this.addObject(a);this.returnObject(v,e,i),this.empties.push(v)}else i(null)},returnMeshObject:function(e,t,a,r,i,s,n,_){var o=this;iron_data_Data.getMesh(e,t,r,function(e){var t=o.addMeshObject(e,i,s);null!=n.particle_refs&&n.particle_refs.length>0&&js_Boot.__cast(t,iron_object_MeshObject).setupParticleSystem(a,n.particle_refs[0]),null!=n.dimensions&&t.transform.setDimensions(n.dimensions[0],n.dimensions[1],n.dimensions[2]),o.returnObject(t,n,_)})},returnObject:function(e,t,a){if(null!=e){if(e.raw=t,e.name=t.name,null!=t.visible&&(e.visible=t.visible),null!=t.visible_mesh&&(e.visibleMesh=t.visible_mesh),null!=t.visible_shadow&&(e.visibleShadow=t.visible_shadow),iron_Scene.createConstraints(t.constraints,e),iron_Scene.generateTranform(t,e.transform),iron_Scene.setupAnimation(t.animation_setup,e),null==t.dimensions){var r=e.transform.scale;e.transform.setDimensions(2*r.x,2*r.y,2*r.z)}iron_Scene.createTraits(t.traits,e)}a(e)},setupGroup:function(e,t){var a=e.raw;if(null!=a.group_ref)for(var r=0,i=t.groups;rt.w?1:-1});for(var h=this.instancedVB,l=h.lock(),c=0,d=l.length/3|0;ct.x&&(t.x=this.positions[a]),this.positions[a+1]>t.y&&(t.y=this.positions[a+1]),this.positions[a+2]>t.z&&(t.z=this.positions[a+2]),this.positions[a]0){var r=e.bind_textures.length,i=new Array(r);this.textures=i;for(var s=0,n=0,_=e.bind_textures.length;n<_;){var o=[n++],h=[e.bind_textures[o[0]]];""!=h[0].file?iron_data_Data.getImage(h[0].file,function(r,i){return function(n){if(a.textures[i[0]]=n,s+=1,null!=r[0].mipmaps){for(var _=[];_.length0},iron_data_MeshBatch.isBatchable=function(e){return!(e.data.isSkinned||e.materials.length>1||iron_data_MeshBatch.isLod(e)||e.data.geom.instanced)},iron_data_MeshBatch.prototype={remove:function(){for(var e=this.buckets.iterator();e.hasNext();){e.next();this.remove()}},addMesh:function(e){if(iron_data_MeshBatch.isBatchable(e)){var t=e.materials[0].shader,a=this.buckets.h[t.__id__];null==a&&(a=new iron_data_Bucket(t),this.buckets.set(t,a)),a.addMesh(e)}else this.nonBatched.push(e)},removeMesh:function(e){var t=e.materials[0].shader,a=this.buckets.h[t.__id__];null!=a&&a.removeMesh(e)},render:function(e,t,a,r,i){for(var s=this.buckets.iterator();s.hasNext();){var n=s.next();if(n.batched||n.batch(),!(n.meshes.length>0&&n.meshes[0].cullMaterial(t,a))){e.setPipeline(n.shader.getContext(t).pipeState),e.setVertexBuffer(n.vertexBuffer),e.setIndexBuffer(n.indexBuffer),iron_data_RenderPath.sortMeshes(n.meshes,a);for(var _=0,o=n.meshes;_0?e.lamps[e.currentLampIndex]:null).data.raw.cast_shadow},iron_data_RenderPath.lampIsSun=function(e){return"sun"==(e.lamps.length>0?e.lamps[e.currentLampIndex]:null).data.raw.type},iron_data_RenderPath.voxelize=function(e){return!(++iron_data_RenderPath.voxelized>2)},iron_data_RenderPath.createScreenAlignedData=function(){var e=[-1,-1,3,-1,-1,3],t=[0,1,2],a=new kha_graphics4_VertexStructure;a.add("pos",kha_graphics4_VertexData.Float2),iron_data_RenderPath.screenAlignedVB=new kha_graphics4_VertexBuffer(e.length/(a.byteSize()/4|0)|0,a,kha_graphics4_Usage.StaticUsage);for(var r=iron_data_RenderPath.screenAlignedVB.lock(),i=0,s=r.length;i=t.cameraDistance?1:-1})},iron_data_RenderPath.prototype={unload:function(){this.data.pathdata.unload()},getLamp:function(e){return this.lamps.length>0?this.lamps[e]:null},renderFrame:function(e,t,a){if(this.ready){this.frameRenderTarget=null==this.camera.data.mirror?e:this.camera.data.mirror.get_g4(),this.currentRenderTarget=this.frameRenderTarget,this.currentRenderTargetW=kha_System.windowWidth(),this.currentRenderTargetH=kha_System.windowHeight(),this.currentRenderTargetD=1,this.currentRenderTargetCube=!1,this.currentRenderTargetFace=-1,this.meshesSorted=!1,this.lamps=a,this.currentLampIndex=0;for(var r=0;r0?this.lamps[this.currentLampIndex]:null).data.raw.shadowmap_cube){var s=this.data.pathdata.renderTargets,n=a+"Cube";if(null==(i=null!=__map_reserved[n]?s.getReserved(n):s.h[n])){var _=(this.lamps.length>0?this.lamps[this.currentLampIndex]:null).data.raw.shadowmap_size/2|0,o={name:a+"Cube",width:_,height:_,format:"DEPTH16",is_cubemap:!0};i=this.data.pathdata.createRenderTarget(o)}}if("shadowMap"==a&&null==i){var h=(this.lamps.length>0?this.lamps[this.currentLampIndex]:null).data.raw.shadowmap_size,l={name:a,width:h,height:h,format:"DEPTH16"};i=this.data.pathdata.createRenderTarget(l)}var c=null;if(e.length>2){c=[];for(var d=2,u=e.length;d=0?this.currentRenderTargetFace++:this.currentRenderTargetFace=i.isCubeMap?0:-1;var v=this.currentRenderTarget,k=this.currentRenderTargetFace;k>=0?v.beginFace(5-k):v.begin(c)}var b=parseFloat(e[0]);if(1!=b){this.viewportScaled=!0;var y=this.currentRenderTargetW*b|0,S=this.currentRenderTargetH*b|0;this.currentRenderTarget.viewport(0,S,y,S),this.currentRenderTarget.scissor(0,S,y,S)}else this.viewportScaled&&(this.viewportScaled=!1,this.setCurrentViewport(this.currentRenderTargetW,this.currentRenderTargetH),this.setCurrentScissor(this.currentRenderTargetW,this.currentRenderTargetH));this.bindParams=null},begin:function(e,t,a){null==a&&(a=-1),a>=0?e.beginFace(5-a):e.begin(t)},end:function(e){e.end(),this.scissorSet&&(e.disableScissor(),this.scissorSet=!1),this.bindParams=null,this.drawPerformed=!0},setCurrentViewport:function(e,t){this.currentRenderTarget.viewport(0,this.currentRenderTargetH-t,e,t)},setCurrentScissor:function(e,t){this.currentRenderTarget.scissor(0,this.currentRenderTargetH-t,e,t),this.scissorSet=!0},setFrameScissor:function(){this.frameRenderTarget.scissor(this.frameScissorX,this.currentRenderTargetH-(this.frameScissorH-this.frameScissorY),this.frameScissorW,this.frameScissorH)},setViewport:function(e,t){var a=0|parseFloat(e[0]),r=0|parseFloat(e[1]);this.setCurrentViewport(a,r),this.setCurrentScissor(a,r)},clearTarget:function(e,t){for(var a=null,r=null,i=0,s=e.length/2|0;i0?this.lamps[this.currentLampIndex]:null;if((null==r||r.visible||!(this.currentLampIndex>0))&&(a!=this.data.pathdata.raw.shadows_context||null!=r&&r.data.raw.cast_shadow)){this.currentRenderTargetFace>=0&&null!=r&&r.setCubeFace(5-this.currentRenderTargetFace,this.camera);var i=this.currentRenderTarget;this.meshesSorted||(iron_data_RenderPath.sortMeshes(iron_Scene.active.meshes,this.camera),this.meshesSorted=!0);for(var s=0,n=iron_Scene.active.meshes;s=0&&this.currentRenderTargetFace<5?this.currentStageIndexOffset=-3:this.currentRenderTargetFace=-1}},getRectContexts:function(e,t,a,r){for(var i=0,s=e.raw.contexts.length;i1?1:e},drawRects:function(e,t){null==iron_data_RenderPath.rectVB&&iron_data_RenderPath.createRectData();for(var a=this.currentRenderTarget,r=e[0],i=this.lamps.length>0?this.lamps[this.currentLampIndex]:null,s=[],n=[],_=[],o=0,h=iron_Scene.active.meshes;of.x-g.x/2&&(m.x=f.x-g.x/2),m.y>f.y-g.y/2&&(m.y=f.y-g.y/2),m.z>f.z-g.z/2&&(m.z=f.z-g.z/2),v.xR.z&&(R.z=D.x),D.y>R.w&&(R.w=D.y))}y.push(R)}a.setIndexBuffer(iron_data_RenderPath.rectIB);for(var P=0,F=s.length;P1?1:z;var O=E.y;L[1]=O<-1?-1:O>1?1:O;var H=E.x+U;L[2]=H<-1?-1:H>1?1:H;var G=E.y;L[3]=G<-1?-1:G>1?1:G;var W=E.x+U;L[4]=W<-1?-1:W>1?1:W;var K=E.y+N;L[5]=K<-1?-1:K>1?1:K;var Z=E.x;L[6]=Z<-1?-1:Z>1?1:Z;var Q=E.y+N;L[7]=Q<-1?-1:Q>1?1:Q,iron_data_RenderPath.rectVB.unlock(),a.setVertexBuffer(iron_data_RenderPath.rectVB),this.currentMaterial=j;var q=[],Y=[];this.getRectContexts(j,r,q,Y),a.setPipeline(j.shader.getContext(r).pipeState),iron_object_Uniforms.setConstants(a,Y[0],null,this.camera,i,this.bindParams),iron_object_Uniforms.setMaterialConstants(a,Y[0],q[0]),a.drawIndexedVertices()}this.currentMaterial=null,a.end(),this.scissorSet&&(a.disableScissor(),this.scissorSet=!1),this.bindParams=null,this.drawPerformed=!0},drawDecals:function(e,t){null==iron_data_RenderPath.boxVB&&iron_data_RenderPath.createBoxData();for(var a=e[0],r=this.currentRenderTarget,i=this.lamps.length>0?this.lamps[this.currentLampIndex]:null,s=0,n=iron_Scene.active.decals;s0?this.lamps[this.currentLampIndex]:null,s=iron_data_GreasePencilData.getContext(e[0]);r.setPipeline(s.pipeState),iron_object_Uniforms.setConstants(r,s,null,this.camera,i,null);for(var n=0,_=a.layers;n<_.length;){var o=_[n];++n,o.frames.length-1>o.currentFrame&&iron_data_RenderPath.gpFrame>=o.frames[o.currentFrame+1].raw.frame_number&&o.currentFrame++;var h=o.frames[o.currentFrame];h.numVertices>0&&(r.setVertexBuffer(h.vertexBuffer),r.setIndexBuffer(h.indexBuffer),r.drawIndexedVertices())}if(iron_data_RenderPath.gpFrame++,iron_data_RenderPath.gpFrame>iron_data_GreasePencilData.frameEnd){iron_data_RenderPath.gpFrame=0;for(var l=0,c=a.layers;l0?this.lamps[this.currentLampIndex]:null;iron_object_Uniforms.setConstants(s,i.context,null,this.camera,n,this.bindParams),null!=i.materialContext&&iron_object_Uniforms.setMaterialConstants(s,i.context,i.materialContext),s.setVertexBuffer(iron_data_RenderPath.skydomeVB),s.setIndexBuffer(iron_data_RenderPath.skydomeIB),s.drawIndexedVertices(),s.end(),this.scissorSet&&(s.disableScissor(),this.scissorSet=!1),this.bindParams=null,this.drawPerformed=!0}},drawLampVolume:function(e,t){var a=null,r=null,i=this.lamps.length>0?this.lamps[this.currentLampIndex]:null,s=i.data.raw.type;"point"==s||"area"==s?(null==iron_data_RenderPath.sphereVB&&iron_data_RenderPath.createSphereData(),a=iron_data_RenderPath.sphereVB,r=iron_data_RenderPath.sphereIB):"spot"==s&&(null==iron_data_RenderPath.sphereVB&&iron_data_RenderPath.createSphereData(),a=iron_data_RenderPath.sphereVB,r=iron_data_RenderPath.sphereIB);var n=e[0],_=this.cachedShaderContexts,o=null!=__map_reserved[n]?_.getReserved(n):_.h[n],h=this.currentRenderTarget;h.setPipeline(o.context.pipeState),iron_object_Uniforms.setConstants(h,o.context,null,this.camera,i,this.bindParams),null!=o.materialContext&&iron_object_Uniforms.setMaterialConstants(h,o.context,o.materialContext),h.setVertexBuffer(a),h.setIndexBuffer(r),h.drawIndexedVertices(),h.end(),this.scissorSet&&(h.disableScissor(),this.scissorSet=!1),this.bindParams=null,this.drawPerformed=!0},bindTarget:function(e,t){if(null!=this.bindParams)for(var a=0;a0?this.lamps[this.currentLampIndex]:null;iron_object_Uniforms.setConstants(a,e.context,null,this.camera,r,this.bindParams),null!=e.materialContext&&iron_object_Uniforms.setMaterialConstants(a,e.context,e.materialContext),a.setVertexBuffer(iron_data_RenderPath.screenAlignedVB),a.setIndexBuffer(iron_data_RenderPath.screenAlignedIB),a.drawIndexedVertices(),a.end(),this.scissorSet&&(a.disableScissor(),this.scissorSet=!1),this.bindParams=null,this.drawPerformed=!0},callFunction:function(e,t){var a=e[0],r=a.lastIndexOf("."),i=HxOverrides.substr(a,0,r),s=Type.resolveClass(i),n=HxOverrides.substr(a,r+1,null),_=this.currentStages[this.currentStageIndex];if(null==_.returns_true&&null==_.returns_false)Reflect.field(s,n).apply(s,[this]);else{var o=Reflect.field(s,n).apply(s,[this])?_.returns_true:_.returns_false;if(null!=o){var h=this.currentStages;this.currentStages=o,this.callCurrentStages(t),this.currentStages=h}}},loopLamps:function(e,t){var a=this.currentStages[this.currentStageIndex].returns_true,r=this.currentStages;this.currentStages=a,this.currentLampIndex=0,this.loopFinished++;for(var i=0,s=this.lamps.length;i0?e.params[0]:"";switch(e.command){case"call_function":this.cacheReturnsBoth(e,t);break;case"draw_lamp_volume":this.cacheShaderQuad(a,t);break;case"draw_material_quad":this.cacheMaterialQuad(a,t);break;case"draw_shader_quad":this.cacheShaderQuad(a,t);break;case"draw_skydome":this.cacheMaterialQuad(a,t);break;case"loop_lamps":this.cacheReturnsTrue(e,t);break;default:t()}},cacheReturnsBoth:function(e,t){var a=0,r=0;null!=e.returns_true&&e.returns_true.length>0&&(r+=1),null!=e.returns_false&&e.returns_false.length>0&&(r+=1),0==r&&t(),null!=e.returns_true&&e.returns_true.length>0&&this.loadStageCommands(e.returns_true,function(){(a+=1)==r&&t()}),null!=e.returns_false&&e.returns_false.length>0&&this.loadStageCommands(e.returns_false,function(){(a+=1)==r&&t()})},cacheReturnsTrue:function(e,t){null!=e.returns_true?this.loadStageCommands(e.returns_true,t):t()},cacheMaterialQuad:function(e,t){var a=this.cachedShaderContexts,r=null!=__map_reserved[e]?a.getReserved(e):a.h[e];if(null==r){r=new iron_data_CachedShaderContext;var i=this.cachedShaderContexts;null!=__map_reserved[e]?i.setReserved(e,r):i.h[e]=r;var s=null;null!=(s="_"==e.charAt(0)?this.parseMaterialLink(e):e.split("/"))?iron_data_Data.getMaterial(s[0],s[1],function(e){r.materialContext=e.getContext(s[2]),r.context=e.shader.getContext(s[2]),t()}):t()}else t()},cacheShaderQuad:function(e,t){var a=this.cachedShaderContexts,r=null!=__map_reserved[e]?a.getReserved(e):a.h[e];if(null==r){r=new iron_data_CachedShaderContext;var i=this.cachedShaderContexts;null!=__map_reserved[e]?i.setReserved(e,r):i.h[e]=r;var s=e.split("/");iron_data_Data.getShader(s[0],s[1],null,function(e){r.materialContext=null,r.context=e.getContext(s[2]),t()})}else t()},__class__:iron_data_RenderPath};var iron_data_CachedShaderContext=$hxClasses["iron.data.CachedShaderContext"]=function(){};iron_data_CachedShaderContext.__name__=!0,iron_data_CachedShaderContext.prototype={__class__:iron_data_CachedShaderContext};var iron_data_RenderPathData=$hxClasses["iron.data.RenderPathData"]=function(e,t){if(this.depthToRenderTarget=new haxe_ds_StringMap,this.renderTargets=new haxe_ds_StringMap,iron_data_Data.call(this),this.raw=e,this.name=e.name,null!=e.render_targets&&e.render_targets.length>0)for(var a=0,r=e.render_targets;a1&&(t.is3D=!0),e.is_cubemap?(t.isCubeMap=!0,t.cubeMap=this.createCubeMap(e,0)):t.image=this.createImage(e,0);return t},createImage:function(e,t){var a=0==e.width?kha_System.windowWidth():e.width,r=0==e.height?kha_System.windowHeight():e.height,i=null!=e.depth?e.depth:0;if(null!=e.scale&&(a=a*e.scale|0,r=r*e.scale|0,i=i*e.scale|0),null!=e.depth&&e.depth>1){var s;if(null!=e.format)switch(e.format){case"A16":s=kha_graphics4_TextureFormat.A16;break;case"A32":s=kha_graphics4_TextureFormat.A32;break;case"A8":s=kha_graphics4_TextureFormat.L8;break;case"DEPTH16":s=kha_graphics4_TextureFormat.DEPTH16;break;case"RGBA128":s=kha_graphics4_TextureFormat.RGBA128;break;case"RGBA32":s=kha_graphics4_TextureFormat.RGBA32;break;case"RGBA64":s=kha_graphics4_TextureFormat.RGBA64;break;default:s=kha_graphics4_TextureFormat.RGBA32}else s=kha_graphics4_TextureFormat.RGBA32;return kha_Image.create3D(a,r,i,s)}if(null!=e.is_image&&e.is_image){var n;if(null!=e.format)switch(e.format){case"A16":n=kha_graphics4_TextureFormat.A16;break;case"A32":n=kha_graphics4_TextureFormat.A32;break;case"A8":n=kha_graphics4_TextureFormat.L8;break;case"DEPTH16":n=kha_graphics4_TextureFormat.DEPTH16;break;case"RGBA128":n=kha_graphics4_TextureFormat.RGBA128;break;case"RGBA32":n=kha_graphics4_TextureFormat.RGBA32;break;case"RGBA64":n=kha_graphics4_TextureFormat.RGBA64;break;default:n=kha_graphics4_TextureFormat.RGBA32}else n=kha_graphics4_TextureFormat.RGBA32;return kha_Image.create(a,r,n)}var _;if(null!=e.format)switch(e.format){case"A16":_=kha_graphics4_TextureFormat.A16;break;case"A32":_=kha_graphics4_TextureFormat.A32;break;case"A8":_=kha_graphics4_TextureFormat.L8;break;case"DEPTH16":_=kha_graphics4_TextureFormat.DEPTH16;break;case"RGBA128":_=kha_graphics4_TextureFormat.RGBA128;break;case"RGBA32":_=kha_graphics4_TextureFormat.RGBA32;break;case"RGBA64":_=kha_graphics4_TextureFormat.RGBA64;break;default:_=kha_graphics4_TextureFormat.RGBA32}else _=kha_graphics4_TextureFormat.RGBA32;return kha_Image.createRenderTarget(a,r,_,t)},createCubeMap:function(e,t){var a;if(null!=e.format)switch(e.format){case"A16":a=kha_graphics4_TextureFormat.A16;break;case"A32":a=kha_graphics4_TextureFormat.A32;break;case"A8":a=kha_graphics4_TextureFormat.L8;break;case"DEPTH16":a=kha_graphics4_TextureFormat.DEPTH16;break;case"RGBA128":a=kha_graphics4_TextureFormat.RGBA128;break;case"RGBA32":a=kha_graphics4_TextureFormat.RGBA32;break;case"RGBA64":a=kha_graphics4_TextureFormat.RGBA64;break;default:a=kha_graphics4_TextureFormat.RGBA32}else a=kha_graphics4_TextureFormat.RGBA32;return kha_graphics4_CubeMap.createRenderTarget(e.width,a,t)},getTextureFormat:function(e){switch(e){case"A16":return kha_graphics4_TextureFormat.A16;case"A32":return kha_graphics4_TextureFormat.A32;case"A8":return kha_graphics4_TextureFormat.L8;case"DEPTH16":return kha_graphics4_TextureFormat.DEPTH16;case"RGBA128":return kha_graphics4_TextureFormat.RGBA128;case"RGBA32":return kha_graphics4_TextureFormat.RGBA32;case"RGBA64":return kha_graphics4_TextureFormat.RGBA64;default:return kha_graphics4_TextureFormat.RGBA32}},getDepthStencilFormat:function(e){if(null==e||""==e)return 1;switch(e){case"DEPTH16":return 5;case"DEPTH24":default:return 1}},__class__:iron_data_RenderPathData});var iron_data_RenderTarget=$hxClasses["iron.data.RenderTarget"]=function(){this.isCubeMap=!1,this.is3D=!1,this.pong=null,this.pongState=!1,this.hasDepth=!1,this.cubeMap=null,this.image=null};iron_data_RenderTarget.__name__=!0,iron_data_RenderTarget.prototype={unload:function(){null!=this.image&&this.image.unload(),null!=this.cubeMap&&this.cubeMap.unload(),null!=this.pong&&this.pong.unload()},__class__:iron_data_RenderTarget};var iron_data_StreamSector=$hxClasses["iron.data.StreamSector"]=function(){this.handles=[]};iron_data_StreamSector.__name__=!0,iron_data_StreamSector.prototype={__class__:iron_data_StreamSector};var iron_data_SceneStream=$hxClasses["iron.data.SceneStream"]=function(){this.unloadDistance=-1,this.loadDistance=-1,this.loading=0,this.loadMax=8,this.checkPos=0,this.checkMax=64,this.sectors=[new iron_data_StreamSector]};iron_data_SceneStream.__name__=!0,iron_data_SceneStream.prototype={sceneTotal:function(){return this.sectors[0].handles.length},add:function(e,t,a,r,i,s,n){this.sectors[0].handles.push({object_file:e,data_ref:t,sceneName:a,boneObjects:r,materials:i,parent:s,obj:n,object:null,loading:!1})},setup:function(e){this.loadDistance=1.1*e.data.raw.far_plane|0,this.unloadDistance=1.5*e.data.raw.far_plane|0},update:function(e){var t=this;if(-1==this.loadDistance&&this.setup(e),!(this.loading>=this.loadMax))for(var a=this.sectors[0],r=0,i=0|Math.min(this.checkMax,a.handles.length);r=a.handles.length&&(this.checkPos=0);var n=e.transform.world.self._30,_=e.transform.world.self._31,o=e.transform.world.self._32,h=n-s[0].obj.transform.values[3],l=_-s[0].obj.transform.values[7],c=o-s[0].obj.transform.values[11],d=Math.sqrt(h*h+l*l+c*c),u=s[0].obj.dimensions;if(null!=u){var p=u[0];u[1]>p&&(p=u[1]),u[2]>p&&(p=u[2]),d-=p}if(d=this.loadMax)return}else d>this.unloadDistance&&null!=s[0].object&&(s[0].object.remove(),s[0].object.data.refcount<=0&&iron_data_Data.deleteMesh(s[0].object_file+s[0].data_ref),s[0].object=null)}},__class__:iron_data_SceneStream};var iron_data_ShaderData=$hxClasses["iron.data.ShaderData"]=function(e,t,a){this.contexts=[];var r=this;iron_data_Data.call(this),this.raw=e,this.name=e.name;for(var i=0,s=e.contexts;i0){this.probes=[];for(var r=0,i=e.probes;rs.volumeMax.x||this.vec.y+t.y/2s.volumeMax.y||this.vec.z+t.z/2s.volumeMax.z))return i}return 0},getProbeVolumeCenter:function(e){return this.probes[this.getProbeID(e)].volumeCenter},getProbeVolumeSize:function(e){return this.probes[this.getProbeID(e)].volume},getProbeStrength:function(e){return this.probes[this.getProbeID(e)].raw.strength},getProbeBlending:function(e){return this.probes[this.getProbeID(e)].raw.blending},__class__:iron_data_WorldData});var iron_data_Probe=$hxClasses["iron.data.Probe"]=function(e,t){var a=this;this.raw=e,this.setIrradiance(function(r){a.irradiance=r,null!=e.radiance?iron_data_Data.getImage(e.radiance,function(r){a.radiance=r;for(var i=[];i.length0){var t=1/e;this.x*=t,this.y*=t,this.z*=t}return this},mult:function(e){return this.x*=e,this.y*=e,this.z*=e,this},dot:function(e){return this.x*e.x+this.y*e.y+this.z*e.z},setFrom:function(e){return this.x=e.x,this.y=e.y,this.z=e.z,this},clone:function(){return new iron_math_Vec4(this.x,this.y,this.z,this.w)},applyproj:function(e){var t=this.x,a=this.y,r=this.z,i=1/(e.self._03*t+e.self._13*a+e.self._23*r+e.self._33);return this.x=(e.self._00*t+e.self._10*a+e.self._20*r+e.self._30)*i,this.y=(e.self._01*t+e.self._11*a+e.self._21*r+e.self._31)*i,this.z=(e.self._02*t+e.self._12*a+e.self._22*r+e.self._32)*i,this},applymat:function(e){var t=this.x,a=this.y,r=this.z;return this.x=e.self._00*t+e.self._10*a+e.self._20*r+e.self._30,this.y=e.self._01*t+e.self._11*a+e.self._21*r+e.self._31,this.z=e.self._02*t+e.self._12*a+e.self._22*r+e.self._32,this},applymat4:function(e){var t=this.x,a=this.y,r=this.z,i=this.w;return this.x=e.self._00*t+e.self._10*a+e.self._20*r+e.self._30*i,this.y=e.self._01*t+e.self._11*a+e.self._21*r+e.self._31*i,this.z=e.self._02*t+e.self._12*a+e.self._22*r+e.self._32*i,this.w=e.self._03*t+e.self._13*a+e.self._23*r+e.self._33*i,this},applyAxisAngle:function(e,t){return this.quat.fromAxisAngle(e,t),this.applyQuat(this.quat)},applyQuat:function(e){var t=e.w*this.x+e.y*this.z-e.z*this.y,a=e.w*this.y+e.z*this.x-e.x*this.z,r=e.w*this.z+e.x*this.y-e.y*this.x,i=-e.x*this.x-e.y*this.y-e.z*this.z;return this.x=t*e.w+i*-e.x+a*-e.z-r*-e.y,this.y=a*e.w+i*-e.y+r*-e.x-t*-e.z,this.z=r*e.w+i*-e.z+t*-e.y-a*-e.x,this},equals:function(e){return this.x==e.x&&this.y==e.y&&this.z==e.z},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},sub:function(e){return this.x-=e.x,this.y-=e.y,this.z-=e.z,this},distanceTo:function(e){return Math.sqrt((e.x-this.x)*(e.x-this.x)+(e.y-this.y)*(e.y-this.y)+(e.z-this.z)*(e.z-this.z))},toString:function(){return"("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},__class__:iron_math_Vec4};var iron_math_Mat4=$hxClasses["iron.math.Mat4"]=function(e,t,a,r,i,s,n,_,o,h,l,c,d,u,p,f){this.self=new kha_math_FastMatrix4(e,t,a,r,i,s,n,_,o,h,l,c,d,u,p,f)};iron_math_Mat4.__name__=!0,iron_math_Mat4.identity=function(){return new iron_math_Mat4(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)},iron_math_Mat4.fromArray=function(e,t){return null==t&&(t=0),new iron_math_Mat4(e[t],e[1+t],e[2+t],e[3+t],e[4+t],e[5+t],e[6+t],e[7+t],e[8+t],e[9+t],e[10+t],e[11+t],e[12+t],e[13+t],e[14+t],e[15+t])},iron_math_Mat4.fromFloat32Array=function(e,t){return null==t&&(t=0),new iron_math_Mat4(e[t],e[1+t],e[2+t],e[3+t],e[4+t],e[5+t],e[6+t],e[7+t],e[8+t],e[9+t],e[10+t],e[11+t],e[12+t],e[13+t],e[14+t],e[15+t])},iron_math_Mat4.perspective=function(e,t,a,r){var i=1/Math.tan(e/2);return new iron_math_Mat4(i/t,0,0,0,0,i,0,0,0,0,(r+a)/(a-r),2*r*a/(a-r),0,0,-1,0)},iron_math_Mat4.orthogonal=function(e,t,a,r,i,s,n){null==n&&(n=2);var _=t-e,o=r-a,h=s-i;return new iron_math_Mat4(n/_,0,0,-((t+e)/_),0,n/o,0,-((r+a)/o),0,0,-n/h,-((s+i)/h),0,0,0,1)},iron_math_Mat4.lookAt=function(e,t,a){return iron_math_Mat4.identity().setLookAt(e,t,a)},iron_math_Mat4.prototype={compose:function(e,t,a){return this.fromQuaternion(t),this.scale(a),this.setLocation(e),this},decompose:function(e,t,a){iron_math_Mat4.helpVec.w=0;var r=iron_math_Mat4.helpVec.set(this.self._00,this.self._01,this.self._02),i=Math.sqrt(r.x*r.x+r.y*r.y+r.z*r.z),s=iron_math_Mat4.helpVec.set(this.self._10,this.self._11,this.self._12),n=Math.sqrt(s.x*s.x+s.y*s.y+s.z*s.z),_=iron_math_Mat4.helpVec.set(this.self._20,this.self._21,this.self._22),o=Math.sqrt(_.x*_.x+_.y*_.y+_.z*_.z),h=this.self,l=h._12,c=h._22,d=h._32,u=h._13,p=h._23,f=h._33,g=h._11*(c*f-d*p)-h._21*(l*f-d*u)+h._31*(l*p-c*u),m=h._12,v=h._22,k=h._32,b=h._13,y=h._23,S=h._33,x=h._10*(v*S-k*y)-h._20*(m*S-k*b)+h._30*(m*y-v*b),B=h._11,w=h._21,I=h._31,T=h._13,C=h._23,M=h._33,A=h._10*(w*M-I*C)-h._20*(B*M-I*T)+h._30*(B*C-w*T),R=h._11,V=h._21,D=h._31,P=h._12,F=h._22,$=h._32,j=h._10*(V*$-D*F)-h._20*(R*$-D*P)+h._30*(R*F-V*P);h._00*g-h._01*x+h._02*A-h._03*j<0&&(i=-i),e.x=this.self._30,e.y=this.self._31,e.z=this.self._32,iron_math_Mat4.helpMat.self._00=this.self._00,iron_math_Mat4.helpMat.self._10=this.self._10,iron_math_Mat4.helpMat.self._20=this.self._20,iron_math_Mat4.helpMat.self._30=this.self._30,iron_math_Mat4.helpMat.self._01=this.self._01,iron_math_Mat4.helpMat.self._11=this.self._11,iron_math_Mat4.helpMat.self._21=this.self._21,iron_math_Mat4.helpMat.self._31=this.self._31,iron_math_Mat4.helpMat.self._02=this.self._02,iron_math_Mat4.helpMat.self._12=this.self._12,iron_math_Mat4.helpMat.self._22=this.self._22,iron_math_Mat4.helpMat.self._32=this.self._32,iron_math_Mat4.helpMat.self._03=this.self._03,iron_math_Mat4.helpMat.self._13=this.self._13,iron_math_Mat4.helpMat.self._23=this.self._23,iron_math_Mat4.helpMat.self._33=this.self._33;var E=1/i,U=1/n,N=1/o;return iron_math_Mat4.helpMat.self._00*=E,iron_math_Mat4.helpMat.self._01*=E,iron_math_Mat4.helpMat.self._02*=E,iron_math_Mat4.helpMat.self._03=0,iron_math_Mat4.helpMat.self._10*=U,iron_math_Mat4.helpMat.self._11*=U,iron_math_Mat4.helpMat.self._12*=U,iron_math_Mat4.helpMat.self._13=0,iron_math_Mat4.helpMat.self._20*=N,iron_math_Mat4.helpMat.self._21*=N,iron_math_Mat4.helpMat.self._22*=N,iron_math_Mat4.helpMat.self._23=0,iron_math_Mat4.helpMat.self._30=0,iron_math_Mat4.helpMat.self._31=0,iron_math_Mat4.helpMat.self._32=0,iron_math_Mat4.helpMat.self._33=0,t.fromRotationMat(iron_math_Mat4.helpMat),a.x=i,a.y=n,a.z=o,this},setLocation:function(e){return this.self._30=e.x,this.self._31=e.y,this.self._32=e.z,this},fromQuaternion:function(e){var t=e.x,a=e.y,r=e.z,i=e.w,s=t+t,n=a+a,_=r+r,o=t*s,h=t*n,l=t*_,c=a*n,d=a*_,u=r*_,p=i*s,f=i*n,g=i*_;return this.self._00=1-(c+u),this.self._10=h-g,this.self._20=l+f,this.self._01=h+g,this.self._11=1-(o+u),this.self._21=d-p,this.self._02=l-f,this.self._12=d+p,this.self._22=1-(o+c),this.self._03=0,this.self._13=0,this.self._23=0,this.self._30=0,this.self._31=0,this.self._32=0,this.self._33=1,this},toArray:function(){return[this.self._00,this.self._10,this.self._20,this.self._30,this.self._01,this.self._11,this.self._21,this.self._31,this.self._02,this.self._12,this.self._22,this.self._32,this.self._03,this.self._13,this.self._23,this.self._33]},setIdentity:function(){return this.self._00=1,this.self._01=0,this.self._02=0,this.self._03=0,this.self._10=0,this.self._11=1,this.self._12=0,this.self._13=0,this.self._20=0,this.self._21=0,this.self._22=1,this.self._23=0,this.self._30=0,this.self._31=0,this.self._32=0,this.self._33=1,this},initTranslate:function(e,t,a){null==a&&(a=0),null==t&&(t=0),null==e&&(e=0),this.self._00=1,this.self._01=0,this.self._02=0,this.self._03=0,this.self._10=0,this.self._11=1,this.self._12=0,this.self._13=0,this.self._20=0,this.self._21=0,this.self._22=1,this.self._23=0,this.self._30=e,this.self._31=t,this.self._32=a,this.self._33=1},translate:function(e,t,a){null==a&&(a=0),null==t&&(t=0),null==e&&(e=0),this.self._00+=e*this.self._03,this.self._01+=t*this.self._03,this.self._02+=a*this.self._03,this.self._10+=e*this.self._13,this.self._11+=t*this.self._13,this.self._12+=a*this.self._13,this.self._20+=e*this.self._23,this.self._21+=t*this.self._23,this.self._22+=a*this.self._23,this.self._30+=e*this.self._33,this.self._31+=t*this.self._33,this.self._32+=a*this.self._33},scale:function(e){this.self._00*=e.x,this.self._01*=e.x,this.self._02*=e.x,this.self._03*=e.x,this.self._10*=e.y,this.self._11*=e.y,this.self._12*=e.y,this.self._13*=e.y,this.self._20*=e.z,this.self._21*=e.z,this.self._22*=e.z,this.self._23*=e.z},multmat3x4:function(e,t){var a=e.self._00,r=e.self._01,i=e.self._02,s=e.self._10,n=e.self._11,_=e.self._12,o=e.self._20,h=e.self._21,l=e.self._22,c=e.self._30,d=e.self._31,u=e.self._32,p=t.self._00,f=t.self._01,g=t.self._02,m=t.self._10,v=t.self._11,k=t.self._12,b=t.self._20,y=t.self._21,S=t.self._22,x=t.self._30,B=t.self._31,w=t.self._32;this.self._00=a*p+r*m+i*b,this.self._01=a*f+r*v+i*y,this.self._02=a*g+r*k+i*S,this.self._03=0,this.self._10=s*p+n*m+_*b,this.self._11=s*f+n*v+_*y,this.self._12=s*g+n*k+_*S,this.self._13=0,this.self._20=o*p+h*m+l*b,this.self._21=o*f+h*v+l*y,this.self._22=o*g+h*k+l*S,this.self._23=0,this.self._30=c*p+d*m+u*b+x,this.self._31=c*f+d*v+u*y+B,this.self._32=c*g+d*k+u*S+w,this.self._33=1},multmat:function(e){return new iron_math_Mat4(this.self._00*e.self._00+this.self._10*e.self._01+this.self._20*e.self._02+this.self._30*e.self._03,this.self._00*e.self._10+this.self._10*e.self._11+this.self._20*e.self._12+this.self._30*e.self._13,this.self._00*e.self._20+this.self._10*e.self._21+this.self._20*e.self._22+this.self._30*e.self._23,this.self._00*e.self._30+this.self._10*e.self._31+this.self._20*e.self._32+this.self._30*e.self._33,this.self._01*e.self._00+this.self._11*e.self._01+this.self._21*e.self._02+this.self._31*e.self._03,this.self._01*e.self._10+this.self._11*e.self._11+this.self._21*e.self._12+this.self._31*e.self._13,this.self._01*e.self._20+this.self._11*e.self._21+this.self._21*e.self._22+this.self._31*e.self._23,this.self._01*e.self._30+this.self._11*e.self._31+this.self._21*e.self._32+this.self._31*e.self._33,this.self._02*e.self._00+this.self._12*e.self._01+this.self._22*e.self._02+this.self._32*e.self._03,this.self._02*e.self._10+this.self._12*e.self._11+this.self._22*e.self._12+this.self._32*e.self._13,this.self._02*e.self._20+this.self._12*e.self._21+this.self._22*e.self._22+this.self._32*e.self._23,this.self._02*e.self._30+this.self._12*e.self._31+this.self._22*e.self._32+this.self._32*e.self._33,this.self._03*e.self._00+this.self._13*e.self._01+this.self._23*e.self._02+this.self._33*e.self._03,this.self._03*e.self._10+this.self._13*e.self._11+this.self._23*e.self._12+this.self._33*e.self._13,this.self._03*e.self._20+this.self._13*e.self._21+this.self._23*e.self._22+this.self._33*e.self._23,this.self._03*e.self._30+this.self._13*e.self._31+this.self._23*e.self._32+this.self._33*e.self._33)},multmat2:function(e){var t=this.self._00,a=this.self._01,r=this.self._02,i=this.self._03,s=this.self._10,n=this.self._11,_=this.self._12,o=this.self._13,h=this.self._20,l=this.self._21,c=this.self._22,d=this.self._23,u=this.self._30,p=this.self._31,f=this.self._32,g=this.self._33,m=e.self._00,v=e.self._01,k=e.self._02,b=e.self._03,y=e.self._10,S=e.self._11,x=e.self._12,B=e.self._13,w=e.self._20,I=e.self._21,T=e.self._22,C=e.self._23,M=e.self._30,A=e.self._31,R=e.self._32,V=e.self._33;return this.self._00=t*m+a*y+r*w+i*M,this.self._01=t*v+a*S+r*I+i*A,this.self._02=t*k+a*x+r*T+i*R,this.self._03=t*b+a*B+r*C+i*V,this.self._10=s*m+n*y+_*w+o*M,this.self._11=s*v+n*S+_*I+o*A,this.self._12=s*k+n*x+_*T+o*R,this.self._13=s*b+n*B+_*C+o*V,this.self._20=h*m+l*y+c*w+d*M,this.self._21=h*v+l*S+c*I+d*A,this.self._22=h*k+l*x+c*T+d*R,this.self._23=h*b+l*B+c*C+d*V,this.self._30=u*m+p*y+f*w+g*M,this.self._31=u*v+p*S+f*I+g*A,this.self._32=u*k+p*x+f*T+g*R,this.self._33=u*b+p*B+f*C+g*V,this},multmats:function(e,t){var a=e.self._00,r=e.self._10,i=e.self._20,s=e.self._30,n=e.self._01,_=e.self._11,o=e.self._21,h=e.self._31,l=e.self._02,c=e.self._12,d=e.self._22,u=e.self._32,p=e.self._03,f=e.self._13,g=e.self._23,m=e.self._33,v=t.self._00,k=t.self._10,b=t.self._20,y=t.self._30,S=t.self._01,x=t.self._11,B=t.self._21,w=t.self._31,I=t.self._02,T=t.self._12,C=t.self._22,M=t.self._32,A=t.self._03,R=t.self._13,V=t.self._23,D=t.self._33;return this.self._00=a*v+r*S+i*I+s*A,this.self._10=a*k+r*x+i*T+s*R,this.self._20=a*b+r*B+i*C+s*V,this.self._30=a*y+r*w+i*M+s*D,this.self._01=n*v+_*S+o*I+h*A,this.self._11=n*k+_*x+o*T+h*R,this.self._21=n*b+_*B+o*C+h*V,this.self._31=n*y+_*w+o*M+h*D,this.self._02=l*v+c*S+d*I+u*A,this.self._12=l*k+c*x+d*T+u*R,this.self._22=l*b+c*B+d*C+u*V,this.self._32=l*y+c*w+d*M+u*D,this.self._03=p*v+f*S+g*I+m*A,this.self._13=p*k+f*x+g*T+m*R,this.self._23=p*b+f*B+g*C+m*V,this.self._33=p*y+f*w+g*M+m*D,this},getInverse:function(e){var t=e.self._00,a=e.self._10,r=e.self._20,i=e.self._30,s=e.self._01,n=e.self._11,_=e.self._21,o=e.self._31,h=e.self._02,l=e.self._12,c=e.self._22,d=e.self._32,u=e.self._03,p=e.self._13,f=e.self._23,g=e.self._33;this.self._00=_*d*p-o*c*p+o*l*f-n*d*f-_*l*g+n*c*g,this.self._10=i*c*p-r*d*p-i*l*f+a*d*f+r*l*g-a*c*g,this.self._20=r*o*p-i*_*p+i*n*f-a*o*f-r*n*g+a*_*g,this.self._30=i*_*l-r*o*l-i*n*c+a*o*c+r*n*d-a*_*d,this.self._01=o*c*u-_*d*u-o*h*f+s*d*f+_*h*g-s*c*g,this.self._11=r*d*u-i*c*u+i*h*f-t*d*f-r*h*g+t*c*g,this.self._21=i*_*u-r*o*u-i*s*f+t*o*f+r*s*g-t*_*g,this.self._31=r*o*h-i*_*h+i*s*c-t*o*c-r*s*d+t*_*d,this.self._02=n*d*u-o*l*u+o*h*p-s*d*p-n*h*g+s*l*g,this.self._12=i*l*u-a*d*u-i*h*p+t*d*p+a*h*g-t*l*g,this.self._22=a*o*u-i*n*u+i*s*p-t*o*p-a*s*g+t*n*g,this.self._32=i*n*h-a*o*h-i*s*l+t*o*l+a*s*d-t*n*d,this.self._03=_*l*u-n*c*u-_*h*p+s*c*p+n*h*f-s*l*f,this.self._13=a*c*u-r*l*u+r*h*p-t*c*p-a*h*f+t*l*f,this.self._23=r*n*u-a*_*u-r*s*p+t*_*p+a*s*f-t*n*f,this.self._33=a*_*h-r*n*h+r*s*l-t*_*l-a*s*c+t*n*c;var m=t*this.self._00+s*this.self._10+h*this.self._20+u*this.self._30;return 0==m?this.setIdentity():(this.mult(1/m),this)},transpose:function(){var e=this.self._01;this.self._01=this.self._10,this.self._10=e,e=this.self._02,this.self._02=this.self._20,this.self._20=e,e=this.self._03,this.self._03=this.self._30,this.self._30=e,e=this.self._12,this.self._12=this.self._21,this.self._21=e,e=this.self._13,this.self._13=this.self._31,this.self._31=e,e=this.self._23,this.self._23=this.self._32,this.self._32=e},transpose3x3:function(){var e=this.self._01;this.self._01=this.self._10,this.self._10=e,e=this.self._02,this.self._02=this.self._20,this.self._20=e,e=this.self._12,this.self._12=this.self._21,this.self._21=e},clone:function(){var e=iron_math_Mat4.identity();return e.self._00=this.self._00,e.self._01=this.self._01,e.self._02=this.self._02,e.self._03=this.self._03,e.self._10=this.self._10,e.self._11=this.self._11,e.self._12=this.self._12,e.self._13=this.self._13,e.self._20=this.self._20,e.self._21=this.self._21,e.self._22=this.self._22,e.self._23=this.self._23,e.self._30=this.self._30,e.self._31=this.self._31,e.self._32=this.self._32,e.self._33=this.self._33,e},init:function(e,t,a,r,i,s,n,_,o,h,l,c,d,u,p,f){this.self._00=e,this.self._10=t,this.self._20=a,this.self._30=r,this.self._01=i,this.self._11=s,this.self._21=n,this.self._31=_,this.self._02=o,this.self._12=h,this.self._22=l,this.self._32=c,this.self._03=d,this.self._13=u,this.self._23=p,this.self._33=f},set:function(e,t){null==t&&(t=0),this.self._00=e[t],this.self._10=e[1+t],this.self._20=e[2+t],this.self._30=e[3+t],this.self._01=e[4+t],this.self._11=e[5+t],this.self._21=e[6+t],this.self._31=e[7+t],this.self._02=e[8+t],this.self._12=e[9+t],this.self._22=e[10+t],this.self._32=e[11+t],this.self._03=e[12+t],this.self._13=e[13+t],this.self._23=e[14+t],this.self._33=e[15+t]},setF32:function(e,t){null==t&&(t=0),this.self._00=e[t],this.self._10=e[1+t],this.self._20=e[2+t],this.self._30=e[3+t],this.self._01=e[4+t],this.self._11=e[5+t],this.self._21=e[6+t],this.self._31=e[7+t],this.self._02=e[8+t],this.self._12=e[9+t],this.self._22=e[10+t],this.self._32=e[11+t],this.self._03=e[12+t],this.self._13=e[13+t],this.self._23=e[14+t],this.self._33=e[15+t]},setFrom:function(e){this.self._00=e.self._00,this.self._01=e.self._01,this.self._02=e.self._02,this.self._03=e.self._03,this.self._10=e.self._10,this.self._11=e.self._11,this.self._12=e.self._12,this.self._13=e.self._13,this.self._20=e.self._20,this.self._21=e.self._21,this.self._22=e.self._22,this.self._23=e.self._23,this.self._30=e.self._30,this.self._31=e.self._31,this.self._32=e.self._32,this.self._33=e.self._33},getLoc:function(){return new iron_math_Vec4(this.self._30,this.self._31,this.self._32,this.self._33)},getScale:function(){return new iron_math_Vec4(Math.sqrt(this.self._00*this.self._00+this.self._10*this.self._10+this.self._20*this.self._20),Math.sqrt(this.self._01*this.self._01+this.self._11*this.self._11+this.self._21*this.self._21),Math.sqrt(this.self._02*this.self._02+this.self._12*this.self._12+this.self._22*this.self._22))},mult:function(e){return this.self._00*=e,this.self._10*=e,this.self._20*=e,this.self._30*=e,this.self._01*=e,this.self._11*=e,this.self._21*=e,this.self._31*=e,this.self._02*=e,this.self._12*=e,this.self._22*=e,this.self._32*=e,this.self._03*=e,this.self._13*=e,this.self._23*=e,this.self._33*=e,this},toRotation:function(){var e=new iron_math_Vec4,t=e.set(this.self._00,this.self._01,this.self._02),a=1/Math.sqrt(t.x*t.x+t.y*t.y+t.z*t.z),r=e.set(this.self._10,this.self._11,this.self._12),i=1/Math.sqrt(r.x*r.x+r.y*r.y+r.z*r.z),s=e.set(this.self._20,this.self._21,this.self._22),n=1/Math.sqrt(s.x*s.x+s.y*s.y+s.z*s.z);return this.self._00*=a,this.self._01*=a,this.self._02*=a,this.self._03=0,this.self._10*=i,this.self._11*=i,this.self._12*=i,this.self._13=0,this.self._20*=n,this.self._21*=n,this.self._22*=n,this.self._23=0,this.self._30=0,this.self._31=0,this.self._32=0,this.self._33=1,this},getQuat:function(){this.clone().toRotation();var e=new iron_math_Quat,t=this.self._00,a=this.self._10,r=this.self._20,i=this.self._01,s=this.self._11,n=this.self._21,_=this.self._02,o=this.self._12,h=this.self._22,l=t+s+h,c=0;return l>0?(c=.5/Math.sqrt(l+1),e.w=.25/c,e.x=(o-n)*c,e.y=(r-_)*c,e.z=(i-a)*c):t>s&&t>h?(c=2*Math.sqrt(1+t-s-h),e.w=(o-n)/c,e.x=.25*c,e.y=(a+i)/c,e.z=(r+_)/c):s>h?(c=2*Math.sqrt(1+s-t-h),e.w=(r-_)/c,e.x=(a+i)/c,e.y=.25*c,e.z=(n+o)/c):(c=2*Math.sqrt(1+h-t-s),e.w=(i-a)/c,e.x=(r+_)/c,e.y=(n+o)/c,e.z=.25*c),e},setLookAt:function(e,t,a){var r=t.x-e.x,i=t.y-e.y,s=t.z-e.z,n=1/Math.sqrt(r*r+i*i+s*s);r*=n,s*=n;var _=(i*=n)*a.z-s*a.y,o=s*a.x-r*a.z,h=r*a.y-i*a.x,l=(o*=n=1/Math.sqrt(_*_+o*o+h*h))*s-(h*=n)*i,c=h*r-(_*=n)*s,d=_*i-o*r,u=-e.x*_-e.y*o-e.z*h,p=-e.x*l-e.y*c-e.z*d,f=e.x*r+e.y*i+e.z*s;return this.self._00=_,this.self._10=o,this.self._20=h,this.self._30=u,this.self._01=l,this.self._11=c,this.self._21=d,this.self._31=p,this.self._02=-r,this.self._12=-i,this.self._22=-s,this.self._32=f,this.self._03=0,this.self._13=0,this.self._23=0,this.self._33=1,this},multvec:function(e){var t=this.self,a=new kha_math_FastVector4;return a.x=t._00*e.x+t._10*e.y+t._20*e.z+t._30*e.w,a.y=t._01*e.x+t._11*e.y+t._21*e.z+t._31*e.w,a.z=t._02*e.x+t._12*e.y+t._22*e.z+t._32*e.w,a.w=t._03*e.x+t._13*e.y+t._23*e.z+t._33*e.w,a},right:function(){return new iron_math_Vec4(this.self._00,this.self._01,this.self._02)},up:function(){return new iron_math_Vec4(this.self._20,this.self._21,this.self._22)},look:function(){return new iron_math_Vec4(this.self._10,this.self._11,this.self._12)},get__00:function(){return this.self._00},set__00:function(e){return this.self._00=e},get__01:function(){return this.self._01},set__01:function(e){return this.self._01=e},get__02:function(){return this.self._02},set__02:function(e){return this.self._02=e},get__03:function(){return this.self._03},set__03:function(e){return this.self._03=e},get__10:function(){return this.self._10},set__10:function(e){return this.self._10=e},get__11:function(){return this.self._11},set__11:function(e){return this.self._11=e},get__12:function(){return this.self._12},set__12:function(e){return this.self._12=e},get__13:function(){return this.self._13},set__13:function(e){return this.self._13=e},get__20:function(){return this.self._20},set__20:function(e){return this.self._20=e},get__21:function(){return this.self._21},set__21:function(e){return this.self._21=e},get__22:function(){return this.self._22},set__22:function(e){return this.self._22=e},get__23:function(){return this.self._23},set__23:function(e){return this.self._23=e},get__30:function(){return this.self._30},set__30:function(e){return this.self._30=e},get__31:function(){return this.self._31},set__31:function(e){return this.self._31=e},get__32:function(){return this.self._32},set__32:function(e){return this.self._32=e},get__33:function(){return this.self._33},set__33:function(e){return this.self._33=e},toString:function(){return"[["+this.self._00+", "+this.self._10+", "+this.self._20+", "+this.self._30+"], ["+this.self._01+", "+this.self._11+", "+this.self._21+", "+this.self._31+"], ["+this.self._02+", "+this.self._12+", "+this.self._22+", "+this.self._32+"], ["+this.self._03+", "+this.self._13+", "+this.self._23+", "+this.self._33+"]]"},__class__:iron_math_Mat4,__properties__:{set__33:"set__33",get__33:"get__33",set__32:"set__32",get__32:"get__32",set__31:"set__31",get__31:"get__31",set__30:"set__30",get__30:"get__30",set__23:"set__23",get__23:"get__23",set__22:"set__22",get__22:"get__22",set__21:"set__21",get__21:"get__21",set__20:"set__20",get__20:"get__20",set__13:"set__13",get__13:"get__13",set__12:"set__12",get__12:"get__12",set__11:"set__11",get__11:"get__11",set__10:"set__10",get__10:"get__10",set__03:"set__03",get__03:"get__03",set__02:"set__02",get__02:"get__02",set__01:"set__01",get__01:"get__01",set__00:"set__00",get__00:"get__00"}};var iron_math_Quat=$hxClasses["iron.math.Quat"]=function(e,t,a,r){null==r&&(r=1),null==a&&(a=0),null==t&&(t=0),null==e&&(e=0),this.x=e,this.y=t,this.z=a,this.w=r};iron_math_Quat.__name__=!0,iron_math_Quat.lerp=function(e,t,a){var r=new iron_math_Quat,i=new iron_math_Quat;return i.setFrom(e),e.dot(t)<0&&(i.w=-i.w,i.x=-i.x,i.y=-i.y,i.z=-i.z),r.x=i.x+(t.x-i.x)*a,r.y=i.y+(t.y-i.y)*a,r.z=i.z+(t.z-i.z)*a,r.w=i.w+(t.w-i.w)*a,r.normalize(),r},iron_math_Quat.prototype={set:function(e,t,a,r){this.x=e,this.y=t,this.z=a,this.w=r},fromAxisAngle:function(e,t){var a=Math.sin(.5*t);this.x=e.x*a,this.y=e.y*a,this.z=e.z*a,this.w=Math.cos(.5*t)},toAxisAngle:function(e){this.normalize();var t=2*Math.acos(this.w),a=Math.sqrt(1-this.w*this.w);return a<.001?(e.x=this.x,e.y=this.y,e.z=this.z):(e.x=this.x/a,e.y=this.y/a,e.z=this.z/a),t},fromRotationMat:function(e){var t=e.self._00,a=e.self._10,r=e.self._20,i=e.self._01,s=e.self._11,n=e.self._21,_=e.self._02,o=e.self._12,h=e.self._22,l=t+s+h,c=0;return l>0?(c=.5/Math.sqrt(l+1),this.w=.25/c,this.x=(o-n)*c,this.y=(r-_)*c,this.z=(i-a)*c):t>s&&t>h?(c=2*Math.sqrt(1+t-s-h),this.w=(o-n)/c,this.x=.25*c,this.y=(a+i)/c,this.z=(r+_)/c):s>h?(c=2*Math.sqrt(1+s-t-h),this.w=(r-_)/c,this.x=(a+i)/c,this.y=.25*c,this.z=(n+o)/c):(c=2*Math.sqrt(1+h-t-s),this.w=(i-a)/c,this.x=(r+_)/c,this.y=(n+o)/c,this.z=.25*c),this},mult:function(e){this.multquats(this,e)},multquats:function(e,t){var a=e.x*t.w+e.w*t.x+e.y*t.z-e.z*t.y,r=e.w*t.y-e.x*t.z+e.y*t.w+e.z*t.x,i=e.w*t.z+e.x*t.y-e.y*t.x+e.z*t.w,s=e.w*t.w-e.x*t.x-e.y*t.y-e.z*t.z;this.x=a,this.y=r,this.z=i,this.w=s},normalize:function(){var e=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);0==e?(this.x=0,this.y=0,this.z=0,this.w=0):(e=1/e,this.x*=e,this.y*=e,this.z*=e,this.w*=e)},setFrom:function(e){this.x=e.x,this.y=e.y,this.z=e.z,this.w=e.w},getEuler:function(){var e=NaN,t=0,a=0,r=this.x*this.y+this.z*this.w;if(r>.499&&(e=2*Math.atan2(this.x,this.w),t=Math.PI/2,a=0),r<-.499&&(e=-2*Math.atan2(this.x,this.w),t=-Math.PI/2,a=0),isNaN(e)){var i=this.x*this.x,s=this.y*this.y,n=this.z*this.z;e=Math.atan2(2*this.y*this.w-2*this.x*this.z,1-2*s-2*n),t=Math.asin(2*r),a=Math.atan2(2*this.x*this.w-2*this.y*this.z,1-2*i-2*n)}return new iron_math_Vec4(a,e,t)},fromEuler:function(e,t,a){var r=Math.cos(e/2),i=Math.cos(t/2),s=Math.cos(a/2),n=Math.sin(e/2),_=Math.sin(t/2),o=Math.sin(a/2);return this.x=n*i*s+r*_*o,this.y=r*_*s+n*i*o,this.z=r*i*o-n*_*s,this.w=r*i*s-n*_*o,this},toMat:function(e){var t=this.x+this.x,a=this.y+this.y,r=this.z+this.z,i=this.x*t,s=this.x*a,n=this.x*r,_=this.y*a,o=this.y*r,h=this.z*r,l=this.w*t,c=this.w*a,d=this.w*r;return e.self._00=1-(_+h),e.self._10=s-d,e.self._20=n+c,e.self._01=s+d,e.self._11=1-(i+h),e.self._21=o-l,e.self._02=n-c,e.self._12=o+l,e.self._22=1-(i+_),e.self._03=0,e.self._13=0,e.self._23=0,e.self._30=0,e.self._31=0,e.self._32=0,e.self._33=1,e},dot:function(e){return this.x*e.x+this.y*e.y+this.z*e.z+this.w*e.w},toString:function(){return this.x+", "+this.y+", "+this.z+", "+this.w},__class__:iron_math_Quat};var iron_object_Animation=$hxClasses["iron.object.Animation"]=function(e){this.player=null,this.player=new iron_object_Player(e),iron_Scene.active.animations.push(this)};iron_object_Animation.__name__=!0,iron_object_Animation.prototype={remove:function(){HxOverrides.remove(iron_Scene.active.animations,this)},update:function(e){this.player.paused||(this.player.animTime+=e*this.player.speed*this.player.dir)},checkTimeIndex:function(e,t){return e.dir>0?e.timeIndex+1t[e.timeIndex+1]:e.timeIndex-1>0&&e.animTime0?!(e.timeIndex=e.current.end:!(e.timeIndex>1)||e.timeIndex<=e.current.start},updateAnimSampled:function(e,t,a){if(null!=e&&null!=this.player.current){var r=e.tracks[0];if(this.player.dirty){if(this.player.dirty=!1,0==this.player.current.frames)return this.player.paused=!0,void a(this.player.current.start);this.player.current.reflect&&(this.player.dir*=-1),this.player.timeIndex=this.player.dir>0?this.player.current.start:this.player.current.end,this.player.animTime=r.times[this.player.timeIndex]}for(;;){var i=this.player,s=r.times;if(!(i.dir>0?i.timeIndex+1s[i.timeIndex+1]:i.timeIndex-1>0&&i.animTime=r.times.length&&(this.player.timeIndex=r.times.length-1);var n=this.player;if(n.dir>0?n.timeIndex>=r.times.length-1||n.timeIndex>=n.current.end:n.timeIndex<=1||n.timeIndex<=n.current.start)return this.player.current.loop?this.player.dirty=!0:this.player.paused=!0,void(null!=this.player.onTrackComplete&&this.player.onTrackComplete());var _=this.player.animTime,o=this.player.timeIndex,h=r.times[o],l=(_-h)/(r.times[o+this.player.dir]-h);iron_object_Animation.m1.setF32(r.values,16*o),iron_object_Animation.m2.setF32(r.values,16*(o+this.player.dir)),iron_object_Animation.m1.decompose(iron_object_Animation.vpos,iron_object_Animation.q1,iron_object_Animation.vscl),iron_object_Animation.m2.decompose(iron_object_Animation.vpos2,iron_object_Animation.q2,iron_object_Animation.vscl2);var c=iron_math_Vec4.lerp(iron_object_Animation.vpos,iron_object_Animation.vpos2,1-l),d=iron_math_Quat.lerp(iron_object_Animation.q1,iron_object_Animation.q2,l),u=iron_math_Vec4.lerp(iron_object_Animation.vscl,iron_object_Animation.vscl2,l),p=t;d.toMat(p),p.scale(u),p.self._30=c.x,p.self._31=c.y,p.self._32=c.z}},__class__:iron_object_Animation};var iron_object_Player=$hxClasses["iron.object.Player"]=function(e){this.paused=!1,this.onTrackComplete=null,this.tracks=new haxe_ds_StringMap,this.current=null,this.dirty=!1,this.timeIndex=0,this.animTime=0,this.frameTime=e.frame_time;for(var t=0,a=e.names.length;t=0?1:-1,this.current.reflect&&(this.dir*=-1),this.speed=Math.abs(this.current.speed))},pause:function(){this.paused=!0},addTrack:function(e,t,a,r,i,s){var n=new iron_object_Track(e,t,a,r,i,s),_=this.tracks;null!=__map_reserved[e]?_.setReserved(e,n):_.h[e]=n},__class__:iron_object_Player};var iron_object_Track=$hxClasses["iron.object.Track"]=function(e,t,a,r,i,s){this.name=e,this.start=t,this.end=a,this.frames=a-t,this.speed=r,this.loop=i,this.reflect=s};iron_object_Track.__name__=!0,iron_object_Track.prototype={__class__:iron_object_Track};var iron_object_BoneAnimation=$hxClasses["iron.object.BoneAnimation"]=function(e,t){if(this.nor=new iron_math_Vec4,this.pos=new iron_math_Vec4,this.bm=iron_math_Mat4.identity(),this.m=iron_math_Mat4.identity(),this.boneTimeIndices=new haxe_ds_ObjectMap,this.boneMats=new haxe_ds_ObjectMap,iron_object_Animation.call(this,t),this.object=e,this.data=e.data,this.isSkinned=this.data.isSkinned,this.isSampled=!1,this.isSkinned){var a=8*t.max_bones,r=new Array(a);this.skinBuffer=r;for(var i=0,s=this.skinBuffer.length;i0;)this.children[0].remove();for(;this.traits.length>0;)this.traits[0].remove();null!=this.parent&&HxOverrides.remove(this.parent.children,this),this.parent=null},getChild:function(e){if(this.name==e)return this;for(var t=0,a=this.children;to&&(o=u.x),u.yh&&(h=u.y),u.z<_&&(_=u.z),u.z>l&&(l=u.z)}var p=iron_object_LampObject.corners[0],f=iron_object_LampObject.corners[7],g=p.x-f.x,m=p.y-f.y,v=p.z-f.z,k=Math.sqrt(g*g+m*m+v*v),b=.5*(k-(o-s)),y=.5*(k-(h-n));n-=y,h+=y;var S=((o+=b)-(s-=b))/this.data.raw.shadowmap_size,x=(h-n)/this.data.raw.shadowmap_size,B=(l-_)/this.data.raw.shadowmap_size;s=Math.floor(s/S)*S,n=Math.floor(n/x)*x,_=Math.floor(_/B)*B;var w=((o=Math.floor(o/S)*S)-s)/2,I=((h=Math.floor(h/x)*x)-n)/2,T=((l=Math.floor(l/B)*B)-_)/2;this.V.self._30=-(s+w),this.V.self._31=-(n+I),this.V.self._32=-(_+T),this.P=iron_math_Mat4.orthogonal(-w,w,-I,I,4*-T,T)}else this.V.getInverse(this.transform.world);this.updateViewFrustum(e)},updateViewFrustum:function(e){if(e.data.raw.frustum_culling){if(null==this.frustumPlanes){this.frustumPlanes=[];for(var t=0;t<6;){t++;this.frustumPlanes.push(new iron_object_FrustumPlane)}null==iron_object_LampObject.VP&&(iron_object_LampObject.VP=iron_math_Mat4.identity())}iron_object_LampObject.VP.multmats(this.P,this.V),iron_object_CameraObject.buildViewFrustum(iron_object_LampObject.VP,this.frustumPlanes)}},setCubeFace:function(e,t){switch(iron_object_LampObject.p1.set(this.transform.world.self._30,this.transform.world.self._31,this.transform.world.self._32),iron_object_LampObject.p2.setFrom(iron_object_LampObject.p1),e){case 0:iron_object_LampObject.p2.addf(1,0,0),iron_object_LampObject.p3.set(0,-1,0);break;case 1:iron_object_LampObject.p2.addf(-1,0,0),iron_object_LampObject.p3.set(0,-1,0);break;case 2:iron_object_LampObject.p2.addf(0,1,0),iron_object_LampObject.p3.set(0,0,1);break;case 3:iron_object_LampObject.p2.addf(0,-1,0),iron_object_LampObject.p3.set(0,0,-1);break;case 4:iron_object_LampObject.p2.addf(0,0,1),iron_object_LampObject.p3.set(0,-1,0);break;case 5:iron_object_LampObject.p2.addf(0,0,-1),iron_object_LampObject.p3.set(0,-1,0)}this.V.setLookAt(iron_object_LampObject.p1,iron_object_LampObject.p2,iron_object_LampObject.p3),this.updateViewFrustum(t)},right:function(){return new iron_math_Vec4(this.V.self._00,this.V.self._10,this.V.self._20)},up:function(){return new iron_math_Vec4(this.V.self._01,this.V.self._11,this.V.self._21)},look:function(){return new iron_math_Vec4(this.V.self._02,this.V.self._12,this.V.self._22)},toString:function(){return"Lamp Object "+this.name},__class__:iron_object_LampObject});var iron_object_MeshObject=$hxClasses["iron.object.MeshObject"]=function(e,t){this.frustumCulling=!0,this.screenSize=0,this.particleSystem=null,this.data=null,iron_object_Object.call(this),this.setData(e),this.materials=t,iron_Scene.active.meshes.push(this)};iron_object_MeshObject.__name__=!0,iron_object_MeshObject.__super__=iron_object_Object,iron_object_MeshObject.prototype=$extend(iron_object_Object.prototype,{setData:function(e){this.data=e,e.refcount++;e.geom.build()},remove:function(){HxOverrides.remove(iron_Scene.active.meshes,this),this.data.refcount--,iron_object_Object.prototype.remove.call(this)},setupAnimation:function(e){this.data.isSkinned?this.animation=new iron_object_BoneAnimation(this,e):iron_object_Object.prototype.setupAnimation.call(this,e)},setupParticleSystem:function(e,t){this.particleSystem=new iron_object_ParticleSystem(this,e,t)},isLodMaterial:function(){return null!=this.raw&&null!=this.raw.lod_material&&1==this.raw.lod_material},setCulled:function(e,t){return e?this.culledShadow=t:this.culledMesh=t,this.culled=this.culledMesh&&this.culledShadow,t},cullMaterial:function(e,t){var a=this.materials,r=e==t.data.pathdata.raw.shadows_context;return(null!=this.raw&&null!=this.raw.lod_material&&1==this.raw.lod_material||null!=a[0].getContext(e))&&(this.visibleMesh||r)?!this.visibleShadow&&r?this.setCulled(r,!0):this.skipContext(e)?this.setCulled(r,!0):this.setCulled(r,!1):this.setCulled(r,!0)},cullMesh:function(e,t,a){if(t.data.raw.frustum_culling&&this.frustumCulling){var r=this.data.isSkinned?2:1;null!=this.particleSystem&&(r*=100),"voxel"==e&&(r*=100);var i=e==t.data.pathdata.raw.shadows_context,s=i?a.frustumPlanes:t.frustumPlanes;if(i&&"sun"!=a.data.raw.type&&(a.transform.radius=a.data.raw.far_plane,!iron_object_CameraObject.sphereInFrustum(t.frustumPlanes,a.transform)))return this.setCulled(i,!0);if(this.data.geom.instanced){for(var n=!1,_=0,o=this.data.geom.offsetVecs;_0){var _=this.transform,o=_.size.x*_.scale.x*_.size.y*_.scale.y*_.size.z*_.scale.z;if(this.screenSize=o*(1/this.cameraDistance),this.screenSize=this.screenSize>1?1:this.screenSize,null==this.lods){this.lods=[];for(var h=0,l=this.raw.lods;hthis.raw.lods[p].screen_size)break;n=this.lods[p],null!=this.raw&&null!=this.raw.lod_material&&1==this.raw.lod_material&&(s=n.materials)}if(null==n)return}if(null==this.raw||null==this.raw.lod_material||1!=this.raw.lod_material||null!=s[0].getContext(t)){var f=[],g=[];this.getContexts(t,s,f,g),null!=n.particleSystem&&n.particleSystem.update(),this.transform.update();var m=n.data;m.geom.instanced?e.setVertexBuffers([m.geom.vertexBuffer,m.geom.instancedVB]):e.setVertexBuffer(m.geom.vertexBuffer);for(var v=0,k=m.geom.indexBuffers.length;vy&&iron_object_Uniforms.setMaterialConstants(e,g[y],f[y]),m.geom.instanced?e.drawIndexedVerticesInstanced(m.geom.instanceCount):e.drawIndexedVertices())}if(null!=this.group)for(var S=0,x=this.group;S1?1:this.screenSize},initLods:function(){if(null==this.lods){this.lods=[];for(var e=0,t=this.raw.lods;ei.times[this.player.timeIndex]+this.player.frameTime;)this.player.timeIndex++}if(0!=this.player.current.frames)for(var s=0,n=e.tracks;s=_.times.length)){if(this.player.animTime>r||this.player.animTime<0||this.player.animTime>this.player.current.end*this.player.frameTime-this.player.frameTime&&this.player.dir>0||this.player.animTime0?0:r,this.player.timeIndex=this.player.dir>0?0:_.times.length-1}var o=this.player.animTime+a;if(this.player.dir>0)for(;this.player.timeIndex<_.times.length-2&&o>_.times[this.player.timeIndex+1];)this.player.timeIndex++;else for(;this.player.timeIndex>1&&o<_.times[this.player.timeIndex-1];)this.player.timeIndex--;var h=this.player.timeIndex,l=_.times[h],c=_.times[h+this.player.dir],d=$bind(this,this.interpolateLinear);switch(_.curve){case"bezier":d=$bind(this,this.interpolateBezier);break;case"linear":d=$bind(this,this.interpolateLinear)}var u=this.player.dir>0?d(o,l,c):d(l-(o-c),c,l),p=1-u,f=_.values[h]*p+_.values[h+this.player.dir]*u;switch(_.target){case"xloc":t.loc.x=f;break;case"xrot":t.setRotation(f,t._eulerY,t._eulerZ);break;case"xscl":t.scale.x=f;break;case"yloc":t.loc.y=f;break;case"yrot":t.setRotation(t._eulerX,f,t._eulerZ);break;case"yscl":t.scale.y=f;break;case"zloc":t.loc.z=f;break;case"zrot":t.setRotation(t._eulerX,t._eulerY,f);break;case"zscl":t.scale.z=f}}}}},__class__:iron_object_ObjectAnimation});var iron_object_ParticleSystem=$hxClasses["iron.object.ParticleSystem"]=function(e,t,a){var r=this;this.object=e,this.name=a.name,this.seed=a.seed,this.particles=[],this.ready=!1,iron_data_Data.getParticle(t,a.particle,function(t){r.data=t;for(var a=r.data.raw,i=0,s=a.count;ithis.data.raw.lifetime&&(a.lifetime=0,this.setVelocity(a.velocity)),a.offset.x=a.lifetime*a.velocity.x,a.offset.y=a.lifetime*a.velocity.y,a.offset.z=a.lifetime*a.velocity.z}this.sort();for(var r=this.object.data.geom.instancedVB,i=r.lock(),s=0,n=this.particles.length;st.cameraDistance?-1:e.cameraDistance1?1:V,D=D>1?1:D;else if("_cameraPlane"==s.link)V=a.data.raw.near_plane,D=a.data.raw.far_plane;else if("_lampPlane"==s.link)V=null==r?0:r.data.raw.near_plane,D=null==r?0:r.data.raw.far_plane;else if("_spotlampData"==s.link)V=null==r?0:r.data.raw.spot_size,D=null==r?0:V-r.data.raw.spot_blend;else if(null!=iron_object_Uniforms.externalVec2Links)for(var P=0,F=iron_object_Uniforms.externalVec2Links;P223)return-256|t}}catch(e){if(e instanceof js__$Boot_HaxeError&&(e=e.val),!js_Boot.__instanceof(e,haxe_io_Eof))throw e}return null},iron_system_ArmPack.readArray=function(e,t){var a=e.readByte(),r=e,i=r.pos;if(r.set_position(i-1),202==a){var s=e,n=s.pos;s.set_position(n+1);for(var _=new Float32Array(t),o=0,h=t;o=4)return null;for(;iron_system_Input.gamepads.length<=e;)iron_system_Input.gamepads.push(new iron_system_Gamepad(iron_system_Input.gamepads.length));return iron_system_Input.gamepads[e].connected?iron_system_Input.gamepads[e]:null},iron_system_Input.getSensor=function(){return null==iron_system_Input.sensor&&(iron_system_Input.sensor=new iron_system_Sensor),iron_system_Input.sensor},iron_system_Input.getVirtualButton=function(e){if(null==iron_system_Input.virtualButtons)return null;var t=iron_system_Input.virtualButtons;return null!=__map_reserved[e]?t.getReserved(e):t.h[e]};var iron_system_VirtualButton=$hxClasses["iron.system.VirtualButton"]=function(){this.down=!1,this.released=!1,this.started=!1};iron_system_VirtualButton.__name__=!0,iron_system_VirtualButton.prototype={__class__:iron_system_VirtualButton};var iron_system_VirutalInput=$hxClasses["iron.system.VirutalInput"]=function(){this.virtualButtons=null};iron_system_VirutalInput.__name__=!0,iron_system_VirutalInput.prototype={setVirtual:function(e,t){null==iron_system_Input.virtualButtons&&(iron_system_Input.virtualButtons=new haxe_ds_StringMap);var a=iron_system_Input.virtualButtons,r=null!=__map_reserved[e]?a.getReserved(e):a.h[e];if(null==r){r=new iron_system_VirtualButton;var i=iron_system_Input.virtualButtons;null!=__map_reserved[e]?i.setReserved(e,r):i.h[e]=r}null==this.virtualButtons&&(this.virtualButtons=new haxe_ds_StringMap);var s=this.virtualButtons;null!=__map_reserved[t]?s.setReserved(t,r):s.h[t]=r},downVirtual:function(e){if(null!=this.virtualButtons){var t=this.virtualButtons,a=null!=__map_reserved[e]?t.getReserved(e):t.h[e];null!=a&&(a.down=!0,a.started=!0)}},upVirtual:function(e){if(null!=this.virtualButtons){var t=this.virtualButtons,a=null!=__map_reserved[e]?t.getReserved(e):t.h[e];null!=a&&(a.down=!1,a.released=!0)}},__class__:iron_system_VirutalInput};var iron_system_Mouse=$hxClasses["iron.system.Mouse"]=function(){this.wheelDelta=0,this.movementY=0,this.movementX=0,this.moved=!1,this.y=0,this.x=0,this.buttonsReleased=[!1,!1,!1],this.buttonsStarted=[!1,!1,!1],this.buttonsDown=[!1,!1,!1],iron_system_VirutalInput.call(this),kha_input_Mouse.get().notify($bind(this,this.downListener),$bind(this,this.upListener),$bind(this,this.moveListener),$bind(this,this.wheelListener))};iron_system_Mouse.__name__=!0,iron_system_Mouse.__super__=iron_system_VirutalInput,iron_system_Mouse.prototype=$extend(iron_system_VirutalInput.prototype,{endFrame:function(){var e=this.buttonsStarted[1]=this.buttonsStarted[2]=!1;this.buttonsStarted[0]=e;var t=this.buttonsReleased[1]=this.buttonsReleased[2]=!1;this.buttonsReleased[0]=t,this.moved=!1,this.movementX=0,this.movementY=0,this.wheelDelta=0},reset:function(){var e=this.buttonsDown[1]=this.buttonsDown[2]=!1;this.buttonsDown[0]=e,this.endFrame()},buttonIndex:function(e){return"left"==e?0:"right"==e?1:2},down:function(e){return null==e&&(e="left"),this.buttonsDown[this.buttonIndex(e)]},started:function(e){return null==e&&(e="left"),this.buttonsStarted[this.buttonIndex(e)]},released:function(e){return null==e&&(e="left"),this.buttonsReleased[this.buttonIndex(e)]},downListener:function(e,t,a){this.buttonsDown[e]=!0,this.buttonsStarted[e]=!0,this.x=t,this.y=a,this.downVirtual(iron_system_Mouse.buttons[e])},upListener:function(e,t,a){this.buttonsDown[e]=!1,this.buttonsReleased[e]=!0,this.x=t,this.y=a,this.upVirtual(iron_system_Mouse.buttons[e])},moveListener:function(e,t,a,r){this.movementX=a,this.movementY=r,this.x=e,this.y=t,this.moved=!0},wheelListener:function(e){this.wheelDelta=e},__class__:iron_system_Mouse});var iron_system_Keyboard=$hxClasses["iron.system.Keyboard"]=function(){this.keysFrame=[],this.keysReleased=new haxe_ds_StringMap,this.keysStarted=new haxe_ds_StringMap,this.keysDown=new haxe_ds_StringMap,iron_system_VirutalInput.call(this),this.reset(),kha_input_Keyboard.get().notify($bind(this,this.downListener),$bind(this,this.upListener),$bind(this,this.pressListener))};iron_system_Keyboard.__name__=!0,iron_system_Keyboard.__super__=iron_system_VirutalInput,iron_system_Keyboard.prototype=$extend(iron_system_VirutalInput.prototype,{endFrame:function(){if(this.keysFrame.length>0){for(var e=0,t=this.keysFrame;e0){for(var e=0,t=this.buttonsFrame;e0?this.buttonsStarted[e]=!0:this.buttonsReleased[e]=!0,0==t?this.upVirtual(iron_system_Gamepad.buttonsPS[e]):1==t&&this.downVirtual(iron_system_Gamepad.buttonsPS[e])},__class__:iron_system_Gamepad});var iron_system_Sensor=$hxClasses["iron.system.Sensor"]=function(){this.z=0,this.y=0,this.x=0,kha_input_Sensor.get(kha_input_SensorType.Accelerometer).notify($bind(this,this.listener))};iron_system_Sensor.__name__=!0,iron_system_Sensor.prototype={listener:function(e,t,a){this.x=e,this.y=t,this.z=a},__class__:iron_system_Sensor};var iron_system_Time=$hxClasses["iron.system.Time"]=function(){};iron_system_Time.__name__=!0,iron_system_Time.time=function(){return kha_Scheduler.time()},iron_system_Time.realTime=function(){return kha_Scheduler.realTime()},iron_system_Time.update=function(){iron_system_Time.realDelta=kha_Scheduler.realTime()-iron_system_Time.last,iron_system_Time.last=kha_Scheduler.realTime()};var iron_system_Tween=$hxClasses["iron.system.Tween"]=function(){};iron_system_Tween.__name__=!0,iron_system_Tween.to=function(e){if(e._time=0,null==e.ease&&(e.ease=0),null!=e.target&&null!=e.props){e._comps=[],e._x=[],e._y=[],e._z=[],e._w=[];for(var t=0,a=Reflect.fields(e.props);t0&&iron_system_Tween.anims.length>0;){var a=iron_system_Tween.anims[t];if(!(a.delay>0&&(a.delay-=e,a.delay>0))){if(a._time+=e,null!=a.target){js_Boot.__instanceof(a.target,iron_object_Transform)&&(a.target.dirty=!0);for(var r=Reflect.fields(a.props),i=0,s=r.length;i1&&(o=1),1==a._comps[n]){var h=a._x[n],l=h+(Reflect.getProperty(a.props,_)-h)*iron_system_Tween.eases[a.ease](o);Reflect.setProperty(a.target,_,l)}else for(var c=0,d=a._comps[n];c=a.duration&&(iron_system_Tween.anims.splice(t,1),--t,null!=a.done&&a.done())}}},iron_system_Tween.easeLinear=function(e){return e},iron_system_Tween.easeExpoOut=function(e){return 1==e?1:1-Math.pow(2,-10*e)};var js__$Boot_HaxeError=$hxClasses["js._Boot.HaxeError"]=function(e){Error.call(this),this.val=e,this.message=String(e),Error.captureStackTrace&&Error.captureStackTrace(this,js__$Boot_HaxeError)};js__$Boot_HaxeError.__name__=!0,js__$Boot_HaxeError.wrap=function(e){return e instanceof Error?e:new js__$Boot_HaxeError(e)},js__$Boot_HaxeError.__super__=Error,js__$Boot_HaxeError.prototype=$extend(Error.prototype,{__class__:js__$Boot_HaxeError});var js_Boot=$hxClasses["js.Boot"]=function(){};js_Boot.__name__=!0,js_Boot.__unhtml=function(e){return e.split("&").join("&").split("<").join("<").split(">").join(">")},js_Boot.__trace=function(e,t){var a=null!=t?t.fileName+":"+t.lineNumber+": ":"";if(a+=js_Boot.__string_rec(e,""),null!=t&&null!=t.customParams)for(var r=0,i=t.customParams;r":"undefined"!=typeof console&&null!=console.log&&console.log(a)},js_Boot.getClass=function(e){if(e instanceof Array&&null==e.__enum__)return Array;var t=e.__class__;if(null!=t)return t;var a=js_Boot.__nativeClassName(e);return null!=a?js_Boot.__resolveNativeClass(a):null},js_Boot.__string_rec=function(e,t){if(null==e)return"null";if(t.length>=5)return"<...>";var a=typeof e;switch("function"==a&&(e.__name__||e.__ename__)&&(a="object"),a){case"function":return"";case"object":if(e instanceof Array){if(e.__enum__){if(2==e.length)return e[0];var r=e[0]+"(";t+="\t";for(var i=2,s=e.length;i0?",":"")+js_Boot.__string_rec(e[l],t)}return _+="]"}var c;try{c=e.toString}catch(e){return"???"}if(null!=c&&c!=Object.toString&&"function"==typeof c){var d=e.toString();if("[object Object]"!=d)return d}var u=null,p="{\n";t+="\t";var f=null!=e.hasOwnProperty;for(var u in e)f&&!e.hasOwnProperty(u)||"prototype"!=u&&"__class__"!=u&&"__super__"!=u&&"__interfaces__"!=u&&"__properties__"!=u&&(2!=p.length&&(p+=", \n"),p+=t+u+" : "+js_Boot.__string_rec(e[u],t));return t=t.substring(1),p+="\n"+t+"}";case"string":return e;default:return String(e)}},js_Boot.__interfLoop=function(e,t){if(null==e)return!1;if(e==t)return!0;var a=e.__interfaces__;if(null!=a)for(var r=0,i=a.length;re.byteLength)throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds);this.byteLength=this.length,this.byteOffset=this.offset,this.buffer=this.buf};js_html_compat_DataView.__name__=!0,js_html_compat_DataView.prototype={getInt8:function(e){var t=this.buf.a[this.offset+e];return t>=128?t-256:t},getUint8:function(e){return this.buf.a[this.offset+e]},getInt16:function(e,t){var a=this.getUint16(e,t);return a>=32768?a-65536:a},getUint16:function(e,t){return t?this.buf.a[this.offset+e]|this.buf.a[this.offset+e+1]<<8:this.buf.a[this.offset+e]<<8|this.buf.a[this.offset+e+1]},getInt32:function(e,t){var a=this.offset+e,r=this.buf.a[a++],i=this.buf.a[a++],s=this.buf.a[a++],n=this.buf.a[a++];return t?r|i<<8|s<<16|n<<24:n|s<<8|i<<16|r<<24},getUint32:function(e,t){var a=this.getInt32(e,t);return a<0?a+4294967296:a},getFloat32:function(e,t){return haxe_io_FPHelper.i32ToFloat(this.getInt32(e,t))},getFloat64:function(e,t){var a=this.getInt32(e,t),r=this.getInt32(e+4,t);return haxe_io_FPHelper.i64ToDouble(t?a:r,t?r:a)},setInt8:function(e,t){this.buf.a[e+this.offset]=t<0?t+128&255:255&t},setUint8:function(e,t){this.buf.a[e+this.offset]=255&t},setInt16:function(e,t,a){this.setUint16(e,t<0?t+65536:t,a)},setUint16:function(e,t,a){var r=e+this.offset;a?(this.buf.a[r]=255&t,this.buf.a[r++]=t>>8&255):(this.buf.a[r++]=t>>8&255,this.buf.a[r]=255&t)},setInt32:function(e,t,a){this.setUint32(e,t,a)},setUint32:function(e,t,a){var r=e+this.offset;a?(this.buf.a[r++]=255&t,this.buf.a[r++]=t>>8&255,this.buf.a[r++]=t>>16&255,this.buf.a[r++]=t>>>24):(this.buf.a[r++]=t>>>24,this.buf.a[r++]=t>>16&255,this.buf.a[r++]=t>>8&255,this.buf.a[r++]=255&t)},setFloat32:function(e,t,a){this.setUint32(e,haxe_io_FPHelper.floatToI32(t),a)},setFloat64:function(e,t,a){var r=haxe_io_FPHelper.doubleToI64(t);a?(this.setUint32(e,r.low),this.setUint32(e,r.high)):(this.setUint32(e,r.high),this.setUint32(e,r.low))},__class__:js_html_compat_DataView};var js_html_compat_Float32Array=$hxClasses["js.html.compat.Float32Array"]=function(){};js_html_compat_Float32Array.__name__=!0,js_html_compat_Float32Array._new=function(e,t,a){var r;if("number"==typeof e){r=[];for(var i=0,s=e;i>2),r=[];for(var l=0,c=a;l>8&255),u.push(g>>16&255),u.push(g>>>24)}r.byteLength=r.length<<2,r.byteOffset=0,r.buffer=new js_html_compat_ArrayBuffer(u)}return r.subarray=js_html_compat_Float32Array._subarray,r.set=js_html_compat_Float32Array._set,r},js_html_compat_Float32Array._set=function(e,t){if(js_Boot.__instanceof(e.buffer,js_html_compat_ArrayBuffer)){var a=e;if(e.byteLength+t>this.byteLength)throw new js__$Boot_HaxeError("set() outside of range");for(var r=0,i=e.byteLength;rthis.byteLength)throw new js__$Boot_HaxeError("set() outside of range");for(var _=0,o=n.length;_this.byteLength)throw new js__$Boot_HaxeError("set() outside of range");for(var r=0,i=e.byteLength;rthis.byteLength)throw new js__$Boot_HaxeError("set() outside of range");for(var _=0,o=n.length;_>>16},kha__$Color_Color_$Impl_$.get_Gb=function(e){return(65280&e)>>>8},kha__$Color_Color_$Impl_$.get_Bb=function(e){return 255&e},kha__$Color_Color_$Impl_$.get_Ab=function(e){return e>>>24},kha__$Color_Color_$Impl_$.set_Rb=function(e,t){return e=e>>>24<<24|t<<16|(65280&e)>>>8<<8|255&e,t},kha__$Color_Color_$Impl_$.set_Gb=function(e,t){return e=e>>>24<<24|(16711680&e)>>>16<<16|t<<8|255&e,t},kha__$Color_Color_$Impl_$.set_Bb=function(e,t){return e=e>>>24<<24|(16711680&e)>>>16<<16|(65280&e)>>>8<<8|t,t},kha__$Color_Color_$Impl_$.set_Ab=function(e,t){return e=t<<24|(16711680&e)>>>16<<16|(65280&e)>>>8<<8|255&e,t},kha__$Color_Color_$Impl_$.get_R=function(e){return.00392156862745098*((16711680&e)>>>16)},kha__$Color_Color_$Impl_$.get_G=function(e){return.00392156862745098*((65280&e)>>>8)},kha__$Color_Color_$Impl_$.get_B=function(e){return.00392156862745098*(255&e)},kha__$Color_Color_$Impl_$.get_A=function(e){return.00392156862745098*(e>>>24)},kha__$Color_Color_$Impl_$.set_R=function(e,t){return e=(.00392156862745098*(e>>>24)*255|0)<<24|(255*t|0)<<16|(.00392156862745098*((65280&e)>>>8)*255|0)<<8|.00392156862745098*(255&e)*255|0,t},kha__$Color_Color_$Impl_$.set_G=function(e,t){return e=(.00392156862745098*(e>>>24)*255|0)<<24|(.00392156862745098*((16711680&e)>>>16)*255|0)<<16|(255*t|0)<<8|.00392156862745098*(255&e)*255|0,t},kha__$Color_Color_$Impl_$.set_B=function(e,t){return e=(.00392156862745098*(e>>>24)*255|0)<<24|(.00392156862745098*((16711680&e)>>>16)*255|0)<<16|(.00392156862745098*((65280&e)>>>8)*255|0)<<8|255*t|0,t},kha__$Color_Color_$Impl_$.set_A=function(e,t){return e=(255*t|0)<<24|(.00392156862745098*((16711680&e)>>>16)*255|0)<<16|(.00392156862745098*((65280&e)>>>8)*255|0)<<8|.00392156862745098*(255&e)*255|0,t};var kha_Resource=$hxClasses["kha.Resource"]=function(){};kha_Resource.__name__=!0,kha_Resource.prototype={__class__:kha_Resource};var kha_Font=$hxClasses["kha.Font"]=function(){};kha_Font.__name__=!0,kha_Font.__interfaces__=[kha_Resource],kha_Font.prototype={__class__:kha_Font};var kha_FontStyle=$hxClasses["kha.FontStyle"]=function(e,t,a){this.bold=e,this.italic=t,this.underlined=a};kha_FontStyle.__name__=!0,kha_FontStyle.prototype={getBold:function(){return this.bold},getItalic:function(){return this.italic},getUnderlined:function(){return this.underlined},__class__:kha_FontStyle};var kha_Framebuffer=$hxClasses["kha.Framebuffer"]=function(e,t,a,r){this.windowId=e,this.graphics1=t,this.graphics2=a,this.graphics4=r};kha_Framebuffer.__name__=!0,kha_Framebuffer.__interfaces__=[kha_Canvas],kha_Framebuffer.prototype={init:function(e,t,a){this.graphics1=e,this.graphics2=t,this.graphics4=a},get_g1:function(){return this.graphics1},get_g2:function(){return this.graphics2},get_g4:function(){return this.graphics4},get_width:function(){return kha_System.windowWidth(this.windowId)},get_height:function(){return kha_System.windowHeight(this.windowId)},__class__:kha_Framebuffer,__properties__:{get_height:"get_height",get_width:"get_width",get_g4:"get_g4",get_g2:"get_g2",get_g1:"get_g1"}};var kha_Image=$hxClasses["kha.Image"]=function(e){this.pixels=null,this.bytes=null,this.texture_=e};kha_Image.__name__=!0,kha_Image.__interfaces__=[kha_Resource,kha_Canvas],kha_Image.__properties__={get_nonPow2Supported:"get_nonPow2Supported",get_maxSize:"get_maxSize"},kha_Image.getRenderTargetFormat=function(e){switch(e[1]){case 0:return 0;case 1:return 5;case 2:return 3;case 3:return 4;case 4:return 1;case 5:return 2;case 6:return 6}},kha_Image.getDepthBufferBits=function(e){switch(e){case 0:return-1;case 1:case 2:case 3:return 24;case 4:return 32;case 5:return 16}},kha_Image.getStencilBufferBits=function(e){switch(e){case 0:case 1:return-1;case 2:case 3:case 4:return 8;case 5:return 0}},kha_Image.getTextureFormat=function(e){switch(e[1]){case 0:return 0;case 2:return 3;case 4:return 4;case 5:return 5;case 6:return 7;default:return 1}},kha_Image._fromTexture=function(e){return new kha_Image(e)},kha_Image.fromBytes=function(e,t,a,r,i){null==r&&(r=kha_graphics4_TextureFormat.RGBA32);var s=new kha_Image(null);return s.format=r,s.texture_=Krom.createTextureFromBytes(e.b.bufferValue,t,a,kha_Image.getTextureFormat(r),!0),s},kha_Image.fromBytes3D=function(e,t,a,r,i,s){null==i&&(i=kha_graphics4_TextureFormat.RGBA32);var n=new kha_Image(null);return n.format=i,n.texture_=Krom.createTextureFromBytes3D(e.b.bufferValue,t,a,r,kha_Image.getTextureFormat(i),!0),n},kha_Image.create=function(e,t,a,r){null==a&&(a=kha_graphics4_TextureFormat.RGBA32);var i=new kha_Image(null);return i.format=a,i.texture_=Krom.createTexture(e,t,kha_Image.getTextureFormat(a)),i},kha_Image.create3D=function(e,t,a,r,i){null==r&&(r=kha_graphics4_TextureFormat.RGBA32);var s=new kha_Image(null);return s.format=r,s.texture_=Krom.createTexture3D(e,t,a,kha_Image.getTextureFormat(r)),s},kha_Image.createRenderTarget=function(e,t,a,r,i,s){null==s&&(s=0),null==i&&(i=1),null==r&&(r=0),null==a&&(a=kha_graphics4_TextureFormat.RGBA32);var n=new kha_Image(null);return n.format=a,n.renderTarget_=Krom.createRenderTarget(e,t,kha_Image.getDepthBufferBits(r),kha_Image.getRenderTargetFormat(a),kha_Image.getStencilBufferBits(r),s),n},kha_Image.get_maxSize=function(){return 4096},kha_Image.get_nonPow2Supported=function(){return!0},kha_Image.formatByteSize=function(e){switch(e[1]){case 0:return 4;case 1:return 1;case 2:return 16;case 3:return 2;case 4:return 8;case 5:return 4;case 6:return 2}},kha_Image.prototype={isOpaque:function(e,t){return!1},at:function(e,t){return-16777216},unload:function(){Krom.unloadImage(this),this.texture_=null,this.renderTarget_=null},lock:function(e){return null==e&&(e=0),this.bytes=new haxe_io_Bytes(new ArrayBuffer(this.format==kha_graphics4_TextureFormat.RGBA32?4*this.get_width()*this.get_height():this.get_width()*this.get_height())),this.bytes},unlock:function(){Krom.unlockTexture(this.texture_,this.bytes.b.bufferValue)},getPixels:function(){return null==this.renderTarget_?null:(null==this.pixels&&(this.pixels=new haxe_io_Bytes(new ArrayBuffer(kha_Image.formatByteSize(this.format)*this.get_width()*this.get_height()))),Krom.getRenderTargetPixels(this.renderTarget_,this.pixels.b.bufferValue),this.pixels)},generateMipmaps:function(e){Krom.generateMipmaps(this.texture_,e)},setMipmaps:function(e){Krom.setMipmaps(this.texture_,e)},setDepthStencilFrom:function(e){Krom.setDepthStencilFrom(this.renderTarget_,e.renderTarget_)},clear:function(e,t,a,r,i,s,n){Krom.clearTexture(this.texture_,e,t,a,r,i,s,n)},get_width:function(){return null==this.texture_?this.renderTarget_.width:this.texture_.width},get_height:function(){return null==this.texture_?this.renderTarget_.height:this.texture_.height},get_depth:function(){return null!=this.texture_?this.texture_.depth:1},get_realWidth:function(){return null==this.texture_?this.renderTarget_.width:this.texture_.realWidth},get_realHeight:function(){return null==this.texture_?this.renderTarget_.height:this.texture_.realHeight},get_g1:function(){return null==this.graphics1&&(this.graphics1=new kha_graphics2_Graphics1(this)),this.graphics1},get_g2:function(){return null==this.graphics2&&(this.graphics2=new kha_graphics4_Graphics2(this)),this.graphics2},get_g4:function(){return null==this.graphics4&&(this.graphics4=new kha_krom_Graphics(this)),this.graphics4},__class__:kha_Image,__properties__:{get_g4:"get_g4",get_g2:"get_g2",get_g1:"get_g1",get_realHeight:"get_realHeight",get_realWidth:"get_realWidth",get_depth:"get_depth",get_height:"get_height",get_width:"get_width"}};var kha_AlignedQuad=$hxClasses["kha.AlignedQuad"]=function(){};kha_AlignedQuad.__name__=!0,kha_AlignedQuad.prototype={__class__:kha_AlignedQuad};var kha_KravurImage=$hxClasses["kha.KravurImage"]=function(e,t,a,r,i,s,n,_){this.mySize=e,this.width=i,this.height=s,this.chars=n,this.baseline=t;for(var o=0;o=this.chars.length)return null;var r=1/this.width,i=1/this.height,s=this.chars[e];if(null==s)return null;var n=Math.round(t+s.xoff),_=Math.round(a+s.yoff),o=new kha_AlignedQuad;return o.x0=n,o.y0=_,o.x1=n+s.x1-s.x0,o.y1=_+s.y1-s.y0,o.s0=s.x0*r,o.t0=s.y0*i,o.s1=s.x1*r,o.t1=s.y1*i,o.xadvance=s.xadvance,o},getCharWidth:function(e){return e<32?0:e-32>=this.chars.length?0:this.chars[e-32].xadvance},getHeight:function(){return this.mySize},stringWidth:function(e){for(var t=new String(e),a=0,r=0,i=t.length;r=57&&t<=63&&(t=60),kha_Scheduler.onedifhz=1/t,kha_Scheduler.stopped=!1,kha_Scheduler.resetTime(),kha_Scheduler.lastTime=kha_Scheduler.realTime()-kha_Scheduler.startTime;for(var a=0,r=kha_Scheduler.DIF_COUNT;a=e)r.next=r.start;else if(r.period>0){var i=e-r.start,s=Math.ceil(i/r.period);r.next=r.start+s*r.period}}},kha_Scheduler.back=function(e){if(!(e>=kha_Scheduler.lastTime)){kha_Scheduler.current=e,kha_Scheduler.lastTime=e,kha_Scheduler.warpTimeTasks(e,kha_Scheduler.outdatedTimeTasks),kha_Scheduler.warpTimeTasks(e,kha_Scheduler.timeTasks);for(var t=0,a=kha_Scheduler.outdatedTimeTasks;t=e&&kha_Scheduler.timeTasksScratchpad.push(r)}for(var i=0,s=kha_Scheduler.timeTasksScratchpad;i0;)HxOverrides.remove(kha_Scheduler.timeTasksScratchpad,kha_Scheduler.timeTasksScratchpad[0]);for(var l=0,c=kha_Scheduler.outdatedTimeTasks;l0;)HxOverrides.remove(kha_Scheduler.timeTasksScratchpad,kha_Scheduler.timeTasksScratchpad[0])}},kha_Scheduler.executeFrame=function(){var e=kha_Scheduler.realTime()-kha_Scheduler.startTime-kha_Scheduler.lastTime,t=kha_Scheduler.current;if(!(e<0)){if(e>kha_Scheduler.maxframetime)kha_Scheduler.startTime+=e-kha_Scheduler.maxframetime,t+=e=kha_Scheduler.maxframetime;else if(kha_Scheduler.vsync){for(var a=kha_Scheduler.onedifhz;a0&&(kha_Scheduler.activeTimeTask=kha_Scheduler.timeTasks[0],kha_Scheduler.activeTimeTask.next<=t);)kha_Scheduler.activeTimeTask.next+=kha_Scheduler.activeTimeTask.period,HxOverrides.remove(kha_Scheduler.timeTasks,kha_Scheduler.activeTimeTask),kha_Scheduler.activeTimeTask.active&&kha_Scheduler.activeTimeTask.task()?kha_Scheduler.activeTimeTask.period>0&&(0==kha_Scheduler.activeTimeTask.duration||kha_Scheduler.activeTimeTask.duration>=kha_Scheduler.activeTimeTask.start+kha_Scheduler.activeTimeTask.next)?kha_Scheduler.insertSorted(kha_Scheduler.timeTasks,kha_Scheduler.activeTimeTask):kha_Scheduler.archiveTimeTask(kha_Scheduler.activeTimeTask,t):(kha_Scheduler.activeTimeTask.active=!1,kha_Scheduler.archiveTimeTask(kha_Scheduler.activeTimeTask,t));kha_Scheduler.activeTimeTask=null,kha_Scheduler.sortFrameTasks();for(var k=0,b=kha_Scheduler.frameTasks;k0;)HxOverrides.remove(kha_Scheduler.frameTasks,kha_Scheduler.toDeleteFrame.pop())}},kha_Scheduler.archiveTimeTask=function(e,t){},kha_Scheduler.time=function(){return kha_Scheduler.current},kha_Scheduler.realTime=function(){return kha_System.get_time()},kha_Scheduler.resetTime=function(){var e=kha_System.get_time(),t=e-kha_Scheduler.startTime;kha_Scheduler.startTime=e;for(var a=0,r=kha_Scheduler.timeTasks;a0;)HxOverrides.remove(kha_Scheduler.timeTasksScratchpad,kha_Scheduler.timeTasksScratchpad[0]);null!=kha_Scheduler.activeTimeTask&&kha_Scheduler.activeTimeTask.groupId==e&&(kha_Scheduler.activeTimeTask.active=!1)},kha_Scheduler.numTasksInSchedule=function(){return kha_Scheduler.timeTasks.length+kha_Scheduler.frameTasks.length},kha_Scheduler.insertSorted=function(e,t){for(var a=0,r=e.length;at.next)return void e.splice(i,0,t)}e.push(t)},kha_Scheduler.sortFrameTasks=function(){kha_Scheduler.frame_tasks_sorted||(kha_Scheduler.frameTasks.sort(function(e,t){return e.priority>t.priority?1:e.priority=kha_System.renderListeners.length;)kha_System.renderListeners.push([]);kha_System.renderListeners[t].push(e)},kha_System.removeRenderListener=function(e,t){null==t&&(t=0),HxOverrides.remove(kha_System.renderListeners[t],e)},kha_System.notifyOnApplicationState=function(e,t,a,r,i){null!=e&&kha_System.foregroundListeners.push(e),null!=t&&kha_System.resumeListeners.push(t),null!=a&&kha_System.pauseListeners.push(a),null!=r&&kha_System.backgroundListeners.push(r),null!=i&&kha_System.shutdownListeners.push(i)},kha_System.notifyOnDropFiles=function(e){kha_System.dropFilesListeners.push(e)},kha_System.render=function(e,t){if(0!=kha_System.renderListeners.length)for(var a=0,r=kha_System.renderListeners[e];a=this.getLength()},unload:function(){},__class__:kha_Video,__properties__:{set_position:"set_position",get_position:"get_position"}};var kha_WindowMode=$hxClasses["kha.WindowMode"]={__ename__:!0,__constructs__:["Window","BorderlessWindow","Fullscreen"]};kha_WindowMode.Window=["Window",0],kha_WindowMode.Window.toString=$estr,kha_WindowMode.Window.__enum__=kha_WindowMode,kha_WindowMode.BorderlessWindow=["BorderlessWindow",1],kha_WindowMode.BorderlessWindow.toString=$estr,kha_WindowMode.BorderlessWindow.__enum__=kha_WindowMode,kha_WindowMode.Fullscreen=["Fullscreen",2],kha_WindowMode.Fullscreen.toString=$estr,kha_WindowMode.Fullscreen.__enum__=kha_WindowMode;var kha_Position=$hxClasses["kha.Position"]={__ename__:!0,__constructs__:["Center","Fixed"]};kha_Position.Center=["Center",0],kha_Position.Center.toString=$estr,kha_Position.Center.__enum__=kha_Position,kha_Position.Fixed=function(e){var t=["Fixed",1,e];return t.__enum__=kha_Position,t.toString=$estr,t};var kha_TargetDisplay=$hxClasses["kha.TargetDisplay"]={__ename__:!0,__constructs__:["Primary","ById"]};kha_TargetDisplay.Primary=["Primary",0],kha_TargetDisplay.Primary.toString=$estr,kha_TargetDisplay.Primary.__enum__=kha_TargetDisplay,kha_TargetDisplay.ById=function(e){var t=["ById",1,e];return t.__enum__=kha_TargetDisplay,t.toString=$estr,t};var kha_RendererOptions=$hxClasses["kha.RendererOptions"]=function(e,t,a){this.textureFormat=e,this.depthStencilFormat=t,this.samplesPerPixel=a};kha_RendererOptions.__name__=!0,kha_RendererOptions.prototype={__class__:kha_RendererOptions};var kha_WindowedModeOptions=$hxClasses["kha.WindowedModeOptions"]=function(e,t,a){this.minimizable=e,this.maximizable=t,this.resizable=a};kha_WindowedModeOptions.__name__=!0,kha_WindowedModeOptions.prototype={__class__:kha_WindowedModeOptions};var kha_WindowOptions=$hxClasses["kha.WindowOptions"]=function(e,t,a,r,i,s,n,_,o){this.width=e,this.height=t,this.mode=a,this.title=r,this.x=i,this.y=s,this.targetDisplay=n,this.rendererOptions=_,this.windowedModeOptions=o};kha_WindowOptions.__name__=!0,kha_WindowOptions.prototype={__class__:kha_WindowOptions};var kha_arrays__$Float32Array_Float32Array_$Impl_$=$hxClasses["kha.arrays._Float32Array.Float32Array_Impl_"]={};kha_arrays__$Float32Array_Float32Array_$Impl_$.__name__=!0,kha_arrays__$Float32Array_Float32Array_$Impl_$.__properties__={get_length:"get_length"},kha_arrays__$Float32Array_Float32Array_$Impl_$._new=function(e){return new Float32Array(e)},kha_arrays__$Float32Array_Float32Array_$Impl_$.get_length=function(e){return e.length},kha_arrays__$Float32Array_Float32Array_$Impl_$.set=function(e,t,a){return e[t]=a},kha_arrays__$Float32Array_Float32Array_$Impl_$.get=function(e,t){return e[t]},kha_arrays__$Float32Array_Float32Array_$Impl_$.data=function(e){return e},kha_arrays__$Float32Array_Float32Array_$Impl_$.arrayRead=function(e,t){return e[t]},kha_arrays__$Float32Array_Float32Array_$Impl_$.arrayWrite=function(e,t,a){return e[t]=a},kha_arrays__$Float32Array_Float32Array_$Impl_$.subarray=function(e,t,a){return e.subarray(t,a)};var kha_arrays__$Uint32Array_Uint32Array_$Impl_$=$hxClasses["kha.arrays._Uint32Array.Uint32Array_Impl_"]={};kha_arrays__$Uint32Array_Uint32Array_$Impl_$.__name__=!0,kha_arrays__$Uint32Array_Uint32Array_$Impl_$.__properties__={get_length:"get_length"},kha_arrays__$Uint32Array_Uint32Array_$Impl_$._new=function(e){return new Uint32Array(e)},kha_arrays__$Uint32Array_Uint32Array_$Impl_$.get_length=function(e){return e.length},kha_arrays__$Uint32Array_Uint32Array_$Impl_$.set=function(e,t,a){return e[t]=a},kha_arrays__$Uint32Array_Uint32Array_$Impl_$.get=function(e,t){return e[t]},kha_arrays__$Uint32Array_Uint32Array_$Impl_$.data=function(e){return e},kha_arrays__$Uint32Array_Uint32Array_$Impl_$.arrayRead=function(e,t){return e[t]},kha_arrays__$Uint32Array_Uint32Array_$Impl_$.arrayWrite=function(e,t,a){return e[t]=a},kha_arrays__$Uint32Array_Uint32Array_$Impl_$.subarray=function(e,t,a){return e.subarray(t,a)};var kha_audio1_AudioChannel=$hxClasses["kha.audio1.AudioChannel"]=function(){};kha_audio1_AudioChannel.__name__=!0,kha_audio1_AudioChannel.prototype={__class__:kha_audio1_AudioChannel,__properties__:{get_finished:"get_finished",set_volume:"set_volume",get_volume:"get_volume",get_position:"get_position",get_length:"get_length"}};var kha_audio2_Audio=$hxClasses["kha.audio2.Audio"]=function(){};kha_audio2_Audio.__name__=!0,kha_audio2_Audio._init=function(){kha_audio2_Audio.buffer=new kha_audio2_Buffer(8192,2,44100)},kha_audio2_Audio._callCallback=function(e){if(null!=kha_audio2_Audio.buffer)if(null!=kha_audio2_Audio.audioCallback)kha_audio2_Audio.audioCallback(e,kha_audio2_Audio.buffer);else for(var t=0,a=e;t=kha_audio2_Audio.buffer.size&&(kha_audio2_Audio.buffer.writeLocation=0)}},kha_audio2_Audio._readSample=function(){if(null==kha_audio2_Audio.buffer)return 0;var e=kha_audio2_Audio.buffer.data[kha_audio2_Audio.buffer.readLocation];return kha_audio2_Audio.buffer.readLocation+=1,kha_audio2_Audio.buffer.readLocation>=kha_audio2_Audio.buffer.size&&(kha_audio2_Audio.buffer.readLocation=0),e},kha_audio2_Audio.play=function(e,t){return null==t&&(t=!1),null},kha_audio2_Audio.stream=function(e,t){return null==t&&(t=!1),null};var kha_audio2_Audio1=$hxClasses["kha.audio2.Audio1"]=function(){};kha_audio2_Audio1.__name__=!0,kha_audio2_Audio1._init=function(){var e=new Array(16);kha_audio2_Audio1.soundChannels=e;var t=new Array(16);kha_audio2_Audio1.streamChannels=t;var a=new Array(16);kha_audio2_Audio1.internalSoundChannels=a;var r=new Array(16);kha_audio2_Audio1.internalStreamChannels=r;var i=new Array(512);kha_audio2_Audio1.sampleCache1=i;var s=new Array(512);kha_audio2_Audio1.sampleCache2=s,kha_audio2_Audio.audioCallback=kha_audio2_Audio1.mix},kha_audio2_Audio1.max=function(e,t){return e>t?e:t},kha_audio2_Audio1.min=function(e,t){return e-1?D:-1,t.writeLocation+=1,t.writeLocation>=t.size&&(t.writeLocation=0)}},kha_audio2_Audio1.play=function(e,t){null==t&&(t=!1);for(var a=null,r=0;r<16;){var i=r++;if(null==kha_audio2_Audio1.soundChannels[i]||kha_audio2_Audio1.soundChannels[i].get_finished()){(a=new kha_audio2_AudioChannel(t)).data=e.uncompressedData,kha_audio2_Audio1.soundChannels[i]=a;break}}return a},kha_audio2_Audio1._playAgain=function(e){for(var t=0;t<16;){var a=t++;if(null==kha_audio2_Audio1.soundChannels[a]||kha_audio2_Audio1.soundChannels[a].get_finished()||kha_audio2_Audio1.soundChannels[a]==e){kha_audio2_Audio1.soundChannels[a]=e;break}}},kha_audio2_Audio1.stream=function(e,t){null==t&&(t=!1);var a=kha_audio2_Audio.stream(e,t);if(null!=a)return a;for(var r=null,i=0;i<16;){var s=i++;if(null==kha_audio2_Audio1.streamChannels[s]||kha_audio2_Audio1.streamChannels[s].get_finished()){r=new kha_audio2_StreamChannel(e.compressedData,t),kha_audio2_Audio1.streamChannels[s]=r;break}}return r};var kha_audio2_AudioChannel=$hxClasses["kha.audio2.AudioChannel"]=function(e){this.paused=!1,this.looping=e,this.myVolume=1,this.myPosition=0};kha_audio2_AudioChannel.__name__=!0,kha_audio2_AudioChannel.__interfaces__=[kha_audio1_AudioChannel],kha_audio2_AudioChannel.prototype={nextSamples:function(e,t,a){if(this.paused)for(var r=0,i=t;r=this.data.length&&(this.myPosition=0)}for(;s=this.data.length},__class__:kha_audio2_AudioChannel,__properties__:{get_finished:"get_finished",set_volume:"set_volume",get_volume:"get_volume",get_position:"get_position",get_length:"get_length"}};var kha_audio2_Buffer=$hxClasses["kha.audio2.Buffer"]=function(e,t,a){this.size=e;var r=new Array(e);this.data=r,this.channels=t,this.samplesPerSecond=a,this.readLocation=0,this.writeLocation=0};kha_audio2_Buffer.__name__=!0,kha_audio2_Buffer.prototype={__class__:kha_audio2_Buffer};var kha_audio2_StreamChannel=$hxClasses["kha.audio2.StreamChannel"]=function(e,t){this.paused=!1,this.atend=!1,this.myVolume=1,this.loop=t,this.reader=kha_audio2_ogg_vorbis_Reader.openFromBytes(e)};kha_audio2_StreamChannel.__name__=!0,kha_audio2_StreamChannel.__interfaces__=[kha_audio1_AudioChannel],kha_audio2_StreamChannel.prototype={nextSamples:function(e,t,a){if(this.paused)for(var r=0,i=t;r>>24]};var kha_audio2_ogg_tools_MathTools=$hxClasses["kha.audio2.ogg.tools.MathTools"]=function(){};kha_audio2_ogg_tools_MathTools.__name__=!0,kha_audio2_ogg_tools_MathTools.ilog=function(e){var t=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4];return e<16384?e<16?t[e]:e<512?5+t[e>>5]:10+t[e>>10]:e<16777216?e<524288?15+t[e>>15]:20+t[e>>20]:e<536870912?25+t[e>>25]:e<-2147483648?30+t[e>>30]:0};var kha_audio2_ogg_tools_Mdct=$hxClasses["kha.audio2.ogg.tools.Mdct"]=function(){};kha_audio2_ogg_tools_Mdct.__name__=!0,kha_audio2_ogg_tools_Mdct.inverseTransform=function(e,t,a,r,i,s){for(var n=t>>1,_=t>>2,o=t>>3,h=new Array(n),l=n-2,c=0,d=0,u=n;d!=u;)h[l+1]=e[d]*a[c]-e[d+2]*a[c+1],h[l]=e[d]*a[c+1]+e[d+2]*a[c],l-=2,c+=2,d+=4;for(d=n-3;l>=0;)h[l+1]=-e[d+2]*a[c]- -e[d]*a[c+1],h[l]=-e[d+2]*a[c+1]+-e[d]*a[c],l-=2,c+=2,d-=4;for(var p=e,f=h,g=n-8,m=_,v=0,k=_,b=0;g>=0;){var y=f[m+1]-f[v+1],S=f[m]-f[v];p[k+1]=f[m+1]+f[v+1],p[k]=f[m]+f[v],p[b+1]=y*a[g+4]-S*a[g+5],p[b]=S*a[g+4]+y*a[g+5],y=f[m+3]-f[v+3],S=f[m+2]-f[v+2],p[k+3]=f[m+3]+f[v+3],p[k+2]=f[m+2]+f[v+2],p[b+3]=y*a[g]-S*a[g+1],p[b+2]=S*a[g]+y*a[g+1],g-=8,k+=4,b+=4,m+=4,v+=4}for(var x=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4],B=(t<16384?t<16?x[t]:t<512?5+x[t>>5]:10+x[t>>10]:t<16777216?t<524288?15+x[t>>15]:20+x[t>>20]:t<536870912?25+x[t>>25]:t<-2147483648?30+x[t>>30]:0)-1,w=n-1-0*_,I=w,T=w+-(t>>3),C=0,M=1+(t>>4>>2);--M>0;){var A=p[I]-p[T],R=p[I+-1]-p[T+-1],V=I,D=p;D[V]=D[V]+p[T];var P=I+-1,F=p;F[P]=F[P]+p[T+-1],p[T]=A*a[C]-R*a[C+1],p[T+-1]=R*a[C]+A*a[C+1],C+=8,A=p[I+-2]-p[T+-2],R=p[I+-3]-p[T+-3];var $=I+-2,j=p;j[$]=j[$]+p[T+-2];var E=I+-3,U=p;U[E]=U[E]+p[T+-3],p[T+-2]=A*a[C]-R*a[C+1],p[T+-3]=R*a[C]+A*a[C+1],C+=8,A=p[I+-4]-p[T+-4],R=p[I+-5]-p[T+-5];var N=I+-4,L=p;L[N]=L[N]+p[T+-4];var z=I+-5,O=p;O[z]=O[z]+p[T+-5],p[T+-4]=A*a[C]-R*a[C+1],p[T+-5]=R*a[C]+A*a[C+1],C+=8,A=p[I+-6]-p[T+-6],R=p[I+-7]-p[T+-7];var H=I+-6,G=p;G[H]=G[H]+p[T+-6];var W=I+-7,K=p;K[W]=K[W]+p[T+-7],p[T+-6]=A*a[C]-R*a[C+1],p[T+-7]=R*a[C]+A*a[C+1],C+=8,I-=8,T-=8}for(var Z=n-1-_,Q=Z,q=Z+-(t>>3),Y=0,X=1+(t>>4>>2);--X>0;){var J=p[Q]-p[q],ee=p[Q+-1]-p[q+-1],te=Q,ae=p;ae[te]=ae[te]+p[q];var re=Q+-1,ie=p;ie[re]=ie[re]+p[q+-1],p[q]=J*a[Y]-ee*a[Y+1],p[q+-1]=ee*a[Y]+J*a[Y+1],Y+=8,J=p[Q+-2]-p[q+-2],ee=p[Q+-3]-p[q+-3];var se=Q+-2,ne=p;ne[se]=ne[se]+p[q+-2];var _e=Q+-3,oe=p;oe[_e]=oe[_e]+p[q+-3],p[q+-2]=J*a[Y]-ee*a[Y+1],p[q+-3]=ee*a[Y]+J*a[Y+1],Y+=8,J=p[Q+-4]-p[q+-4],ee=p[Q+-5]-p[q+-5];var he=Q+-4,le=p;le[he]=le[he]+p[q+-4];var ce=Q+-5,de=p;de[ce]=de[ce]+p[q+-5],p[q+-4]=J*a[Y]-ee*a[Y+1],p[q+-5]=ee*a[Y]+J*a[Y+1],Y+=8,J=p[Q+-6]-p[q+-6],ee=p[Q+-7]-p[q+-7];var ue=Q+-6,pe=p;pe[ue]=pe[ue]+p[q+-6];var fe=Q+-7,ge=p;ge[fe]=ge[fe]+p[q+-7],p[q+-6]=J*a[Y]-ee*a[Y+1],p[q+-7]=ee*a[Y]+J*a[Y+1],Y+=8,Q-=8,q-=8}for(var me=n-1-0*o,ve=0,ke=me,be=me+-(t>>4),ye=1+(t>>5>>2);--ye>0;){var Se=p[ke]-p[be],xe=p[ke+-1]-p[be+-1],Be=ke,we=p;we[Be]=we[Be]+p[be];var Ie=ke+-1,Te=p;Te[Ie]=Te[Ie]+p[be+-1],p[be]=Se*a[ve]-xe*a[ve+1],p[be+-1]=xe*a[ve]+Se*a[ve+1],ve+=16,Se=p[ke+-2]-p[be+-2],xe=p[ke+-3]-p[be+-3];var Ce=ke+-2,Me=p;Me[Ce]=Me[Ce]+p[be+-2];var Ae=ke+-3,Re=p;Re[Ae]=Re[Ae]+p[be+-3],p[be+-2]=Se*a[ve]-xe*a[ve+1],p[be+-3]=xe*a[ve]+Se*a[ve+1],ve+=16,Se=p[ke+-4]-p[be+-4],xe=p[ke+-5]-p[be+-5];var Ve=ke+-4,De=p;De[Ve]=De[Ve]+p[be+-4];var Pe=ke+-5,Fe=p;Fe[Pe]=Fe[Pe]+p[be+-5],p[be+-4]=Se*a[ve]-xe*a[ve+1],p[be+-5]=xe*a[ve]+Se*a[ve+1],ve+=16,Se=p[ke+-6]-p[be+-6],xe=p[ke+-7]-p[be+-7];var $e=ke+-6,je=p;je[$e]=je[$e]+p[be+-6];var Ee=ke+-7,Ue=p;Ue[Ee]=Ue[Ee]+p[be+-7],p[be+-6]=Se*a[ve]-xe*a[ve+1],p[be+-7]=xe*a[ve]+Se*a[ve+1],ke-=8,be-=8,ve+=16}for(var Ne=n-1-o,Le=0,ze=Ne,Oe=Ne+-(t>>4),He=1+(t>>5>>2);--He>0;){var Ge=p[ze]-p[Oe],We=p[ze+-1]-p[Oe+-1],Ke=ze,Ze=p;Ze[Ke]=Ze[Ke]+p[Oe];var Qe=ze+-1,qe=p;qe[Qe]=qe[Qe]+p[Oe+-1],p[Oe]=Ge*a[Le]-We*a[Le+1],p[Oe+-1]=We*a[Le]+Ge*a[Le+1],Le+=16,Ge=p[ze+-2]-p[Oe+-2],We=p[ze+-3]-p[Oe+-3];var Ye=ze+-2,Xe=p;Xe[Ye]=Xe[Ye]+p[Oe+-2];var Je=ze+-3,et=p;et[Je]=et[Je]+p[Oe+-3],p[Oe+-2]=Ge*a[Le]-We*a[Le+1],p[Oe+-3]=We*a[Le]+Ge*a[Le+1],Le+=16,Ge=p[ze+-4]-p[Oe+-4],We=p[ze+-5]-p[Oe+-5];var tt=ze+-4,at=p;at[tt]=at[tt]+p[Oe+-4];var rt=ze+-5,it=p;it[rt]=it[rt]+p[Oe+-5],p[Oe+-4]=Ge*a[Le]-We*a[Le+1],p[Oe+-5]=We*a[Le]+Ge*a[Le+1],Le+=16,Ge=p[ze+-6]-p[Oe+-6],We=p[ze+-7]-p[Oe+-7];var st=ze+-6,nt=p;nt[st]=nt[st]+p[Oe+-6];var _t=ze+-7,ot=p;ot[_t]=ot[_t]+p[Oe+-7],p[Oe+-6]=Ge*a[Le]-We*a[Le+1],p[Oe+-7]=We*a[Le]+Ge*a[Le+1],ze-=8,Oe-=8,Le+=16}for(var ht=n-1-2*o,lt=0,ct=ht,dt=ht+-(t>>4),ut=1+(t>>5>>2);--ut>0;){var pt=p[ct]-p[dt],ft=p[ct+-1]-p[dt+-1],gt=ct,mt=p;mt[gt]=mt[gt]+p[dt];var vt=ct+-1,kt=p;kt[vt]=kt[vt]+p[dt+-1],p[dt]=pt*a[lt]-ft*a[lt+1],p[dt+-1]=ft*a[lt]+pt*a[lt+1],lt+=16,pt=p[ct+-2]-p[dt+-2],ft=p[ct+-3]-p[dt+-3];var bt=ct+-2,yt=p;yt[bt]=yt[bt]+p[dt+-2];var St=ct+-3,xt=p;xt[St]=xt[St]+p[dt+-3],p[dt+-2]=pt*a[lt]-ft*a[lt+1],p[dt+-3]=ft*a[lt]+pt*a[lt+1],lt+=16,pt=p[ct+-4]-p[dt+-4],ft=p[ct+-5]-p[dt+-5];var Bt=ct+-4,wt=p;wt[Bt]=wt[Bt]+p[dt+-4];var It=ct+-5,Tt=p;Tt[It]=Tt[It]+p[dt+-5],p[dt+-4]=pt*a[lt]-ft*a[lt+1],p[dt+-5]=ft*a[lt]+pt*a[lt+1],lt+=16,pt=p[ct+-6]-p[dt+-6],ft=p[ct+-7]-p[dt+-7];var Ct=ct+-6,Mt=p;Mt[Ct]=Mt[Ct]+p[dt+-6];var At=ct+-7,Rt=p;Rt[At]=Rt[At]+p[dt+-7],p[dt+-6]=pt*a[lt]-ft*a[lt+1],p[dt+-7]=ft*a[lt]+pt*a[lt+1],ct-=8,dt-=8,lt+=16}for(var Vt=n-1-3*o,Dt=0,Pt=Vt,Ft=Vt+-(t>>4),$t=1+(t>>5>>2);--$t>0;){var jt=p[Pt]-p[Ft],Et=p[Pt+-1]-p[Ft+-1],Ut=Pt,Nt=p;Nt[Ut]=Nt[Ut]+p[Ft];var Lt=Pt+-1,zt=p;zt[Lt]=zt[Lt]+p[Ft+-1],p[Ft]=jt*a[Dt]-Et*a[Dt+1],p[Ft+-1]=Et*a[Dt]+jt*a[Dt+1],Dt+=16,jt=p[Pt+-2]-p[Ft+-2],Et=p[Pt+-3]-p[Ft+-3];var Ot=Pt+-2,Ht=p;Ht[Ot]=Ht[Ot]+p[Ft+-2];var Gt=Pt+-3,Wt=p;Wt[Gt]=Wt[Gt]+p[Ft+-3],p[Ft+-2]=jt*a[Dt]-Et*a[Dt+1],p[Ft+-3]=Et*a[Dt]+jt*a[Dt+1],Dt+=16,jt=p[Pt+-4]-p[Ft+-4],Et=p[Pt+-5]-p[Ft+-5];var Kt=Pt+-4,Zt=p;Zt[Kt]=Zt[Kt]+p[Ft+-4];var Qt=Pt+-5,qt=p;qt[Qt]=qt[Qt]+p[Ft+-5],p[Ft+-4]=jt*a[Dt]-Et*a[Dt+1],p[Ft+-5]=Et*a[Dt]+jt*a[Dt+1],Dt+=16,jt=p[Pt+-6]-p[Ft+-6],Et=p[Pt+-7]-p[Ft+-7];var Yt=Pt+-6,Xt=p;Xt[Yt]=Xt[Yt]+p[Ft+-6];var Jt=Pt+-7,ea=p;ea[Jt]=ea[Jt]+p[Ft+-7],p[Ft+-6]=jt*a[Dt]-Et*a[Dt+1],p[Ft+-7]=Et*a[Dt]+jt*a[Dt+1],Pt-=8,Ft-=8,Dt+=16}for(var ta=2,aa=B-3>>1;ta>ra+2,sa=ia>>1,na=0,_a=1<>ra+4>>2);--ua>0;){var pa=p[ca]-p[da],fa=p[ca+-1]-p[da+-1],ga=ca,ma=p;ma[ga]=ma[ga]+p[da];var va=ca+-1,ka=p;ka[va]=ka[va]+p[da+-1],p[da]=pa*a[la]-fa*a[la+1],p[da+-1]=fa*a[la]+pa*a[la+1],la+=ha,pa=p[ca+-2]-p[da+-2],fa=p[ca+-3]-p[da+-3];var ba=ca+-2,ya=p;ya[ba]=ya[ba]+p[da+-2];var Sa=ca+-3,xa=p;xa[Sa]=xa[Sa]+p[da+-3],p[da+-2]=pa*a[la]-fa*a[la+1],p[da+-3]=fa*a[la]+pa*a[la+1],la+=ha,pa=p[ca+-4]-p[da+-4],fa=p[ca+-5]-p[da+-5];var Ba=ca+-4,wa=p;wa[Ba]=wa[Ba]+p[da+-4];var Ia=ca+-5,Ta=p;Ta[Ia]=Ta[Ia]+p[da+-5],p[da+-4]=pa*a[la]-fa*a[la+1],p[da+-5]=fa*a[la]+pa*a[la+1],la+=ha,pa=p[ca+-6]-p[da+-6],fa=p[ca+-7]-p[da+-7];var Ca=ca+-6,Ma=p;Ma[Ca]=Ma[Ca]+p[da+-6];var Aa=ca+-7,Ra=p;Ra[Aa]=Ra[Aa]+p[da+-7],p[da+-6]=pa*a[la]-fa*a[la+1],p[da+-7]=fa*a[la]+pa*a[la+1],ca-=8,da-=8,la+=ha}for(var Va=B-3>>1,Da=B-6;Va>Pa+2,$a=1<>1,Ea=1<>Pa+6)+1;--La>0;){for(var za=a[Ua],Oa=a[Ua+1],Ha=a[Ua+$a],Ga=a[Ua+$a+1],Wa=a[Ua+2*$a],Ka=a[Ua+2*$a+1],Za=a[Ua+3*$a],Qa=a[Ua+3*$a+1],qa=Na,Ya=Na+-ja,Xa=Ea+1;--Xa>0;){var Ja=p[qa]-p[Ya],er=p[qa+-1]-p[Ya+-1];p[qa]=p[qa]+p[Ya],p[qa+-1]=p[qa+-1]+p[Ya+-1],p[Ya]=Ja*za-er*Oa,p[Ya+-1]=er*za+Ja*Oa,Ja=p[qa+-2]-p[Ya+-2],er=p[qa+-3]-p[Ya+-3],p[qa+-2]=p[qa+-2]+p[Ya+-2],p[qa+-3]=p[qa+-3]+p[Ya+-3],p[Ya+-2]=Ja*Ha-er*Ga,p[Ya+-3]=er*Ha+Ja*Ga,Ja=p[qa+-4]-p[Ya+-4],er=p[qa+-5]-p[Ya+-5],p[qa+-4]=p[qa+-4]+p[Ya+-4],p[qa+-5]=p[qa+-5]+p[Ya+-5],p[Ya+-4]=Ja*Wa-er*Ka,p[Ya+-5]=er*Wa+Ja*Ka,Ja=p[qa+-6]-p[Ya+-6],er=p[qa+-7]-p[Ya+-7],p[qa+-6]=p[qa+-6]+p[Ya+-6],p[qa+-7]=p[qa+-7]+p[Ya+-7],p[Ya+-6]=Ja*Za-er*Qa,p[Ya+-7]=er*Za+Ja*Qa,qa-=Fa,Ya-=Fa}Ua+=4*$a,Na-=8}for(var tr=n-1,ar=a[t>>3],rr=tr,ir=tr-16*(t>>5);rr>ir;){var sr=p[rr],nr=p[rr+-8];p[rr+-8]=sr-nr,p[rr]=sr+nr,sr=p[rr+-1],nr=p[rr+-9],p[rr+-9]=sr-nr,p[rr+-1]=sr+nr;var _r=(sr=p[rr+-2])-(nr=p[rr+-10]);p[rr+-2]=sr+nr;var or=(sr=p[rr+-3])-(nr=p[rr+-11]);p[rr+-3]=sr+nr,p[rr+-10]=(_r+or)*ar,p[rr+-11]=(or-_r)*ar,sr=p[rr+-4],_r=(nr=p[rr+-12])-sr,p[rr+-4]=sr+nr,or=(sr=p[rr+-5])-(nr=p[rr+-13]),p[rr+-5]=sr+nr,p[rr+-12]=or,p[rr+-13]=_r,sr=p[rr+-6],_r=(nr=p[rr+-14])-sr,p[rr+-6]=sr+nr,or=(sr=p[rr+-7])-(nr=p[rr+-15]),p[rr+-7]=sr+nr,p[rr+-14]=(_r+or)*ar,p[rr+-15]=(_r-or)*ar;var hr=p[rr],lr=p[rr+-4],cr=hr-lr,dr=hr+lr,ur=(hr=p[rr+-2])+(lr=p[rr+-6]),pr=hr-lr;p[rr]=dr+ur,p[rr+-2]=dr-ur;var fr=p[rr+-3]-p[rr+-7];p[rr+-4]=cr+fr,p[rr+-6]=cr-fr;var gr=(hr=p[rr+-1])-(lr=p[rr+-5]),mr=hr+lr,vr=p[rr+-3]+p[rr+-7];p[rr+-1]=mr+vr,p[rr+-3]=mr-vr,p[rr+-5]=gr-pr,p[rr+-7]=gr+pr;var kr=rr-8,br=p[kr],yr=p[kr+-4],Sr=br-yr,xr=br+yr,Br=(br=p[kr+-2])+(yr=p[kr+-6]),wr=br-yr;p[kr]=xr+Br,p[kr+-2]=xr-Br;var Ir=p[kr+-3]-p[kr+-7];p[kr+-4]=Sr+Ir,p[kr+-6]=Sr-Ir;var Tr=(br=p[kr+-1])-(yr=p[kr+-5]),Cr=br+yr,Mr=p[kr+-3]+p[kr+-7];p[kr+-1]=Cr+Mr,p[kr+-3]=Cr-Mr,p[kr+-5]=Tr-wr,p[kr+-7]=Tr+wr,rr-=16}for(var Ar=0,Rr=_-4,Vr=n-4;Rr>=0;){var Dr=s[Ar];f[Vr+3]=p[Dr],f[Vr+2]=p[Dr+1],f[Rr+3]=p[Dr+2],f[Rr+2]=p[Dr+3],Dr=s[Ar+1],f[Vr+1]=p[Dr],f[Vr]=p[Dr+1],f[Rr+1]=p[Dr+2],f[Rr]=p[Dr+3],Rr-=4,Vr-=4,Ar+=2}for(var Pr=0,Fr=0,$r=n-4;Fr<$r;){var jr=f[Fr]-f[$r+2],Er=f[Fr+1]+f[$r+3],Ur=i[Pr+1]*jr+i[Pr]*Er,Nr=i[Pr+1]*Er-i[Pr]*jr,Lr=f[Fr]+f[$r+2],zr=f[Fr+1]-f[$r+3];f[Fr]=Lr+Ur,f[Fr+1]=zr+Nr,f[$r+2]=Lr-Ur,f[$r+3]=Nr-zr,jr=f[Fr+2]-f[$r],Er=f[Fr+3]+f[$r+1],Ur=i[Pr+3]*jr+i[Pr+2]*Er,Nr=i[Pr+3]*Er-i[Pr+2]*jr,Lr=f[Fr+2]+f[$r],zr=f[Fr+3]-f[$r+1],f[Fr+2]=Lr+Ur,f[Fr+3]=zr+Nr,f[$r]=Lr-Ur,f[$r+1]=Nr-zr,Pr+=4,Fr+=4,$r-=4}for(var Or=n-8,Hr=n-8,Gr=0,Wr=n-4,Kr=n,Zr=t-4;Hr>=0;){var Qr=h[Hr+6]*r[Or+7]-h[Hr+7]*r[Or+6],qr=-h[Hr+6]*r[Or+6]-h[Hr+7]*r[Or+7];e[Gr]=Qr,e[Wr+3]=-Qr,e[Kr]=qr,e[Zr+3]=qr;var Yr=h[Hr+4]*r[Or+5]-h[Hr+5]*r[Or+4],Xr=-h[Hr+4]*r[Or+4]-h[Hr+5]*r[Or+5];e[Gr+1]=Yr,e[Wr+2]=-Yr,e[Kr+1]=Xr,e[Zr+2]=Xr,Qr=h[Hr+2]*r[Or+3]-h[Hr+3]*r[Or+2],qr=-h[Hr+2]*r[Or+2]-h[Hr+3]*r[Or+3],e[Gr+2]=Qr,e[Wr+1]=-Qr,e[Kr+2]=qr,e[Zr+1]=qr,Yr=h[Hr]*r[Or+1]-h[Hr+1]*r[Or],Xr=-h[Hr]*r[Or]-h[Hr+1]*r[Or+1],e[Gr+3]=Yr,e[Wr]=-Yr,e[Kr+3]=Xr,e[Zr]=Xr,Or-=8,Hr-=8,Gr+=4,Kr+=4,Wr-=4,Zr-=4}},kha_audio2_ogg_tools_Mdct.step3Iter0Loop=function(e,t,a,r,i){for(var s=a,n=a+r,_=0,o=1+(e>>2);--o>0;){var h=t[s]-t[n],l=t[s+-1]-t[n+-1],c=s,d=t;d[c]=d[c]+t[n];var u=s+-1,p=t;p[u]=p[u]+t[n+-1],t[n]=h*i[_]-l*i[_+1],t[n+-1]=l*i[_]+h*i[_+1],_+=8,h=t[s+-2]-t[n+-2],l=t[s+-3]-t[n+-3];var f=s+-2,g=t;g[f]=g[f]+t[n+-2];var m=s+-3,v=t;v[m]=v[m]+t[n+-3],t[n+-2]=h*i[_]-l*i[_+1],t[n+-3]=l*i[_]+h*i[_+1],_+=8,h=t[s+-4]-t[n+-4],l=t[s+-5]-t[n+-5];var k=s+-4,b=t;b[k]=b[k]+t[n+-4];var y=s+-5,S=t;S[y]=S[y]+t[n+-5],t[n+-4]=h*i[_]-l*i[_+1],t[n+-5]=l*i[_]+h*i[_+1],_+=8,h=t[s+-6]-t[n+-6],l=t[s+-7]-t[n+-7];var x=s+-6,B=t;B[x]=B[x]+t[n+-6];var w=s+-7,I=t;I[w]=I[w]+t[n+-7],t[n+-6]=h*i[_]-l*i[_+1],t[n+-7]=l*i[_]+h*i[_+1],_+=8,s-=8,n-=8}},kha_audio2_ogg_tools_Mdct.step3InnerRLoop=function(e,t,a,r,i,s){for(var n=0,_=a,o=a+r,h=1+(e>>2);--h>0;){var l=t[_]-t[o],c=t[_+-1]-t[o+-1],d=_,u=t;u[d]=u[d]+t[o];var p=_+-1,f=t;f[p]=f[p]+t[o+-1],t[o]=l*i[n]-c*i[n+1],t[o+-1]=c*i[n]+l*i[n+1],n+=s,l=t[_+-2]-t[o+-2],c=t[_+-3]-t[o+-3];var g=_+-2,m=t;m[g]=m[g]+t[o+-2];var v=_+-3,k=t;k[v]=k[v]+t[o+-3],t[o+-2]=l*i[n]-c*i[n+1],t[o+-3]=c*i[n]+l*i[n+1],n+=s,l=t[_+-4]-t[o+-4],c=t[_+-5]-t[o+-5];var b=_+-4,y=t;y[b]=y[b]+t[o+-4];var S=_+-5,x=t;x[S]=x[S]+t[o+-5],t[o+-4]=l*i[n]-c*i[n+1],t[o+-5]=c*i[n]+l*i[n+1],n+=s,l=t[_+-6]-t[o+-6],c=t[_+-7]-t[o+-7];var B=_+-6,w=t;w[B]=w[B]+t[o+-6];var I=_+-7,T=t;T[I]=T[I]+t[o+-7],t[o+-6]=l*i[n]-c*i[n+1],t[o+-7]=c*i[n]+l*i[n+1],_-=8,o-=8,n+=s}},kha_audio2_ogg_tools_Mdct.step3InnerSLoop=function(e,t,a,r,i,s,n,_){for(var o=i[s],h=i[s+1],l=i[s+n],c=i[s+n+1],d=i[s+2*n],u=i[s+2*n+1],p=i[s+3*n],f=i[s+3*n+1],g=a,m=a+r,v=e+1;--v>0;){var k=t[g]-t[m],b=t[g+-1]-t[m+-1];t[g]=t[g]+t[m],t[g+-1]=t[g+-1]+t[m+-1],t[m]=k*o-b*h,t[m+-1]=b*o+k*h,k=t[g+-2]-t[m+-2],b=t[g+-3]-t[m+-3],t[g+-2]=t[g+-2]+t[m+-2],t[g+-3]=t[g+-3]+t[m+-3],t[m+-2]=k*l-b*c,t[m+-3]=b*l+k*c,k=t[g+-4]-t[m+-4],b=t[g+-5]-t[m+-5],t[g+-4]=t[g+-4]+t[m+-4],t[g+-5]=t[g+-5]+t[m+-5],t[m+-4]=k*d-b*u,t[m+-5]=b*d+k*u,k=t[g+-6]-t[m+-6],b=t[g+-7]-t[m+-7],t[g+-6]=t[g+-6]+t[m+-6],t[g+-7]=t[g+-7]+t[m+-7],t[m+-6]=k*p-b*f,t[m+-7]=b*p+k*f,g-=_,m-=_}},kha_audio2_ogg_tools_Mdct.iter54=function(e,t){var a=e[t],r=e[t+-4],i=a-r,s=a+r,n=(a=e[t+-2])+(r=e[t+-6]),_=a-r;e[t]=s+n,e[t+-2]=s-n;var o=e[t+-3]-e[t+-7];e[t+-4]=i+o,e[t+-6]=i-o;var h=(a=e[t+-1])-(r=e[t+-5]),l=a+r,c=e[t+-3]+e[t+-7];e[t+-1]=l+c,e[t+-3]=l-c,e[t+-5]=h-_,e[t+-7]=h+_},kha_audio2_ogg_tools_Mdct.step3InnerSLoopLd654=function(e,t,a,r,i){for(var s=r[i>>3],n=a,_=a-16*e;n>_;){var o=t[n],h=t[n+-8];t[n+-8]=o-h,t[n]=o+h,o=t[n+-1],h=t[n+-9],t[n+-9]=o-h,t[n+-1]=o+h;var l=(o=t[n+-2])-(h=t[n+-10]);t[n+-2]=o+h;var c=(o=t[n+-3])-(h=t[n+-11]);t[n+-3]=o+h,t[n+-10]=(l+c)*s,t[n+-11]=(c-l)*s,o=t[n+-4],l=(h=t[n+-12])-o,t[n+-4]=o+h,c=(o=t[n+-5])-(h=t[n+-13]),t[n+-5]=o+h,t[n+-12]=c,t[n+-13]=l,o=t[n+-6],l=(h=t[n+-14])-o,t[n+-6]=o+h,c=(o=t[n+-7])-(h=t[n+-15]),t[n+-7]=o+h,t[n+-14]=(l+c)*s,t[n+-15]=(l-c)*s;var d=t[n],u=t[n+-4],p=d-u,f=d+u,g=(d=t[n+-2])+(u=t[n+-6]),m=d-u;t[n]=f+g,t[n+-2]=f-g;var v=t[n+-3]-t[n+-7];t[n+-4]=p+v,t[n+-6]=p-v;var k=(d=t[n+-1])-(u=t[n+-5]),b=d+u,y=t[n+-3]+t[n+-7];t[n+-1]=b+y,t[n+-3]=b-y,t[n+-5]=k-m,t[n+-7]=k+m;var S=n-8,x=t[S],B=t[S+-4],w=x-B,I=x+B,T=(x=t[S+-2])+(B=t[S+-6]),C=x-B;t[S]=I+T,t[S+-2]=I-T;var M=t[S+-3]-t[S+-7];t[S+-4]=w+M,t[S+-6]=w-M;var A=(x=t[S+-1])-(B=t[S+-5]),R=x+B,V=t[S+-3]+t[S+-7];t[S+-1]=R+V,t[S+-3]=R-V,t[S+-5]=A-C,t[S+-7]=A+C,n-=16}};var kha_audio2_ogg_vorbis_Reader=$hxClasses["kha.audio2.ogg.vorbis.Reader"]=function(e,t,a){this.seekFunc=t,this.inputLength=a,this.decoder=kha_audio2_ogg_vorbis_VorbisDecoder.start(e),this.decoder.setupSampleNumber(t,a),this.loopStart=this.get_header().comment.get_loopStart(),this.loopLength=this.get_header().comment.get_loopLength()};kha_audio2_ogg_vorbis_Reader.__name__=!0,kha_audio2_ogg_vorbis_Reader.openFromBytes=function(e){var t=new haxe_io_BytesInput(e),a=t;return new kha_audio2_ogg_vorbis_Reader(t,function(e){kha_audio2_ogg_vorbis_Reader.seekBytes(a,e)},e.length)},kha_audio2_ogg_vorbis_Reader.seekBytes=function(e,t){e.set_position(t)},kha_audio2_ogg_vorbis_Reader.readAll=function(e,t,a){null==a&&(a=!1);var r=new haxe_io_BytesInput(e),i=kha_audio2_ogg_vorbis_VorbisDecoder.start(r),s=r;i.setupSampleNumber(function(e){kha_audio2_ogg_vorbis_Reader.seekBytes(s,e)},e.length);for(var n=i.header,_=4096*n.channel,o=new Array(_);;){for(var h=i.read(o,4096,n.channel,n.sampleRate,a),l=0,c=h*n.channel;l=0&&!(this.segments[n]<255);)n>=0&&(this.endSegWithKnownLoc=n,this.knownLocForPacket=e),--n;if(this.firstDecode){for(var _=0,o=new kha_audio2_ogg_vorbis_data_ProbedPage,h=0,l=a;h=this.segments.length&&(this.nextSeg=-1),0!=this.bytesInSeg)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.OTHER,"",{fileName:"VorbisDecodeState.hx",lineNumber:184,className:"kha.audio2.ogg.vorbis.VorbisDecodeState",methodName:"next"}));return this.bytesInSeg=e,e},startPacket:function(){for(;-1==this.nextSeg;)if(this.page.start(this),0!=(1&this.page.flag))throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.MISSING_CAPTURE_PATTERN,null,{fileName:"VorbisDecodeState.hx",lineNumber:193,className:"kha.audio2.ogg.vorbis.VorbisDecodeState",methodName:"startPacket"}));this.lastSeg=!1,this.validBits=0,this.bytesInSeg=0},maybeStartPacket:function(){if(-1==this.nextSeg){var e,t=!1;try{this.inputPosition+=1,e=this.input.readByte()}catch(a){if(a instanceof js__$Boot_HaxeError&&(a=a.val),!js_Boot.__instanceof(a,haxe_io_Eof))throw a;t=!0,e=0}if(t)return!1;var a,r,i;if(79==e?(this.inputPosition+=1,i=103!=this.input.readByte()):i=!0,i?r=!0:(this.inputPosition+=1,r=103!=this.input.readByte()),r?a=!0:(this.inputPosition+=1,a=83!=this.input.readByte()),a)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.MISSING_CAPTURE_PATTERN,null,{fileName:"VorbisDecodeState.hx",lineNumber:218,className:"kha.audio2.ogg.vorbis.VorbisDecodeState",methodName:"maybeStartPacket"}));this.page.startWithoutCapturePattern(this)}return this.startPacket(),!0},readBits:function(e){if(this.validBits<0)return 0;if(this.validBits24)return this.readBits(24)+(this.readBits(e-24)<<24);for(0==this.validBits&&(this.acc=0);;){if(0==this.bytesInSeg&&(this.lastSeg||0==this.next())){this.validBits=-1;break}if(this.bytesInSeg--,this.inputPosition+=1,this.acc=this.acc+(this.input.readByte()<>>e,this.validBits-=e,t}var a=this.acc&(1<>>e,this.validBits-=e,a},readPacketRaw:function(){return 0!=this.bytesInSeg||!this.lastSeg&&0!=this.next()?(this.bytesInSeg--,this.inputPosition+=1,this.input.readByte()):-1},readPacket:function(){var e;return 0!=this.bytesInSeg||!this.lastSeg&&0!=this.next()?(this.bytesInSeg--,this.inputPosition+=1,e=this.input.readByte()):e=-1,this.validBits=0,e},flushPacket:function(){for(;0!=this.bytesInSeg||!this.lastSeg&&0!=this.next();)this.bytesInSeg--,this.inputPosition+=1,this.input.readByte()},vorbisValidate:function(){for(var e=new haxe_io_Bytes(new ArrayBuffer(6)),t=0;t<6;){var a,r=t++;0!=this.bytesInSeg||!this.lastSeg&&0!=this.next()?(this.bytesInSeg--,this.inputPosition+=1,a=this.input.readByte()):a=-1,this.validBits=0,e.b[r]=255&a}if("vorbis"!=e.toString())throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,"vorbis header",{fileName:"VorbisDecodeState.hx",lineNumber:300,className:"kha.audio2.ogg.vorbis.VorbisDecodeState",methodName:"vorbisValidate"}))},firstPageValidate:function(){if(1!=this.segments.length)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_FIRST_PAGE,"segmentCount",{fileName:"VorbisDecodeState.hx",lineNumber:307,className:"kha.audio2.ogg.vorbis.VorbisDecodeState",methodName:"firstPageValidate"}));if(30!=this.segments[0])throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_FIRST_PAGE,"decodeState head",{fileName:"VorbisDecodeState.hx",lineNumber:310,className:"kha.audio2.ogg.vorbis.VorbisDecodeState",methodName:"firstPageValidate"}))},startFirstDecode:function(){this.firstAudioPageOffset=this.inputPosition,this.firstDecode=!0},capturePattern:function(){var e,t,a;if(this.inputPosition+=1,79==this.input.readByte()?(this.inputPosition+=1,a=103!=this.input.readByte()):a=!0,a?t=!0:(this.inputPosition+=1,t=103!=this.input.readByte()),t?e=!0:(this.inputPosition+=1,e=83!=this.input.readByte()),e)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.MISSING_CAPTURE_PATTERN,null,{fileName:"VorbisDecodeState.hx",lineNumber:323,className:"kha.audio2.ogg.vorbis.VorbisDecodeState",methodName:"capturePattern"}))},skip:function(e){this.inputPosition+=e;for(var t=new Array(e),a=0,r=e;a=0){var r=e.codewordLengths[a];this.acc=this.acc>>>r,this.validBits-=r,this.validBits<0?(this.validBits=0,t=-1):t=a}else t=this.decodeScalarRaw(e);return e.sparse&&(t=e.sortedValues[t]),t},decodeRaw:function(e){this.validBits<10&&this.prepHuffman();var t=e.fastHuffman[1023&this.acc];if(t>=0){var a=e.codewordLengths[t];return this.acc=this.acc>>>a,this.validBits-=a,this.validBits<0?(this.validBits=0,-1):t}return this.decodeScalarRaw(e)},isLastByte:function(){return 0==this.bytesInSeg&&this.lastSeg},finishDecodePacket:function(e,t,a){var r=a.left.start,i=!1,s=t>>1;if(this.firstDecode)this.currentLoc=-s,this.discardSamplesDeferred=t-a.right.end,i=!0,this.firstDecode=!1;else if(0!=this.discardSamplesDeferred)a.left.start+=this.discardSamplesDeferred,r=a.left.start,this.discardSamplesDeferred=0;else;if(this.lastSegWhich==this.endSegWithKnownLoc){if(i&&0!=(4&this.page.flag)){var n=this.knownLocForPacket-(t-a.right.end);if(n0)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.CANT_FIND_LAST_PAGE,null,{fileName:"VorbisDecodeState.hx",lineNumber:552,className:"kha.audio2.ogg.vorbis.VorbisDecodeState",methodName:"getSampleNumber"}));return this.pLast=new kha_audio2_ogg_vorbis_data_ProbedPage,this.pLast.pageStart=o,this.pLast.pageEnd=i,this.pLast.lastDecodedSample=u,this.pLast.firstDecodedSample=null,this.pLast.afterPreviousPageStart=r,e(this.inputPosition=a),u},forcePageResync:function(){this.nextSeg=-1},setInputOffset:function(e,t){e(this.inputPosition=t)},findPage:function(e,t){try{for(;;)if(this.inputPosition+=1,79==this.input.readByte()){var a=this.inputPosition;if(a-25>t)return kha_audio2_ogg_vorbis__$VorbisDecodeState_FindPageResult.NotFound;var r,i;if(this.inputPosition+=1,103==this.input.readByte()?(this.inputPosition+=1,i=103!=this.input.readByte()):i=!0,i?r=!0:(this.inputPosition+=1,r=83!=this.input.readByte()),r)continue;var s=new Array(27);s[0]=79,s[1]=103,s[2]=103,s[3]=83;for(var n=4;n<27;){var _=n++;this.inputPosition+=1,s[_]=this.input.readByte()}if(0!=s[4]){e(this.inputPosition=a);continue}for(var o=s[22]+(s[23]<<8)+(s[24]<<16)+(s[25]<<24),h=22;h<26;)s[h++]=0;for(var l=0,c=0;c<27;){var d=c++;l=l<<8^kha_audio2_ogg_tools_Crc32.table[s[d]^l>>>24]}var u=0;try{for(var p=0,f=s[26];p>>24],u+=g}for(var m=0,v=u;m>>24]}}catch(e){if(e instanceof js__$Boot_HaxeError&&(e=e.val),js_Boot.__instanceof(e,haxe_io_Eof))return kha_audio2_ogg_vorbis__$VorbisDecodeState_FindPageResult.NotFound;throw e}if(l==o){var b=this.inputPosition;return e(this.inputPosition=a-1),kha_audio2_ogg_vorbis__$VorbisDecodeState_FindPageResult.Found(b,0!=(4&s[5]))}}}catch(e){if(e instanceof js__$Boot_HaxeError&&(e=e.val),js_Boot.__instanceof(e,haxe_io_Eof))return kha_audio2_ogg_vorbis__$VorbisDecodeState_FindPageResult.NotFound;throw e}},analyzePage:function(e,t){var a=new kha_audio2_ogg_vorbis_data_ProbedPage,r=new Array(255);a.pageStart=this.inputPosition,this.inputPosition+=27;for(var i=new Array(27),s=0;s<27;)i[s++]=this.input.readByte();var n=i;if(79!=n[0]||103!=n[1]||103!=n[2]||83!=n[3])throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.OTHER,"",{fileName:"VorbisDecodeState.hx",lineNumber:660,className:"kha.audio2.ogg.vorbis.VorbisDecodeState",methodName:"analyzePage"}));var _=n[26];this.inputPosition+=_;for(var o=new Array(_),h=0,l=_;h>=1;var S=m-1,x=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4];if((y&=(1<<(S<16384?S<16?x[S]:S<512?5+x[S>>5]:10+x[S>>10]:S<16777216?S<524288?15+x[S>>15]:20+x[S>>20]:S<536870912?25+x[S>>25]:S<-2147483648?30+x[S>>30]:0))-1)>=m)return e(this.inputPosition=a.pageStart),null;r[f++]=t.modes[y].blockflag;var B=c[b]-1;this.inputPosition+=B;for(var w=new Array(B),I=0,T=B;I1&&(V+=r[f-1]?t.blocksize1:t.blocksize0);for(var D=f-2;D>=1;)r[--D]?r[D+1]?V+=t.blocksize1>>1:V+=(t.blocksize1-t.blocksize0>>2)+(t.blocksize0>>1):V+=t.blocksize0>>1,--D;return a.firstDecodedSample=a.lastDecodedSample-V,e(this.inputPosition=a.pageStart),a},decodeScalarRaw:function(e){if(this.prepHuffman(),null==e.sortedCodewords&&null==e.codewords)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.OTHER,"",{fileName:"VorbisDecodeState.hx",lineNumber:787,className:"kha.audio2.ogg.vorbis.VorbisDecodeState",methodName:"decodeScalarRaw"}));var t=e.codewordLengths,a=e.codewords,r=e.sortedCodewords;if(e.entries>8?null!=r:null!=a){for(var i=this.acc,s=(i=(-16711936&(i=(-252645136&(i=(-858993460&(i=(-1431655766&i)>>>1|(1431655765&i)<<1))>>>2|(858993459&i)<<2))>>>4|(252645135&i)<<4))>>>8|(16711935&i)<<8)>>>16|i<<16,n=0,_=e.sortedEntries;_>1;){var o=n+(_>>1);_$UInt_UInt_$Impl_$.gte(s,r[o])?(n=o,_-=_>>1):_>>=1}e.sparse||(n=e.sortedValues[n]);var h=t[n];return this.validBits>=h?(this.acc=this.acc>>>h,this.validBits-=h,n):(this.validBits=0,-1)}if(e.sparse)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.OTHER,"",{fileName:"VorbisDecodeState.hx",lineNumber:829,className:"kha.audio2.ogg.vorbis.VorbisDecodeState",methodName:"decodeScalarRaw"}));for(var l=0,c=e.entries;l=u?(this.acc=this.acc>>>u,this.validBits-=u,d):(this.validBits=0,-1)}return this.error=new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_STREAM,null,{fileName:"VorbisDecodeState.hx",lineNumber:846,className:"kha.audio2.ogg.vorbis.VorbisDecodeState",methodName:"decodeScalarRaw"}),this.validBits=0,-1},__class__:kha_audio2_ogg_vorbis_VorbisDecodeState};var kha_audio2_ogg_vorbis__$VorbisDecodeState_FindPageResult=$hxClasses["kha.audio2.ogg.vorbis._VorbisDecodeState.FindPageResult"]={__ename__:!0,__constructs__:["Found","NotFound"]};kha_audio2_ogg_vorbis__$VorbisDecodeState_FindPageResult.Found=function(e,t){var a=["Found",0,e,t];return a.__enum__=kha_audio2_ogg_vorbis__$VorbisDecodeState_FindPageResult,a.toString=$estr,a},kha_audio2_ogg_vorbis__$VorbisDecodeState_FindPageResult.NotFound=["NotFound",1],kha_audio2_ogg_vorbis__$VorbisDecodeState_FindPageResult.NotFound.toString=$estr,kha_audio2_ogg_vorbis__$VorbisDecodeState_FindPageResult.NotFound.__enum__=kha_audio2_ogg_vorbis__$VorbisDecodeState_FindPageResult;var kha_audio2_ogg_vorbis_VorbisDecoder=$hxClasses["kha.audio2.ogg.vorbis.VorbisDecoder"]=function(e,t){this.header=e,this.decodeState=t,this.totalSample=null,this.currentSample=0,this.previousLength=0;var a=e.channel,r=new Array(a);this.channelBuffers=r;var i=e.channel,s=new Array(i);this.previousWindow=s;var n=e.channel,_=new Array(n);this.finalY=_;for(var o=0,h=e.channel;othis.totalSample-this.currentSample&&(l=this.totalSample-this.currentSample);for(var c=0;h=l-h&&(d=l-h);for(var u=this.channelBufferStart,p=this.channelBufferStart+d;u1?x=1:x<-1&&(x=-1),i&&(e[c]=x,++c)}}if(h+=d,this.channelBufferStart+=d,h==l||0==this.getFrameFloat())break}for(var B=h,w=l;Bthis.totalSample-this.currentSample&&(e=this.totalSample-this.currentSample);t=e-t&&(a=e-t),t+=a,this.channelBufferStart+=a,t==e||0==this.getFrameFloat())break}return this.currentSample+=e,e},setupSampleNumber:function(e,t){null==this.totalSample&&(this.totalSample=this.decodeState.getSampleNumber(e,t))},seek:function(e,t,a){if(this.currentSample!=a){if(null==this.totalSample&&(this.setupSampleNumber(e,t),0==this.totalSample))throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.CANT_FIND_LAST_PAGE,null,{fileName:"VorbisDecoder.hx",lineNumber:187,className:"kha.audio2.ogg.vorbis.VorbisDecoder",methodName:"seek"}));a<0&&(a=0);var r=this.decodeState.pFirst,i=this.decodeState.pLast;if(a>=i.lastDecodedSample&&(a=i.lastDecodedSample-1),a=4){var c=n+(_-n>>>1);s>=8?l=c:_$UInt_UInt_$Impl_$.gt(c,l)?l+=c-l>>>1:l=c+(l-c>>>1)}switch(++s,e(this.decodeState.inputPosition=l),this.decodeState.findPage(e,t)[1]){case 0:break;case 1:throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.SEEK_FAILED,null,{fileName:"VorbisDecoder.hx",lineNumber:249,className:"kha.audio2.ogg.vorbis.VorbisDecoder",methodName:"seek"}))}var d=this.decodeState.analyzePage(e,this.header);if(null==d)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.SEEK_FAILED,null,{fileName:"VorbisDecoder.hx",lineNumber:255,className:"kha.audio2.ogg.vorbis.VorbisDecoder",methodName:"seek"}));d.afterPreviousPageStart=l,d.pageStart!=i.pageStart?a>1,r=t>>2,i=t>>3,s=this.a,n=new Array(a);s[e]=n;var _=this.b,o=new Array(a);_[e]=o;var h=this.c,l=new Array(r);h[e]=l;var c=this.window,d=new Array(a);c[e]=d;var u=this.bitReverseData,p=new Array(i);u[e]=p,kha_audio2_ogg_vorbis_VorbisTools.computeTwiddleFactors(t,this.a[e],this.b[e],this.c[e]),kha_audio2_ogg_vorbis_VorbisTools.computeWindow(t,this.window[e]),kha_audio2_ogg_vorbis_VorbisTools.computeBitReverse(t,this.bitReverseData[e])},inverseMdct:function(e,t,a){for(var r=a?1:0,i=this.a[r],s=this.b[r],n=this.c[r],_=this.bitReverseData[r],o=t>>1,h=t>>2,l=t>>3,c=new Array(o),d=o-2,u=0,p=0,f=o;p!=f;)c[d+1]=e[p]*i[u]-e[p+2]*i[u+1],c[d]=e[p]*i[u+1]+e[p+2]*i[u],d-=2,u+=2,p+=4;for(p=o-3;d>=0;)c[d+1]=-e[p+2]*i[u]- -e[p]*i[u+1],c[d]=-e[p+2]*i[u+1]+-e[p]*i[u],d-=2,u+=2,p-=4;for(var g=e,m=c,v=o-8,k=h,b=0,y=h,S=0;v>=0;){var x=m[k+1]-m[b+1],B=m[k]-m[b];g[y+1]=m[k+1]+m[b+1],g[y]=m[k]+m[b],g[S+1]=x*i[v+4]-B*i[v+5],g[S]=B*i[v+4]+x*i[v+5],x=m[k+3]-m[b+3],B=m[k+2]-m[b+2],g[y+3]=m[k+3]+m[b+3],g[y+2]=m[k+2]+m[b+2],g[S+3]=x*i[v]-B*i[v+1],g[S+2]=B*i[v]+x*i[v+1],v-=8,y+=4,S+=4,k+=4,b+=4}for(var w=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4],I=(t<16384?t<16?w[t]:t<512?5+w[t>>5]:10+w[t>>10]:t<16777216?t<524288?15+w[t>>15]:20+w[t>>20]:t<536870912?25+w[t>>25]:t<-2147483648?30+w[t>>30]:0)-1,T=o-1-0*h,C=T,M=T+-(t>>3),A=0,R=1+(t>>4>>2);--R>0;){var V=g[C]-g[M],D=g[C+-1]-g[M+-1],P=C,F=g;F[P]=F[P]+g[M];var $=C+-1,j=g;j[$]=j[$]+g[M+-1],g[M]=V*i[A]-D*i[A+1],g[M+-1]=D*i[A]+V*i[A+1],A+=8,V=g[C+-2]-g[M+-2],D=g[C+-3]-g[M+-3];var E=C+-2,U=g;U[E]=U[E]+g[M+-2];var N=C+-3,L=g;L[N]=L[N]+g[M+-3],g[M+-2]=V*i[A]-D*i[A+1],g[M+-3]=D*i[A]+V*i[A+1],A+=8,V=g[C+-4]-g[M+-4],D=g[C+-5]-g[M+-5];var z=C+-4,O=g;O[z]=O[z]+g[M+-4];var H=C+-5,G=g;G[H]=G[H]+g[M+-5],g[M+-4]=V*i[A]-D*i[A+1],g[M+-5]=D*i[A]+V*i[A+1],A+=8,V=g[C+-6]-g[M+-6],D=g[C+-7]-g[M+-7];var W=C+-6,K=g;K[W]=K[W]+g[M+-6];var Z=C+-7,Q=g;Q[Z]=Q[Z]+g[M+-7],g[M+-6]=V*i[A]-D*i[A+1],g[M+-7]=D*i[A]+V*i[A+1],A+=8,C-=8,M-=8}for(var q=o-1-h,Y=q,X=q+-(t>>3),J=0,ee=1+(t>>4>>2);--ee>0;){var te=g[Y]-g[X],ae=g[Y+-1]-g[X+-1],re=Y,ie=g;ie[re]=ie[re]+g[X];var se=Y+-1,ne=g;ne[se]=ne[se]+g[X+-1],g[X]=te*i[J]-ae*i[J+1],g[X+-1]=ae*i[J]+te*i[J+1],J+=8,te=g[Y+-2]-g[X+-2],ae=g[Y+-3]-g[X+-3];var _e=Y+-2,oe=g;oe[_e]=oe[_e]+g[X+-2];var he=Y+-3,le=g;le[he]=le[he]+g[X+-3],g[X+-2]=te*i[J]-ae*i[J+1],g[X+-3]=ae*i[J]+te*i[J+1],J+=8,te=g[Y+-4]-g[X+-4],ae=g[Y+-5]-g[X+-5];var ce=Y+-4,de=g;de[ce]=de[ce]+g[X+-4];var ue=Y+-5,pe=g;pe[ue]=pe[ue]+g[X+-5],g[X+-4]=te*i[J]-ae*i[J+1],g[X+-5]=ae*i[J]+te*i[J+1],J+=8,te=g[Y+-6]-g[X+-6],ae=g[Y+-7]-g[X+-7];var fe=Y+-6,ge=g;ge[fe]=ge[fe]+g[X+-6];var me=Y+-7,ve=g;ve[me]=ve[me]+g[X+-7],g[X+-6]=te*i[J]-ae*i[J+1],g[X+-7]=ae*i[J]+te*i[J+1],J+=8,Y-=8,X-=8}for(var ke=o-1-0*l,be=0,ye=ke,Se=ke+-(t>>4),xe=1+(t>>5>>2);--xe>0;){var Be=g[ye]-g[Se],we=g[ye+-1]-g[Se+-1],Ie=ye,Te=g;Te[Ie]=Te[Ie]+g[Se];var Ce=ye+-1,Me=g;Me[Ce]=Me[Ce]+g[Se+-1],g[Se]=Be*i[be]-we*i[be+1],g[Se+-1]=we*i[be]+Be*i[be+1],be+=16,Be=g[ye+-2]-g[Se+-2],we=g[ye+-3]-g[Se+-3];var Ae=ye+-2,Re=g;Re[Ae]=Re[Ae]+g[Se+-2];var Ve=ye+-3,De=g;De[Ve]=De[Ve]+g[Se+-3],g[Se+-2]=Be*i[be]-we*i[be+1],g[Se+-3]=we*i[be]+Be*i[be+1],be+=16,Be=g[ye+-4]-g[Se+-4],we=g[ye+-5]-g[Se+-5];var Pe=ye+-4,Fe=g;Fe[Pe]=Fe[Pe]+g[Se+-4];var $e=ye+-5,je=g;je[$e]=je[$e]+g[Se+-5],g[Se+-4]=Be*i[be]-we*i[be+1],g[Se+-5]=we*i[be]+Be*i[be+1],be+=16,Be=g[ye+-6]-g[Se+-6],we=g[ye+-7]-g[Se+-7];var Ee=ye+-6,Ue=g;Ue[Ee]=Ue[Ee]+g[Se+-6];var Ne=ye+-7,Le=g;Le[Ne]=Le[Ne]+g[Se+-7],g[Se+-6]=Be*i[be]-we*i[be+1],g[Se+-7]=we*i[be]+Be*i[be+1],ye-=8,Se-=8,be+=16}for(var ze=o-1-l,Oe=0,He=ze,Ge=ze+-(t>>4),We=1+(t>>5>>2);--We>0;){var Ke=g[He]-g[Ge],Ze=g[He+-1]-g[Ge+-1],Qe=He,qe=g;qe[Qe]=qe[Qe]+g[Ge];var Ye=He+-1,Xe=g;Xe[Ye]=Xe[Ye]+g[Ge+-1],g[Ge]=Ke*i[Oe]-Ze*i[Oe+1],g[Ge+-1]=Ze*i[Oe]+Ke*i[Oe+1],Oe+=16,Ke=g[He+-2]-g[Ge+-2],Ze=g[He+-3]-g[Ge+-3];var Je=He+-2,et=g;et[Je]=et[Je]+g[Ge+-2];var tt=He+-3,at=g;at[tt]=at[tt]+g[Ge+-3],g[Ge+-2]=Ke*i[Oe]-Ze*i[Oe+1],g[Ge+-3]=Ze*i[Oe]+Ke*i[Oe+1],Oe+=16,Ke=g[He+-4]-g[Ge+-4],Ze=g[He+-5]-g[Ge+-5];var rt=He+-4,it=g;it[rt]=it[rt]+g[Ge+-4];var st=He+-5,nt=g;nt[st]=nt[st]+g[Ge+-5],g[Ge+-4]=Ke*i[Oe]-Ze*i[Oe+1],g[Ge+-5]=Ze*i[Oe]+Ke*i[Oe+1],Oe+=16,Ke=g[He+-6]-g[Ge+-6],Ze=g[He+-7]-g[Ge+-7];var _t=He+-6,ot=g;ot[_t]=ot[_t]+g[Ge+-6];var ht=He+-7,lt=g;lt[ht]=lt[ht]+g[Ge+-7],g[Ge+-6]=Ke*i[Oe]-Ze*i[Oe+1],g[Ge+-7]=Ze*i[Oe]+Ke*i[Oe+1],He-=8,Ge-=8,Oe+=16}for(var ct=o-1-2*l,dt=0,ut=ct,pt=ct+-(t>>4),ft=1+(t>>5>>2);--ft>0;){var gt=g[ut]-g[pt],mt=g[ut+-1]-g[pt+-1],vt=ut,kt=g;kt[vt]=kt[vt]+g[pt];var bt=ut+-1,yt=g;yt[bt]=yt[bt]+g[pt+-1],g[pt]=gt*i[dt]-mt*i[dt+1],g[pt+-1]=mt*i[dt]+gt*i[dt+1],dt+=16,gt=g[ut+-2]-g[pt+-2],mt=g[ut+-3]-g[pt+-3];var St=ut+-2,xt=g;xt[St]=xt[St]+g[pt+-2];var Bt=ut+-3,wt=g;wt[Bt]=wt[Bt]+g[pt+-3],g[pt+-2]=gt*i[dt]-mt*i[dt+1],g[pt+-3]=mt*i[dt]+gt*i[dt+1],dt+=16,gt=g[ut+-4]-g[pt+-4],mt=g[ut+-5]-g[pt+-5];var It=ut+-4,Tt=g;Tt[It]=Tt[It]+g[pt+-4];var Ct=ut+-5,Mt=g;Mt[Ct]=Mt[Ct]+g[pt+-5],g[pt+-4]=gt*i[dt]-mt*i[dt+1],g[pt+-5]=mt*i[dt]+gt*i[dt+1],dt+=16,gt=g[ut+-6]-g[pt+-6],mt=g[ut+-7]-g[pt+-7];var At=ut+-6,Rt=g;Rt[At]=Rt[At]+g[pt+-6];var Vt=ut+-7,Dt=g;Dt[Vt]=Dt[Vt]+g[pt+-7],g[pt+-6]=gt*i[dt]-mt*i[dt+1],g[pt+-7]=mt*i[dt]+gt*i[dt+1],ut-=8,pt-=8,dt+=16}for(var Pt=o-1-3*l,Ft=0,$t=Pt,jt=Pt+-(t>>4),Et=1+(t>>5>>2);--Et>0;){var Ut=g[$t]-g[jt],Nt=g[$t+-1]-g[jt+-1],Lt=$t,zt=g;zt[Lt]=zt[Lt]+g[jt];var Ot=$t+-1,Ht=g;Ht[Ot]=Ht[Ot]+g[jt+-1],g[jt]=Ut*i[Ft]-Nt*i[Ft+1],g[jt+-1]=Nt*i[Ft]+Ut*i[Ft+1],Ft+=16,Ut=g[$t+-2]-g[jt+-2],Nt=g[$t+-3]-g[jt+-3];var Gt=$t+-2,Wt=g;Wt[Gt]=Wt[Gt]+g[jt+-2];var Kt=$t+-3,Zt=g;Zt[Kt]=Zt[Kt]+g[jt+-3],g[jt+-2]=Ut*i[Ft]-Nt*i[Ft+1],g[jt+-3]=Nt*i[Ft]+Ut*i[Ft+1],Ft+=16,Ut=g[$t+-4]-g[jt+-4],Nt=g[$t+-5]-g[jt+-5];var Qt=$t+-4,qt=g;qt[Qt]=qt[Qt]+g[jt+-4];var Yt=$t+-5,Xt=g;Xt[Yt]=Xt[Yt]+g[jt+-5],g[jt+-4]=Ut*i[Ft]-Nt*i[Ft+1],g[jt+-5]=Nt*i[Ft]+Ut*i[Ft+1],Ft+=16,Ut=g[$t+-6]-g[jt+-6],Nt=g[$t+-7]-g[jt+-7];var Jt=$t+-6,ea=g;ea[Jt]=ea[Jt]+g[jt+-6];var ta=$t+-7,aa=g;aa[ta]=aa[ta]+g[jt+-7],g[jt+-6]=Ut*i[Ft]-Nt*i[Ft+1],g[jt+-7]=Nt*i[Ft]+Ut*i[Ft+1],$t-=8,jt-=8,Ft+=16}for(var ra=2,ia=I-3>>1;ra>sa+2,_a=na>>1,oa=0,ha=1<>sa+4>>2);--fa>0;){var ga=g[ua]-g[pa],ma=g[ua+-1]-g[pa+-1],va=ua,ka=g;ka[va]=ka[va]+g[pa];var ba=ua+-1,ya=g;ya[ba]=ya[ba]+g[pa+-1],g[pa]=ga*i[da]-ma*i[da+1],g[pa+-1]=ma*i[da]+ga*i[da+1],da+=ca,ga=g[ua+-2]-g[pa+-2],ma=g[ua+-3]-g[pa+-3];var Sa=ua+-2,xa=g;xa[Sa]=xa[Sa]+g[pa+-2];var Ba=ua+-3,wa=g;wa[Ba]=wa[Ba]+g[pa+-3],g[pa+-2]=ga*i[da]-ma*i[da+1],g[pa+-3]=ma*i[da]+ga*i[da+1],da+=ca,ga=g[ua+-4]-g[pa+-4],ma=g[ua+-5]-g[pa+-5];var Ia=ua+-4,Ta=g;Ta[Ia]=Ta[Ia]+g[pa+-4];var Ca=ua+-5,Ma=g;Ma[Ca]=Ma[Ca]+g[pa+-5],g[pa+-4]=ga*i[da]-ma*i[da+1],g[pa+-5]=ma*i[da]+ga*i[da+1],da+=ca,ga=g[ua+-6]-g[pa+-6],ma=g[ua+-7]-g[pa+-7];var Aa=ua+-6,Ra=g;Ra[Aa]=Ra[Aa]+g[pa+-6];var Va=ua+-7,Da=g;Da[Va]=Da[Va]+g[pa+-7],g[pa+-6]=ga*i[da]-ma*i[da+1],g[pa+-7]=ma*i[da]+ga*i[da+1],ua-=8,pa-=8,da+=ca}for(var Pa=I-3>>1,Fa=I-6;Pa>$a+2,Ea=1<<$a+3,Ua=ja>>1,Na=1<<$a+1,La=0,za=o-1,Oa=(t>>$a+6)+1;--Oa>0;){for(var Ha=i[La],Ga=i[La+1],Wa=i[La+Ea],Ka=i[La+Ea+1],Za=i[La+2*Ea],Qa=i[La+2*Ea+1],qa=i[La+3*Ea],Ya=i[La+3*Ea+1],Xa=za,Ja=za+-Ua,er=Na+1;--er>0;){var tr=g[Xa]-g[Ja],ar=g[Xa+-1]-g[Ja+-1];g[Xa]=g[Xa]+g[Ja],g[Xa+-1]=g[Xa+-1]+g[Ja+-1],g[Ja]=tr*Ha-ar*Ga,g[Ja+-1]=ar*Ha+tr*Ga,tr=g[Xa+-2]-g[Ja+-2],ar=g[Xa+-3]-g[Ja+-3],g[Xa+-2]=g[Xa+-2]+g[Ja+-2],g[Xa+-3]=g[Xa+-3]+g[Ja+-3],g[Ja+-2]=tr*Wa-ar*Ka,g[Ja+-3]=ar*Wa+tr*Ka,tr=g[Xa+-4]-g[Ja+-4],ar=g[Xa+-5]-g[Ja+-5],g[Xa+-4]=g[Xa+-4]+g[Ja+-4],g[Xa+-5]=g[Xa+-5]+g[Ja+-5],g[Ja+-4]=tr*Za-ar*Qa,g[Ja+-5]=ar*Za+tr*Qa,tr=g[Xa+-6]-g[Ja+-6],ar=g[Xa+-7]-g[Ja+-7],g[Xa+-6]=g[Xa+-6]+g[Ja+-6],g[Xa+-7]=g[Xa+-7]+g[Ja+-7],g[Ja+-6]=tr*qa-ar*Ya,g[Ja+-7]=ar*qa+tr*Ya,Xa-=ja,Ja-=ja}La+=4*Ea,za-=8}for(var rr=o-1,ir=i[t>>3],sr=rr,nr=rr-16*(t>>5);sr>nr;){var _r=g[sr],or=g[sr+-8];g[sr+-8]=_r-or,g[sr]=_r+or,_r=g[sr+-1],or=g[sr+-9],g[sr+-9]=_r-or,g[sr+-1]=_r+or;var hr=(_r=g[sr+-2])-(or=g[sr+-10]);g[sr+-2]=_r+or;var lr=(_r=g[sr+-3])-(or=g[sr+-11]);g[sr+-3]=_r+or,g[sr+-10]=(hr+lr)*ir,g[sr+-11]=(lr-hr)*ir,_r=g[sr+-4],hr=(or=g[sr+-12])-_r,g[sr+-4]=_r+or,lr=(_r=g[sr+-5])-(or=g[sr+-13]),g[sr+-5]=_r+or,g[sr+-12]=lr,g[sr+-13]=hr,_r=g[sr+-6],hr=(or=g[sr+-14])-_r,g[sr+-6]=_r+or,lr=(_r=g[sr+-7])-(or=g[sr+-15]),g[sr+-7]=_r+or,g[sr+-14]=(hr+lr)*ir,g[sr+-15]=(hr-lr)*ir;var cr=g[sr],dr=g[sr+-4],ur=cr-dr,pr=cr+dr,fr=(cr=g[sr+-2])+(dr=g[sr+-6]),gr=cr-dr;g[sr]=pr+fr,g[sr+-2]=pr-fr;var mr=g[sr+-3]-g[sr+-7];g[sr+-4]=ur+mr,g[sr+-6]=ur-mr;var vr=(cr=g[sr+-1])-(dr=g[sr+-5]),kr=cr+dr,br=g[sr+-3]+g[sr+-7];g[sr+-1]=kr+br,g[sr+-3]=kr-br,g[sr+-5]=vr-gr,g[sr+-7]=vr+gr;var yr=sr-8,Sr=g[yr],xr=g[yr+-4],Br=Sr-xr,wr=Sr+xr,Ir=(Sr=g[yr+-2])+(xr=g[yr+-6]),Tr=Sr-xr;g[yr]=wr+Ir,g[yr+-2]=wr-Ir;var Cr=g[yr+-3]-g[yr+-7];g[yr+-4]=Br+Cr,g[yr+-6]=Br-Cr;var Mr=(Sr=g[yr+-1])-(xr=g[yr+-5]),Ar=Sr+xr,Rr=g[yr+-3]+g[yr+-7];g[yr+-1]=Ar+Rr,g[yr+-3]=Ar-Rr,g[yr+-5]=Mr-Tr,g[yr+-7]=Mr+Tr,sr-=16}for(var Vr=0,Dr=h-4,Pr=o-4;Dr>=0;){var Fr=_[Vr];m[Pr+3]=g[Fr],m[Pr+2]=g[Fr+1],m[Dr+3]=g[Fr+2],m[Dr+2]=g[Fr+3],Fr=_[Vr+1],m[Pr+1]=g[Fr],m[Pr]=g[Fr+1],m[Dr+1]=g[Fr+2],m[Dr]=g[Fr+3],Dr-=4,Pr-=4,Vr+=2}for(var $r=0,jr=0,Er=o-4;jr=0;){var Yr=c[Wr+6]*s[Gr+7]-c[Wr+7]*s[Gr+6],Xr=-c[Wr+6]*s[Gr+6]-c[Wr+7]*s[Gr+7];e[Kr]=Yr,e[Zr+3]=-Yr,e[Qr]=Xr,e[qr+3]=Xr;var Jr=c[Wr+4]*s[Gr+5]-c[Wr+5]*s[Gr+4],ei=-c[Wr+4]*s[Gr+4]-c[Wr+5]*s[Gr+5];e[Kr+1]=Jr,e[Zr+2]=-Jr,e[Qr+1]=ei,e[qr+2]=ei,Yr=c[Wr+2]*s[Gr+3]-c[Wr+3]*s[Gr+2],Xr=-c[Wr+2]*s[Gr+2]-c[Wr+3]*s[Gr+3],e[Kr+2]=Yr,e[Zr+1]=-Yr,e[Qr+2]=Xr,e[qr+1]=Xr,Jr=c[Wr]*s[Gr+1]-c[Wr+1]*s[Gr],ei=-c[Wr]*s[Gr]-c[Wr+1]*s[Gr+1],e[Kr+3]=Jr,e[Zr]=-Jr,e[Qr+3]=ei,e[qr]=ei,Gr-=8,Wr-=8,Kr+=4,Qr+=4,Zr-=4,qr-=4}},decodePacket:function(){var e=this.decodeInitial();return null==e?null:this.decodePacketRest(e)},decodeInitial:function(){for(this.channelBufferStart=this.channelBufferEnd=0;;){if(!this.decodeState.maybeStartPacket())return null;var e,t=this.decodeState;if(t.validBits<0)e=0;else if(t.validBits<1){for(0==t.validBits&&(t.acc=0);;){if(0==t.bytesInSeg&&(t.lastSeg||0==t.next())){t.validBits=-1;break}if(t.bytesInSeg--,t.inputPosition+=1,t.acc=t.acc+(t.input.readByte()<>>1,t.validBits-=1,e=a}}else{var r=1&t.acc;t.acc=t.acc>>>1,t.validBits-=1,e=r}if(0==e)break;for(;;){var i,s=this.decodeState;if(0!=s.bytesInSeg||!s.lastSeg&&0!=s.next()?(s.bytesInSeg--,s.inputPosition+=1,i=s.input.readByte()):i=-1,s.validBits=0,-1==i)break}}var n,_=this.decodeState,o=this.header.modes.length-1,h=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4],l=o<16384?o<16?h[o]:o<512?5+h[o>>5]:10+h[o>>10]:o<16777216?o<524288?15+h[o>>15]:20+h[o>>20]:o<536870912?25+h[o>>25]:o<-2147483648?30+h[o>>30]:0;if(_.validBits<0)n=0;else if(_.validBits24)n=_.readBits(24)+(_.readBits(l-24)<<24);else{for(0==_.validBits&&(_.acc=0);;){if(0==_.bytesInSeg&&(_.lastSeg||0==_.next())){_.validBits=-1;break}if(_.bytesInSeg--,_.inputPosition+=1,_.acc=_.acc+(_.input.readByte()<<_.validBits),_.validBits+=8,!(_.validBits>>l,_.validBits-=l,n=c}}else{var d=_.acc&(1<>>l,_.validBits-=l,n=d}if(-1==n||n>=this.header.modes.length)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.SEEK_FAILED,null,{fileName:"VorbisDecoder.hx",lineNumber:519,className:"kha.audio2.ogg.vorbis.VorbisDecoder",methodName:"decodeInitial"}));var u,p,f,g=this.header.modes[n];if(g.blockflag){u=this.header.blocksize1;var m=this.decodeState;if(m.validBits<0)p=0;else if(m.validBits<1){for(0==m.validBits&&(m.acc=0);;){if(0==m.bytesInSeg&&(m.lastSeg||0==m.next())){m.validBits=-1;break}if(m.bytesInSeg--,m.inputPosition+=1,m.acc=m.acc+(m.input.readByte()<>>1,m.validBits-=1,p=v}}else{var k=1&m.acc;m.acc=m.acc>>>1,m.validBits-=1,p=k}var b=this.decodeState;if(b.validBits<0)f=0;else if(b.validBits<1){for(0==b.validBits&&(b.acc=0);;){if(0==b.bytesInSeg&&(b.lastSeg||0==b.next())){b.validBits=-1;break}if(b.bytesInSeg--,b.inputPosition+=1,b.acc=b.acc+(b.input.readByte()<>>1,b.validBits-=1,f=y}}else{var S=1&b.acc;b.acc=b.acc>>>1,b.validBits-=1,f=S}}else p=f=0,u=this.header.blocksize0;var x=u>>1;return{mode:n,left:g.blockflag&&0==p?{start:u-this.header.blocksize0>>2,end:u+this.header.blocksize0>>2}:{start:0,end:x},right:g.blockflag&&0==f?{start:3*u-this.header.blocksize0>>2,end:3*u+this.header.blocksize0>>2}:{start:x,end:u}}},decodePacketRest:function(e){for(var t=this.header.modes[e.mode],a=new Array(256),r=new Array(256),i=t.blockflag?this.header.blocksize1:this.header.blocksize0,s=this.header.mapping[t.mapping],n=i>>1,_=[256,128,86,64],o=this.header.codebooks,h=0,l=this.header.channel;h>>1,g.validBits-=1,p=m}}else{var v=1&g.acc;g.acc=g.acc>>>1,g.validBits-=1,p=v}if(0!=p){var k=[],b=new Array(256),y=_[f.floor1Multiplier-1],S=2;k=this.finalY[c];var x,B=this.decodeState,w=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4],I=(y<16384?y<16?w[y]:y<512?5+w[y>>5]:10+w[y>>10]:y<16777216?y<524288?15+w[y>>15]:20+w[y>>20]:y<536870912?25+w[y>>25]:y<-2147483648?30+w[y>>30]:0)-1;if(B.validBits<0)x=0;else if(B.validBits24)x=B.readBits(24)+(B.readBits(I-24)<<24);else{for(0==B.validBits&&(B.acc=0);;){if(0==B.bytesInSeg&&(B.lastSeg||0==B.next())){B.validBits=-1;break}if(B.bytesInSeg--,B.inputPosition+=1,B.acc=B.acc+(B.input.readByte()<>>I,B.validBits-=I,x=T}}else{var C=B.acc&(1<>>I,B.validBits-=I,x=C}k[0]=x;var M,A=this.decodeState,R=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4],V=(y<16384?y<16?R[y]:y<512?5+R[y>>5]:10+R[y>>10]:y<16777216?y<524288?15+R[y>>15]:20+R[y>>20]:y<536870912?25+R[y>>25]:y<-2147483648?30+R[y>>30]:0)-1;if(A.validBits<0)M=0;else if(A.validBits24)M=A.readBits(24)+(A.readBits(V-24)<<24);else{for(0==A.validBits&&(A.acc=0);;){if(0==A.bytesInSeg&&(A.lastSeg||0==A.next())){A.validBits=-1;break}if(A.bytesInSeg--,A.inputPosition+=1,A.acc=A.acc+(A.input.readByte()<>>V,A.validBits-=V,M=D}}else{var P=A.acc&(1<>>V,A.validBits-=V,M=P}k[1]=M;for(var F=0,$=f.partitions;F<$;){var j=F++,E=f.partitionClassList[j],U=f.classDimensions[E],N=f.classSubclasses[E],L=(1<=0){var K=O.codewordLengths[W];H.acc=H.acc>>>K,H.validBits-=K,H.validBits<0?(H.validBits=0,G=-1):G=W}else G=H.decodeScalarRaw(O);O.sparse&&(G=O.sortedValues[G]),z=G}for(var Z=f.subclassBooks[E],Q=0,q=U;Q>=N;var X,J=S++;if(Y>=0){var ee=this.decodeState,te=o[Y];ee.validBits<10&&ee.prepHuffman();var ae,re=te.fastHuffman[1023&ee.acc];if(re>=0){var ie=te.codewordLengths[re];ee.acc=ee.acc>>>ie,ee.validBits-=ie,ee.validBits<0?(ee.validBits=0,ae=-1):ae=re}else ae=ee.decodeScalarRaw(te);te.sparse&&(ae=te.sortedValues[ae]),X=ae}else X=0;k[J]=X}}if(-1==this.decodeState.validBits){a[c]=!0;continue}b[0]=b[1]=!0;for(var se=f.neighbors,ne=f.xlist,_e=2,oe=f.values;_e=be?ke>me?ve-me+me:me-ve+ke-1:0!=(1&ve)?me-(ve+1>>1):me+(ve>>1)):(b[he]=!1,k[he]=me)}for(var ye=0,Se=f.values;ye>1;--Le>=0;)for(var Oe=this.channelBuffers[s.chan[Le].magnitude],He=this.channelBuffers[s.chan[Le].angle],Ge=0,We=ze;Ge0?He[Qe]>0?(Ze=Oe[Qe],Ke=Oe[Qe]-He[Qe]):(Ke=Oe[Qe],Ze=Oe[Qe]+He[Qe]):He[Qe]>0?(Ze=Oe[Qe],Ke=Oe[Qe]+He[Qe]):(Ke=Oe[Qe],Ze=Oe[Qe]-He[Qe]),Oe[Qe]=Ze,He[Qe]=Ke}for(var qe=0,Ye=this.header.channel;qea&&e[o]e[t]&&(s=o,r=e[o])}return{low:i,high:s}},kha_audio2_ogg_vorbis_VorbisTools.floatUnpack=function(e){var t=_$UInt_UInt_$Impl_$.toFloat(2097151&e),a=(2145386496&e)>>>21;return(0!=(-2147483648&e)?-t:t)*Math.pow(2,a-788)},kha_audio2_ogg_vorbis_VorbisTools.bitReverse=function(e){return e=(-1431655766&e)>>>1|(1431655765&e)<<1,e=(-858993460&e)>>>2|(858993459&e)<<2,e=(-252645136&e)>>>4|(252645135&e)<<4,(e=(-16711936&e)>>>8|(16711935&e)<<8)>>>16|e<<16},kha_audio2_ogg_vorbis_VorbisTools.pointCompare=function(e,t){return e.xt.x?1:0},kha_audio2_ogg_vorbis_VorbisTools.uintAsc=function(e,t){return _$UInt_UInt_$Impl_$.gt(t,e)?-1:e==t?0:1},kha_audio2_ogg_vorbis_VorbisTools.lookup1Values=function(e,t){var a=0|Math.exp(Math.log(e)/t);if((0|Math.pow(a+1,t))<=e&&++a,!(Math.pow(a+1,t)>e))throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.OTHER,"",{fileName:"VorbisTools.hx",lineNumber:155,className:"kha.audio2.ogg.vorbis.VorbisTools",methodName:"lookup1Values"}));if((0|Math.pow(a,t))>e)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.OTHER,"",{fileName:"VorbisTools.hx",lineNumber:156,className:"kha.audio2.ogg.vorbis.VorbisTools",methodName:"lookup1Values"}));return a},kha_audio2_ogg_vorbis_VorbisTools.computeWindow=function(e,t){for(var a=e>>1,r=0,i=a;r>5]:10+a[e>>10]:e<16777216?e<524288?15+a[e>>15]:20+a[e>>20]:e<536870912?25+a[e>>25]:e<-2147483648?30+a[e>>30]:0)-1,i=0,s=e>>3;i>>1|(1431655765&_)<<1))>>>2|(858993459&_)<<2))>>>4|(252645135&_)<<4))>>>8|(16711935&_)<<8,t[n]=(_>>>16|_<<16)>>>32-r+3<<2}},kha_audio2_ogg_vorbis_VorbisTools.computeTwiddleFactors=function(e,t,a,r){for(var i=e>>3,s=0,n=0,_=e>>2;n<_;){var o=n++;t[s]=Math.cos(4*o*3.141592653589793/e),t[s+1]=-Math.sin(4*o*3.141592653589793/e),a[s]=.5*Math.cos(3.141592653589793*(s+1)/e/2),a[s+1]=.5*Math.sin(3.141592653589793*(s+1)/e/2),s+=2}for(var h=0,l=0,c=i;ls&&(r=s);var y=v,S=e;S[y]=S[y]*kha_audio2_ogg_vorbis_VorbisTools.INVERSE_DB_TABLE[k];for(var x=v+1,B=r;x=g?(b-=g,k+=p):k+=u;var I=w,T=e;T[I]=T[I]*kha_audio2_ogg_vorbis_VorbisTools.INVERSE_DB_TABLE[k]}},kha_audio2_ogg_vorbis_VorbisTools.predictPoint=function(e,t,a,r,i){var s=i-r,n=a-t,_=Math.abs(s)*(e-t)/n|0;return s<0?r-_:r+_},kha_audio2_ogg_vorbis_VorbisTools.emptyFloatVector=function(e){return new Array(e)},kha_audio2_ogg_vorbis_VorbisTools.copyVector=function(e){for(var t=e.length,a=new Array(t),r=0,i=e.length;r>>8,e.validBits-=8,r=s}}else{var n=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,r=n}if(66==r){var _;if(e.validBits<0)_=0;else if(e.validBits<8){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>8,e.validBits-=8,_=o}}else{var h=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,_=h}a=67!=_}else a=!0;if(a)t=!0;else{var l;if(e.validBits<0)l=0;else if(e.validBits<8){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>8,e.validBits-=8,l=c}}else{var d=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,l=d}t=86!=l}if(t)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Codebook.hx",lineNumber:40,className:"kha.audio2.ogg.vorbis.data.Codebook",methodName:"read"}));var u;if(e.validBits<0)u=0;else if(e.validBits<8){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>8,e.validBits-=8,u=p}}else{var f=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,u=f}var g;if(e.validBits<0)g=0;else if(e.validBits<8){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>8,e.validBits-=8,g=m}}else{var v=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,g=v}i.dimensions=(g<<8)+u;var k;if(e.validBits<0)k=0;else if(e.validBits<8){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>8,e.validBits-=8,k=b}}else{var y=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,k=y}var S;if(e.validBits<0)S=0;else if(e.validBits<8){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>8,e.validBits-=8,S=x}}else{var B=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,S=B}var w;if(e.validBits<0)w=0;else if(e.validBits<8){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>8,e.validBits-=8,w=I}}else{var T=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,w=T}i.entries=(w<<16)+(S<<8)+k;var C;if(e.validBits<0)C=0;else if(e.validBits<1){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>1,e.validBits-=1,C=M}}else{var A=1&e.acc;e.acc=e.acc>>>1,e.validBits-=1,C=A}var R;if(0!=C)R=!1;else{var V;if(e.validBits<0)V=0;else if(e.validBits<1){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>1,e.validBits-=1,V=D}}else{var P=1&e.acc;e.acc=e.acc>>>1,e.validBits-=1,V=P}R=0!=V}i.sparse=R;var F=i.entries,$=new Array(F);i.sparse||(i.codewordLengths=$);var j=0;if(0!=C){var E,U=0;if(e.validBits<0)E=0;else if(e.validBits<5){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>5,e.validBits-=5,E=N}}else{var L=31&e.acc;e.acc=e.acc>>>5,e.validBits-=5,E=L}for(var z=E+1;U>5]:10+G[H>>10]:H<16777216?H<524288?15+G[H>>15]:20+G[H>>20]:H<536870912?25+G[H>>25]:H<-2147483648?30+G[H>>30]:0;if(e.validBits<0)O=0;else if(e.validBits24)O=e.readBits(24)+(e.readBits(W-24)<<24);else{for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>W,e.validBits-=W,O=K}}else{var Z=e.acc&(1<>>W,e.validBits-=W,O=Z}if(U+O>i.entries)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,"codebook entrys",{fileName:"Codebook.hx",lineNumber:67,className:"kha.audio2.ogg.vorbis.data.Codebook",methodName:"read"}));for(var Q=0,q=O;Q>>1,e.validBits-=1,J=te}}else{var ae=1&e.acc;e.acc=e.acc>>>1,e.validBits-=1,J=ae}else J=1;if(0!=J){var re;if(e.validBits<0)re=0;else if(e.validBits<5){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>5,e.validBits-=5,re=ie}}else{var se=31&e.acc;e.acc=e.acc>>>5,e.validBits-=5,re=se}$[ee]=re+1,++j}else $[ee]=255}i.sparse&&j>=i.entries>>2&&(i.codewordLengths=$,i.sparse=!1);var ne;if(i.sparse)ne=j;else{for(var _e=0,oe=0,he=i.entries;oe10&&255!=le&&++_e}ne=_e}i.sortedEntries=ne;var ce=null;if(i.sparse){if(0!=i.sortedEntries){var de=i.sortedEntries,ue=new Array(de);i.codewordLengths=ue;var pe=i.entries,fe=new Array(pe);i.codewords=fe;var ge=i.entries;ce=new Array(ge)}i.entries,i.sortedEntries}else{var me=i.entries,ve=new Array(me);i.codewords=ve}if(!i.computeCodewords($,i.entries,ce))throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,"compute codewords",{fileName:"Codebook.hx",lineNumber:120,className:"kha.audio2.ogg.vorbis.data.Codebook",methodName:"read"}));if(0!=i.sortedEntries){i.sortedCodewords=[];var ke=i.sortedEntries,be=new Array(ke);i.sortedValues=be,i.computeSortedHuffman($,ce)}i.sparse&&(ce=null,i.codewords=null,$=null),i.computeAcceleratedHuffman();var ye;if(e.validBits<0)ye=0;else if(e.validBits<4){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>4,e.validBits-=4,ye=Se}}else{var xe=15&e.acc;e.acc=e.acc>>>4,e.validBits-=4,ye=xe}if(i.lookupType=ye,i.lookupType>2)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,"codebook lookup type",{fileName:"Codebook.hx",lineNumber:143,className:"kha.audio2.ogg.vorbis.data.Codebook",methodName:"read"}));if(i.lookupType>0){var Be;if(e.validBits<0)Be=0;else if(e.validBits<32)Be=e.readBits(24)+(e.readBits(8)<<24);else{var we=-1&e.acc;e.acc=e.acc>>>32,e.validBits-=32,Be=we}var Ie=_$UInt_UInt_$Impl_$.toFloat(2097151&Be),Te=(2145386496&Be)>>>21,Ce=0!=(-2147483648&Be)?-Ie:Ie;i.minimumValue=Ce*Math.pow(2,Te-788);var Me;if(e.validBits<0)Me=0;else if(e.validBits<32)Me=e.readBits(24)+(e.readBits(8)<<24);else{var Ae=-1&e.acc;e.acc=e.acc>>>32,e.validBits-=32,Me=Ae}var Re=_$UInt_UInt_$Impl_$.toFloat(2097151&Me),Ve=(2145386496&Me)>>>21,De=0!=(-2147483648&Me)?-Re:Re;i.deltaValue=De*Math.pow(2,Ve-788);var Pe;if(e.validBits<0)Pe=0;else if(e.validBits<4){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>4,e.validBits-=4,Pe=Fe}}else{var $e=15&e.acc;e.acc=e.acc>>>4,e.validBits-=4,Pe=$e}i.valueBits=Pe+1;var je;if(e.validBits<0)je=0;else if(e.validBits<1){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>1,e.validBits-=1,je=Ee}}else{var Ue=1&e.acc;e.acc=e.acc>>>1,e.validBits-=1,je=Ue}i.sequenceP=0!=je,1==i.lookupType?i.lookupValues=kha_audio2_ogg_vorbis_VorbisTools.lookup1Values(i.entries,i.dimensions):i.lookupValues=i.entries*i.dimensions;for(var Ne=i.lookupValues,Le=new Array(Ne),ze=0,Oe=i.lookupValues;ze24)He=e.readBits(24)+(e.readBits(We-24)<<24);else{for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>We,e.validBits-=We,He=Ke}}else{var Ze=e.acc&(1<>>We,e.validBits-=We,He=Ze}if(-1==He)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,"fail lookup",{fileName:"Codebook.hx",lineNumber:161,className:"kha.audio2.ogg.vorbis.data.Codebook",methodName:"read"}));Le[Ge]=He}var Qe=i.lookupValues,qe=new Array(Qe);i.multiplicands=qe;for(var Ye=0,Xe=i.lookupValues;Ye10},computeCodewords:function(e,t,a){for(var r=new Array(32),i=0;i<32;)r[i++]=0;for(var s=0;s0&&0==r[h];)--h;if(0==h)return!1;var l=r[h];r[h]=0;var c=l,d=(c=(-16711936&(c=(-252645136&(c=(-858993460&(c=(-1431655766&c)>>>1|(1431655765&c)<<1))>>>2|(858993459&c)<<2))>>>4|(252645135&c)<<4))>>>8|(16711935&c)<<8)>>>16|c<<16,u=n++;if(this.sparse?(this.codewords[u]=d,this.codewordLengths[u]=e[o],a[u]=o):this.codewords[o]=d,h!=e[o])for(var p=e[o];p>h;){if(0!=r[p])throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.OTHER,"",{fileName:"Codebook.hx",lineNumber:272,className:"kha.audio2.ogg.vorbis.data.Codebook",methodName:"computeCodewords"}));r[p]=l+(1<<32-p),--p}}}return!0},computeSortedHuffman:function(e,t){if(this.sparse)for(var a=0,r=this.sortedEntries;a>>1|(1431655765&s)<<1))>>>2|(858993459&s)<<2))>>>4|(252645135&s)<<4))>>>8|(16711935&s)<<8,this.sortedCodewords[i]=s>>>16|s<<16}else{for(var n=0,_=0,o=this.entries;_10;if(h){var d=this.codewords[l];d=(-16711936&(d=(-252645136&(d=(-858993460&(d=(-1431655766&d)>>>1|(1431655765&d)<<1))>>>2|(858993459&d)<<2))>>>4|(252645135&d)<<4))>>>8|(16711935&d)<<8,this.sortedCodewords[n++]=d>>>16|d<<16}}if(n!=this.sortedEntries)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.OTHER,"",{fileName:"Codebook.hx",lineNumber:296,className:"kha.audio2.ogg.vorbis.data.Codebook",methodName:"computeSortedHuffman"}))}this.sortedCodewords[this.sortedEntries]=-1,this.sortedCodewords.sort(kha_audio2_ogg_vorbis_VorbisTools.uintAsc);for(var u=0,p=this.sparse?this.sortedEntries:this.entries;u10;if(f){for(var v=this.codewords[g],k=(v=(-16711936&(v=(-252645136&(v=(-858993460&(v=(-1431655766&v)>>>1|(1431655765&v)<<1))>>>2|(858993459&v)<<2))>>>4|(252645135&v)<<4))>>>8|(16711935&v)<<8)>>>16|v<<16,b=0,y=this.sortedEntries;y>1;){var S=b+(y>>1);_$UInt_UInt_$Impl_$.gte(k,this.sortedCodewords[S])?(b=S,y-=y>>1):y>>=1}this.sparse?(this.sortedValues[b]=t[g],this.codewordLengths[b]=m):this.sortedValues[b]=g}}},computeAcceleratedHuffman:function(){var e=new Array(1024);this.fastHuffman=e,this.fastHuffman[0]=-1;for(var t=0;t<1024;){var a=t++;this.fastHuffman[a]=-1}for(var r=0,i=this.sparse?this.sortedEntries:this.entries;r>>1|(1431655765&_)<<1))>>>2|(858993459&_)<<2))>>>4|(252645135&_)<<4))>>>8|(16711935&_)<<8)>>>16|_<<16}else n=this.codewords[s];for(;n<1024;)this.fastHuffman[n]=s,n+=1<=0){var n=this.codewordLengths[s];e.acc=e.acc>>>n,e.validBits-=n,e.validBits<0?(e.validBits=0,i=-1):i=s}else i=e.decodeScalarRaw(this);this.sparse&&(i=this.sortedValues[i]);var _=i,o=this.lookupValues,h=this.sequenceP,l=this.multiplicands,c=this.minimumValue;if(_<0)return!1;if(r>this.dimensions&&(r=this.dimensions),1==this.lookupType){for(var d=1,u=0,p=0,f=r;p=0){var _=this.codewordLengths[n];e.acc=e.acc>>>_,e.validBits-=_,e.validBits<0?(e.validBits=0,s=-1):s=n}else s=e.decodeScalarRaw(this);this.sparse&&(s=this.sortedValues[s]);var o=s,h=0;if(o<0)return!1;r>this.dimensions&&(r=this.dimensions);var l=this.lookupValues,c=this.sequenceP,d=this.multiplicands;if(1==this.lookupType){for(var u=1,p=0,f=r;p=0){var r=this.codewordLengths[a];e.acc=e.acc>>>r,e.validBits-=r,e.validBits<0?(e.validBits=0,t=-1):t=a}else t=e.decodeScalarRaw(this);return this.sparse&&(t=this.sortedValues[t]),t},decodeDeinterleaveRepeat:function(e,t,a,r,i,s,n){var _=this.dimensions;if(0==this.lookupType)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_STREAM,null,{fileName:"Codebook.hx",lineNumber:488,className:"kha.audio2.ogg.vorbis.data.Codebook",methodName:"decodeDeinterleaveRepeat"}));for(var o=this.multiplicands,h=this.sequenceP,l=this.lookupValues;n>0;){var c=0;e.validBits<10&&e.prepHuffman();var d,u=this.fastHuffman[1023&e.acc];if(u>=0){var p=this.codewordLengths[u];e.acc=e.acc>>>p,e.validBits-=p,e.validBits<0?(e.validBits=0,d=-1):d=u}else d=e.decodeScalarRaw(this);this.sparse&&(d=this.sortedValues[d]);var f=d;if(f<0){if(0==e.bytesInSeg&&e.lastSeg)return null;throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_STREAM,null,{fileName:"Codebook.hx",lineNumber:503,className:"kha.audio2.ogg.vorbis.data.Codebook",methodName:"decodeDeinterleaveRepeat"}))}if(r+i*a+_>s*a&&(_=s*a-(i*a-r)),1==this.lookupType){var g=1;if(h)for(var m=0,v=_;m>>16,e.validBits-=16,a=i}}else{var s=65535&e.acc;e.acc=e.acc>>>16,e.validBits-=16,a=s}if(r.type=a,r.type>1)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Floor.hx",lineNumber:28,className:"kha.audio2.ogg.vorbis.data.Floor",methodName:"read"}));if(0==r.type){var n,_=r.floor0=new kha_audio2_ogg_vorbis_data_Floor0;if(e.validBits<0)n=0;else if(e.validBits<8){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>8,e.validBits-=8,n=o}}else{var h=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,n=h}_.order=n;var l;if(e.validBits<0)l=0;else if(e.validBits<16){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>16,e.validBits-=16,l=c}}else{var d=65535&e.acc;e.acc=e.acc>>>16,e.validBits-=16,l=d}_.rate=l;var u;if(e.validBits<0)u=0;else if(e.validBits<16){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>16,e.validBits-=16,u=p}}else{var f=65535&e.acc;e.acc=e.acc>>>16,e.validBits-=16,u=f}_.barkMapSize=u;var g;if(e.validBits<0)g=0;else if(e.validBits<6){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>6,e.validBits-=6,g=m}}else{var v=63&e.acc;e.acc=e.acc>>>6,e.validBits-=6,g=v}_.amplitudeBits=g;var k;if(e.validBits<0)k=0;else if(e.validBits<8){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>8,e.validBits-=8,k=b}}else{var y=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,k=y}_.amplitudeOffset=k;var S;if(e.validBits<0)S=0;else if(e.validBits<4){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>4,e.validBits-=4,S=x}}else{var B=15&e.acc;e.acc=e.acc>>>4,e.validBits-=4,S=B}_.numberOfBooks=S+1;for(var w=0,I=_.numberOfBooks;w>>8,e.validBits-=8,T=A}}else{var R=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,T=R}M[C]=T}throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.FEATURE_NOT_SUPPORTED,null,{fileName:"Floor.hx",lineNumber:41,className:"kha.audio2.ogg.vorbis.data.Floor",methodName:"read"}))}var V,D=[],P=r.floor1=new kha_audio2_ogg_vorbis_data_Floor1,F=-1;if(e.validBits<0)V=0;else if(e.validBits<5){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>5,e.validBits-=5,V=$}}else{var j=31&e.acc;e.acc=e.acc>>>5,e.validBits-=5,V=j}P.partitions=V;var E=P.partitions,U=new Array(E);P.partitionClassList=U;for(var N=0,L=P.partitions;N>>4,e.validBits-=4,z=G}}else{var W=15&e.acc;e.acc=e.acc>>>4,e.validBits-=4,z=W}H[O]=z,P.partitionClassList[O]>F&&(F=P.partitionClassList[O])}var K=new Array(F+1);P.classDimensions=K;var Z=new Array(F+1);P.classMasterbooks=Z;var Q=new Array(F+1);P.classSubclasses=Q;var q=new Array(F+1);P.subclassBooks=q;for(var Y=0,X=F+1;Y>>3,e.validBits-=3,J=ae}}else{var re=7&e.acc;e.acc=e.acc>>>3,e.validBits-=3,J=re}te[ee]=J+1;var ie,se=P.classSubclasses;if(e.validBits<0)ie=0;else if(e.validBits<2){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>2,e.validBits-=2,ie=ne}}else{var _e=3&e.acc;e.acc=e.acc>>>2,e.validBits-=2,ie=_e}if(se[ee]=ie,0!=P.classSubclasses[ee]){var oe,he=P.classMasterbooks;if(e.validBits<0)oe=0;else if(e.validBits<8){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>8,e.validBits-=8,oe=le}}else{var ce=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,oe=ce}if(he[ee]=oe,P.classMasterbooks[ee]>=t.length)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Floor.hx",lineNumber:64,className:"kha.audio2.ogg.vorbis.data.Floor",methodName:"read"}))}var de=1<>>8,e.validBits-=8,me=be}}else{var ye=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,me=ye}if(ke[ve]=me-1,P.subclassBooks[ee][ve]>=t.length)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Floor.hx",lineNumber:73,className:"kha.audio2.ogg.vorbis.data.Floor",methodName:"read"}))}}var Se;if(e.validBits<0)Se=0;else if(e.validBits<2){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>2,e.validBits-=2,Se=xe}}else{var Be=3&e.acc;e.acc=e.acc>>>2,e.validBits-=2,Se=Be}P.floor1Multiplier=Se+1;var we;if(e.validBits<0)we=0;else if(e.validBits<4){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>4,e.validBits-=4,we=Ie}}else{var Te=15&e.acc;e.acc=e.acc>>>4,e.validBits-=4,we=Te}P.rangebits=we;var Ce=new Array(250);P.xlist=Ce,P.xlist[0]=0,P.xlist[1]=1<24)Fe=e.readBits(24)+(e.readBits(Ee-24)<<24);else{for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>Ee,e.validBits-=Ee,Fe=Ue}}else{var Ne=e.acc&(1<>>Ee,e.validBits-=Ee,Fe=Ne}$e[je]=Fe,P.values++}for(var Le=0,ze=P.values;Lert&&at[ht]at[tt]&&(nt=ht,it=at[ht])}Je=st,et=nt;var lt=P.neighbors,ct=P.values,dt=new Array(ct);lt[tt]=dt,P.neighbors[tt][0]=Je,P.neighbors[tt][1]=et}return r},kha_audio2_ogg_vorbis_data_Floor.prototype={__class__:kha_audio2_ogg_vorbis_data_Floor};var kha_audio2_ogg_vorbis_data_Floor0=$hxClasses["kha.audio2.ogg.vorbis.data.Floor0"]=function(){};kha_audio2_ogg_vorbis_data_Floor0.__name__=!0,kha_audio2_ogg_vorbis_data_Floor0.prototype={__class__:kha_audio2_ogg_vorbis_data_Floor0};var kha_audio2_ogg_vorbis_data_Floor1=$hxClasses["kha.audio2.ogg.vorbis.data.Floor1"]=function(){};kha_audio2_ogg_vorbis_data_Floor1.__name__=!0,kha_audio2_ogg_vorbis_data_Floor1.prototype={__class__:kha_audio2_ogg_vorbis_data_Floor1};var kha_audio2_ogg_vorbis_data_Header=$hxClasses["kha.audio2.ogg.vorbis.data.Header"]=function(){};kha_audio2_ogg_vorbis_data_Header.__name__=!0,kha_audio2_ogg_vorbis_data_Header.read=function(e){var t=e.page;if(t.start(e),0==(2&t.flag))throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_FIRST_PAGE,"not firstPage",{fileName:"Header.hx",lineNumber:46,className:"kha.audio2.ogg.vorbis.data.Header",methodName:"read"}));if(0!=(4&t.flag))throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_FIRST_PAGE,"lastPage",{fileName:"Header.hx",lineNumber:49,className:"kha.audio2.ogg.vorbis.data.Header",methodName:"read"}));if(0!=(1&t.flag))throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_FIRST_PAGE,"continuedPacket",{fileName:"Header.hx",lineNumber:52,className:"kha.audio2.ogg.vorbis.data.Header",methodName:"read"}));if(e.firstPageValidate(),e.inputPosition+=1,1!=e.input.readByte())throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_FIRST_PAGE,"decodeState head",{fileName:"Header.hx",lineNumber:57,className:"kha.audio2.ogg.vorbis.data.Header",methodName:"read"}));for(var a=new haxe_io_Bytes(new ArrayBuffer(6)),r=0;r<6;){var i,s=r++;0!=e.bytesInSeg||!e.lastSeg&&0!=e.next()?(e.bytesInSeg--,e.inputPosition+=1,i=e.input.readByte()):i=-1,e.validBits=0,a.b[s]=255&i}if("vorbis"!=a.toString())throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,"vorbis header",{fileName:"VorbisDecodeState.hx",lineNumber:300,className:"kha.audio2.ogg.vorbis.VorbisDecodeState",methodName:"vorbisValidate"}));e.inputPosition+=4;var n=e.input.readInt32();if(0!=n)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_FIRST_PAGE,"vorbis version : "+n,{fileName:"Header.hx",lineNumber:66,className:"kha.audio2.ogg.vorbis.data.Header",methodName:"read"}));var _=new kha_audio2_ogg_vorbis_data_Header;if(e.inputPosition+=1,_.channel=e.input.readByte(),0==_.channel)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_FIRST_PAGE,"no channel",{fileName:"Header.hx",lineNumber:73,className:"kha.audio2.ogg.vorbis.data.Header",methodName:"read"}));if(_.channel>16)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.TOO_MANY_CHANNELS,"too many channels",{fileName:"Header.hx",lineNumber:75,className:"kha.audio2.ogg.vorbis.data.Header",methodName:"read"}));if(e.inputPosition+=4,_.sampleRate=e.input.readInt32(),0==_.sampleRate)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_FIRST_PAGE,"no sampling rate",{fileName:"Header.hx",lineNumber:80,className:"kha.audio2.ogg.vorbis.data.Header",methodName:"read"}));e.inputPosition+=4,_.maximumBitRate=e.input.readInt32(),e.inputPosition+=4,_.nominalBitRate=e.input.readInt32(),e.inputPosition+=4,_.minimumBitRate=e.input.readInt32(),e.inputPosition+=1;var o=e.input.readByte(),h=15&o,l=o>>4;if(_.blocksize0=1<13)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Header.hx",lineNumber:93,className:"kha.audio2.ogg.vorbis.data.Header",methodName:"read"}));if(l<6||l>13)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Header.hx",lineNumber:96,className:"kha.audio2.ogg.vorbis.data.Header",methodName:"read"}));if(h>l)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Header.hx",lineNumber:99,className:"kha.audio2.ogg.vorbis.data.Header",methodName:"read"}));e.inputPosition+=1;var c=e.input.readByte();if(0==(1&c))throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_FIRST_PAGE,null,{fileName:"Header.hx",lineNumber:105,className:"kha.audio2.ogg.vorbis.data.Header",methodName:"read"}));e.page.start(e),e.startPacket();for(var d=0,u=new haxe_io_BytesOutput;;){if(0==(d=e.next()))break;e.inputPosition+=d,u.write(e.input.read(d)),e.bytesInSeg=0}var p=new haxe_io_BytesInput(u.getBytes());p.readByte(),p.read(6);var f=p.readInt32();_.vendor=p.readString(f),_.comment=new kha_audio2_ogg_vorbis_data_Comment;for(var g=0,m=p.readInt32();g>>8,e.validBits-=8,I=T}}else{var C=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,I=C}var M=I+1,A=new Array(M);_.codebooks=A;for(var R=0,V=M;R>>6,e.validBits-=6,P=F}}else{var $=63&e.acc;e.acc=e.acc>>>6,e.validBits-=6,P=$}for(var j=0,E=c=P+1;j>>16,e.validBits-=16,U=N}}else{var L=65535&e.acc;e.acc=e.acc>>>16,e.validBits-=16,U=L}if(0!=U)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Header.hx",lineNumber:165,className:"kha.audio2.ogg.vorbis.data.Header",methodName:"read"}))}var z;if(e.validBits<0)z=0;else if(e.validBits<6){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>6,e.validBits-=6,z=O}}else{var H=63&e.acc;e.acc=e.acc>>>6,e.validBits-=6,z=H}var G=z+1,W=new Array(G);_.floorConfig=W;for(var K=0,Z=G;K>>6,e.validBits-=6,q=Y}}else{var X=63&e.acc;e.acc=e.acc>>>6,e.validBits-=6,q=X}var J=q+1,ee=new Array(J);_.residueConfig=ee;for(var te=0,ae=J;te>>6,e.validBits-=6,ie=se}}else{var ne=63&e.acc;e.acc=e.acc>>>6,e.validBits-=6,ie=ne}var _e=ie+1,oe=new Array(_e);_.mapping=oe;for(var he=0,le=_e;he=_.floorConfig.length)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Header.hx",lineNumber:191,className:"kha.audio2.ogg.vorbis.data.Header",methodName:"read"}));if(de.submapResidue[fe]>=_.residueConfig.length)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Header.hx",lineNumber:194,className:"kha.audio2.ogg.vorbis.data.Header",methodName:"read"}))}}var ge;if(e.validBits<0)ge=0;else if(e.validBits<6){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>6,e.validBits-=6,ge=me}}else{var ve=63&e.acc;e.acc=e.acc>>>6,e.validBits-=6,ge=ve}var ke=ge+1,be=new Array(ke);_.modes=be;for(var ye=0,Se=ke;ye=_.mapping.length)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Header.hx",lineNumber:205,className:"kha.audio2.ogg.vorbis.data.Header",methodName:"read"}))}for(;0!=e.bytesInSeg||!e.lastSeg&&0!=e.next();)e.bytesInSeg--,e.inputPosition+=1,e.input.readByte();return _},kha_audio2_ogg_vorbis_data_Header.prototype={__class__:kha_audio2_ogg_vorbis_data_Header};var kha_audio2_ogg_vorbis_data_IntPoint=$hxClasses["kha.audio2.ogg.vorbis.data.IntPoint"]=function(){};kha_audio2_ogg_vorbis_data_IntPoint.__name__=!0,kha_audio2_ogg_vorbis_data_IntPoint.prototype={__class__:kha_audio2_ogg_vorbis_data_IntPoint};var kha_audio2_ogg_vorbis_data_Mapping=$hxClasses["kha.audio2.ogg.vorbis.data.Mapping"]=function(){};kha_audio2_ogg_vorbis_data_Mapping.__name__=!0,kha_audio2_ogg_vorbis_data_Mapping.read=function(e,t){var a,r=new kha_audio2_ogg_vorbis_data_Mapping;if(e.validBits<0)a=0;else if(e.validBits<16){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>16,e.validBits-=16,a=i}}else{var s=65535&e.acc;e.acc=e.acc>>>16,e.validBits-=16,a=s}if(0!=a)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,"mapping type "+a,{fileName:"Mapping.hx",lineNumber:22,className:"kha.audio2.ogg.vorbis.data.Mapping",methodName:"read"}));var n=new Array(t);r.chan=n;for(var _=0,o=t;_>>1,e.validBits-=1,l=c}}else{var d=1&e.acc;e.acc=e.acc>>>1,e.validBits-=1,l=d}if(0!=l){var u;if(e.validBits<0)u=0;else if(e.validBits<4){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>4,e.validBits-=4,u=p}}else{var f=15&e.acc;e.acc=e.acc>>>4,e.validBits-=4,u=f}r.submaps=u+1}else r.submaps=1;var g;if(e.validBits<0)g=0;else if(e.validBits<1){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>1,e.validBits-=1,g=m}}else{var v=1&e.acc;e.acc=e.acc>>>1,e.validBits-=1,g=v}if(0!=g){var k;if(e.validBits<0)k=0;else if(e.validBits<8){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>8,e.validBits-=8,k=b}}else{var y=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,k=y}r.couplingSteps=k+1;for(var S=0,x=r.couplingSteps;S>5]:10+C[T>>10]:T<16777216?T<524288?15+C[T>>15]:20+C[T>>20]:T<536870912?25+C[T>>25]:T<-2147483648?30+C[T>>30]:0;if(e.validBits<0)B=0;else if(e.validBits24)B=e.readBits(24)+(e.readBits(M-24)<<24);else{for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>M,e.validBits-=M,B=A}}else{var R=e.acc&(1<>>M,e.validBits-=M,B=R}I.magnitude=B;var V,D=r.chan[w],P=t-1,F=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4],$=P<16384?P<16?F[P]:P<512?5+F[P>>5]:10+F[P>>10]:P<16777216?P<524288?15+F[P>>15]:20+F[P>>20]:P<536870912?25+F[P>>25]:P<-2147483648?30+F[P>>30]:0;if(e.validBits<0)V=0;else if(e.validBits<$)if($>24)V=e.readBits(24)+(e.readBits($-24)<<24);else{for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>$,e.validBits-=$,V=j}}else{var E=e.acc&(1<<$)-1;e.acc=e.acc>>>$,e.validBits-=$,V=E}if(D.angle=V,r.chan[w].magnitude>=t)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Mapping.hx",lineNumber:46,className:"kha.audio2.ogg.vorbis.data.Mapping",methodName:"read"}));if(r.chan[w].angle>=t)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Mapping.hx",lineNumber:49,className:"kha.audio2.ogg.vorbis.data.Mapping",methodName:"read"}));if(r.chan[w].magnitude==r.chan[w].angle)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Mapping.hx",lineNumber:52,className:"kha.audio2.ogg.vorbis.data.Mapping",methodName:"read"}))}}else r.couplingSteps=0;var U;if(e.validBits<0)U=0;else if(e.validBits<2){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>2,e.validBits-=2,U=N}}else{var L=3&e.acc;e.acc=e.acc>>>2,e.validBits-=2,U=L}if(0!=U)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Mapping.hx",lineNumber:61,className:"kha.audio2.ogg.vorbis.data.Mapping",methodName:"read"}));if(r.submaps>1)for(var z=0,O=t;z>>4,e.validBits-=4,H=K}}else{var Z=15&e.acc;e.acc=e.acc>>>4,e.validBits-=4,H=Z}if(W.mux=H,r.chan[G].mux>=r.submaps)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Mapping.hx",lineNumber:67,className:"kha.audio2.ogg.vorbis.data.Mapping",methodName:"read"}))}else for(var Q=0,q=t;Q=0)if(e.validBits<8){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<=0){e.acc;e.acc=e.acc>>>8,e.validBits-=8}}else{e.acc;e.acc=e.acc>>>8,e.validBits-=8}var se,ne=r.submapFloor;if(e.validBits<0)se=0;else if(e.validBits<8){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>8,e.validBits-=8,se=_e}}else{var oe=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,se=oe}ne[ie]=se;var he,le=r.submapResidue;if(e.validBits<0)he=0;else if(e.validBits<8){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>8,e.validBits-=8,he=ce}}else{var de=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,he=de}le[ie]=he}return r},kha_audio2_ogg_vorbis_data_Mapping.prototype={doFloor:function(e,t,a,r,i,s){var n=a>>1,_=this.chan[t].mux,o=e[this.submapFloor[_]];if(0==o.type)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_STREAM,null,{fileName:"Mapping.hx",lineNumber:94,className:"kha.audio2.ogg.vorbis.data.Mapping",methodName:"doFloor"}));for(var h=o.floor1,l=0,c=i[0]*h.floor1Multiplier,d=1,u=h.values;d=0){var g=i[f]*h.floor1Multiplier,m=h.xlist[f];kha_audio2_ogg_vorbis_VorbisTools.drawLine(r,l,c,m,g,n),l=m,c=g}}if(l>>1,e.validBits-=1,t=r}}else{var i=1&e.acc;e.acc=e.acc>>>1,e.validBits-=1,t=i}a.blockflag=0!=t;var s;if(e.validBits<0)s=0;else if(e.validBits<16){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>16,e.validBits-=16,s=n}}else{var _=65535&e.acc;e.acc=e.acc>>>16,e.validBits-=16,s=_}a.windowtype=s;var o;if(e.validBits<0)o=0;else if(e.validBits<16){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>16,e.validBits-=16,o=h}}else{var l=65535&e.acc;e.acc=e.acc>>>16,e.validBits-=16,o=l}a.transformtype=o;var c;if(e.validBits<0)c=0;else if(e.validBits<8){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>8,e.validBits-=8,c=d}}else{var u=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,c=u}if(a.mapping=c,0!=a.windowtype)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Mode.hx",lineNumber:22,className:"kha.audio2.ogg.vorbis.data.Mode",methodName:"read"}));if(0!=a.transformtype)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Mode.hx",lineNumber:25,className:"kha.audio2.ogg.vorbis.data.Mode",methodName:"read"}));return a},kha_audio2_ogg_vorbis_data_Mode.prototype={__class__:kha_audio2_ogg_vorbis_data_Mode};var kha_audio2_ogg_vorbis_data_Page=$hxClasses["kha.audio2.ogg.vorbis.data.Page"]=function(){};kha_audio2_ogg_vorbis_data_Page.__name__=!0,kha_audio2_ogg_vorbis_data_Page.prototype={clone:function(){var e=new kha_audio2_ogg_vorbis_data_Page;return e.flag=this.flag,e},start:function(e){var t,a,r;if(e.inputPosition+=1,79==e.input.readByte()?(e.inputPosition+=1,r=103!=e.input.readByte()):r=!0,r?a=!0:(e.inputPosition+=1,a=103!=e.input.readByte()),a?t=!0:(e.inputPosition+=1,t=83!=e.input.readByte()),t)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.MISSING_CAPTURE_PATTERN,null,{fileName:"VorbisDecodeState.hx",lineNumber:323,className:"kha.audio2.ogg.vorbis.VorbisDecodeState",methodName:"capturePattern"}));this.startWithoutCapturePattern(e)},startWithoutCapturePattern:function(e){e.inputPosition+=1;var t=e.input.readByte();if(0!=t)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_STREAM_STRUCTURE_VERSION,""+t,{fileName:"Page.hx",lineNumber:34,className:"kha.audio2.ogg.vorbis.data.Page",methodName:"startWithoutCapturePattern"}));e.inputPosition+=1,this.flag=e.input.readByte(),e.inputPosition+=4;var a=e.input.readInt32();e.inputPosition+=4;var r=e.input.readInt32();e.inputPosition+=4,e.input.readInt32(),e.inputPosition+=4,e.input.readInt32(),e.inputPosition+=4,e.input.readInt32(),e.setup(a,r)},__class__:kha_audio2_ogg_vorbis_data_Page};var kha_audio2_ogg_vorbis_data_PageFlag=$hxClasses["kha.audio2.ogg.vorbis.data.PageFlag"]=function(){};kha_audio2_ogg_vorbis_data_PageFlag.__name__=!0;var kha_audio2_ogg_vorbis_data_ProbedPage=$hxClasses["kha.audio2.ogg.vorbis.data.ProbedPage"]=function(){};kha_audio2_ogg_vorbis_data_ProbedPage.__name__=!0,kha_audio2_ogg_vorbis_data_ProbedPage.prototype={__class__:kha_audio2_ogg_vorbis_data_ProbedPage};var kha_audio2_ogg_vorbis_data_ReaderError=$hxClasses["kha.audio2.ogg.vorbis.data.ReaderError"]=function(e,t,a){null==t&&(t=""),this.type=e,this.message=t,this.posInfos=a};kha_audio2_ogg_vorbis_data_ReaderError.__name__=!0,kha_audio2_ogg_vorbis_data_ReaderError.prototype={__class__:kha_audio2_ogg_vorbis_data_ReaderError};var kha_audio2_ogg_vorbis_data_ReaderErrorType=$hxClasses["kha.audio2.ogg.vorbis.data.ReaderErrorType"]={__ename__:!0,__constructs__:["NEED_MORE_DATA","INVALID_API_MIXING","OUTOFMEM","FEATURE_NOT_SUPPORTED","TOO_MANY_CHANNELS","FILE_OPEN_FAILURE","SEEK_WITHOUT_LENGTH","UNEXPECTED_EOF","SEEK_INVALID","INVALID_SETUP","INVALID_STREAM","MISSING_CAPTURE_PATTERN","INVALID_STREAM_STRUCTURE_VERSION","CONTINUED_PACKET_FLAG_INVALID","INCORRECT_STREAM_SERIAL_NUMBER","INVALID_FIRST_PAGE","BAD_PACKET_TYPE","CANT_FIND_LAST_PAGE","SEEK_FAILED","OTHER"]};kha_audio2_ogg_vorbis_data_ReaderErrorType.NEED_MORE_DATA=["NEED_MORE_DATA",0],kha_audio2_ogg_vorbis_data_ReaderErrorType.NEED_MORE_DATA.toString=$estr,kha_audio2_ogg_vorbis_data_ReaderErrorType.NEED_MORE_DATA.__enum__=kha_audio2_ogg_vorbis_data_ReaderErrorType,kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_API_MIXING=["INVALID_API_MIXING",1],kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_API_MIXING.toString=$estr,kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_API_MIXING.__enum__=kha_audio2_ogg_vorbis_data_ReaderErrorType,kha_audio2_ogg_vorbis_data_ReaderErrorType.OUTOFMEM=["OUTOFMEM",2],kha_audio2_ogg_vorbis_data_ReaderErrorType.OUTOFMEM.toString=$estr,kha_audio2_ogg_vorbis_data_ReaderErrorType.OUTOFMEM.__enum__=kha_audio2_ogg_vorbis_data_ReaderErrorType,kha_audio2_ogg_vorbis_data_ReaderErrorType.FEATURE_NOT_SUPPORTED=["FEATURE_NOT_SUPPORTED",3],kha_audio2_ogg_vorbis_data_ReaderErrorType.FEATURE_NOT_SUPPORTED.toString=$estr,kha_audio2_ogg_vorbis_data_ReaderErrorType.FEATURE_NOT_SUPPORTED.__enum__=kha_audio2_ogg_vorbis_data_ReaderErrorType,kha_audio2_ogg_vorbis_data_ReaderErrorType.TOO_MANY_CHANNELS=["TOO_MANY_CHANNELS",4],kha_audio2_ogg_vorbis_data_ReaderErrorType.TOO_MANY_CHANNELS.toString=$estr,kha_audio2_ogg_vorbis_data_ReaderErrorType.TOO_MANY_CHANNELS.__enum__=kha_audio2_ogg_vorbis_data_ReaderErrorType,kha_audio2_ogg_vorbis_data_ReaderErrorType.FILE_OPEN_FAILURE=["FILE_OPEN_FAILURE",5],kha_audio2_ogg_vorbis_data_ReaderErrorType.FILE_OPEN_FAILURE.toString=$estr,kha_audio2_ogg_vorbis_data_ReaderErrorType.FILE_OPEN_FAILURE.__enum__=kha_audio2_ogg_vorbis_data_ReaderErrorType,kha_audio2_ogg_vorbis_data_ReaderErrorType.SEEK_WITHOUT_LENGTH=["SEEK_WITHOUT_LENGTH",6],kha_audio2_ogg_vorbis_data_ReaderErrorType.SEEK_WITHOUT_LENGTH.toString=$estr,kha_audio2_ogg_vorbis_data_ReaderErrorType.SEEK_WITHOUT_LENGTH.__enum__=kha_audio2_ogg_vorbis_data_ReaderErrorType,kha_audio2_ogg_vorbis_data_ReaderErrorType.UNEXPECTED_EOF=["UNEXPECTED_EOF",7],kha_audio2_ogg_vorbis_data_ReaderErrorType.UNEXPECTED_EOF.toString=$estr,kha_audio2_ogg_vorbis_data_ReaderErrorType.UNEXPECTED_EOF.__enum__=kha_audio2_ogg_vorbis_data_ReaderErrorType,kha_audio2_ogg_vorbis_data_ReaderErrorType.SEEK_INVALID=["SEEK_INVALID",8],kha_audio2_ogg_vorbis_data_ReaderErrorType.SEEK_INVALID.toString=$estr,kha_audio2_ogg_vorbis_data_ReaderErrorType.SEEK_INVALID.__enum__=kha_audio2_ogg_vorbis_data_ReaderErrorType,kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP=["INVALID_SETUP",9],kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP.toString=$estr,kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP.__enum__=kha_audio2_ogg_vorbis_data_ReaderErrorType,kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_STREAM=["INVALID_STREAM",10],kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_STREAM.toString=$estr,kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_STREAM.__enum__=kha_audio2_ogg_vorbis_data_ReaderErrorType,kha_audio2_ogg_vorbis_data_ReaderErrorType.MISSING_CAPTURE_PATTERN=["MISSING_CAPTURE_PATTERN",11],kha_audio2_ogg_vorbis_data_ReaderErrorType.MISSING_CAPTURE_PATTERN.toString=$estr,kha_audio2_ogg_vorbis_data_ReaderErrorType.MISSING_CAPTURE_PATTERN.__enum__=kha_audio2_ogg_vorbis_data_ReaderErrorType,kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_STREAM_STRUCTURE_VERSION=["INVALID_STREAM_STRUCTURE_VERSION",12],kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_STREAM_STRUCTURE_VERSION.toString=$estr,kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_STREAM_STRUCTURE_VERSION.__enum__=kha_audio2_ogg_vorbis_data_ReaderErrorType,kha_audio2_ogg_vorbis_data_ReaderErrorType.CONTINUED_PACKET_FLAG_INVALID=["CONTINUED_PACKET_FLAG_INVALID",13],kha_audio2_ogg_vorbis_data_ReaderErrorType.CONTINUED_PACKET_FLAG_INVALID.toString=$estr,kha_audio2_ogg_vorbis_data_ReaderErrorType.CONTINUED_PACKET_FLAG_INVALID.__enum__=kha_audio2_ogg_vorbis_data_ReaderErrorType,kha_audio2_ogg_vorbis_data_ReaderErrorType.INCORRECT_STREAM_SERIAL_NUMBER=["INCORRECT_STREAM_SERIAL_NUMBER",14],kha_audio2_ogg_vorbis_data_ReaderErrorType.INCORRECT_STREAM_SERIAL_NUMBER.toString=$estr,kha_audio2_ogg_vorbis_data_ReaderErrorType.INCORRECT_STREAM_SERIAL_NUMBER.__enum__=kha_audio2_ogg_vorbis_data_ReaderErrorType,kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_FIRST_PAGE=["INVALID_FIRST_PAGE",15],kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_FIRST_PAGE.toString=$estr,kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_FIRST_PAGE.__enum__=kha_audio2_ogg_vorbis_data_ReaderErrorType,kha_audio2_ogg_vorbis_data_ReaderErrorType.BAD_PACKET_TYPE=["BAD_PACKET_TYPE",16],kha_audio2_ogg_vorbis_data_ReaderErrorType.BAD_PACKET_TYPE.toString=$estr,kha_audio2_ogg_vorbis_data_ReaderErrorType.BAD_PACKET_TYPE.__enum__=kha_audio2_ogg_vorbis_data_ReaderErrorType,kha_audio2_ogg_vorbis_data_ReaderErrorType.CANT_FIND_LAST_PAGE=["CANT_FIND_LAST_PAGE",17],kha_audio2_ogg_vorbis_data_ReaderErrorType.CANT_FIND_LAST_PAGE.toString=$estr,kha_audio2_ogg_vorbis_data_ReaderErrorType.CANT_FIND_LAST_PAGE.__enum__=kha_audio2_ogg_vorbis_data_ReaderErrorType,kha_audio2_ogg_vorbis_data_ReaderErrorType.SEEK_FAILED=["SEEK_FAILED",18],kha_audio2_ogg_vorbis_data_ReaderErrorType.SEEK_FAILED.toString=$estr,kha_audio2_ogg_vorbis_data_ReaderErrorType.SEEK_FAILED.__enum__=kha_audio2_ogg_vorbis_data_ReaderErrorType,kha_audio2_ogg_vorbis_data_ReaderErrorType.OTHER=["OTHER",19],kha_audio2_ogg_vorbis_data_ReaderErrorType.OTHER.toString=$estr,kha_audio2_ogg_vorbis_data_ReaderErrorType.OTHER.__enum__=kha_audio2_ogg_vorbis_data_ReaderErrorType;var kha_audio2_ogg_vorbis_data_Residue=$hxClasses["kha.audio2.ogg.vorbis.data.Residue"]=function(){};kha_audio2_ogg_vorbis_data_Residue.__name__=!0,kha_audio2_ogg_vorbis_data_Residue.read=function(e,t){var a,r=new kha_audio2_ogg_vorbis_data_Residue;if(e.validBits<0)a=0;else if(e.validBits<16){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>16,e.validBits-=16,a=i}}else{var s=65535&e.acc;e.acc=e.acc>>>16,e.validBits-=16,a=s}if(r.type=a,r.type>2)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Residue.hx",lineNumber:29,className:"kha.audio2.ogg.vorbis.data.Residue",methodName:"read"}));var n,_=new Array(64);if(e.validBits<0)n=0;else if(e.validBits<24){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>24,e.validBits-=24,n=o}}else{var h=16777215&e.acc;e.acc=e.acc>>>24,e.validBits-=24,n=h}r.begin=n;var l;if(e.validBits<0)l=0;else if(e.validBits<24){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>24,e.validBits-=24,l=c}}else{var d=16777215&e.acc;e.acc=e.acc>>>24,e.validBits-=24,l=d}r.end=l;var u;if(e.validBits<0)u=0;else if(e.validBits<24){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>24,e.validBits-=24,u=p}}else{var f=16777215&e.acc;e.acc=e.acc>>>24,e.validBits-=24,u=f}r.partSize=u+1;var g;if(e.validBits<0)g=0;else if(e.validBits<6){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>6,e.validBits-=6,g=m}}else{var v=63&e.acc;e.acc=e.acc>>>6,e.validBits-=6,g=v}var k,b=r.classifications=g+1;if(e.validBits<0)k=0;else if(e.validBits<8){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>8,e.validBits-=8,k=y}}else{var S=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,k=S}r.classbook=k;for(var x=0,B=r.classifications;x>>3,e.validBits-=3,w=C}}else{var M=7&e.acc;e.acc=e.acc>>>3,e.validBits-=3,w=M}var A;if(e.validBits<0)A=0;else if(e.validBits<1){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>1,e.validBits-=1,A=R}}else{var V=1&e.acc;e.acc=e.acc>>>1,e.validBits-=1,A=V}if(0!=A)if(e.validBits<0)T=0;else if(e.validBits<5){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<>>5,e.validBits-=5,T=D}}else{var P=31&e.acc;e.acc=e.acc>>>5,e.validBits-=5,T=P}_[I]=8*T+w}var F=r.classifications,$=new Array(F);r.residueBooks=$;for(var j=0,E=r.classifications;j>>8,e.validBits-=8,H=W}}else{var K=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,H=K}if(G[O]=H,r.residueBooks[U][O]>=t.length)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Residue.hx",lineNumber:55,className:"kha.audio2.ogg.vorbis.data.Residue",methodName:"read"}))}else r.residueBooks[U][O]=-1}}var Z=t[r.classbook].entries,Q=t[r.classbook].dimensions,q=new Array(Z);r.classdata=q;for(var Y=0,X=Z;Y=0;)ie[te]=ee%b,ee=ee/b|0;return r},kha_audio2_ogg_vorbis_data_Residue.prototype={decode:function(e,t,a,r,i,s,n){for(var _=t.codebooks,o=_[this.classbook].dimensions,h=this.end-this.begin,l=this.partSize,c=_$UInt_UInt_$Impl_$.toFloat(h)/_$UInt_UInt_$Impl_$.toFloat(l)|0,d=t.channel*c+1,u=new Array(d),p=0,f=r;p=0){var M=I.codewordLengths[C];e.acc=e.acc>>>M,e.validBits-=M,e.validBits<0?(e.validBits=0,T=-1):T=C}else T=e.decodeScalarRaw(I);I.sparse&&(T=I.sortedValues[T]);var A=T;if(-1==A)return;for(var R=o;--R>=0;)u[w*c+R+S]=A%this.classifications,A=A/this.classifications|0}}for(var V=0,D=o;V=c)break;for(var P=0,F=r;P=0){var U=a[$],N=this.begin+S*l,L=l;if(!_[E].residueDecode(e,U,N,L,this.type))return}}}++S}}else{for(var z=0,O=r;z>>1;if(0==W){var Y=_[this.classbook];e.validBits<10&&e.prepHuffman();var X,J=Y.fastHuffman[1023&e.acc];if(J>=0){var ee=Y.codewordLengths[J];e.acc=e.acc>>>ee,e.validBits-=ee,e.validBits<0?(e.validBits=0,X=-1):X=J}else X=e.decodeScalarRaw(Y);Y.sparse&&(X=Y.sortedValues[X]);var te=X;if(-1==te)return;for(var ae=o;--ae>=0;)u[ae+K]=te%this.classifications,te=te/this.classifications|0}for(var re=0,ie=o;re=c)break;var se=this.begin+K*l,ne=u[K],_e=this.residueBooks[ne][W];if(_e>=0){var oe=_[_e].decodeDeinterleaveRepeat(e,a,r,Q,q,i,l);if(null==oe)return;Q=oe.cInter,q=oe.pInter}else Q=1&(se+=l),q=se>>>1;++K}}else if(1==r)for(;K=0){var pe=ce.codewordLengths[ue];e.acc=e.acc>>>pe,e.validBits-=pe,e.validBits<0?(e.validBits=0,de=-1):de=ue}else de=e.decodeScalarRaw(ce);ce.sparse&&(de=ce.sortedValues[de]);var fe=de;if(-1==fe)return;for(var ge=o;--ge>=0;)u[ge+K]=fe%this.classifications,fe=fe/this.classifications|0}for(var me=0,ve=o;me=c)break;var ke=this.begin+K*l,be=this.residueBooks[u[K]][W];if(be>=0){var ye=_[be].decodeDeinterleaveRepeat(e,a,r,he,le,i,l);if(null==ye)return;he=ye.cInter,le=ye.pInter}else he=0,le=ke+=l;++K}}else for(;K=0){var Ce=we.codewordLengths[Te];e.acc=e.acc>>>Ce,e.validBits-=Ce,e.validBits<0?(e.validBits=0,Ie=-1):Ie=Te}else Ie=e.decodeScalarRaw(we);we.sparse&&(Ie=we.sortedValues[Ie]);var Me=Ie;if(-1==Me)return;for(var Ae=o;--Ae>=0;)u[Ae+K]=Me%this.classifications,Me=Me/this.classifications|0}for(var Re=0,Ve=o;Re=c)break;var De=this.begin+K*l,Pe=this.residueBooks[u[K]][W];if(Pe>=0){var Fe=_[Pe].decodeDeinterleaveRepeat(e,a,r,xe,Be,i,l);if(null==Fe)return;xe=Fe.cInter,Be=Fe.pInter}else De+=l,xe=_$UInt_UInt_$Impl_$.toFloat(De)%_$UInt_UInt_$Impl_$.toFloat(r)|0,Be=_$UInt_UInt_$Impl_$.toFloat(De)/_$UInt_UInt_$Impl_$.toFloat(r)|0;++K}}}}},__class__:kha_audio2_ogg_vorbis_data_Residue};var kha_audio2_ogg_vorbis_data_Setting=$hxClasses["kha.audio2.ogg.vorbis.data.Setting"]=function(){};kha_audio2_ogg_vorbis_data_Setting.__name__=!0;var kha_graphics1_Graphics=$hxClasses["kha.graphics1.Graphics"]=function(){};kha_graphics1_Graphics.__name__=!0,kha_graphics1_Graphics.prototype={__class__:kha_graphics1_Graphics};var kha_graphics2_Graphics=$hxClasses["kha.graphics2.Graphics"]=function(){this.transformations=[],this.transformations.push(new kha_math_FastMatrix3(1,0,0,0,1,0,0,0,1)),this.opacities=[],this.opacities.push(1),this.myFontSize=12,this.myFontGlyphs=[];for(var e=32;e<256;){var t=e++;this.myFontGlyphs.push(t)}this.pipe=null};kha_graphics2_Graphics.__name__=!0,kha_graphics2_Graphics.prototype={begin:function(e,t){null==e&&(e=!0)},end:function(){},flush:function(){},clear:function(e){},drawImage:function(e,t,a){this.drawSubImage(e,t,a,0,0,e.get_width(),e.get_height())},drawSubImage:function(e,t,a,r,i,s,n){this.drawScaledSubImage(e,r,i,s,n,t,a,s,n)},drawScaledImage:function(e,t,a,r,i){this.drawScaledSubImage(e,0,0,e.get_width(),e.get_height(),t,a,r,i)},drawScaledSubImage:function(e,t,a,r,i,s,n,_,o){},drawRect:function(e,t,a,r,i){null==i&&(i=1)},fillRect:function(e,t,a,r){},drawString:function(e,t,a){},drawLine:function(e,t,a,r,i){null==i&&(i=1)},drawVideo:function(e,t,a,r,i){},fillTriangle:function(e,t,a,r,i,s){},get_imageScaleQuality:function(){return kha_graphics2_ImageScaleQuality.Low},set_imageScaleQuality:function(e){return kha_graphics2_ImageScaleQuality.High},get_mipmapScaleQuality:function(){return kha_graphics2_ImageScaleQuality.Low},set_mipmapScaleQuality:function(e){return kha_graphics2_ImageScaleQuality.High},get_color:function(){return-16777216},set_color:function(e){return-16777216},get_font:function(){return null},set_font:function(e){return null},get_fontSize:function(){return this.myFontSize},set_fontSize:function(e){return this.myFontSize=e},get_fontGlyphs:function(){return this.myFontGlyphs},set_fontGlyphs:function(e){return this.myFontGlyphs=e},pushTransformation:function(e){var t=new kha_math_FastMatrix3(1,0,0,0,1,0,0,0,1);t._00=e._00,t._10=e._10,t._20=e._20,t._01=e._01,t._11=e._11,t._21=e._21,t._02=e._02,t._12=e._12,t._22=e._22,this.setTransformation(t),this.transformations.push(t)},popTransformation:function(){var e=this.transformations.pop();return this.setTransformation(this.transformations[this.transformations.length-1]),e},get_transformation:function(){return this.transformations[this.transformations.length-1]},set_transformation:function(e){this.setTransformation(e);var t=this.transformations[this.transformations.length-1];return t._00=e._00,t._10=e._10,t._20=e._20,t._01=e._01,t._11=e._11,t._21=e._21,t._02=e._02,t._12=e._12,t._22=e._22,e},translation:function(e,t){var a,r;r=e,a=t;var i=this.transformations[this.transformations.length-1];return new kha_math_FastMatrix3(1*i._00+0*i._01+r*i._02,1*i._10+0*i._11+r*i._12,1*i._20+0*i._21+r*i._22,0*i._00+1*i._01+a*i._02,0*i._10+1*i._11+a*i._12,0*i._20+1*i._21+a*i._22,0*i._00+0*i._01+1*i._02,0*i._10+0*i._11+1*i._12,0*i._20+0*i._21+1*i._22)},translate:function(e,t){var a,r;r=e,a=t;var i=this.transformations[this.transformations.length-1],s=new kha_math_FastMatrix3(1*i._00+0*i._01+r*i._02,1*i._10+0*i._11+r*i._12,1*i._20+0*i._21+r*i._22,0*i._00+1*i._01+a*i._02,0*i._10+1*i._11+a*i._12,0*i._20+1*i._21+a*i._22,0*i._00+0*i._01+1*i._02,0*i._10+0*i._11+1*i._12,0*i._20+0*i._21+1*i._22);this.setTransformation(s);var n=this.transformations[this.transformations.length-1];n._00=s._00,n._10=s._10,n._20=s._20,n._01=s._01,n._11=s._11,n._21=s._21,n._02=s._02,n._12=s._12,n._22=s._22},pushTranslation:function(e,t){var a,r;r=e,a=t;var i=this.transformations[this.transformations.length-1];this.pushTransformation(new kha_math_FastMatrix3(1*i._00+0*i._01+r*i._02,1*i._10+0*i._11+r*i._12,1*i._20+0*i._21+r*i._22,0*i._00+1*i._01+a*i._02,0*i._10+1*i._11+a*i._12,0*i._20+1*i._21+a*i._22,0*i._00+0*i._01+1*i._02,0*i._10+0*i._11+1*i._12,0*i._20+0*i._21+1*i._22))},rotation:function(e,t,a){var r,i,s,n,_,o,h,l,c,d,u,p,f,g,m,v,k,b,y;y=t,b=a;var S,x,B,w=Math.cos(e);x=-Math.sin(e);var I,T;c=1*(k=1*w+0*(B=Math.sin(e))+0*y)+0*(g=1*x+0*(S=Math.cos(e))+0*y)+0*(u=0+1*y),o=0*k+1*g+0*u,s=k*(T=-t)+g*(I=-a)+1*u,l=1*(v=0*w+1*B+0*b)+0*(f=0*x+1*S+0*b)+0*(d=0+1*b),_=0*v+1*f+0*d,i=v*T+f*I+1*d,h=1*(m=0*w+0*B+0)+0*(p=0*x+0*S+0)+0,n=0*m+1*p+0,r=m*T+p*I+1;var C=this.transformations[this.transformations.length-1];return new kha_math_FastMatrix3(c*C._00+o*C._01+s*C._02,c*C._10+o*C._11+s*C._12,c*C._20+o*C._21+s*C._22,l*C._00+_*C._01+i*C._02,l*C._10+_*C._11+i*C._12,l*C._20+_*C._21+i*C._22,h*C._00+n*C._01+r*C._02,h*C._10+n*C._11+r*C._12,h*C._20+n*C._21+r*C._22)},rotate:function(e,t,a){var r,i,s,n,_,o,h,l,c,d,u,p,f,g,m,v,k,b,y,S,x,B,w,I,T,C,M,A;A=t,M=a;var R,V,D,P=Math.cos(e);V=-Math.sin(e);var F,$;b=1*(C=1*P+0*(D=Math.sin(e))+0*A)+0*(w=1*V+0*(R=Math.cos(e))+0*A)+0*(S=0+1*A),m=0*C+1*w+0*S,p=C*($=-t)+w*(F=-a)+1*S,k=1*(T=0*P+1*D+0*M)+0*(B=0*V+1*R+0*M)+0*(y=0+1*M),g=0*T+1*B+0*y,u=T*$+B*F+1*y,v=1*(I=0*P+0*D+0)+0*(x=0*V+0*R+0)+0,f=0*I+1*x+0,d=I*$+x*F+1;var j=this.transformations[this.transformations.length-1];c=b*j._00+m*j._01+p*j._02,o=b*j._10+m*j._11+p*j._12,s=b*j._20+m*j._21+p*j._22,l=k*j._00+g*j._01+u*j._02,_=k*j._10+g*j._11+u*j._12,i=k*j._20+g*j._21+u*j._22,h=v*j._00+f*j._01+d*j._02,n=v*j._10+f*j._11+d*j._12,r=v*j._20+f*j._21+d*j._22,this.transformations[this.transformations.length-1]._00=c,this.transformations[this.transformations.length-1]._01=l,this.transformations[this.transformations.length-1]._02=h,this.transformations[this.transformations.length-1]._10=o,this.transformations[this.transformations.length-1]._11=_,this.transformations[this.transformations.length-1]._12=n,this.transformations[this.transformations.length-1]._20=s,this.transformations[this.transformations.length-1]._21=i,this.transformations[this.transformations.length-1]._22=r},pushRotation:function(e,t,a){var r,i,s,n,_,o,h,l,c,d,u,p,f,g,m,v,k,b,y;y=t,b=a;var S,x,B,w=Math.cos(e);x=-Math.sin(e);var I,T;c=1*(k=1*w+0*(B=Math.sin(e))+0*y)+0*(g=1*x+0*(S=Math.cos(e))+0*y)+0*(u=0+1*y),o=0*k+1*g+0*u,s=k*(T=-t)+g*(I=-a)+1*u,l=1*(v=0*w+1*B+0*b)+0*(f=0*x+1*S+0*b)+0*(d=0+1*b),_=0*v+1*f+0*d,i=v*T+f*I+1*d,h=1*(m=0*w+0*B+0)+0*(p=0*x+0*S+0)+0,n=0*m+1*p+0,r=m*T+p*I+1;var C=this.transformations[this.transformations.length-1];this.pushTransformation(new kha_math_FastMatrix3(c*C._00+o*C._01+s*C._02,c*C._10+o*C._11+s*C._12,c*C._20+o*C._21+s*C._22,l*C._00+_*C._01+i*C._02,l*C._10+_*C._11+i*C._12,l*C._20+_*C._21+i*C._22,h*C._00+n*C._01+r*C._02,h*C._10+n*C._11+r*C._12,h*C._20+n*C._21+r*C._22))},pushOpacity:function(e){this.setOpacity(e),this.opacities.push(e)},popOpacity:function(){var e=this.opacities.pop();return this.setOpacity(this.get_opacity()),e},get_opacity:function(){return this.opacities[this.opacities.length-1]},set_opacity:function(e){return this.setOpacity(e),this.opacities[this.opacities.length-1]=e},scissor:function(e,t,a,r){},disableScissor:function(){},get_pipeline:function(){return this.pipe},set_pipeline:function(e){return this.setPipeline(e),this.pipe=e},setTransformation:function(e){},setOpacity:function(e){},setPipeline:function(e){},__class__:kha_graphics2_Graphics,__properties__:{set_pipeline:"set_pipeline",get_pipeline:"get_pipeline",set_opacity:"set_opacity",get_opacity:"get_opacity",set_transformation:"set_transformation",get_transformation:"get_transformation",set_fontGlyphs:"set_fontGlyphs",get_fontGlyphs:"get_fontGlyphs",set_fontSize:"set_fontSize",get_fontSize:"get_fontSize",set_font:"set_font",get_font:"get_font",set_color:"set_color",get_color:"get_color",set_mipmapScaleQuality:"set_mipmapScaleQuality",get_mipmapScaleQuality:"get_mipmapScaleQuality",set_imageScaleQuality:"set_imageScaleQuality",get_imageScaleQuality:"get_imageScaleQuality"}};var kha_graphics2_Graphics1=$hxClasses["kha.graphics2.Graphics1"]=function(e){this.canvas=e};kha_graphics2_Graphics1.__name__=!0,kha_graphics2_Graphics1.__interfaces__=[kha_graphics1_Graphics],kha_graphics2_Graphics1.prototype={begin:function(){null==this.texture&&(this.texture=kha_Image.create(this.canvas.get_width(),this.canvas.get_height(),kha_graphics4_TextureFormat.RGBA32,kha_graphics4_Usage.ReadableUsage)),this.pixels=this.texture.lock()},end:function(){this.texture.unlock(),this.canvas.get_g2().begin(),this.canvas.get_g2().drawImage(this.texture,0,0),this.canvas.get_g2().end()},setPixel:function(e,t,a){this.pixels.setInt32(t*this.texture.get_realWidth()*4+4*e,a)},__class__:kha_graphics2_Graphics1};var kha_graphics2_ImageScaleQuality=$hxClasses["kha.graphics2.ImageScaleQuality"]={__ename__:!0,__constructs__:["Low","High"]};kha_graphics2_ImageScaleQuality.Low=["Low",0],kha_graphics2_ImageScaleQuality.Low.toString=$estr,kha_graphics2_ImageScaleQuality.Low.__enum__=kha_graphics2_ImageScaleQuality,kha_graphics2_ImageScaleQuality.High=["High",1],kha_graphics2_ImageScaleQuality.High.toString=$estr,kha_graphics2_ImageScaleQuality.High.__enum__=kha_graphics2_ImageScaleQuality;var kha_graphics2_truetype_VectorOfIntPointer=$hxClasses["kha.graphics2.truetype.VectorOfIntPointer"]=function(){};kha_graphics2_truetype_VectorOfIntPointer.__name__=!0,kha_graphics2_truetype_VectorOfIntPointer.prototype={__class__:kha_graphics2_truetype_VectorOfIntPointer};var kha_graphics2_truetype_Stbtt_$temp_$rect=$hxClasses["kha.graphics2.truetype.Stbtt_temp_rect"]=function(){};kha_graphics2_truetype_Stbtt_$temp_$rect.__name__=!0,kha_graphics2_truetype_Stbtt_$temp_$rect.prototype={__class__:kha_graphics2_truetype_Stbtt_$temp_$rect};var kha_graphics2_truetype_Stbtt_$temp_$glyph_$h_$metrics=$hxClasses["kha.graphics2.truetype.Stbtt_temp_glyph_h_metrics"]=function(){};kha_graphics2_truetype_Stbtt_$temp_$glyph_$h_$metrics.__name__=!0,kha_graphics2_truetype_Stbtt_$temp_$glyph_$h_$metrics.prototype={__class__:kha_graphics2_truetype_Stbtt_$temp_$glyph_$h_$metrics};var kha_graphics2_truetype_Stbtt_$temp_$font_$v_$metrics=$hxClasses["kha.graphics2.truetype.Stbtt_temp_font_v_metrics"]=function(){};kha_graphics2_truetype_Stbtt_$temp_$font_$v_$metrics.__name__=!0,kha_graphics2_truetype_Stbtt_$temp_$font_$v_$metrics.prototype={__class__:kha_graphics2_truetype_Stbtt_$temp_$font_$v_$metrics};var kha_graphics2_truetype_Stbtt_$temp_$region=$hxClasses["kha.graphics2.truetype.Stbtt_temp_region"]=function(){};kha_graphics2_truetype_Stbtt_$temp_$region.__name__=!0,kha_graphics2_truetype_Stbtt_$temp_$region.prototype={__class__:kha_graphics2_truetype_Stbtt_$temp_$region};var kha_graphics2_truetype_Stbtt_$bakedchar=$hxClasses["kha.graphics2.truetype.Stbtt_bakedchar"]=function(){};kha_graphics2_truetype_Stbtt_$bakedchar.__name__=!0,kha_graphics2_truetype_Stbtt_$bakedchar.prototype={__class__:kha_graphics2_truetype_Stbtt_$bakedchar};var kha_graphics2_truetype_Stbtt_$aligned_$quad=$hxClasses["kha.graphics2.truetype.Stbtt_aligned_quad"]=function(){};kha_graphics2_truetype_Stbtt_$aligned_$quad.__name__=!0,kha_graphics2_truetype_Stbtt_$aligned_$quad.prototype={__class__:kha_graphics2_truetype_Stbtt_$aligned_$quad};var kha_graphics2_truetype_Stbtt_$packedchar=$hxClasses["kha.graphics2.truetype.Stbtt_packedchar"]=function(){};kha_graphics2_truetype_Stbtt_$packedchar.__name__=!0,kha_graphics2_truetype_Stbtt_$packedchar.prototype={__class__:kha_graphics2_truetype_Stbtt_$packedchar};var kha_graphics2_truetype_Stbtt_$pack_$range=$hxClasses["kha.graphics2.truetype.Stbtt_pack_range"]=function(){};kha_graphics2_truetype_Stbtt_$pack_$range.__name__=!0,kha_graphics2_truetype_Stbtt_$pack_$range.prototype={__class__:kha_graphics2_truetype_Stbtt_$pack_$range};var kha_graphics2_truetype_Stbtt_$pack_$context=$hxClasses["kha.graphics2.truetype.Stbtt_pack_context"]=function(){};kha_graphics2_truetype_Stbtt_$pack_$context.__name__=!0,kha_graphics2_truetype_Stbtt_$pack_$context.prototype={__class__:kha_graphics2_truetype_Stbtt_$pack_$context};var kha_graphics2_truetype_Stbtt_$fontinfo=$hxClasses["kha.graphics2.truetype.Stbtt_fontinfo"]=function(){};kha_graphics2_truetype_Stbtt_$fontinfo.__name__=!0,kha_graphics2_truetype_Stbtt_$fontinfo.prototype={__class__:kha_graphics2_truetype_Stbtt_$fontinfo};var kha_graphics2_truetype_Stbtt_$vertex=$hxClasses["kha.graphics2.truetype.Stbtt_vertex"]=function(){};kha_graphics2_truetype_Stbtt_$vertex.__name__=!0,kha_graphics2_truetype_Stbtt_$vertex.prototype={__class__:kha_graphics2_truetype_Stbtt_$vertex};var kha_graphics2_truetype_Stbtt_$_$bitmap=$hxClasses["kha.graphics2.truetype.Stbtt__bitmap"]=function(){};kha_graphics2_truetype_Stbtt_$_$bitmap.__name__=!0,kha_graphics2_truetype_Stbtt_$_$bitmap.prototype={__class__:kha_graphics2_truetype_Stbtt_$_$bitmap};var kha_graphics2_truetype_Stbtt_$_$edge=$hxClasses["kha.graphics2.truetype.Stbtt__edge"]=function(){};kha_graphics2_truetype_Stbtt_$_$edge.__name__=!0,kha_graphics2_truetype_Stbtt_$_$edge.prototype={__class__:kha_graphics2_truetype_Stbtt_$_$edge};var kha_graphics2_truetype_Stbtt_$_$active_$edge=$hxClasses["kha.graphics2.truetype.Stbtt__active_edge"]=function(){};kha_graphics2_truetype_Stbtt_$_$active_$edge.__name__=!0,kha_graphics2_truetype_Stbtt_$_$active_$edge.prototype={__class__:kha_graphics2_truetype_Stbtt_$_$active_$edge};var kha_graphics2_truetype_Stbtt_$_$point=$hxClasses["kha.graphics2.truetype.Stbtt__point"]=function(){};kha_graphics2_truetype_Stbtt_$_$point.__name__=!0,kha_graphics2_truetype_Stbtt_$_$point.prototype={__class__:kha_graphics2_truetype_Stbtt_$_$point};var kha_graphics2_truetype_StbTruetype=$hxClasses["kha.graphics2.truetype.StbTruetype"]=function(){};kha_graphics2_truetype_StbTruetype.__name__=!0,kha_graphics2_truetype_StbTruetype.STBTT_assert=function(e){if(!e)throw new js__$Boot_HaxeError("Error")},kha_graphics2_truetype_StbTruetype.STBTT_POINT_SIZE=function(e){return-e},kha_graphics2_truetype_StbTruetype.ttBYTE=function(e,t){return null==t&&(t=0),e.readU8(t)},kha_graphics2_truetype_StbTruetype.ttCHAR=function(e,t){null==t&&(t=0);var a=e.readU8(t);return a>=128?a-256:a},kha_graphics2_truetype_StbTruetype.ttUSHORT=function(e,t){null==t&&(t=0);var a=e.readU8(t);return e.readU8(t+1)|a<<8},kha_graphics2_truetype_StbTruetype.ttSHORT=function(e,t){null==t&&(t=0);var a=e.readU8(t),r=e.readU8(t+1)|a<<8;return 0!=(32768&r)?r-65536:r},kha_graphics2_truetype_StbTruetype.ttULONG=function(e,t){null==t&&(t=0);var a=e.readU8(t),r=e.readU8(t+1),i=e.readU8(t+2);return e.readU8(t+3)|i<<8|r<<16|a<<24},kha_graphics2_truetype_StbTruetype.ttLONG=function(e,t){null==t&&(t=0);var a=e.readU8(t),r=e.readU8(t+1),i=e.readU8(t+2);return e.readU8(t+3)|i<<8|r<<16|a<<24},kha_graphics2_truetype_StbTruetype.ttFixed=function(e,t){null==t&&(t=0);var a=e.readU8(t),r=e.readU8(t+1),i=e.readU8(t+2);return e.readU8(t+3)|i<<8|r<<16|a<<24},kha_graphics2_truetype_StbTruetype.stbtt_tag4=function(e,t,a,r,i,s){return e.readU8(t)==a&&e.readU8(t+1)==r&&e.readU8(t+2)==i&&e.readU8(t+3)==s},kha_graphics2_truetype_StbTruetype.stbtt_tag=function(e,t,a){var r=HxOverrides.cca(a,0),i=HxOverrides.cca(a,1),s=HxOverrides.cca(a,2),n=HxOverrides.cca(a,3);return e.readU8(t)==r&&e.readU8(t+1)==i&&e.readU8(t+2)==s&&e.readU8(t+3)==n},kha_graphics2_truetype_StbTruetype.stbtt__isfont=function(e){var t=HxOverrides.cca("1",0);if(e.readU8(0)==t&&0==e.readU8(1)&&0==e.readU8(2)&&0==e.readU8(3))return!0;var a=HxOverrides.cca("typ1",0),r=HxOverrides.cca("typ1",1),i=HxOverrides.cca("typ1",2),s=HxOverrides.cca("typ1",3);if(e.readU8(0)==a&&e.readU8(1)==r&&e.readU8(2)==i&&e.readU8(3)==s)return!0;var n=HxOverrides.cca("OTTO",0),_=HxOverrides.cca("OTTO",1),o=HxOverrides.cca("OTTO",2),h=HxOverrides.cca("OTTO",3);return e.readU8(0)==n&&e.readU8(1)==_&&e.readU8(2)==o&&e.readU8(3)==h||0==e.readU8(0)&&1==e.readU8(1)&&0==e.readU8(2)&&0==e.readU8(3)},kha_graphics2_truetype_StbTruetype.stbtt__find_table=function(e,t,a){for(var r=t+4,i=e.readU8(r),s=t+12,n=0,_=e.readU8(r+1)|i<<8;n<_;){var o=s+16*n++,h=HxOverrides.cca(a,0),l=HxOverrides.cca(a,1),c=HxOverrides.cca(a,2),d=HxOverrides.cca(a,3);if(e.readU8(o)==h&&e.readU8(o+1)==l&&e.readU8(o+2)==c&&e.readU8(o+3)==d){var u=o+8,p=e.readU8(u),f=e.readU8(u+1),g=e.readU8(u+2);return e.readU8(u+3)|g<<8|f<<16|p<<24}}return 0},kha_graphics2_truetype_StbTruetype.stbtt_GetFontOffsetForIndex=function(e,t){if(kha_graphics2_truetype_StbTruetype.stbtt__isfont(e))return 0==t?0:-1;var a=HxOverrides.cca("ttcf",0),r=HxOverrides.cca("ttcf",1),i=HxOverrides.cca("ttcf",2),s=HxOverrides.cca("ttcf",3);if(e.readU8(0)==a&&e.readU8(1)==r&&e.readU8(2)==i&&e.readU8(3)==s){var n,_=e.readU8(4),o=e.readU8(5),h=e.readU8(6);if(65536!=(e.readU8(7)|h<<8|o<<16|_<<24)){var l=e.readU8(4),c=e.readU8(5),d=e.readU8(6);n=131072==(e.readU8(7)|d<<8|c<<16|l<<24)}else n=!0;if(n){var u=e.readU8(8),p=e.readU8(9),f=e.readU8(10);if(t>=(e.readU8(11)|f<<8|p<<16|u<<24))return-1;var g=12+4*t,m=e.readU8(g),v=e.readU8(g+1),k=e.readU8(g+2);return e.readU8(g+3)|k<<8|v<<16|m<<24}}return-1},kha_graphics2_truetype_StbTruetype.stbtt_InitFont=function(e,t,a){var r,i,s;if(e.data=t,e.fontstart=a,r=kha_graphics2_truetype_StbTruetype.stbtt__find_table(t,a,"cmap"),e.loca=kha_graphics2_truetype_StbTruetype.stbtt__find_table(t,a,"loca"),e.head=kha_graphics2_truetype_StbTruetype.stbtt__find_table(t,a,"head"),e.glyf=kha_graphics2_truetype_StbTruetype.stbtt__find_table(t,a,"glyf"),e.hhea=kha_graphics2_truetype_StbTruetype.stbtt__find_table(t,a,"hhea"),e.hmtx=kha_graphics2_truetype_StbTruetype.stbtt__find_table(t,a,"hmtx"),e.kern=kha_graphics2_truetype_StbTruetype.stbtt__find_table(t,a,"kern"),0==r||0==e.loca||0==e.head||0==e.glyf||0==e.hhea||0==e.hmtx)return!1;if(0!=(i=kha_graphics2_truetype_StbTruetype.stbtt__find_table(t,a,"maxp"))){var n=i+4,_=t.readU8(n),o=t.readU8(n+1);e.numGlyphs=o|_<<8}else e.numGlyphs=65535;var h=r+2,l=t.readU8(h);s=t.readU8(h+1)|l<<8,e.index_map=0;for(var c=0,d=s;c=l&&t>1,k=r+8,b=a.readU8(k),y=(a.readU8(k+1)|b<<8)>>1,S=r+10,x=a.readU8(S),B=a.readU8(S+1)|x<<8,w=r+12,I=a.readU8(w),T=(a.readU8(w+1)|I<<8)>>1,C=r+14,M=C;if(t>65535)return 0;var A=M+2*T,R=a.readU8(A);for(t>=(a.readU8(A+1)|R<<8)&&(M+=2*T),M-=2;0!=B;){var V=M+2*(y>>=1),D=a.readU8(V);t>(a.readU8(V+1)|D<<8)&&(M+=2*y),--B}var P,F,$=(M+=2)-C>>1,j=C+2*$,E=a.readU8(j);if(t>(a.readU8(j+1)|E<<8))throw new js__$Boot_HaxeError("Error");var U=r+14+2*v+2+2*$,N=a.readU8(U);if(F=a.readU8(U+1)|N<<8,t>1),te=r+16+12*ee,ae=a.readU8(te),re=a.readU8(te+1),ie=a.readU8(te+2),se=a.readU8(te+3)|ie<<8|re<<16|ae<<24,ne=r+16+12*ee+4,_e=a.readU8(ne),oe=a.readU8(ne+1),he=a.readU8(ne+2),le=a.readU8(ne+3)|he<<8|oe<<16|_e<<24;if(tle)){var ce=r+16+12*ee+8,de=a.readU8(ce),ue=a.readU8(ce+1),pe=a.readU8(ce+2),fe=a.readU8(ce+3)|pe<<8|ue<<16|de<<24;return 12==s?fe+t-se:fe}Z=ee+1}}return 0}throw new js__$Boot_HaxeError("Error")},kha_graphics2_truetype_StbTruetype.stbtt_GetCodepointShape=function(e,t){return kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphShape(e,kha_graphics2_truetype_StbTruetype.stbtt_FindGlyphIndex(e,t))},kha_graphics2_truetype_StbTruetype.stbtt_setvertex=function(e,t,a,r,i,s){e.type=t,e.x=a,e.y=r,e.cx=i,e.cy=s},kha_graphics2_truetype_StbTruetype.stbtt__GetGlyfOffset=function(e,t){var a,r;if(t>=e.numGlyphs)return-1;if(e.indexToLocFormat>=2)return-1;if(0==e.indexToLocFormat){var i=e.glyf,s=e.data,n=e.loca+2*t,_=s.readU8(n);a=i+2*(s.readU8(n+1)|_<<8);var o=e.glyf,h=e.data,l=e.loca+2*t+2,c=h.readU8(l);r=o+2*(h.readU8(l+1)|c<<8)}else{var d=e.glyf,u=e.data,p=e.loca+4*t,f=u.readU8(p),g=u.readU8(p+1),m=u.readU8(p+2);a=d+(u.readU8(p+3)|m<<8|g<<16|f<<24);var v=e.glyf,k=e.data,b=e.loca+4*t+4,y=k.readU8(b),S=k.readU8(b+1),x=k.readU8(b+2);r=v+(k.readU8(b+3)|x<<8|S<<16|y<<24)}return a==r?-1:a},kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphBox=function(e,t,a){var r=kha_graphics2_truetype_StbTruetype.stbtt__GetGlyfOffset(e,t);if(r<0)return!1;var i=e.data,s=r+2,n=i.readU8(s),_=i.readU8(s+1)|n<<8;a.x0=0!=(32768&_)?_-65536:_;var o=e.data,h=r+4,l=o.readU8(h),c=o.readU8(h+1)|l<<8;a.y0=0!=(32768&c)?c-65536:c;var d=e.data,u=r+6,p=d.readU8(u),f=d.readU8(u+1)|p<<8;a.x1=0!=(32768&f)?f-65536:f;var g=e.data,m=r+8,v=g.readU8(m),k=g.readU8(m+1)|v<<8;return a.y1=0!=(32768&k)?k-65536:k,!0},kha_graphics2_truetype_StbTruetype.stbtt_GetCodepointBox=function(e,t,a){return kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphBox(e,kha_graphics2_truetype_StbTruetype.stbtt_FindGlyphIndex(e,t),a)},kha_graphics2_truetype_StbTruetype.stbtt_IsGlyphEmpty=function(e,t){var a=kha_graphics2_truetype_StbTruetype.stbtt__GetGlyfOffset(e,t);if(a<0)return!0;var r=e.data,i=r.readU8(a),s=r.readU8(a+1)|i<<8;return 0==(0!=(32768&s)?s-65536:s)},kha_graphics2_truetype_StbTruetype.stbtt__close_shape=function(e,t,a,r,i,s,n,_,o,h){return r?(a&&kha_graphics2_truetype_StbTruetype.stbtt_setvertex(e[t++],3,o+n>>1,h+_>>1,o,h),kha_graphics2_truetype_StbTruetype.stbtt_setvertex(e[t++],3,i,s,n,_)):a?kha_graphics2_truetype_StbTruetype.stbtt_setvertex(e[t++],3,i,s,o,h):kha_graphics2_truetype_StbTruetype.stbtt_setvertex(e[t++],2,i,s,0,0),t},kha_graphics2_truetype_StbTruetype.copyVertices=function(e,t,a,r){for(var i=0,s=r;i0){var l,c,d,u,p,f,g,m,v,k,b,y,S,x=0,B=0,w=0,I=0,T=!1,C=!1,M=0;r=i.sub(_+10,i.get_length()-(_+10));var A=_+10+2*a,R=i.readU8(A);c=i.readU8(A+1)|R<<8,S=i.sub(_+10+2*a+2+c,i.get_length()-(_+10+2*a+2+c));var V=2*a-2,D=r.readU8(V);if(d=(u=1+(r.readU8(V+1)|D<<8))+2*a,null==(s=new Array(d)))return null;for(var P=0,F=s.length;P>1,k=f+s[I+Y+1].y>>1):(v=s[I+Y+1].x,k=s[I+Y+1].y,++Y)):(v=p,k=f),kha_graphics2_truetype_StbTruetype.stbtt_setvertex(s[n++],1,v,k,0,0),T=!1;var X=2*B,J=r.readU8(X);w=1+(r.readU8(X+1)|J<<8),++B}else 0==(1&x)?(T&&kha_graphics2_truetype_StbTruetype.stbtt_setvertex(s[n++],3,g+p>>1,m+f>>1,g,m),g=p,m=f,T=!0):(T?kha_graphics2_truetype_StbTruetype.stbtt_setvertex(s[n++],3,p,f,g,m):kha_graphics2_truetype_StbTruetype.stbtt_setvertex(s[n++],2,p,f,0,0),T=!1);++Y}n=kha_graphics2_truetype_StbTruetype.stbtt__close_shape(s,n,T,C,v,k,b,y,g,m)}else if(-1==a){var ee=1,te=i.sub(_+10,i.get_length()-(_+10)),ae=0;for(n=0,s=null;0!=ee;){var re,ie,se,ne,_e=0,oe=null,he=null,le=1,ce=0,de=0,ue=1,pe=0,fe=0,ge=te.readU8(ae),me=te.readU8(ae+1)|ge<<8;re=0!=(32768&me)?me-65536:me,ae+=2;var ve=te.readU8(ae),ke=te.readU8(ae+1)|ve<<8;if(ie=0!=(32768&ke)?ke-65536:ke,ae+=2,0==(2&re))throw new js__$Boot_HaxeError("Error");if(0!=(1&re)){var be=te.readU8(ae),ye=te.readU8(ae+1)|be<<8;pe=0!=(32768&ye)?ye-65536:ye,ae+=2;var Se=te.readU8(ae),xe=te.readU8(ae+1)|Se<<8;fe=0!=(32768&xe)?xe-65536:xe,ae+=2}else{var Be=te.readU8(ae);pe=Be>=128?Be-256:Be,++ae;var we=te.readU8(ae);fe=we>=128?we-256:we,++ae}if(0!=(8&re)){var Ie=te.readU8(ae),Te=te.readU8(ae+1)|Ie<<8;le=ue=(0!=(32768&Te)?Te-65536:Te)/16384,ae+=2,ce=de=0}else if(0!=(64&re)){var Ce=te.readU8(ae),Me=te.readU8(ae+1)|Ce<<8;le=(0!=(32768&Me)?Me-65536:Me)/16384,ae+=2,ce=de=0;var Ae=te.readU8(ae),Re=te.readU8(ae+1)|Ae<<8;ue=(0!=(32768&Re)?Re-65536:Re)/16384,ae+=2}else if(0!=(128&re)){var Ve=te.readU8(ae),De=te.readU8(ae+1)|Ve<<8;le=(0!=(32768&De)?De-65536:De)/16384,ae+=2;var Pe=te.readU8(ae),Fe=te.readU8(ae+1)|Pe<<8;ce=(0!=(32768&Fe)?Fe-65536:Fe)/16384,ae+=2;var $e=te.readU8(ae),je=te.readU8(ae+1)|$e<<8;de=(0!=(32768&je)?je-65536:je)/16384,ae+=2;var Ee=te.readU8(ae),Ue=te.readU8(ae+1)|Ee<<8;ue=(0!=(32768&Ue)?Ue-65536:Ue)/16384,ae+=2}if(se=Math.sqrt(le*le+ce*ce),ne=Math.sqrt(de*de+ue*ue),oe=kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphShape(e,ie),(_e=null==oe?0:oe.length)>0){for(var Ne=0,Le=_e;Ne0&&kha_graphics2_truetype_StbTruetype.copyVertices(s,he,0,n),kha_graphics2_truetype_StbTruetype.copyVertices(oe,he,n,_e),s=he,n+=_e}ee=32&re}}else if(a<0)throw new js__$Boot_HaxeError("Error");if(null==s)return null;if(s.length>1),u=o.readU8(d),p=o.readU8(d+1),f=o.readU8(d+2);if(i=o.readU8(d+3)|f<<8|p<<16|u<<24,ri)){var g=22+6*_,m=o.readU8(g),v=o.readU8(g+1)|m<<8;return 0!=(32768&v)?v-65536:v}s=_+1}}return 0},kha_graphics2_truetype_StbTruetype.stbtt_GetCodepointKernAdvance=function(e,t,a){return 0==e.kern?0:kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphKernAdvance(e,kha_graphics2_truetype_StbTruetype.stbtt_FindGlyphIndex(e,t),kha_graphics2_truetype_StbTruetype.stbtt_FindGlyphIndex(e,a))},kha_graphics2_truetype_StbTruetype.stbtt_GetCodepointHMetrics=function(e,t){return kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphHMetrics(e,kha_graphics2_truetype_StbTruetype.stbtt_FindGlyphIndex(e,t))},kha_graphics2_truetype_StbTruetype.stbtt_GetFontVMetrics=function(e){var t=new kha_graphics2_truetype_Stbtt_$temp_$font_$v_$metrics,a=e.data,r=e.hhea+4,i=a.readU8(r),s=a.readU8(r+1)|i<<8;t.ascent=0!=(32768&s)?s-65536:s;var n=e.data,_=e.hhea+6,o=n.readU8(_),h=n.readU8(_+1)|o<<8;t.descent=0!=(32768&h)?h-65536:h;var l=e.data,c=e.hhea+8,d=l.readU8(c),u=l.readU8(c+1)|d<<8;return t.lineGap=0!=(32768&u)?u-65536:u,t},kha_graphics2_truetype_StbTruetype.stbtt_GetFontBoundingBox=function(e){var t=new kha_graphics2_truetype_Stbtt_$temp_$rect,a=e.data,r=e.head+36,i=a.readU8(r),s=a.readU8(r+1)|i<<8;t.x0=0!=(32768&s)?s-65536:s;var n=e.data,_=e.head+38,o=n.readU8(_),h=n.readU8(_+1)|o<<8;t.y0=0!=(32768&h)?h-65536:h;var l=e.data,c=e.head+40,d=l.readU8(c),u=l.readU8(c+1)|d<<8;t.x1=0!=(32768&u)?u-65536:u;var p=e.data,f=e.head+42,g=p.readU8(f),m=p.readU8(f+1)|g<<8;return t.y1=0!=(32768&m)?m-65536:m,t},kha_graphics2_truetype_StbTruetype.stbtt_ScaleForPixelHeight=function(e,t){var a=e.data,r=e.hhea+4,i=a.readU8(r),s=a.readU8(r+1)|i<<8,n=e.data,_=e.hhea+6,o=n.readU8(_),h=n.readU8(_+1)|o<<8;return t/((0!=(32768&s)?s-65536:s)-(0!=(32768&h)?h-65536:h))},kha_graphics2_truetype_StbTruetype.stbtt_ScaleForMappingEmToPixels=function(e,t){var a=e.data,r=e.head+18,i=a.readU8(r);return t/(a.readU8(r+1)|i<<8)},kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphBitmapBoxSubpixel=function(e,t,a,r,i,s){var n=new kha_graphics2_truetype_Stbtt_$temp_$rect;if(kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphBox(e,t,n)){var _=n.x0,o=n.x1,h=n.y0,l=n.y1;n.x0=Math.floor(_*a+i),n.y0=Math.floor(-l*r+s),n.x1=Math.ceil(o*a+i),n.y1=Math.ceil(-h*r+s)}else n.x0=0,n.y0=0,n.x1=0,n.y1=0;return n},kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphBitmapBox=function(e,t,a,r){return kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphBitmapBoxSubpixel(e,t,a,r,0,0)},kha_graphics2_truetype_StbTruetype.stbtt_GetCodepointBitmapBoxSubpixel=function(e,t,a,r,i,s){return kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphBitmapBoxSubpixel(e,kha_graphics2_truetype_StbTruetype.stbtt_FindGlyphIndex(e,t),a,r,i,s)},kha_graphics2_truetype_StbTruetype.stbtt_GetCodepointBitmapBox=function(e,t,a,r){return kha_graphics2_truetype_StbTruetype.stbtt_GetCodepointBitmapBoxSubpixel(e,t,a,r,0,0)},kha_graphics2_truetype_StbTruetype.stbtt__new_active=function(e,t,a,r){var i=new kha_graphics2_truetype_Stbtt_$_$active_$edge,s=(e[t].x1-e[t].x0)/(e[t].y1-e[t].y0);return null==i?i:(i.fdx=s,i.fdy=0!=s?1/s:0,i.fx=e[t].x0+s*(r-e[t].y0),i.fx-=a,i.direction=e[t].invert?1:-1,i.sy=e[t].y0,i.ey=e[t].y1,i.next=null,i)},kha_graphics2_truetype_StbTruetype.stbtt__handle_clipped_edge=function(e,t,a,r,i,s,n,_){if(s!=_){if(!(s<_))throw new js__$Boot_HaxeError("Error");if(!(r.sy<=r.ey))throw new js__$Boot_HaxeError("Error");if(!(s>r.ey||_r.ey&&(n+=(n-i)*(r.ey-_)/(_-s),_=r.ey),i==a){if(!(n<=a+1))throw new js__$Boot_HaxeError("Error")}else if(i==a+1){if(!(n>=a))throw new js__$Boot_HaxeError("Error")}else if(i<=a){if(!(n<=a))throw new js__$Boot_HaxeError("Error")}else if(i>=a+1){if(!(n>=a+1))throw new js__$Boot_HaxeError("Error")}else if(!(n>=a&&n<=a+1))throw new js__$Boot_HaxeError("Error");if(i<=a&&n<=a){var o=t+a,h=e;h[o]=h[o]+r.direction*(_-s)}else if(!(i>=a+1&&n>=a+1)){if(!(i>=a&&i<=a+1&&n>=a&&n<=a+1))throw new js__$Boot_HaxeError("Error");var l=t+a,c=e;c[l]=c[l]+r.direction*(_-s)*(1-(i-a+(n-a))/2)}}}},kha_graphics2_truetype_StbTruetype.stbtt__fill_active_edges_new=function(e,t,a,r,i,s){for(var n=s+1;null!=i;){if(!(i.ey>=s))throw new js__$Boot_HaxeError("Error");if(0==i.fdx){var _=i.fx;_=0?(kha_graphics2_truetype_StbTruetype.stbtt__handle_clipped_edge(e,0,0|_,i,_,s,_,n),kha_graphics2_truetype_StbTruetype.stbtt__handle_clipped_edge(t,a-1,_+1|0,i,_,s,_,n)):kha_graphics2_truetype_StbTruetype.stbtt__handle_clipped_edge(t,a-1,0,i,_,s,_,n))}else{var o,h,l,c,d=i.fx,u=i.fdx,p=d+u,f=i.fdy;if(!(i.sy<=n&&i.ey>=s))throw new js__$Boot_HaxeError("Error");if(i.sy>s?(o=d+u*(i.sy-s),l=i.sy):(o=d,l=s),i.ey=0&&h>=0&&o=0&&mh){var C;C=l=n-(l-s),l=c=n-(c-s),c=C,C=h,h=o,o=C,u=-u,f=-f,C=d,d=p,p=C}x=0|h,B=((S=0|o)+1-d)*f+s,T=(I=i.direction)*(B-l);var M=S,A=e;A[M]=A[M]+T*(1-(o-S+(S+1-S))/2),w=I*f;for(var R=S+1,V=x;RW?(kha_graphics2_truetype_StbTruetype.stbtt__handle_clipped_edge(e,0,O,i,d,H,G,L),kha_graphics2_truetype_StbTruetype.stbtt__handle_clipped_edge(e,0,O,i,G,L,W,z),kha_graphics2_truetype_StbTruetype.stbtt__handle_clipped_edge(e,0,O,i,W,z,K,Z)):KW?(kha_graphics2_truetype_StbTruetype.stbtt__handle_clipped_edge(e,0,O,i,d,H,W,z),kha_graphics2_truetype_StbTruetype.stbtt__handle_clipped_edge(e,0,O,i,W,z,G,L),kha_graphics2_truetype_StbTruetype.stbtt__handle_clipped_edge(e,0,O,i,G,L,K,Z)):dG?(kha_graphics2_truetype_StbTruetype.stbtt__handle_clipped_edge(e,0,O,i,d,H,G,L),kha_graphics2_truetype_StbTruetype.stbtt__handle_clipped_edge(e,0,O,i,G,L,K,Z)):KG?(kha_graphics2_truetype_StbTruetype.stbtt__handle_clipped_edge(e,0,O,i,d,H,G,L),kha_graphics2_truetype_StbTruetype.stbtt__handle_clipped_edge(e,0,O,i,G,L,K,Z)):dW?(kha_graphics2_truetype_StbTruetype.stbtt__handle_clipped_edge(e,0,O,i,d,H,W,z),kha_graphics2_truetype_StbTruetype.stbtt__handle_clipped_edge(e,0,O,i,W,z,K,Z)):KW?(kha_graphics2_truetype_StbTruetype.stbtt__handle_clipped_edge(e,0,O,i,d,H,W,z),kha_graphics2_truetype_StbTruetype.stbtt__handle_clipped_edge(e,0,O,i,W,z,K,Z)):kha_graphics2_truetype_StbTruetype.stbtt__handle_clipped_edge(e,0,O,i,d,H,K,Z)}}i=i.next}},kha_graphics2_truetype_StbTruetype.stbtt__rasterize_sorted_edges=function(e,t,a,r,i,s){var n,_,o,h=null,l=0,c=0,d=0;if(e.w>64){var u=2*e.w+1;_=new Array(u)}else _=new Array(129);for(o=_,c=e.w,n=s,t[d+a].y0=s+e.h+1;l=g))throw new js__$Boot_HaxeError("Error");x.next=h,h=x}++d}null!=h&&kha_graphics2_truetype_StbTruetype.stbtt__fill_active_edges_new(_,o,c+1,e.w,h,g);for(var B=0,w=0,I=e.w;w255&&(C=255),e.pixels.writeU8(e.pixels_offset+l*e.stride+M,C)}for(f=null,p=h;null!=p;){var A=p;A.fx+=A.fdx,f=p,p=p.next}++n,++l}},kha_graphics2_truetype_StbTruetype.STBTT__COMPARE=function(e,t){return e.y00;){var o=e[a-1];if(!kha_graphics2_truetype_StbTruetype.STBTT__COMPARE(_,o))break;e[a]=e[a-1],--a}s!=a&&(e[a]=n)}},kha_graphics2_truetype_StbTruetype.stbtt__sort_edges_quicksort=function(e,t,a){for(;a>12;){var r,i,s,n,_,o;if(n=a>>1,i=kha_graphics2_truetype_StbTruetype.STBTT__COMPARE(e[t],e[t+n]),s=kha_graphics2_truetype_StbTruetype.STBTT__COMPARE(e[t+n],e[t+a-1]),i!=s){var h;r=e[t+(h=kha_graphics2_truetype_StbTruetype.STBTT__COMPARE(e[t],e[t+a-1])==s?0:a-1)],e[t+h]=e[t+n],e[t+n]=r}for(r=e[t],e[t]=e[t+n],e[t+n]=r,_=1,o=a-1;;){for(;kha_graphics2_truetype_StbTruetype.STBTT__COMPARE(e[t+_],e[t]);)++_;for(;kha_graphics2_truetype_StbTruetype.STBTT__COMPARE(e[t],e[t+o]);)--o;if(_>=o)break;r=e[t+_],e[t+_]=e[t+o],e[t+o]=r,++_,--o}ox[B+T].y:x[B+u].y16?1:(d*d+u*u>o?(kha_graphics2_truetype_StbTruetype.stbtt__tesselate_curve(e,t,a,r,(a+i)/2,(r+s)/2,l,c,o,h+1),kha_graphics2_truetype_StbTruetype.stbtt__tesselate_curve(e,t,l,c,(i+n)/2,(s+_)/2,n,_,o,h+1)):(kha_graphics2_truetype_StbTruetype.stbtt__add_point(e,t.value,n,_),t.value+=1),1)},kha_graphics2_truetype_StbTruetype.stbtt_FlattenCurves=function(e,t,a,r,i){for(var s=null,n=0,_=a*a,o=0,h=0,l=0,c=t;l=0&&(r.value[o]=n-h),++o,h=n,p=e[b].x,f=e[b].y,kha_graphics2_truetype_StbTruetype.stbtt__add_point(s,n++,p,f);break;case 2:p=e[b].x,f=e[b].y,kha_graphics2_truetype_StbTruetype.stbtt__add_point(s,n++,p,f);break;case 3:var y={value:n};kha_graphics2_truetype_StbTruetype.stbtt__tesselate_curve(s,y,p,f,e[b].cx,e[b].cy,e[b].x,e[b].y,_,0),n=y.value,p=e[b].x,f=e[b].y}}r.value[o]=n-h}return s},kha_graphics2_truetype_StbTruetype.stbtt_Rasterize=function(e,t,a,r,i,s,n,_,o,h,l){var c=i>s?s:i,d=0,u=null,p={value:d},f=new kha_graphics2_truetype_VectorOfIntPointer,g=kha_graphics2_truetype_StbTruetype.stbtt_FlattenCurves(a,r,t/c,f,p);d=p.value,u=f.value,null!=g&&kha_graphics2_truetype_StbTruetype.stbtt__rasterize(e,g,u,d,i,s,n,_,o,h,l)},kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphBitmapSubpixel=function(e,t,a,r,i,s,n){var _,o,h,l,c=new kha_graphics2_truetype_Stbtt_$_$bitmap,d=kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphShape(e,s),u=d.length;if(0==t&&(t=a),0==a){if(0==t)return null;a=t}var p=kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphBitmapBoxSubpixel(e,s,t,a,r,i);return _=p.x0,o=p.y0,h=p.x1,l=p.y1,c.w=h-_,c.h=l-o,c.pixels=null,n.width=c.w,n.height=c.h,n.xoff=_,n.yoff=o,0!=c.w&&0!=c.h&&(c.pixels=kha_internal_BytesBlob.alloc(c.w*c.h),null!=c.pixels&&(c.stride=c.w,kha_graphics2_truetype_StbTruetype.stbtt_Rasterize(c,.35,d,u,t,a,r,i,_,o,!0))),c.pixels},kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphBitmap=function(e,t,a,r,i){return kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphBitmapSubpixel(e,t,a,0,0,r,i)},kha_graphics2_truetype_StbTruetype.stbtt_MakeGlyphBitmapSubpixel=function(e,t,a,r,i,s,n,_,o,h,l){var c=0,d=0,u=kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphShape(e,l),p=null==u?0:u.length,f=new kha_graphics2_truetype_Stbtt_$_$bitmap,g=kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphBitmapBoxSubpixel(e,l,n,_,o,h);c=g.x0,d=g.y0,f.pixels=t,f.pixels_offset=a,f.w=r,f.h=i,f.stride=s,0!=f.w&&0!=f.h&&kha_graphics2_truetype_StbTruetype.stbtt_Rasterize(f,.35,u,p,n,_,o,h,c,d,!0)},kha_graphics2_truetype_StbTruetype.stbtt_MakeGlyphBitmap=function(e,t,a,r,i,s,n,_,o){kha_graphics2_truetype_StbTruetype.stbtt_MakeGlyphBitmapSubpixel(e,t,a,r,i,s,n,_,0,0,o)},kha_graphics2_truetype_StbTruetype.stbtt_GetCodepointBitmapSubpixel=function(e,t,a,r,i,s,n){return kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphBitmapSubpixel(e,t,a,r,i,kha_graphics2_truetype_StbTruetype.stbtt_FindGlyphIndex(e,s),n)},kha_graphics2_truetype_StbTruetype.stbtt_MakeCodepointBitmapSubpixel=function(e,t,a,r,i,s,n,_,o,h,l){kha_graphics2_truetype_StbTruetype.stbtt_MakeGlyphBitmapSubpixel(e,t,a,r,i,s,n,_,o,h,kha_graphics2_truetype_StbTruetype.stbtt_FindGlyphIndex(e,l))},kha_graphics2_truetype_StbTruetype.stbtt_GetCodepointBitmap=function(e,t,a,r,i){return kha_graphics2_truetype_StbTruetype.stbtt_GetCodepointBitmapSubpixel(e,t,a,0,0,r,i)},kha_graphics2_truetype_StbTruetype.stbtt_MakeCodepointBitmap=function(e,t,a,r,i,s,n,_,o){kha_graphics2_truetype_StbTruetype.stbtt_MakeCodepointBitmapSubpixel(e,t,a,r,i,s,n,_,0,0,o)},kha_graphics2_truetype_StbTruetype.stbtt_BakeFontBitmap=function(e,t,a,r,i,s,n,_){var o,h,l,c,d=new kha_graphics2_truetype_Stbtt_$fontinfo;if(!kha_graphics2_truetype_StbTruetype.stbtt_InitFont(d,e,t))return-1;for(var u=0,p=i*s;u=i&&(l=c,h=1),l+w+1>=s)return-g;if(h+B>=i)throw new js__$Boot_HaxeError("Error");if(l+w>=s)throw new js__$Boot_HaxeError("Error");kha_graphics2_truetype_StbTruetype.stbtt_MakeGlyphBitmap(d,r,h+l*i,B,w,i,o,o,I),_[g].x0=h,_[g].y0=l,_[g].x1=h+B,_[g].y1=l+w,_[g].xadvance=o*k,_[g].xoff=b,_[g].yoff=y,h=h+B+1,l+w+1>c&&(c=l+w+1),++g}return c},kha_graphics2_truetype_StbTruetype.stbtt_GetBakedQuad=function(e,t,a,r,i,s,n,_){var o=_?0:-.5,h=1/t,l=1/a,c=e[r],d=Math.floor(i.value+c.xoff+.5),u=Math.floor(s.value+c.yoff+.5);n.x0=d+o,n.y0=u+o,n.x1=d+c.x1-c.x0+o,n.y1=u+c.y1-c.y0+o,n.s0=c.x0*h,n.t0=c.y0*l,n.s1=c.x1*h,n.t1=c.y1*l,i.value+=c.xadvance};var kha_graphics4_BlendingFactor=$hxClasses["kha.graphics4.BlendingFactor"]={__ename__:!0,__constructs__:["Undefined","BlendOne","BlendZero","SourceAlpha","DestinationAlpha","InverseSourceAlpha","InverseDestinationAlpha","SourceColor","DestinationColor","InverseSourceColor","InverseDestinationColor"]};kha_graphics4_BlendingFactor.Undefined=["Undefined",0],kha_graphics4_BlendingFactor.Undefined.toString=$estr,kha_graphics4_BlendingFactor.Undefined.__enum__=kha_graphics4_BlendingFactor,kha_graphics4_BlendingFactor.BlendOne=["BlendOne",1],kha_graphics4_BlendingFactor.BlendOne.toString=$estr,kha_graphics4_BlendingFactor.BlendOne.__enum__=kha_graphics4_BlendingFactor,kha_graphics4_BlendingFactor.BlendZero=["BlendZero",2],kha_graphics4_BlendingFactor.BlendZero.toString=$estr,kha_graphics4_BlendingFactor.BlendZero.__enum__=kha_graphics4_BlendingFactor,kha_graphics4_BlendingFactor.SourceAlpha=["SourceAlpha",3],kha_graphics4_BlendingFactor.SourceAlpha.toString=$estr,kha_graphics4_BlendingFactor.SourceAlpha.__enum__=kha_graphics4_BlendingFactor,kha_graphics4_BlendingFactor.DestinationAlpha=["DestinationAlpha",4],kha_graphics4_BlendingFactor.DestinationAlpha.toString=$estr,kha_graphics4_BlendingFactor.DestinationAlpha.__enum__=kha_graphics4_BlendingFactor,kha_graphics4_BlendingFactor.InverseSourceAlpha=["InverseSourceAlpha",5],kha_graphics4_BlendingFactor.InverseSourceAlpha.toString=$estr,kha_graphics4_BlendingFactor.InverseSourceAlpha.__enum__=kha_graphics4_BlendingFactor,kha_graphics4_BlendingFactor.InverseDestinationAlpha=["InverseDestinationAlpha",6],kha_graphics4_BlendingFactor.InverseDestinationAlpha.toString=$estr,kha_graphics4_BlendingFactor.InverseDestinationAlpha.__enum__=kha_graphics4_BlendingFactor,kha_graphics4_BlendingFactor.SourceColor=["SourceColor",7],kha_graphics4_BlendingFactor.SourceColor.toString=$estr,kha_graphics4_BlendingFactor.SourceColor.__enum__=kha_graphics4_BlendingFactor,kha_graphics4_BlendingFactor.DestinationColor=["DestinationColor",8],kha_graphics4_BlendingFactor.DestinationColor.toString=$estr,kha_graphics4_BlendingFactor.DestinationColor.__enum__=kha_graphics4_BlendingFactor,kha_graphics4_BlendingFactor.InverseSourceColor=["InverseSourceColor",9],kha_graphics4_BlendingFactor.InverseSourceColor.toString=$estr,kha_graphics4_BlendingFactor.InverseSourceColor.__enum__=kha_graphics4_BlendingFactor,kha_graphics4_BlendingFactor.InverseDestinationColor=["InverseDestinationColor",10],kha_graphics4_BlendingFactor.InverseDestinationColor.toString=$estr,kha_graphics4_BlendingFactor.InverseDestinationColor.__enum__=kha_graphics4_BlendingFactor;var kha_graphics4_BlendingOperation=$hxClasses["kha.graphics4.BlendingOperation"]={__ename__:!0,__constructs__:["Add","Subtract","ReverseSubtract","Min","Max"]};kha_graphics4_BlendingOperation.Add=["Add",0],kha_graphics4_BlendingOperation.Add.toString=$estr,kha_graphics4_BlendingOperation.Add.__enum__=kha_graphics4_BlendingOperation,kha_graphics4_BlendingOperation.Subtract=["Subtract",1],kha_graphics4_BlendingOperation.Subtract.toString=$estr,kha_graphics4_BlendingOperation.Subtract.__enum__=kha_graphics4_BlendingOperation,kha_graphics4_BlendingOperation.ReverseSubtract=["ReverseSubtract",2],kha_graphics4_BlendingOperation.ReverseSubtract.toString=$estr,kha_graphics4_BlendingOperation.ReverseSubtract.__enum__=kha_graphics4_BlendingOperation,kha_graphics4_BlendingOperation.Min=["Min",3],kha_graphics4_BlendingOperation.Min.toString=$estr,kha_graphics4_BlendingOperation.Min.__enum__=kha_graphics4_BlendingOperation,kha_graphics4_BlendingOperation.Max=["Max",4],kha_graphics4_BlendingOperation.Max.toString=$estr,kha_graphics4_BlendingOperation.Max.__enum__=kha_graphics4_BlendingOperation;var kha_graphics4_CompareMode=$hxClasses["kha.graphics4.CompareMode"]={__ename__:!0,__constructs__:["Always","Never","Equal","NotEqual","Less","LessEqual","Greater","GreaterEqual"]};kha_graphics4_CompareMode.Always=["Always",0],kha_graphics4_CompareMode.Always.toString=$estr,kha_graphics4_CompareMode.Always.__enum__=kha_graphics4_CompareMode,kha_graphics4_CompareMode.Never=["Never",1],kha_graphics4_CompareMode.Never.toString=$estr,kha_graphics4_CompareMode.Never.__enum__=kha_graphics4_CompareMode,kha_graphics4_CompareMode.Equal=["Equal",2],kha_graphics4_CompareMode.Equal.toString=$estr,kha_graphics4_CompareMode.Equal.__enum__=kha_graphics4_CompareMode,kha_graphics4_CompareMode.NotEqual=["NotEqual",3],kha_graphics4_CompareMode.NotEqual.toString=$estr,kha_graphics4_CompareMode.NotEqual.__enum__=kha_graphics4_CompareMode,kha_graphics4_CompareMode.Less=["Less",4],kha_graphics4_CompareMode.Less.toString=$estr,kha_graphics4_CompareMode.Less.__enum__=kha_graphics4_CompareMode,kha_graphics4_CompareMode.LessEqual=["LessEqual",5],kha_graphics4_CompareMode.LessEqual.toString=$estr,kha_graphics4_CompareMode.LessEqual.__enum__=kha_graphics4_CompareMode,kha_graphics4_CompareMode.Greater=["Greater",6],kha_graphics4_CompareMode.Greater.toString=$estr,kha_graphics4_CompareMode.Greater.__enum__=kha_graphics4_CompareMode,kha_graphics4_CompareMode.GreaterEqual=["GreaterEqual",7],kha_graphics4_CompareMode.GreaterEqual.toString=$estr,kha_graphics4_CompareMode.GreaterEqual.__enum__=kha_graphics4_CompareMode;var kha_graphics4_ConstantLocation=$hxClasses["kha.graphics4.ConstantLocation"]=function(){};kha_graphics4_ConstantLocation.__name__=!0;var kha_graphics4_CubeMap=$hxClasses["kha.graphics4.CubeMap"]=function(e){this.texture_=e};kha_graphics4_CubeMap.__name__=!0,kha_graphics4_CubeMap.__interfaces__=[kha_Resource,kha_Canvas],kha_graphics4_CubeMap.getRenderTargetFormat=function(e){switch(e[1]){case 0:return 0;case 2:return 3;case 3:return 4;case 4:return 1;default:return 0}},kha_graphics4_CubeMap.getDepthBufferBits=function(e){switch(e){case 0:return-1;case 1:case 2:case 3:return 24;case 4:return 32;case 5:return 16}},kha_graphics4_CubeMap.getStencilBufferBits=function(e){switch(e){case 0:case 1:return-1;case 2:case 3:case 4:return 8;case 5:return 0}},kha_graphics4_CubeMap.getTextureFormat=function(e){switch(e[1]){case 0:return 0;case 2:return 3;case 4:return 4;case 5:return 5;default:return 1}},kha_graphics4_CubeMap.createRenderTarget=function(e,t,a,r){null==r&&(r=0),null==a&&(a=0),null==t&&(t=kha_graphics4_TextureFormat.RGBA32);var i=new kha_graphics4_CubeMap(null);return i.format=t,i.renderTarget_=Krom.createRenderTargetCubeMap(e,kha_graphics4_CubeMap.getDepthBufferBits(a),kha_graphics4_CubeMap.getRenderTargetFormat(t),kha_graphics4_CubeMap.getStencilBufferBits(a),r),i},kha_graphics4_CubeMap.prototype={unload:function(){},lock:function(e){return null==e&&(e=0),null},unlock:function(){},get_width:function(){return null==this.texture_?this.renderTarget_.width:this.texture_.width},get_height:function(){return null==this.texture_?this.renderTarget_.height:this.texture_.height},get_g1:function(){return null},get_g2:function(){return null},get_g4:function(){return null==this.graphics4&&(this.graphics4=new kha_krom_Graphics(this)),this.graphics4},__class__:kha_graphics4_CubeMap,__properties__:{get_g4:"get_g4",get_g2:"get_g2",get_g1:"get_g1",get_height:"get_height",get_width:"get_width"}};var kha_graphics4_CullMode=$hxClasses["kha.graphics4.CullMode"]={__ename__:!0,__constructs__:["Clockwise","CounterClockwise","None"]};kha_graphics4_CullMode.Clockwise=["Clockwise",0],kha_graphics4_CullMode.Clockwise.toString=$estr,kha_graphics4_CullMode.Clockwise.__enum__=kha_graphics4_CullMode,kha_graphics4_CullMode.CounterClockwise=["CounterClockwise",1],kha_graphics4_CullMode.CounterClockwise.toString=$estr,kha_graphics4_CullMode.CounterClockwise.__enum__=kha_graphics4_CullMode,kha_graphics4_CullMode.None=["None",2],kha_graphics4_CullMode.None.toString=$estr,kha_graphics4_CullMode.None.__enum__=kha_graphics4_CullMode;var kha_graphics4_FragmentShader=$hxClasses["kha.graphics4.FragmentShader"]=function(e,t){null!=e&&(this.shader=Krom.createFragmentShader(e[0].bytes.b.bufferValue,t[0]))};kha_graphics4_FragmentShader.__name__=!0,kha_graphics4_FragmentShader.fromSource=function(e){var t=new kha_graphics4_FragmentShader(null,null);return t.shader=Krom.createFragmentShaderFromSource(e),t},kha_graphics4_FragmentShader.prototype={delete:function(){Krom.deleteShader(this.shader),this.shader=null},__class__:kha_graphics4_FragmentShader};var kha_graphics4_GeometryShader=$hxClasses["kha.graphics4.GeometryShader"]=function(e,t){this.shader=Krom.createGeometryShader(e[0].bytes.b.bufferValue,t[0])};kha_graphics4_GeometryShader.__name__=!0,kha_graphics4_GeometryShader.prototype={delete:function(){Krom.deleteShader(this.shader),this.shader=null},__class__:kha_graphics4_GeometryShader};var kha_graphics4_Graphics=$hxClasses["kha.graphics4.Graphics"]=function(){};kha_graphics4_Graphics.__name__=!0,kha_graphics4_Graphics.prototype={__class__:kha_graphics4_Graphics};var kha_graphics4_ImageShaderPainter=$hxClasses["kha.graphics4.ImageShaderPainter"]=function(e){this.destinationBlend=kha_graphics4_BlendingFactor.Undefined,this.sourceBlend=kha_graphics4_BlendingFactor.Undefined,this.myPipeline=null,this.bilinearMipmaps=!1,this.bilinear=!1,this.g=e,this.bufferIndex=0,kha_graphics4_ImageShaderPainter.initShaders(),this.initBuffers(),this.projectionLocation=kha_graphics4_ImageShaderPainter.shaderPipeline.getConstantLocation("projectionMatrix"),this.textureLocation=kha_graphics4_ImageShaderPainter.shaderPipeline.getTextureUnit("tex")};kha_graphics4_ImageShaderPainter.__name__=!0,kha_graphics4_ImageShaderPainter.initShaders=function(){null==kha_graphics4_ImageShaderPainter.shaderPipeline&&(kha_graphics4_ImageShaderPainter.shaderPipeline=new kha_graphics4_PipelineState,kha_graphics4_ImageShaderPainter.shaderPipeline.fragmentShader=kha_Shaders.painter_image_frag,kha_graphics4_ImageShaderPainter.shaderPipeline.vertexShader=kha_Shaders.painter_image_vert,kha_graphics4_ImageShaderPainter.structure=new kha_graphics4_VertexStructure,kha_graphics4_ImageShaderPainter.structure.add("vertexPosition",kha_graphics4_VertexData.Float3),kha_graphics4_ImageShaderPainter.structure.add("texPosition",kha_graphics4_VertexData.Float2),kha_graphics4_ImageShaderPainter.structure.add("vertexColor",kha_graphics4_VertexData.Float4),kha_graphics4_ImageShaderPainter.shaderPipeline.inputLayout=[kha_graphics4_ImageShaderPainter.structure],kha_graphics4_ImageShaderPainter.shaderPipeline.blendSource=kha_graphics4_BlendingFactor.BlendOne,kha_graphics4_ImageShaderPainter.shaderPipeline.blendDestination=kha_graphics4_BlendingFactor.InverseSourceAlpha,kha_graphics4_ImageShaderPainter.shaderPipeline.alphaBlendSource=kha_graphics4_BlendingFactor.SourceAlpha,kha_graphics4_ImageShaderPainter.shaderPipeline.alphaBlendDestination=kha_graphics4_BlendingFactor.InverseSourceAlpha,kha_graphics4_ImageShaderPainter.shaderPipeline.compile())},kha_graphics4_ImageShaderPainter.prototype={get_pipeline:function(){return this.myPipeline},set_pipeline:function(e){return null==e?(this.projectionLocation=kha_graphics4_ImageShaderPainter.shaderPipeline.getConstantLocation("projectionMatrix"),this.textureLocation=kha_graphics4_ImageShaderPainter.shaderPipeline.getTextureUnit("tex")):(this.projectionLocation=e.getConstantLocation("projectionMatrix"),this.textureLocation=e.getTextureUnit("tex")),this.myPipeline=e},setProjection:function(e){this.projectionMatrix=e},initBuffers:function(){this.rectVertexBuffer=new kha_graphics4_VertexBuffer(4*kha_graphics4_ImageShaderPainter.bufferSize,kha_graphics4_ImageShaderPainter.structure,kha_graphics4_Usage.DynamicUsage),this.rectVertices=this.rectVertexBuffer.lock(),this.indexBuffer=new kha_graphics4_IndexBuffer(3*kha_graphics4_ImageShaderPainter.bufferSize*2,kha_graphics4_Usage.StaticUsage);for(var e=this.indexBuffer.lock(),t=0,a=kha_graphics4_ImageShaderPainter.bufferSize;t=kha_graphics4_ImageShaderPainter.bufferSize||null!=this.lastTexture&&c!=this.lastTexture)&&this.drawBuffer();var d=.00392156862745098*((16711680&l)>>>16),u=.00392156862745098*((65280&l)>>>8),p=.00392156862745098*(255&l),f=.00392156862745098*(l>>>24)*h,g=this.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;this.rectVertices[g+5]=d,this.rectVertices[g+6]=u,this.rectVertices[g+7]=p,this.rectVertices[g+8]=f,this.rectVertices[g+14]=d,this.rectVertices[g+15]=u,this.rectVertices[g+16]=p,this.rectVertices[g+17]=f,this.rectVertices[g+23]=d,this.rectVertices[g+24]=u,this.rectVertices[g+25]=p,this.rectVertices[g+26]=f,this.rectVertices[g+32]=d,this.rectVertices[g+33]=u,this.rectVertices[g+34]=p,this.rectVertices[g+35]=f;var m=c.get_width()/c.get_realWidth(),v=c.get_height()/c.get_realHeight(),k=this.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;this.rectVertices[k+3]=0,this.rectVertices[k+4]=v,this.rectVertices[k+12]=0,this.rectVertices[k+13]=0,this.rectVertices[k+21]=m,this.rectVertices[k+22]=0,this.rectVertices[k+30]=m,this.rectVertices[k+31]=v;var b=this.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;this.rectVertices[b]=t,this.rectVertices[b+1]=a,this.rectVertices[b+2]=-5,this.rectVertices[b+9]=r,this.rectVertices[b+10]=i,this.rectVertices[b+11]=-5,this.rectVertices[b+18]=s,this.rectVertices[b+19]=n,this.rectVertices[b+20]=-5,this.rectVertices[b+27]=_,this.rectVertices[b+28]=o,this.rectVertices[b+29]=-5,++this.bufferIndex,this.lastTexture=c},drawImage2:function(e,t,a,r,i,s,n,_,o,h,l,c,d,u,p){var f=e;(this.bufferIndex+1>=kha_graphics4_ImageShaderPainter.bufferSize||null!=this.lastTexture&&f!=this.lastTexture)&&this.drawBuffer();var g=t/f.get_realWidth(),m=a/f.get_realHeight(),v=(t+r)/f.get_realWidth(),k=(a+i)/f.get_realHeight(),b=this.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;this.rectVertices[b+3]=g,this.rectVertices[b+4]=k,this.rectVertices[b+12]=g,this.rectVertices[b+13]=m,this.rectVertices[b+21]=v,this.rectVertices[b+22]=m,this.rectVertices[b+30]=v,this.rectVertices[b+31]=k;var y=.00392156862745098*((16711680&p)>>>16),S=.00392156862745098*((65280&p)>>>8),x=.00392156862745098*(255&p),B=.00392156862745098*(p>>>24)*u,w=this.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;this.rectVertices[w+5]=y,this.rectVertices[w+6]=S,this.rectVertices[w+7]=x,this.rectVertices[w+8]=B,this.rectVertices[w+14]=y,this.rectVertices[w+15]=S,this.rectVertices[w+16]=x,this.rectVertices[w+17]=B,this.rectVertices[w+23]=y,this.rectVertices[w+24]=S,this.rectVertices[w+25]=x,this.rectVertices[w+26]=B,this.rectVertices[w+32]=y,this.rectVertices[w+33]=S,this.rectVertices[w+34]=x,this.rectVertices[w+35]=B;var I=this.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;this.rectVertices[I]=s,this.rectVertices[I+1]=n,this.rectVertices[I+2]=-5,this.rectVertices[I+9]=_,this.rectVertices[I+10]=o,this.rectVertices[I+11]=-5,this.rectVertices[I+18]=h,this.rectVertices[I+19]=l,this.rectVertices[I+20]=-5,this.rectVertices[I+27]=c,this.rectVertices[I+28]=d,this.rectVertices[I+29]=-5,++this.bufferIndex,this.lastTexture=f},drawImageScale:function(e,t,a,r,i,s,n,_,o,h,l){var c=e;(this.bufferIndex+1>=kha_graphics4_ImageShaderPainter.bufferSize||null!=this.lastTexture&&c!=this.lastTexture)&&this.drawBuffer();var d=t/c.get_realWidth(),u=a/c.get_realHeight(),p=(t+r)/c.get_realWidth(),f=(a+i)/c.get_realHeight(),g=this.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;this.rectVertices[g+3]=d,this.rectVertices[g+4]=f,this.rectVertices[g+12]=d,this.rectVertices[g+13]=u,this.rectVertices[g+21]=p,this.rectVertices[g+22]=u,this.rectVertices[g+30]=p,this.rectVertices[g+31]=f;var m=.00392156862745098*((16711680&l)>>>16),v=.00392156862745098*((65280&l)>>>8),k=.00392156862745098*(255&l),b=this.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;this.rectVertices[b+5]=m,this.rectVertices[b+6]=v,this.rectVertices[b+7]=k,this.rectVertices[b+8]=h,this.rectVertices[b+14]=m,this.rectVertices[b+15]=v,this.rectVertices[b+16]=k,this.rectVertices[b+17]=h,this.rectVertices[b+23]=m,this.rectVertices[b+24]=v,this.rectVertices[b+25]=k,this.rectVertices[b+26]=h,this.rectVertices[b+32]=m,this.rectVertices[b+33]=v,this.rectVertices[b+34]=k,this.rectVertices[b+35]=h;var y=this.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;this.rectVertices[y]=s,this.rectVertices[y+1]=o,this.rectVertices[y+2]=-5,this.rectVertices[y+9]=s,this.rectVertices[y+10]=n,this.rectVertices[y+11]=-5,this.rectVertices[y+18]=_,this.rectVertices[y+19]=n,this.rectVertices[y+20]=-5,this.rectVertices[y+27]=_,this.rectVertices[y+28]=o,this.rectVertices[y+29]=-5,++this.bufferIndex,this.lastTexture=c},end:function(){this.bufferIndex>0&&this.drawBuffer(),this.lastTexture=null},__class__:kha_graphics4_ImageShaderPainter,__properties__:{set_pipeline:"set_pipeline",get_pipeline:"get_pipeline"}};var kha_graphics4_ColoredShaderPainter=$hxClasses["kha.graphics4.ColoredShaderPainter"]=function(e){this.destinationBlend=kha_graphics4_BlendingFactor.Undefined,this.sourceBlend=kha_graphics4_BlendingFactor.Undefined,this.myPipeline=null,this.g=e,this.bufferIndex=0,this.triangleBufferIndex=0,kha_graphics4_ColoredShaderPainter.initShaders(),this.initBuffers(),this.projectionLocation=kha_graphics4_ColoredShaderPainter.shaderPipeline.getConstantLocation("projectionMatrix")};kha_graphics4_ColoredShaderPainter.__name__=!0,kha_graphics4_ColoredShaderPainter.initShaders=function(){null==kha_graphics4_ColoredShaderPainter.shaderPipeline&&(kha_graphics4_ColoredShaderPainter.shaderPipeline=new kha_graphics4_PipelineState,kha_graphics4_ColoredShaderPainter.shaderPipeline.fragmentShader=kha_Shaders.painter_colored_frag,kha_graphics4_ColoredShaderPainter.shaderPipeline.vertexShader=kha_Shaders.painter_colored_vert,kha_graphics4_ColoredShaderPainter.structure=new kha_graphics4_VertexStructure,kha_graphics4_ColoredShaderPainter.structure.add("vertexPosition",kha_graphics4_VertexData.Float3),kha_graphics4_ColoredShaderPainter.structure.add("vertexColor",kha_graphics4_VertexData.Float4),kha_graphics4_ColoredShaderPainter.shaderPipeline.inputLayout=[kha_graphics4_ColoredShaderPainter.structure],kha_graphics4_ColoredShaderPainter.shaderPipeline.blendSource=kha_graphics4_BlendingFactor.SourceAlpha,kha_graphics4_ColoredShaderPainter.shaderPipeline.blendDestination=kha_graphics4_BlendingFactor.InverseSourceAlpha,kha_graphics4_ColoredShaderPainter.shaderPipeline.alphaBlendSource=kha_graphics4_BlendingFactor.SourceAlpha,kha_graphics4_ColoredShaderPainter.shaderPipeline.alphaBlendDestination=kha_graphics4_BlendingFactor.InverseSourceAlpha,kha_graphics4_ColoredShaderPainter.shaderPipeline.compile())},kha_graphics4_ColoredShaderPainter.prototype={get_pipeline:function(){return this.myPipeline},set_pipeline:function(e){return this.projectionLocation=null==e?kha_graphics4_ColoredShaderPainter.shaderPipeline.getConstantLocation("projectionMatrix"):e.getConstantLocation("projectionMatrix"),this.myPipeline=e},setProjection:function(e){this.projectionMatrix=e},initBuffers:function(){this.rectVertexBuffer=new kha_graphics4_VertexBuffer(4*kha_graphics4_ColoredShaderPainter.bufferSize,kha_graphics4_ColoredShaderPainter.structure,kha_graphics4_Usage.DynamicUsage),this.rectVertices=this.rectVertexBuffer.lock(),this.indexBuffer=new kha_graphics4_IndexBuffer(3*kha_graphics4_ColoredShaderPainter.bufferSize*2,kha_graphics4_Usage.StaticUsage);for(var e=this.indexBuffer.lock(),t=0,a=kha_graphics4_ColoredShaderPainter.bufferSize;t>>24));this.rectVertices[a+3]=.00392156862745098*((16711680&t)>>>16),this.rectVertices[a+4]=.00392156862745098*((65280&t)>>>8),this.rectVertices[a+5]=.00392156862745098*(255&t),this.rectVertices[a+6]=r,this.rectVertices[a+10]=.00392156862745098*((16711680&t)>>>16),this.rectVertices[a+11]=.00392156862745098*((65280&t)>>>8),this.rectVertices[a+12]=.00392156862745098*(255&t),this.rectVertices[a+13]=r,this.rectVertices[a+17]=.00392156862745098*((16711680&t)>>>16),this.rectVertices[a+18]=.00392156862745098*((65280&t)>>>8),this.rectVertices[a+19]=.00392156862745098*(255&t),this.rectVertices[a+20]=r,this.rectVertices[a+24]=.00392156862745098*((16711680&t)>>>16),this.rectVertices[a+25]=.00392156862745098*((65280&t)>>>8),this.rectVertices[a+26]=.00392156862745098*(255&t),this.rectVertices[a+27]=r},setTriVertices:function(e,t,a,r,i,s){var n=7*this.triangleBufferIndex*3;this.triangleVertices[n]=e,this.triangleVertices[n+1]=t,this.triangleVertices[n+2]=-5,this.triangleVertices[n+7]=a,this.triangleVertices[n+8]=r,this.triangleVertices[n+9]=-5,this.triangleVertices[n+14]=i,this.triangleVertices[n+15]=s,this.triangleVertices[n+16]=-5},setTriColors:function(e,t){var a=7*this.triangleBufferIndex*3,r=e*(.00392156862745098*(t>>>24));this.triangleVertices[a+3]=.00392156862745098*((16711680&t)>>>16),this.triangleVertices[a+4]=.00392156862745098*((65280&t)>>>8),this.triangleVertices[a+5]=.00392156862745098*(255&t),this.triangleVertices[a+6]=r,this.triangleVertices[a+10]=.00392156862745098*((16711680&t)>>>16),this.triangleVertices[a+11]=.00392156862745098*((65280&t)>>>8),this.triangleVertices[a+12]=.00392156862745098*(255&t),this.triangleVertices[a+13]=r,this.triangleVertices[a+17]=.00392156862745098*((16711680&t)>>>16),this.triangleVertices[a+18]=.00392156862745098*((65280&t)>>>8),this.triangleVertices[a+19]=.00392156862745098*(255&t),this.triangleVertices[a+20]=r},drawBuffer:function(e){e||this.triangleBufferIndex>0&&this.drawTriBuffer(!0),this.rectVertexBuffer.unlock(),this.g.setVertexBuffer(this.rectVertexBuffer),this.g.setIndexBuffer(this.indexBuffer),this.g.setPipeline(null==this.get_pipeline()?kha_graphics4_ColoredShaderPainter.shaderPipeline:this.get_pipeline()),this.g.setMatrix(this.projectionLocation,this.projectionMatrix),this.g.drawIndexedVertices(0,2*this.bufferIndex*3),this.bufferIndex=0,this.rectVertices=this.rectVertexBuffer.lock()},drawTriBuffer:function(e){e||this.bufferIndex>0&&this.drawBuffer(!0),this.triangleVertexBuffer.unlock(),this.g.setVertexBuffer(this.triangleVertexBuffer),this.g.setIndexBuffer(this.triangleIndexBuffer),this.g.setPipeline(null==this.get_pipeline()?kha_graphics4_ColoredShaderPainter.shaderPipeline:this.get_pipeline()),this.g.setMatrix(this.projectionLocation,this.projectionMatrix),this.g.drawIndexedVertices(0,3*this.triangleBufferIndex),this.triangleBufferIndex=0,this.triangleVertices=this.triangleVertexBuffer.lock()},fillRect:function(e,t,a,r,i,s,n,_,o,h){this.triangleBufferIndex>0&&this.drawTriBuffer(!0),this.bufferIndex+1>=kha_graphics4_ColoredShaderPainter.bufferSize&&this.drawBuffer(!1),this.setRectColors(e,t),this.setRectVertices(a,r,i,s,n,_,o,h),++this.bufferIndex},fillTriangle:function(e,t,a,r,i,s,n,_){this.bufferIndex>0&&this.drawBuffer(!0),this.triangleBufferIndex+1>=kha_graphics4_ColoredShaderPainter.triangleBufferSize&&this.drawTriBuffer(!1),this.setTriColors(e,t),this.setTriVertices(a,r,i,s,n,_),++this.triangleBufferIndex},endTris:function(e){this.triangleBufferIndex>0&&this.drawTriBuffer(e)},endRects:function(e){this.bufferIndex>0&&this.drawBuffer(e)},end:function(){this.triangleBufferIndex>0&&this.drawTriBuffer(!1),this.bufferIndex>0&&this.drawBuffer(!1)},__class__:kha_graphics4_ColoredShaderPainter,__properties__:{set_pipeline:"set_pipeline",get_pipeline:"get_pipeline"}};var kha_graphics4_TextShaderPainter=$hxClasses["kha.graphics4.TextShaderPainter"]=function(e){this.destinationBlend=kha_graphics4_BlendingFactor.Undefined,this.sourceBlend=kha_graphics4_BlendingFactor.Undefined,this.bilinear=!1,this.myPipeline=null,this.g=e,this.bufferIndex=0,kha_graphics4_TextShaderPainter.initShaders(),this.initBuffers(),this.projectionLocation=kha_graphics4_TextShaderPainter.shaderPipeline.getConstantLocation("projectionMatrix"),this.textureLocation=kha_graphics4_TextShaderPainter.shaderPipeline.getTextureUnit("tex")};kha_graphics4_TextShaderPainter.__name__=!0,kha_graphics4_TextShaderPainter.initShaders=function(){null==kha_graphics4_TextShaderPainter.shaderPipeline&&(kha_graphics4_TextShaderPainter.shaderPipeline=new kha_graphics4_PipelineState,kha_graphics4_TextShaderPainter.shaderPipeline.fragmentShader=kha_Shaders.painter_text_frag,kha_graphics4_TextShaderPainter.shaderPipeline.vertexShader=kha_Shaders.painter_text_vert,kha_graphics4_TextShaderPainter.structure=new kha_graphics4_VertexStructure,kha_graphics4_TextShaderPainter.structure.add("vertexPosition",kha_graphics4_VertexData.Float3),kha_graphics4_TextShaderPainter.structure.add("texPosition",kha_graphics4_VertexData.Float2),kha_graphics4_TextShaderPainter.structure.add("vertexColor",kha_graphics4_VertexData.Float4),kha_graphics4_TextShaderPainter.shaderPipeline.inputLayout=[kha_graphics4_TextShaderPainter.structure],kha_graphics4_TextShaderPainter.shaderPipeline.blendSource=kha_graphics4_BlendingFactor.SourceAlpha,kha_graphics4_TextShaderPainter.shaderPipeline.blendDestination=kha_graphics4_BlendingFactor.InverseSourceAlpha,kha_graphics4_TextShaderPainter.shaderPipeline.alphaBlendSource=kha_graphics4_BlendingFactor.SourceAlpha,kha_graphics4_TextShaderPainter.shaderPipeline.alphaBlendDestination=kha_graphics4_BlendingFactor.InverseSourceAlpha,kha_graphics4_TextShaderPainter.shaderPipeline.compile())},kha_graphics4_TextShaderPainter.findIndex=function(e,t){for(var a=0,r=t.length;a>>24));this.rectVertices[a+5]=.00392156862745098*((16711680&t)>>>16),this.rectVertices[a+6]=.00392156862745098*((65280&t)>>>8),this.rectVertices[a+7]=.00392156862745098*(255&t),this.rectVertices[a+8]=r,this.rectVertices[a+14]=.00392156862745098*((16711680&t)>>>16),this.rectVertices[a+15]=.00392156862745098*((65280&t)>>>8),this.rectVertices[a+16]=.00392156862745098*(255&t),this.rectVertices[a+17]=r,this.rectVertices[a+23]=.00392156862745098*((16711680&t)>>>16),this.rectVertices[a+24]=.00392156862745098*((65280&t)>>>8),this.rectVertices[a+25]=.00392156862745098*(255&t),this.rectVertices[a+26]=r,this.rectVertices[a+32]=.00392156862745098*((16711680&t)>>>16),this.rectVertices[a+33]=.00392156862745098*((65280&t)>>>8),this.rectVertices[a+34]=.00392156862745098*(255&t),this.rectVertices[a+35]=r},drawBuffer:function(){this.rectVertexBuffer.unlock(),this.g.setVertexBuffer(this.rectVertexBuffer),this.g.setIndexBuffer(this.indexBuffer),this.g.setPipeline(null==this.get_pipeline()?kha_graphics4_TextShaderPainter.shaderPipeline:this.get_pipeline()),this.g.setTexture(this.textureLocation,this.lastTexture),this.g.setMatrix(this.projectionLocation,this.projectionMatrix),this.g.setTextureParameters(this.textureLocation,kha_graphics4_TextureAddressing.Clamp,kha_graphics4_TextureAddressing.Clamp,this.bilinear?kha_graphics4_TextureFilter.LinearFilter:kha_graphics4_TextureFilter.PointFilter,this.bilinear?kha_graphics4_TextureFilter.LinearFilter:kha_graphics4_TextureFilter.PointFilter,kha_graphics4_MipMapFilter.NoMipFilter),this.g.drawIndexedVertices(0,2*this.bufferIndex*3),this.g.setTexture(this.textureLocation,null),this.bufferIndex=0,this.rectVertices=this.rectVertexBuffer.lock()},setBilinearFilter:function(e){this.end(),this.bilinear=e},setFont:function(e){this.font=js_Boot.__cast(e,kha_Kravur)},startString:function(e){this.text=e},charCodeAt:function(e){return HxOverrides.cca(this.text,e)},stringLength:function(){return this.text.length},endString:function(){this.text=null},drawString:function(e,t,a,r,i,s,n){var _=this.font._get(this.fontSize,n),o=_.getTexture();null!=this.lastTexture&&o!=this.lastTexture&&this.drawBuffer(),this.lastTexture=o;var h=r,l=i;this.startString(e);for(var c=0,d=this.stringLength();c=kha_graphics4_TextShaderPainter.bufferSize&&this.drawBuffer(),this.setRectColors(t,a),this.setRectTexCoords(p.s0*o.get_width()/o.get_realWidth(),p.t0*o.get_height()/o.get_realHeight(),p.s1*o.get_width()/o.get_realWidth(),p.t1*o.get_height()/o.get_realHeight());var f,g,m,v=p.x0;m=p.y1;var k=s._02*v+s._12*m+s._22;g=(s._00*v+s._10*m+s._20)/k,f=(s._01*v+s._11*m+s._21)/k;var b,y,S,x=p.x0;S=p.y0;var B=s._02*x+s._12*S+s._22;y=(s._00*x+s._10*S+s._20)/B,b=(s._01*x+s._11*S+s._21)/B;var w,I,T,C=p.x1;T=p.y0;var M=s._02*C+s._12*T+s._22;I=(s._00*C+s._10*T+s._20)/M,w=(s._01*C+s._11*T+s._21)/M;var A,R,V,D=p.x1;V=p.y1;var P=s._02*D+s._12*V+s._22;R=(s._00*D+s._10*V+s._20)/P,A=(s._01*D+s._11*V+s._21)/P,this.setRectVertices(g,f,y,b,I,w,R,A),h+=p.xadvance,++this.bufferIndex}}this.endString()},end:function(){this.bufferIndex>0&&this.drawBuffer(),this.lastTexture=null},__class__:kha_graphics4_TextShaderPainter,__properties__:{set_pipeline:"set_pipeline",get_pipeline:"get_pipeline"}};var kha_graphics4_Graphics2=$hxClasses["kha.graphics4.Graphics2"]=function(e){if(this.myMipmapScaleQuality=kha_graphics2_ImageScaleQuality.High,this.myImageScaleQuality=kha_graphics2_ImageScaleQuality.High,kha_graphics2_Graphics.call(this),this.set_color(-1),this.canvas=e,this.g=e.get_g4(),this.imagePainter=new kha_graphics4_ImageShaderPainter(this.g),this.coloredPainter=new kha_graphics4_ColoredShaderPainter(this.g),this.textPainter=new kha_graphics4_TextShaderPainter(this.g),this.textPainter.fontSize=this.get_fontSize(),this.setProjection(),null==kha_graphics4_Graphics2.videoPipeline){kha_graphics4_Graphics2.videoPipeline=new kha_graphics4_PipelineState,kha_graphics4_Graphics2.videoPipeline.fragmentShader=kha_Shaders.painter_video_frag,kha_graphics4_Graphics2.videoPipeline.vertexShader=kha_Shaders.painter_video_vert;var t=new kha_graphics4_VertexStructure;t.add("vertexPosition",kha_graphics4_VertexData.Float3),t.add("texPosition",kha_graphics4_VertexData.Float2),t.add("vertexColor",kha_graphics4_VertexData.Float4),kha_graphics4_Graphics2.videoPipeline.inputLayout=[t],kha_graphics4_Graphics2.videoPipeline.compile()}};kha_graphics4_Graphics2.__name__=!0,kha_graphics4_Graphics2.upperPowerOfTwo=function(e){return--e,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,++e},kha_graphics4_Graphics2.__super__=kha_graphics2_Graphics,kha_graphics4_Graphics2.prototype=$extend(kha_graphics2_Graphics.prototype,{setProjection:function(){var e=this.canvas.get_width(),t=this.canvas.get_height();js_Boot.__instanceof(this.canvas,kha_Framebuffer)?this.projectionMatrix=kha_math_FastMatrix4.orthogonalProjection(0,e,t,0,.1,1e3):(kha_Image.get_nonPow2Supported()||(e=kha_graphics4_Graphics2.upperPowerOfTwo(e),t=kha_graphics4_Graphics2.upperPowerOfTwo(t)),this.g.renderTargetsInvertedY()?this.projectionMatrix=kha_math_FastMatrix4.orthogonalProjection(0,e,0,t,.1,1e3):this.projectionMatrix=kha_math_FastMatrix4.orthogonalProjection(0,e,t,0,.1,1e3)),this.imagePainter.setProjection(this.projectionMatrix),this.coloredPainter.setProjection(this.projectionMatrix),this.textPainter.setProjection(this.projectionMatrix)},drawImage:function(e,t,a){var r=this.coloredPainter;r.triangleBufferIndex>0&&r.drawTriBuffer(!1),r.bufferIndex>0&&r.drawBuffer(!1),this.textPainter.end();var i,s,n,_=t+e.get_width(),o=a+e.get_height(),h=this.transformations[this.transformations.length-1],l=t;n=o;var c=h._02*l+h._12*n+h._22;s=(h._00*l+h._10*n+h._20)/c,i=(h._01*l+h._11*n+h._21)/c;var d,u,p,f=this.transformations[this.transformations.length-1],g=t;p=a;var m=f._02*g+f._12*p+f._22;u=(f._00*g+f._10*p+f._20)/m,d=(f._01*g+f._11*p+f._21)/m;var v,k,b,y=this.transformations[this.transformations.length-1],S=_;b=a;var x=y._02*S+y._12*b+y._22;k=(y._00*S+y._10*b+y._20)/x,v=(y._01*S+y._11*b+y._21)/x;var B,w,I,T=this.transformations[this.transformations.length-1],C=_;I=o;var M=T._02*C+T._12*I+T._22;w=(T._00*C+T._10*I+T._20)/M,B=(T._01*C+T._11*I+T._21)/M;var A=this.imagePainter,R=this.get_opacity(),V=this.get_color(),D=e;(A.bufferIndex+1>=kha_graphics4_ImageShaderPainter.bufferSize||null!=A.lastTexture&&D!=A.lastTexture)&&A.drawBuffer();var P=.00392156862745098*((16711680&V)>>>16),F=.00392156862745098*((65280&V)>>>8),$=.00392156862745098*(255&V),j=.00392156862745098*(V>>>24)*R,E=A.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;A.rectVertices[E+5]=P,A.rectVertices[E+6]=F,A.rectVertices[E+7]=$,A.rectVertices[E+8]=j,A.rectVertices[E+14]=P,A.rectVertices[E+15]=F,A.rectVertices[E+16]=$,A.rectVertices[E+17]=j,A.rectVertices[E+23]=P,A.rectVertices[E+24]=F,A.rectVertices[E+25]=$,A.rectVertices[E+26]=j,A.rectVertices[E+32]=P,A.rectVertices[E+33]=F,A.rectVertices[E+34]=$,A.rectVertices[E+35]=j;var U=D.get_width()/D.get_realWidth(),N=D.get_height()/D.get_realHeight(),L=A.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;A.rectVertices[L+3]=0,A.rectVertices[L+4]=N,A.rectVertices[L+12]=0,A.rectVertices[L+13]=0,A.rectVertices[L+21]=U,A.rectVertices[L+22]=0,A.rectVertices[L+30]=U,A.rectVertices[L+31]=N;var z=A.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;A.rectVertices[z]=s,A.rectVertices[z+1]=i,A.rectVertices[z+2]=-5,A.rectVertices[z+9]=u,A.rectVertices[z+10]=d,A.rectVertices[z+11]=-5,A.rectVertices[z+18]=k,A.rectVertices[z+19]=v,A.rectVertices[z+20]=-5,A.rectVertices[z+27]=w,A.rectVertices[z+28]=B,A.rectVertices[z+29]=-5,++A.bufferIndex,A.lastTexture=D},drawScaledSubImage:function(e,t,a,r,i,s,n,_,o){var h=this.coloredPainter;h.triangleBufferIndex>0&&h.drawTriBuffer(!1),h.bufferIndex>0&&h.drawBuffer(!1),this.textPainter.end();var l,c,d,u=this.transformations[this.transformations.length-1],p=s;d=n+o;var f=u._02*p+u._12*d+u._22;c=(u._00*p+u._10*d+u._20)/f,l=(u._01*p+u._11*d+u._21)/f;var g,m,v,k=this.transformations[this.transformations.length-1],b=s;v=n;var y=k._02*b+k._12*v+k._22;m=(k._00*b+k._10*v+k._20)/y,g=(k._01*b+k._11*v+k._21)/y;var S,x,B,w=this.transformations[this.transformations.length-1],I=s+_;B=n;var T=w._02*I+w._12*B+w._22;x=(w._00*I+w._10*B+w._20)/T,S=(w._01*I+w._11*B+w._21)/T;var C,M,A,R=this.transformations[this.transformations.length-1],V=s+_;A=n+o;var D=R._02*V+R._12*A+R._22;M=(R._00*V+R._10*A+R._20)/D,C=(R._01*V+R._11*A+R._21)/D;var P=this.imagePainter,F=this.get_opacity(),$=this.get_color(),j=e;(P.bufferIndex+1>=kha_graphics4_ImageShaderPainter.bufferSize||null!=P.lastTexture&&j!=P.lastTexture)&&P.drawBuffer();var E=t/j.get_realWidth(),U=a/j.get_realHeight(),N=(t+r)/j.get_realWidth(),L=(a+i)/j.get_realHeight(),z=P.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;P.rectVertices[z+3]=E,P.rectVertices[z+4]=L,P.rectVertices[z+12]=E,P.rectVertices[z+13]=U,P.rectVertices[z+21]=N,P.rectVertices[z+22]=U,P.rectVertices[z+30]=N,P.rectVertices[z+31]=L;var O=.00392156862745098*((16711680&$)>>>16),H=.00392156862745098*((65280&$)>>>8),G=.00392156862745098*(255&$),W=.00392156862745098*($>>>24)*F,K=P.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;P.rectVertices[K+5]=O,P.rectVertices[K+6]=H,P.rectVertices[K+7]=G,P.rectVertices[K+8]=W,P.rectVertices[K+14]=O,P.rectVertices[K+15]=H,P.rectVertices[K+16]=G,P.rectVertices[K+17]=W,P.rectVertices[K+23]=O,P.rectVertices[K+24]=H,P.rectVertices[K+25]=G,P.rectVertices[K+26]=W,P.rectVertices[K+32]=O,P.rectVertices[K+33]=H,P.rectVertices[K+34]=G,P.rectVertices[K+35]=W;var Z=P.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;P.rectVertices[Z]=c,P.rectVertices[Z+1]=l,P.rectVertices[Z+2]=-5,P.rectVertices[Z+9]=m,P.rectVertices[Z+10]=g,P.rectVertices[Z+11]=-5,P.rectVertices[Z+18]=x,P.rectVertices[Z+19]=S,P.rectVertices[Z+20]=-5,P.rectVertices[Z+27]=M,P.rectVertices[Z+28]=C,P.rectVertices[Z+29]=-5,++P.bufferIndex,P.lastTexture=j},get_color:function(){return this.myColor},set_color:function(e){return this.myColor=e},drawRect:function(e,t,a,r,i){null==i&&(i=1),this.imagePainter.end(),this.textPainter.end();var s,n=this.transformations[this.transformations.length-1],_=e-i/2;s=t+i/2;var o,h=n._02*_+n._12*s+n._22,l=(n._00*_+n._10*s+n._20)/h,c=(n._01*_+n._11*s+n._21)/h,d=new kha_math_FastVector2(l,c),u=this.transformations[this.transformations.length-1],p=e-i/2;o=t-i/2;var f,g=u._02*p+u._12*o+u._22,m=(u._00*p+u._10*o+u._20)/g,v=(u._01*p+u._11*o+u._21)/g,k=new kha_math_FastVector2(m,v),b=this.transformations[this.transformations.length-1],y=e+a+i/2;f=t-i/2;var S,x=b._02*y+b._12*f+b._22,B=(b._00*y+b._10*f+b._20)/x,w=(b._01*y+b._11*f+b._21)/x,I=new kha_math_FastVector2(B,w),T=this.transformations[this.transformations.length-1],C=e+a+i/2;S=t+i/2;var M=T._02*C+T._12*S+T._22,A=(T._00*C+T._10*S+T._20)/M,R=(T._01*C+T._11*S+T._21)/M,V=new kha_math_FastVector2(A,R);this.coloredPainter.fillRect(this.get_opacity(),this.get_color(),d.x,d.y,k.x,k.y,I.x,I.y,V.x,V.y);var D,P=this.transformations[this.transformations.length-1],F=e-i/2;D=t+r+i/2;var $=P._02*F+P._12*D+P._22,j=(P._00*F+P._10*D+P._20)/$,E=(P._01*F+P._11*D+P._21)/$;d=new kha_math_FastVector2(j,E);var U,N=this.transformations[this.transformations.length-1],L=e+i/2;U=t-i/2;var z=N._02*L+N._12*U+N._22,O=(N._00*L+N._10*U+N._20)/z,H=(N._01*L+N._11*U+N._21)/z;I=new kha_math_FastVector2(O,H);var G,W=this.transformations[this.transformations.length-1],K=e+i/2;G=t+r+i/2;var Z=W._02*K+W._12*G+W._22,Q=(W._00*K+W._10*G+W._20)/Z,q=(W._01*K+W._11*G+W._21)/Z;V=new kha_math_FastVector2(Q,q),this.coloredPainter.fillRect(this.get_opacity(),this.get_color(),d.x,d.y,k.x,k.y,I.x,I.y,V.x,V.y);var Y,X=this.transformations[this.transformations.length-1],J=e-i/2;Y=t+r-i/2;var ee=X._02*J+X._12*Y+X._22,te=(X._00*J+X._10*Y+X._20)/ee,ae=(X._01*J+X._11*Y+X._21)/ee;k=new kha_math_FastVector2(te,ae);var re,ie=this.transformations[this.transformations.length-1],se=e+a+i/2;re=t+r-i/2;var ne=ie._02*se+ie._12*re+ie._22,_e=(ie._00*se+ie._10*re+ie._20)/ne,oe=(ie._01*se+ie._11*re+ie._21)/ne;I=new kha_math_FastVector2(_e,oe);var he,le=this.transformations[this.transformations.length-1],ce=e+a+i/2;he=t+r+i/2;var de=le._02*ce+le._12*he+le._22,ue=(le._00*ce+le._10*he+le._20)/de,pe=(le._01*ce+le._11*he+le._21)/de;V=new kha_math_FastVector2(ue,pe),this.coloredPainter.fillRect(this.get_opacity(),this.get_color(),d.x,d.y,k.x,k.y,I.x,I.y,V.x,V.y);var fe,ge=this.transformations[this.transformations.length-1],me=e+a-i/2;fe=t+r+i/2;var ve=ge._02*me+ge._12*fe+ge._22,ke=(ge._00*me+ge._10*fe+ge._20)/ve,be=(ge._01*me+ge._11*fe+ge._21)/ve;d=new kha_math_FastVector2(ke,be);var ye,Se=this.transformations[this.transformations.length-1],xe=e+a-i/2;ye=t-i/2;var Be=Se._02*xe+Se._12*ye+Se._22,we=(Se._00*xe+Se._10*ye+Se._20)/Be,Ie=(Se._01*xe+Se._11*ye+Se._21)/Be;k=new kha_math_FastVector2(we,Ie);var Te,Ce=this.transformations[this.transformations.length-1],Me=e+a+i/2;Te=t-i/2;var Ae=Ce._02*Me+Ce._12*Te+Ce._22,Re=(Ce._00*Me+Ce._10*Te+Ce._20)/Ae,Ve=(Ce._01*Me+Ce._11*Te+Ce._21)/Ae;I=new kha_math_FastVector2(Re,Ve);var De,Pe=this.transformations[this.transformations.length-1],Fe=e+a+i/2;De=t+r+i/2;var $e=Pe._02*Fe+Pe._12*De+Pe._22,je=(Pe._00*Fe+Pe._10*De+Pe._20)/$e,Ee=(Pe._01*Fe+Pe._11*De+Pe._21)/$e;V=new kha_math_FastVector2(je,Ee),this.coloredPainter.fillRect(this.get_opacity(),this.get_color(),d.x,d.y,k.x,k.y,I.x,I.y,V.x,V.y)},fillRect:function(e,t,a,r){this.imagePainter.end(),this.textPainter.end();var i,s,n,_=this.transformations[this.transformations.length-1],o=e;n=t+r;var h=_._02*o+_._12*n+_._22;s=(_._00*o+_._10*n+_._20)/h,i=(_._01*o+_._11*n+_._21)/h;var l,c,d,u=this.transformations[this.transformations.length-1],p=e;d=t;var f=u._02*p+u._12*d+u._22;c=(u._00*p+u._10*d+u._20)/f,l=(u._01*p+u._11*d+u._21)/f;var g,m,v,k=this.transformations[this.transformations.length-1],b=e+a;v=t;var y=k._02*b+k._12*v+k._22;m=(k._00*b+k._10*v+k._20)/y,g=(k._01*b+k._11*v+k._21)/y;var S,x,B,w=this.transformations[this.transformations.length-1],I=e+a;B=t+r;var T=w._02*I+w._12*B+w._22;x=(w._00*I+w._10*B+w._20)/T,S=(w._01*I+w._11*B+w._21)/T,this.coloredPainter.fillRect(this.get_opacity(),this.get_color(),s,i,c,l,m,g,x,S)},drawString:function(e,t,a){this.imagePainter.end();var r=this.coloredPainter;r.triangleBufferIndex>0&&r.drawTriBuffer(!1),r.bufferIndex>0&&r.drawBuffer(!1),this.textPainter.drawString(e,this.get_opacity(),this.get_color(),t,a,this.transformations[this.transformations.length-1],this.get_fontGlyphs())},get_font:function(){return this.myFont},set_font:function(e){return this.textPainter.setFont(e),this.myFont=e},set_fontSize:function(e){return kha_graphics2_Graphics.prototype.set_fontSize.call(this,this.textPainter.fontSize=e)},drawLine:function(e,t,a,r,i){null==i&&(i=1),this.imagePainter.end(),this.textPainter.end();var s;(s=r==t?new kha_math_FastVector2(0,-1):new kha_math_FastVector2(1,-(a-e)/(r-t))).set_length(i);var n=new kha_math_FastVector2(e+.5*s.x,t+.5*s.y),_=new kha_math_FastVector2(a+.5*s.x,r+.5*s.y),o=new kha_math_FastVector2(n.x-s.x,n.y-s.y),h=new kha_math_FastVector2(_.x-s.x,_.y-s.y),l=this.transformations[this.transformations.length-1],c=l._02*n.x+l._12*n.y+l._22,d=(l._00*n.x+l._10*n.y+l._20)/c,u=(l._01*n.x+l._11*n.y+l._21)/c;n=new kha_math_FastVector2(d,u);var p=this.transformations[this.transformations.length-1],f=p._02*_.x+p._12*_.y+p._22,g=(p._00*_.x+p._10*_.y+p._20)/f,m=(p._01*_.x+p._11*_.y+p._21)/f;_=new kha_math_FastVector2(g,m);var v=this.transformations[this.transformations.length-1],k=v._02*o.x+v._12*o.y+v._22,b=(v._00*o.x+v._10*o.y+v._20)/k,y=(v._01*o.x+v._11*o.y+v._21)/k;o=new kha_math_FastVector2(b,y);var S=this.transformations[this.transformations.length-1],x=S._02*h.x+S._12*h.y+S._22,B=(S._00*h.x+S._10*h.y+S._20)/x,w=(S._01*h.x+S._11*h.y+S._21)/x;h=new kha_math_FastVector2(B,w),this.coloredPainter.fillTriangle(this.get_opacity(),this.get_color(),n.x,n.y,_.x,_.y,o.x,o.y),this.coloredPainter.fillTriangle(this.get_opacity(),this.get_color(),o.x,o.y,_.x,_.y,h.x,h.y)},fillTriangle:function(e,t,a,r,i,s){this.imagePainter.end(),this.textPainter.end();var n,_,o,h=this.transformations[this.transformations.length-1],l=e;o=t;var c=h._02*l+h._12*o+h._22;_=(h._00*l+h._10*o+h._20)/c,n=(h._01*l+h._11*o+h._21)/c;var d,u,p,f=this.transformations[this.transformations.length-1],g=a;p=r;var m=f._02*g+f._12*p+f._22;u=(f._00*g+f._10*p+f._20)/m,d=(f._01*g+f._11*p+f._21)/m;var v,k,b,y=this.transformations[this.transformations.length-1],S=i;b=s;var x=y._02*S+y._12*b+y._22;k=(y._00*S+y._10*b+y._20)/x,v=(y._01*S+y._11*b+y._21)/x,this.coloredPainter.fillTriangle(this.get_opacity(),this.get_color(),_,n,u,d,k,v)},get_imageScaleQuality:function(){return this.myImageScaleQuality},set_imageScaleQuality:function(e){return this.imagePainter.setBilinearFilter(e==kha_graphics2_ImageScaleQuality.High),this.textPainter.setBilinearFilter(e==kha_graphics2_ImageScaleQuality.High),this.myImageScaleQuality=e},get_mipmapScaleQuality:function(){return this.myMipmapScaleQuality},set_mipmapScaleQuality:function(e){return this.imagePainter.setBilinearMipmapFilter(e==kha_graphics2_ImageScaleQuality.High),this.myMipmapScaleQuality=e},setPipeline:function(e){this.flush(),this.imagePainter.set_pipeline(e),this.coloredPainter.set_pipeline(e),this.textPainter.set_pipeline(e),null!=e&&this.g.setPipeline(e)},scissor:function(e,t,a,r){this.flush(),this.g.scissor(e,t,a,r)},disableScissor:function(){this.flush(),this.g.disableScissor()},begin:function(e,t){null==e&&(e=!0),this.g.begin(),e&&this.clear(t),this.setProjection()},clear:function(e){this.flush(),this.g.clear(null==e?-16777216:e)},flush:function(){this.imagePainter.end(),this.textPainter.end();var e=this.coloredPainter;e.triangleBufferIndex>0&&e.drawTriBuffer(!1),e.bufferIndex>0&&e.drawBuffer(!1)},end:function(){this.flush(),this.g.end()},drawVideoInternal:function(e,t,a,r,i){},drawVideo:function(e,t,a,r,i){this.setPipeline(kha_graphics4_Graphics2.videoPipeline),this.drawVideoInternal(e,t,a,r,i),this.setPipeline(null)},__class__:kha_graphics4_Graphics2});var kha_graphics4_IndexBuffer=$hxClasses["kha.graphics4.IndexBuffer"]=function(e,t,a){null==a&&(a=!1),this.indexCount=e;var r=new Uint32Array(e);this._data=r,this.buffer=Krom.createIndexBuffer(e)};kha_graphics4_IndexBuffer.__name__=!0,kha_graphics4_IndexBuffer.prototype={delete:function(){Krom.deleteIndexBuffer(this.buffer),this.buffer=null},lock:function(e,t){return null==e&&(e=0),null==t&&(t=this.indexCount),this._data.subarray(e,e+t)},unlock:function(){Krom.setIndices(this.buffer,this._data)},set:function(){Krom.setIndexBuffer(this.buffer)},count:function(){return this.indexCount},__class__:kha_graphics4_IndexBuffer};var kha_graphics4_MipMapFilter=$hxClasses["kha.graphics4.MipMapFilter"]={__ename__:!0,__constructs__:["NoMipFilter","PointMipFilter","LinearMipFilter"]};kha_graphics4_MipMapFilter.NoMipFilter=["NoMipFilter",0],kha_graphics4_MipMapFilter.NoMipFilter.toString=$estr,kha_graphics4_MipMapFilter.NoMipFilter.__enum__=kha_graphics4_MipMapFilter,kha_graphics4_MipMapFilter.PointMipFilter=["PointMipFilter",1],kha_graphics4_MipMapFilter.PointMipFilter.toString=$estr,kha_graphics4_MipMapFilter.PointMipFilter.__enum__=kha_graphics4_MipMapFilter,kha_graphics4_MipMapFilter.LinearMipFilter=["LinearMipFilter",2],kha_graphics4_MipMapFilter.LinearMipFilter.toString=$estr,kha_graphics4_MipMapFilter.LinearMipFilter.__enum__=kha_graphics4_MipMapFilter;var kha_graphics4_PipelineStateBase=$hxClasses["kha.graphics4.PipelineStateBase"]=function(){this.inputLayout=null,this.interleavedLayout=!0,this.vertexShader=null,this.fragmentShader=null,this.geometryShader=null,this.tessellationControlShader=null,this.tessellationEvaluationShader=null,this.cullMode=kha_graphics4_CullMode.None,this.depthWrite=!1,this.depthMode=kha_graphics4_CompareMode.Always,this.stencilMode=kha_graphics4_CompareMode.Always,this.stencilBothPass=kha_graphics4_StencilAction.Keep,this.stencilDepthFail=kha_graphics4_StencilAction.Keep,this.stencilFail=kha_graphics4_StencilAction.Keep,this.stencilReferenceValue=0,this.stencilReadMask=255,this.stencilWriteMask=255,this.blendSource=kha_graphics4_BlendingFactor.BlendOne,this.blendDestination=kha_graphics4_BlendingFactor.BlendZero,this.blendOperation=kha_graphics4_BlendingOperation.Add,this.alphaBlendSource=kha_graphics4_BlendingFactor.BlendOne,this.alphaBlendDestination=kha_graphics4_BlendingFactor.BlendZero,this.alphaBlendOperation=kha_graphics4_BlendingOperation.Add,this.colorWriteMaskRed=this.colorWriteMaskBlue=this.colorWriteMaskGreen=this.colorWriteMaskAlpha=!0,this.conservativeRasterization=!1};kha_graphics4_PipelineStateBase.__name__=!0,kha_graphics4_PipelineStateBase.prototype={set_colorWriteMask:function(e){return this.colorWriteMaskRed=this.colorWriteMaskBlue=this.colorWriteMaskGreen=this.colorWriteMaskAlpha=e},__class__:kha_graphics4_PipelineStateBase,__properties__:{set_colorWriteMask:"set_colorWriteMask"}};var kha_graphics4_PipelineState=$hxClasses["kha.graphics4.PipelineState"]=function(){kha_graphics4_PipelineStateBase.call(this),this.pipeline=Krom.createPipeline()};kha_graphics4_PipelineState.__name__=!0,kha_graphics4_PipelineState.convertCullMode=function(e){switch(e[1]){case 0:return 0;case 1:return 1;case 2:return 2}},kha_graphics4_PipelineState.convertCompareMode=function(e){switch(e[1]){case 0:return 0;case 1:return 1;case 2:return 2;case 3:return 3;case 4:return 4;case 5:return 5;case 6:return 6;case 7:return 7}},kha_graphics4_PipelineState.convertStencilAction=function(e){switch(e[1]){case 0:return 0;case 1:return 1;case 2:return 2;case 3:return 3;case 4:return 4;case 5:return 5;case 6:return 6;case 7:return 7}},kha_graphics4_PipelineState.convertBlendingFactor=function(e){switch(e[1]){case 0:case 1:return 0;case 2:return 1;case 3:return 2;case 4:return 3;case 5:return 4;case 6:return 5;case 7:return 6;case 8:return 7;case 9:return 8;case 10:return 9}},kha_graphics4_PipelineState.__super__=kha_graphics4_PipelineStateBase,kha_graphics4_PipelineState.prototype=$extend(kha_graphics4_PipelineStateBase.prototype,{delete:function(){Krom.deletePipeline(this.pipeline),this.pipeline=null},compile:function(){var e=this.inputLayout.length>0?this.inputLayout[0].elements:null,t=this.inputLayout.length>1?this.inputLayout[1].elements:null,a=this.inputLayout.length>2?this.inputLayout[2].elements:null,r=this.inputLayout.length>3?this.inputLayout[3].elements:null,i=null!=this.geometryShader?this.geometryShader.shader:null,s=null!=this.tessellationControlShader?this.tessellationControlShader.shader:null,n=null!=this.tessellationEvaluationShader?this.tessellationEvaluationShader.shader:null;Krom.compilePipeline(this.pipeline,e,t,a,r,this.inputLayout.length,this.vertexShader.shader,this.fragmentShader.shader,i,s,n,{interleavedLayout:this.interleavedLayout,cullMode:kha_graphics4_PipelineState.convertCullMode(this.cullMode),depthWrite:this.depthWrite,depthMode:kha_graphics4_PipelineState.convertCompareMode(this.depthMode),stencilMode:kha_graphics4_PipelineState.convertCompareMode(this.stencilMode),stencilBothPass:kha_graphics4_PipelineState.convertStencilAction(this.stencilBothPass),stencilDepthFail:kha_graphics4_PipelineState.convertStencilAction(this.stencilDepthFail),stencilFail:kha_graphics4_PipelineState.convertStencilAction(this.stencilFail),stencilReferenceValue:this.stencilReferenceValue,stencilReadMask:this.stencilReadMask,stencilWriteMask:this.stencilWriteMask,blendSource:kha_graphics4_PipelineState.convertBlendingFactor(this.blendSource),blendDestination:kha_graphics4_PipelineState.convertBlendingFactor(this.blendDestination),alphaBlendSource:kha_graphics4_PipelineState.convertBlendingFactor(this.alphaBlendSource),alphaBlendDestination:kha_graphics4_PipelineState.convertBlendingFactor(this.alphaBlendDestination),colorWriteMaskRed:this.colorWriteMaskRed,colorWriteMaskGreen:this.colorWriteMaskGreen,colorWriteMaskBlue:this.colorWriteMaskBlue,colorWriteMaskAlpha:this.colorWriteMaskAlpha,conservativeRasterization:this.conservativeRasterization})},set:function(){Krom.setPipeline(this.pipeline)},getConstantLocation:function(e){return Krom.getConstantLocation(this.pipeline,e)},getTextureUnit:function(e){return Krom.getTextureUnit(this.pipeline,e)},__class__:kha_graphics4_PipelineState});var kha_graphics4_StencilAction=$hxClasses["kha.graphics4.StencilAction"]={__ename__:!0,__constructs__:["Keep","Zero","Replace","Increment","IncrementWrap","Decrement","DecrementWrap","Invert"]};kha_graphics4_StencilAction.Keep=["Keep",0],kha_graphics4_StencilAction.Keep.toString=$estr,kha_graphics4_StencilAction.Keep.__enum__=kha_graphics4_StencilAction,kha_graphics4_StencilAction.Zero=["Zero",1],kha_graphics4_StencilAction.Zero.toString=$estr,kha_graphics4_StencilAction.Zero.__enum__=kha_graphics4_StencilAction,kha_graphics4_StencilAction.Replace=["Replace",2],kha_graphics4_StencilAction.Replace.toString=$estr,kha_graphics4_StencilAction.Replace.__enum__=kha_graphics4_StencilAction,kha_graphics4_StencilAction.Increment=["Increment",3],kha_graphics4_StencilAction.Increment.toString=$estr,kha_graphics4_StencilAction.Increment.__enum__=kha_graphics4_StencilAction,kha_graphics4_StencilAction.IncrementWrap=["IncrementWrap",4],kha_graphics4_StencilAction.IncrementWrap.toString=$estr,kha_graphics4_StencilAction.IncrementWrap.__enum__=kha_graphics4_StencilAction,kha_graphics4_StencilAction.Decrement=["Decrement",5],kha_graphics4_StencilAction.Decrement.toString=$estr,kha_graphics4_StencilAction.Decrement.__enum__=kha_graphics4_StencilAction,kha_graphics4_StencilAction.DecrementWrap=["DecrementWrap",6],kha_graphics4_StencilAction.DecrementWrap.toString=$estr,kha_graphics4_StencilAction.DecrementWrap.__enum__=kha_graphics4_StencilAction,kha_graphics4_StencilAction.Invert=["Invert",7],kha_graphics4_StencilAction.Invert.toString=$estr,kha_graphics4_StencilAction.Invert.__enum__=kha_graphics4_StencilAction;var kha_graphics4_TessellationControlShader=$hxClasses["kha.graphics4.TessellationControlShader"]=function(e,t){this.shader=Krom.createTessellationControlShader(e[0].bytes.b.bufferValue,t[0])};kha_graphics4_TessellationControlShader.__name__=!0,kha_graphics4_TessellationControlShader.prototype={delete:function(){Krom.deleteShader(this.shader),this.shader=null},__class__:kha_graphics4_TessellationControlShader};var kha_graphics4_TessellationEvaluationShader=$hxClasses["kha.graphics4.TessellationEvaluationShader"]=function(e,t){this.shader=Krom.createTessellationEvaluationShader(e[0].bytes.b.bufferValue,t[0])};kha_graphics4_TessellationEvaluationShader.__name__=!0,kha_graphics4_TessellationEvaluationShader.prototype={delete:function(){Krom.deleteShader(this.shader),this.shader=null},__class__:kha_graphics4_TessellationEvaluationShader};var kha_graphics4_TexDir=$hxClasses["kha.graphics4.TexDir"]={__ename__:!0,__constructs__:["U","V"]};kha_graphics4_TexDir.U=["U",0],kha_graphics4_TexDir.U.toString=$estr,kha_graphics4_TexDir.U.__enum__=kha_graphics4_TexDir,kha_graphics4_TexDir.V=["V",1],kha_graphics4_TexDir.V.toString=$estr,kha_graphics4_TexDir.V.__enum__=kha_graphics4_TexDir;var kha_graphics4_TextureAddressing=$hxClasses["kha.graphics4.TextureAddressing"]={__ename__:!0,__constructs__:["Repeat","Mirror","Clamp"]};kha_graphics4_TextureAddressing.Repeat=["Repeat",0],kha_graphics4_TextureAddressing.Repeat.toString=$estr,kha_graphics4_TextureAddressing.Repeat.__enum__=kha_graphics4_TextureAddressing,kha_graphics4_TextureAddressing.Mirror=["Mirror",1],kha_graphics4_TextureAddressing.Mirror.toString=$estr,kha_graphics4_TextureAddressing.Mirror.__enum__=kha_graphics4_TextureAddressing,kha_graphics4_TextureAddressing.Clamp=["Clamp",2],kha_graphics4_TextureAddressing.Clamp.toString=$estr,kha_graphics4_TextureAddressing.Clamp.__enum__=kha_graphics4_TextureAddressing;var kha_graphics4_TextureFilter=$hxClasses["kha.graphics4.TextureFilter"]={__ename__:!0,__constructs__:["PointFilter","LinearFilter","AnisotropicFilter"]};kha_graphics4_TextureFilter.PointFilter=["PointFilter",0],kha_graphics4_TextureFilter.PointFilter.toString=$estr,kha_graphics4_TextureFilter.PointFilter.__enum__=kha_graphics4_TextureFilter,kha_graphics4_TextureFilter.LinearFilter=["LinearFilter",1],kha_graphics4_TextureFilter.LinearFilter.toString=$estr,kha_graphics4_TextureFilter.LinearFilter.__enum__=kha_graphics4_TextureFilter,kha_graphics4_TextureFilter.AnisotropicFilter=["AnisotropicFilter",2],kha_graphics4_TextureFilter.AnisotropicFilter.toString=$estr,kha_graphics4_TextureFilter.AnisotropicFilter.__enum__=kha_graphics4_TextureFilter;var kha_graphics4_TextureFormat=$hxClasses["kha.graphics4.TextureFormat"]={__ename__:!0,__constructs__:["RGBA32","L8","RGBA128","DEPTH16","RGBA64","A32","A16"]};kha_graphics4_TextureFormat.RGBA32=["RGBA32",0],kha_graphics4_TextureFormat.RGBA32.toString=$estr,kha_graphics4_TextureFormat.RGBA32.__enum__=kha_graphics4_TextureFormat,kha_graphics4_TextureFormat.L8=["L8",1],kha_graphics4_TextureFormat.L8.toString=$estr,kha_graphics4_TextureFormat.L8.__enum__=kha_graphics4_TextureFormat,kha_graphics4_TextureFormat.RGBA128=["RGBA128",2],kha_graphics4_TextureFormat.RGBA128.toString=$estr,kha_graphics4_TextureFormat.RGBA128.__enum__=kha_graphics4_TextureFormat,kha_graphics4_TextureFormat.DEPTH16=["DEPTH16",3],kha_graphics4_TextureFormat.DEPTH16.toString=$estr,kha_graphics4_TextureFormat.DEPTH16.__enum__=kha_graphics4_TextureFormat,kha_graphics4_TextureFormat.RGBA64=["RGBA64",4],kha_graphics4_TextureFormat.RGBA64.toString=$estr,kha_graphics4_TextureFormat.RGBA64.__enum__=kha_graphics4_TextureFormat,kha_graphics4_TextureFormat.A32=["A32",5],kha_graphics4_TextureFormat.A32.toString=$estr,kha_graphics4_TextureFormat.A32.__enum__=kha_graphics4_TextureFormat,kha_graphics4_TextureFormat.A16=["A16",6],kha_graphics4_TextureFormat.A16.toString=$estr,kha_graphics4_TextureFormat.A16.__enum__=kha_graphics4_TextureFormat;var kha_graphics4_TextureUnit=$hxClasses["kha.graphics4.TextureUnit"]=function(){};kha_graphics4_TextureUnit.__name__=!0;var kha_graphics4_Usage=$hxClasses["kha.graphics4.Usage"]={__ename__:!0,__constructs__:["StaticUsage","DynamicUsage","ReadableUsage"]};kha_graphics4_Usage.StaticUsage=["StaticUsage",0],kha_graphics4_Usage.StaticUsage.toString=$estr,kha_graphics4_Usage.StaticUsage.__enum__=kha_graphics4_Usage,kha_graphics4_Usage.DynamicUsage=["DynamicUsage",1],kha_graphics4_Usage.DynamicUsage.toString=$estr,kha_graphics4_Usage.DynamicUsage.__enum__=kha_graphics4_Usage,kha_graphics4_Usage.ReadableUsage=["ReadableUsage",2],kha_graphics4_Usage.ReadableUsage.toString=$estr,kha_graphics4_Usage.ReadableUsage.__enum__=kha_graphics4_Usage;var kha_graphics4_VertexBuffer=$hxClasses["kha.graphics4.VertexBuffer"]=function(e,t,a,r,i){null==i&&(i=!1),null==r&&(r=0),this.vertexCount=e,this.structure=t,this.buffer=Krom.createVertexBuffer(e,t.elements,r);var s=new Float32Array(e*(t.byteSize()/4|0));this._data=s};kha_graphics4_VertexBuffer.__name__=!0,kha_graphics4_VertexBuffer.prototype={delete:function(){Krom.deleteVertexBuffer(this.buffer),this.buffer=null},lock:function(e,t){return this._data},unlock:function(){Krom.setVertices(this.buffer,this._data)},stride:function(){return this.structure.byteSize()},count:function(){return this.vertexCount},set:function(e){return Krom.setVertexBuffer(this.buffer),0},__class__:kha_graphics4_VertexBuffer};var kha_graphics4_VertexData=$hxClasses["kha.graphics4.VertexData"]={__ename__:!0,__constructs__:["Float1","Float2","Float3","Float4","Float4x4"]};kha_graphics4_VertexData.Float1=["Float1",0],kha_graphics4_VertexData.Float1.toString=$estr,kha_graphics4_VertexData.Float1.__enum__=kha_graphics4_VertexData,kha_graphics4_VertexData.Float2=["Float2",1],kha_graphics4_VertexData.Float2.toString=$estr,kha_graphics4_VertexData.Float2.__enum__=kha_graphics4_VertexData,kha_graphics4_VertexData.Float3=["Float3",2],kha_graphics4_VertexData.Float3.toString=$estr,kha_graphics4_VertexData.Float3.__enum__=kha_graphics4_VertexData,kha_graphics4_VertexData.Float4=["Float4",3],kha_graphics4_VertexData.Float4.toString=$estr,kha_graphics4_VertexData.Float4.__enum__=kha_graphics4_VertexData,kha_graphics4_VertexData.Float4x4=["Float4x4",4],kha_graphics4_VertexData.Float4x4.toString=$estr,kha_graphics4_VertexData.Float4x4.__enum__=kha_graphics4_VertexData;var kha_graphics4_VertexElement=$hxClasses["kha.graphics4.VertexElement"]=function(e,t){this.name=e,this.data=t};kha_graphics4_VertexElement.__name__=!0,kha_graphics4_VertexElement.prototype={__class__:kha_graphics4_VertexElement};var kha_graphics4_VertexShader=$hxClasses["kha.graphics4.VertexShader"]=function(e,t){null!=e&&(this.shader=Krom.createVertexShader(e[0].bytes.b.bufferValue,t[0]))};kha_graphics4_VertexShader.__name__=!0,kha_graphics4_VertexShader.fromSource=function(e){var t=new kha_graphics4_VertexShader(null,null);return t.shader=Krom.createVertexShaderFromSource(e),t},kha_graphics4_VertexShader.prototype={delete:function(){Krom.deleteShader(this.shader),this.shader=null},__class__:kha_graphics4_VertexShader};var kha_graphics4_VertexStructure=$hxClasses["kha.graphics4.VertexStructure"]=function(){this.elements=[]};kha_graphics4_VertexStructure.__name__=!0,kha_graphics4_VertexStructure.prototype={add:function(e,t){this.elements.push(new kha_graphics4_VertexElement(e,t))},size:function(){return this.elements.length},byteSize:function(){for(var e=0,t=0,a=this.elements.length;t=kha_input_Gamepad.instances.length?null:kha_input_Gamepad.instances[e]},kha_input_Gamepad.prototype={notify:function(e,t){null!=e&&this.axisListeners.push(e),null!=t&&this.buttonListeners.push(t)},remove:function(e,t){null!=e&&HxOverrides.remove(this.axisListeners,e),null!=t&&HxOverrides.remove(this.buttonListeners,t)},get_id:function(){return kha_SystemImpl.getGamepadId(this.index)},sendAxisEvent:function(e,t){for(var a=0,r=this.axisListeners;a>23&255,r=8388607&e;switch(a){case 0:return 0;case 255:return 0!=r?NaN:t>0?1/0:-1/0;default:return t*((r+8388608)/8388608)*Math.pow(2,a-127)}},kha_internal_BytesBlob.bit=function(e,t){if(1==(e>>>t&1)){return 0,!0}return 0,!1},kha_internal_BytesBlob.prototype={sub:function(e,t){return new kha_internal_BytesBlob(this.bytes.sub(e,t))},get_length:function(){return this.bytes.length},writeU8:function(e,t){this.bytes.b[e]=255&t},readU8:function(e){var t=this.bytes.b[e];return++e,t},readS8:function(e){var t=this.bytes.b[e];++e;var a=0==(128&t)?1:-1;return t&=127,a*t},readU16BE:function(e){var t=this.bytes.b[e],a=this.bytes.b[e+1];return e+=2,256*t+a},readU16LE:function(e){var t=this.bytes.b[e],a=this.bytes.b[e+1];return e+=2,256*a+t},readU32LE:function(e){var t=this.bytes.b[e],a=this.bytes.b[e+1],r=this.bytes.b[e+2],i=this.bytes.b[e+3];return e+=4,t+256*a+256*r*256+256*i*256*256},readU32BE:function(e){var t=this.bytes.b[e],a=this.bytes.b[e+1],r=this.bytes.b[e+2],i=this.bytes.b[e+3];return e+=4,i+256*r+256*a*256+256*t*256*256},readS16BE:function(e){var t=this.bytes.b[e],a=this.bytes.b[e+1];e+=2;var r=0==(128&t)?1:-1;return t&=127,-1==r?256*t-32767+a:256*t+a},readS16LE:function(e){var t=this.bytes.b[e],a=this.bytes.b[e+1],r=0==(128&a)?1:-1;return a&=127,e+=2,-1==r?256*a-32767+t:256*a+t},readS32LE:function(e){var t=this.bytes.b[e],a=this.bytes.b[e+1],r=this.bytes.b[e+2],i=this.bytes.b[e+3],s=0==(128&i)?1:-1;return i&=127,e+=4,-1==s?-2147483647+t+256*a+256*r*256+256*i*256*256:t+256*a+256*r*256+256*i*256*256},readS32BE:function(e){var t=this.bytes.b[e],a=this.bytes.b[e+1],r=this.bytes.b[e+2],i=this.bytes.b[e+3],s=0==(128&t)?1:-1;return t&=127,e+=4,-1==s?-2147483647+i+256*r+256*a*256+256*t*256*256:i+256*r+256*a*256+256*t*256*256},readF32LE:function(e){return kha_internal_BytesBlob.readF32(this.readS32LE(e))},readF32BE:function(e){return kha_internal_BytesBlob.readF32(this.readS32BE(e))},toString:function(){return this.bytes.toString()},readUtf8Char:function(e){if(e.value>=this.get_length())return-1;var t=this.readU8(e.value);++e.value;var a=0;if(kha_internal_BytesBlob.bit(t,7))if(kha_internal_BytesBlob.bit(t,7)&&kha_internal_BytesBlob.bit(t,6)&&!kha_internal_BytesBlob.bit(t,5)){var r=31&t,i=this.readU8(e.value);++e.value,a=r<<6|63&i}else kha_internal_BytesBlob.bit(t,7)&&kha_internal_BytesBlob.bit(t,6)&&kha_internal_BytesBlob.bit(t,5)&&!kha_internal_BytesBlob.bit(t,4)?e.value+=2:kha_internal_BytesBlob.bit(t,7)&&kha_internal_BytesBlob.bit(t,6)&&kha_internal_BytesBlob.bit(t,5)&&kha_internal_BytesBlob.bit(t,4)&&!kha_internal_BytesBlob.bit(t,3)&&(e.value+=3);else a=t;return a},readUtf8Block:function(e){var t=0;if(e.value>=this.get_length())return"";for(;t<2e3;){var a=this.readUtf8Char(e);if(a<0)break;this.buffer[t]=a,++t}if(this.myFirstLine&&(this.myFirstLine=!1,t>2&&239==this.buffer[0]&&187==this.buffer[1]&&191==this.buffer[2])){for(var r=[],i=3,s=t-3;i