armory/tools/sdfgen/krom/krom.js
2017-08-02 11:46:54 +02:00

1 line
630 KiB
JavaScript

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<this.arr.length},next:function(){return this.arr[this.cur++]}}};var Lambda=$hxClasses.Lambda=function(){};Lambda.__name__=!0,Lambda.array=function(e){for(var t=[],a=$iterator(e)();a.hasNext();){var r=a.next();t.push(r)}return t};var List=$hxClasses.List=function(){this.length=0};List.__name__=!0,List.prototype={add:function(e){var t=new _$List_ListNode(e,null);null==this.h?this.h=t:this.q.next=t,this.q=t,this.length++},push:function(e){var t=new _$List_ListNode(e,this.h);this.h=t,null==this.q&&(this.q=t),this.length++},first:function(){return null==this.h?null:this.h.item},iterator:function(){return new _$List_ListIterator(this.h)},__class__:List};var _$List_ListNode=$hxClasses["_List.ListNode"]=function(e,t){this.item=e,this.next=t};_$List_ListNode.__name__=!0,_$List_ListNode.prototype={__class__:_$List_ListNode};var _$List_ListIterator=$hxClasses["_List.ListIterator"]=function(e){this.head=e};_$List_ListIterator.__name__=!0,_$List_ListIterator.prototype={hasNext:function(){return null!=this.head},next:function(){var e=this.head.item;return this.head=this.head.next,e},__class__:_$List_ListIterator};var Main=$hxClasses.Main=function(){};Main.__name__=!0,Main.main=function(){kha_System.init({title:"Empty",width:640,height:480},function(){iron_App.init(Main.ready)})},Main.ready=function(){haxe_Log.trace("SDF: Make tex",{fileName:"Main.hx",lineNumber:17,className:"Main",methodName:"ready"}),iron_Scene.setActive("Scene");iron_data_Data.getMesh("mesh","",null,function(e){var t=e.geom.positions,a=(e.geom.uvs,e.geom.indices[0]);Main.numverts=a.length;for(var r=0|Math.min(Main.numverts,16384),i=1+(Main.numverts/16384|0),s=new haxe_io_BytesOutput,n=0,_=Main.numverts;n<_;){var o=n++;s.writeFloat(t[3*a[o]]),s.writeFloat(t[3*a[o]+1]),s.writeFloat(t[3*a[o]+2]),s.writeFloat(0)}for(var h=Main.numverts,l=r*i*4;h<l;){h++;s.writeFloat(0)}Main.meshtex=kha_Image.fromBytes(s.getBytes(),r,i,kha_graphics4_TextureFormat.RGBA64,kha_graphics4_Usage.StaticUsage),iron_object_Uniforms.externalTextureLinks=[Main.externalTextureLink],iron_object_Uniforms.externalIntLinks=[Main.externalIntLink]})},Main.externalTextureLink=function(e){return"_meshtex"==e?Main.meshtex:null},Main.externalIntLink=function(e){return"_meshverts"==e?Main.numverts:0},Main.begin=function(){haxe_Log.trace("SDF: GPU",{fileName:"Main.hx",lineNumber:94,className:"Main",methodName:"begin"}),Main.startTime=kha_Scheduler.realTime()},Main.end=function(){haxe_Log.trace("SDF: "+(1e4*(kha_Scheduler.realTime()-Main.startTime)|0)/10+"ms processing "+Main.numverts+" vertices",{fileName:"Main.hx",lineNumber:99,className:"Main",methodName:"end"}),haxe_Log.trace("SDF: Write",{fileName:"Main.hx",lineNumber:100,className:"Main",methodName:"end"});var e=iron_Scene.active.camera.data.pathdata.renderTargets,t=(null!=__map_reserved.sdf?e.getReserved("sdf"):e.h.sdf).image.getPixels();Krom.fileSaveBytes("out.bin",t.b.bufferValue),haxe_Log.trace("SDF: Done",{fileName:"Main.hx",lineNumber:110,className:"Main",methodName:"end"}),kha_System.requestShutdown()},Math.__name__=!0;var Reflect=$hxClasses.Reflect=function(){};Reflect.__name__=!0,Reflect.field=function(e,t){try{return e[t]}catch(e){return null}},Reflect.getProperty=function(e,t){var a;if(null==e)return null;return!!e.__properties__&&(a=e.__properties__["get_"+t])?e[a]():e[t]},Reflect.setProperty=function(e,t,a){var r;!!e.__properties__&&(r=e.__properties__["set_"+t])?e[r](a):e[t]=a},Reflect.fields=function(e){var t=[];if(null!=e){var a=Object.prototype.hasOwnProperty;for(var r in e)"__id__"!=r&&"hx__closures__"!=r&&a.call(e,r)&&t.push(r)}return t},Reflect.isFunction=function(e){return"function"==typeof e&&!(e.__name__||e.__ename__)};var Std=$hxClasses.Std=function(){};Std.__name__=!0,Std.string=function(e){return js_Boot.__string_rec(e,"")},Std.parseInt=function(e){var t=parseInt(e,10);return 0!=t||120!=HxOverrides.cca(e,1)&&88!=HxOverrides.cca(e,1)||(t=parseInt(e)),isNaN(t)?null:t},Std.random=function(e){return e<=0?0:Math.floor(Math.random()*e)};var StringTools=$hxClasses.StringTools=function(){};StringTools.__name__=!0,StringTools.endsWith=function(e,t){var a=t.length,r=e.length;return r>=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;t<a;){var r=t++;e[haxe_Unserializer.BASE64.charCodeAt(r)]=r}return e},haxe_Unserializer.run=function(e){return new haxe_Unserializer(e).unserialize()},haxe_Unserializer.prototype={readDigits:function(){for(var e=0,t=!1,a=this.pos;;){var r=this.buf.charCodeAt(this.pos);if(r!=r)break;if(45!=r){if(r<48||r>57)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<R)throw new js__$Boot_HaxeError("Invalid bytes length");var D=haxe_Unserializer.CODES;null==D&&(D=haxe_Unserializer.initCodes(),haxe_Unserializer.CODES=D);for(var P=this.pos,F=3&R,$=P+(R-F),j=new haxe_io_Bytes(new ArrayBuffer(3*(R>>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.pos<Y)throw new js__$Boot_HaxeError("Invalid string length");var X=HxOverrides.substr(this.buf,this.pos,Y);return this.pos+=Y,X=decodeURIComponent(X.split("+").join(" ")),this.scache.push(X),X;case 122:return 0}throw this.pos--,new js__$Boot_HaxeError("Invalid char "+this.buf.charAt(this.pos)+" at position "+this.pos)},__class__:haxe_Unserializer};var haxe_crypto_Adler32=$hxClasses["haxe.crypto.Adler32"]=function(){this.a1=1,this.a2=0};haxe_crypto_Adler32.__name__=!0,haxe_crypto_Adler32.read=function(e){var t=new haxe_crypto_Adler32,a=e.readByte(),r=e.readByte(),i=e.readByte(),s=e.readByte();return t.a1=i<<8|s,t.a2=a<<8|r,t},haxe_crypto_Adler32.prototype={update:function(e,t,a){for(var r=this.a1,i=this.a2,s=t,n=t+a;s<n;){var _=s++;i=(i+(r=(r+e.b[_])%65521))%65521}this.a1=r,this.a2=i},equals:function(e){return e.a1==this.a1&&e.a2==this.a2},__class__:haxe_crypto_Adler32};var haxe_ds_IntMap=$hxClasses["haxe.ds.IntMap"]=function(){this.h={}};haxe_ds_IntMap.__name__=!0,haxe_ds_IntMap.__interfaces__=[haxe_IMap],haxe_ds_IntMap.prototype={__class__:haxe_ds_IntMap};var haxe_ds_ObjectMap=$hxClasses["haxe.ds.ObjectMap"]=function(){this.h={__keys__:{}}};haxe_ds_ObjectMap.__name__=!0,haxe_ds_ObjectMap.__interfaces__=[haxe_IMap],haxe_ds_ObjectMap.prototype={set:function(e,t){var a=e.__id__||(e.__id__=++haxe_ds_ObjectMap.count);this.h[a]=t,this.h.__keys__[a]=e},keys:function(){var e=[];for(var t in this.h.__keys__)this.h.hasOwnProperty(t)&&e.push(this.h.__keys__[t]);return HxOverrides.iter(e)},iterator:function(){return{ref:this.h,it:this.keys(),hasNext:function(){return this.it.hasNext()},next:function(){var e=this.it.next();return this.ref[e.__id__]}}},__class__:haxe_ds_ObjectMap};var haxe_ds__$StringMap_StringMapIterator=$hxClasses["haxe.ds._StringMap.StringMapIterator"]=function(e,t){this.map=e,this.keys=t,this.index=0,this.count=t.length};haxe_ds__$StringMap_StringMapIterator.__name__=!0,haxe_ds__$StringMap_StringMapIterator.prototype={hasNext:function(){return this.index<this.count},next:function(){var e=this.map,t=this.keys[this.index++];return null!=__map_reserved[t]?e.getReserved(t):e.h[t]},__class__:haxe_ds__$StringMap_StringMapIterator};var haxe_ds_StringMap=$hxClasses["haxe.ds.StringMap"]=function(){this.h={}};haxe_ds_StringMap.__name__=!0,haxe_ds_StringMap.__interfaces__=[haxe_IMap],haxe_ds_StringMap.prototype={setReserved:function(e,t){null==this.rh&&(this.rh={}),this.rh["$"+e]=t},getReserved:function(e){return null==this.rh?null:this.rh["$"+e]},existsReserved:function(e){return null!=this.rh&&this.rh.hasOwnProperty("$"+e)},remove:function(e){return null!=__map_reserved[e]?(e="$"+e,!(null==this.rh||!this.rh.hasOwnProperty(e))&&(delete this.rh[e],!0)):!!this.h.hasOwnProperty(e)&&(delete this.h[e],!0)},arrayKeys:function(){var e=[];for(var t in this.h)this.h.hasOwnProperty(t)&&e.push(t);if(null!=this.rh)for(var t in this.rh)36==t.charCodeAt(0)&&e.push(t.substr(1));return e},__class__:haxe_ds_StringMap};var haxe_io_Bytes=$hxClasses["haxe.io.Bytes"]=function(e){this.length=e.byteLength,this.b=new Uint8Array(e),this.b.bufferValue=e,e.hxBytes=this,e.bytes=this.b};haxe_io_Bytes.__name__=!0,haxe_io_Bytes.ofData=function(e){var t=e.hxBytes;return null!=t?t:new haxe_io_Bytes(e)},haxe_io_Bytes.prototype={blit:function(e,t,a,r){if(e<0||a<0||r<0||e+r>this.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<n;){var _=r[s++];if(_<128){if(0==_)break;a+=i(_)}else if(_<224)a+=i((63&_)<<6|127&r[s++]);else if(_<240)a+=i((31&_)<<12|(127&r[s++])<<6|127&r[s++]);else{var o=(15&_)<<18|(127&r[s++])<<12|(127&r[s++])<<6|127&r[s++];a+=i(55232+(o>>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.len<a&&(a=this.len);for(var r=this.b,i=e.b,s=0,n=a;s<n;){var _=s++;i[t+_]=r[this.pos+_]}return this.pos+=a,this.len-=a,a},__class__:haxe_io_BytesInput,__properties__:$extend(haxe_io_Input.prototype.__properties__,{set_position:"set_position"})});var haxe_io_Output=$hxClasses["haxe.io.Output"]=function(){};haxe_io_Output.__name__=!0,haxe_io_Output.prototype={writeByte:function(e){throw new js__$Boot_HaxeError("Not implemented")},writeBytes:function(e,t,a){if(t<0||a<0||t+a>e.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<n;){var _=s++;r.b.push(i[_])}return a},getBytes:function(){return this.b.getBytes()},__class__:haxe_io_BytesOutput});var haxe_io_Eof=$hxClasses["haxe.io.Eof"]=function(){};haxe_io_Eof.__name__=!0,haxe_io_Eof.prototype={toString:function(){return"Eof"},__class__:haxe_io_Eof};var haxe_io_Error=$hxClasses["haxe.io.Error"]={__ename__:!0,__constructs__:["Blocked","Overflow","OutsideBounds","Custom"]};haxe_io_Error.Blocked=["Blocked",0],haxe_io_Error.Blocked.toString=$estr,haxe_io_Error.Blocked.__enum__=haxe_io_Error,haxe_io_Error.Overflow=["Overflow",1],haxe_io_Error.Overflow.toString=$estr,haxe_io_Error.Overflow.__enum__=haxe_io_Error,haxe_io_Error.OutsideBounds=["OutsideBounds",2],haxe_io_Error.OutsideBounds.toString=$estr,haxe_io_Error.OutsideBounds.__enum__=haxe_io_Error,haxe_io_Error.Custom=function(e){var t=["Custom",3,e];return t.__enum__=haxe_io_Error,t.toString=$estr,t};var haxe_io_FPHelper=$hxClasses["haxe.io.FPHelper"]=function(){};haxe_io_FPHelper.__name__=!0,haxe_io_FPHelper.i32ToFloat=function(e){var t=1-(e>>>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+(r<i?r:i);case 2:throw new js__$Boot_HaxeError("assert")}},treeCompress:function(e){var t=this.treeDepth(e);if(0==t)return e;if(1==t){if(1==e[1]){var a=e[3],r=e[2];return haxe_zip_Huffman.NeedBit(this.treeCompress(r),this.treeCompress(a))}throw new js__$Boot_HaxeError("assert")}for(var i=[],s=0,n=1<<t;s<n;){s++;i.push(haxe_zip_Huffman.Found(-1))}return this.treeWalk(i,0,0,t,e),haxe_zip_Huffman.NeedBits(t,i)},treeWalk:function(e,t,a,r,i){if(1==i[1]){var s=i[3],n=i[2];r>0?(this.treeWalk(e,t,a+1,r-1,n),this.treeWalk(e,t|1<<a,a+1,r-1,s)):e[t]=this.treeCompress(i)}else e[t]=this.treeCompress(i)},treeMake:function(e,t,a,r){if(r>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<h;){var l=e[o+++t];if(l>=r)throw new js__$Boot_HaxeError("Invalid huffman");i[l]++}for(var c=0,d=1,u=r-1;d<u;){var p=d++;c=c+i[p]<<1,s[p]=c}for(var f=new haxe_ds_IntMap,g=0,m=a;g<m;){var v=g++,k=e[v+t];if(0!=k){var b=s[k-1];s[k-1]=b+1,f.h[b<<5|k]=v}}return this.treeCompress(haxe_zip_Huffman.NeedBit(this.treeMake(f,r,0,1),this.treeMake(f,r,1,1)))},__class__:haxe_zip_HuffTools};var haxe_zip__$InflateImpl_Window=$hxClasses["haxe.zip._InflateImpl.Window"]=function(e){this.buffer=new haxe_io_Bytes(new ArrayBuffer(65536)),this.pos=0,e&&(this.crc=new haxe_crypto_Adler32)};haxe_zip__$InflateImpl_Window.__name__=!0,haxe_zip__$InflateImpl_Window.prototype={slide:function(){null!=this.crc&&this.crc.update(this.buffer,0,32768);var e=new haxe_io_Bytes(new ArrayBuffer(65536));this.pos-=32768,e.blit(0,this.buffer,32768,this.pos),this.buffer=e},addBytes:function(e,t,a){this.pos+a>65536&&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;)this.bits|=this.input.readByte()<<this.nbits,this.nbits+=8;var t=this.bits&(1<<e)-1;return this.nbits-=e,this.bits>>=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<<e-1|this.getRevBits(e-1):this.getRevBits(e-1)},resetBits:function(){this.bits=0,this.nbits=0},addBytes:function(e,t,a){this.window.addBytes(e,t,a),this.output.blit(this.outpos,e,t,a),this.needed-=a,this.outpos+=a},addByte:function(e){this.window.addByte(e),this.output.b[this.outpos]=255&e,this.needed--,this.outpos++},addDistOne:function(e){for(var t=this.window.getLastChar(),a=0,r=e;a<r;){a++;this.addByte(t)}},addDist:function(e,t){this.addBytes(this.window.buffer,this.window.pos-e,t)},applyHuffman:function(e){switch(e[1]){case 0:return e[2];case 1:var t=e[3],a=e[2];return this.applyHuffman(this.getBit()?t:a);case 2:var r=e[3],i=e[2];return this.applyHuffman(r[this.getBits(i)])}},inflateLengths:function(e,t){for(var a=0,r=0;a<t;){var i=this.applyHuffman(this.huffman);switch(i){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:r=i,e[a]=i,++a;break;case 16:var s=a+3+this.getBits(2);if(s>t)throw new js__$Boot_HaxeError("Invalid data");for(;a<s;)e[a]=r,++a;break;case 17:if((a+=3+this.getBits(3))>t)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;_<o;){var h=_++;this.lengths[haxe_zip_InflateImpl.CODE_LENGTHS_POS[h]]=this.getBits(3)}for(var l=n;l<19;){var c=l++;this.lengths[haxe_zip_InflateImpl.CODE_LENGTHS_POS[c]]=0}this.huffman=this.htools.make(this.lengths,0,19,8);for(var d=[],u=0,p=i+s;u<p;){u++;d.push(0)}return this.inflateLengths(d,i+s),this.huffdist=this.htools.make(d,i,s,16),this.huffman=this.htools.make(d,0,i,16),this.state=haxe_zip__$InflateImpl_State.CData,!0;default:throw new js__$Boot_HaxeError("Invalid data")}break;case 2:var f=this.applyHuffman(this.huffman);if(f<256)return this.addByte(f),this.needed>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.len<this.needed?this.len:this.needed,k=this.input.read(v);return this.len-=v,this.addBytes(k,0,v),0==this.len&&(this.state=this.final?haxe_zip__$InflateImpl_State.Crc:haxe_zip__$InflateImpl_State.Block),this.needed>0;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.len<this.dist?this.len:this.dist,x=this.needed<S?this.needed:S;this.addDist(this.dist,x),this.len-=x}return 0==this.len&&(this.state=haxe_zip__$InflateImpl_State.CData),this.needed>0;case 6:var B=this.len<this.needed?this.len:this.needed;return this.addDistOne(B),this.len-=B,0==this.len&&(this.state=haxe_zip__$InflateImpl_State.CData),this.needed>0;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(e<r)throw new js__$Boot_HaxeError("Invalid extra fields data");if(28789==a){var i=this.i.readByte();if(1!=i){var s=new haxe_io_BytesBuffer;s.b.push(i);for(var n=this.i.read(r-1),_=(s.b,n.b),o=0,h=n.length;o<h;){var l=o++;s.b.push(_[l])}t.add(haxe_zip_ExtraField.FUnknown(a,s.getBytes()))}else{var c=this.i.readInt32(),d=this.i.read(r-5).toString();t.add(haxe_zip_ExtraField.FInfoZipUnicodePath(d,c))}}else t.add(haxe_zip_ExtraField.FUnknown(a,this.i.read(r)));e-=4+r}return t},readEntryHeader:function(){var e=this.i,t=e.readInt32();if(33639248==t||101010256==t)return null;if(67324752!=t)throw new js__$Boot_HaxeError("Invalid Zip Data");e.readUInt16();var a=e.readUInt16(),r=0!=(2048&a);if(0!=(63473&a))throw new js__$Boot_HaxeError("Unsupported flags "+a);var i=e.readUInt16(),s=0!=i;if(s&&8!=i)throw new js__$Boot_HaxeError("Unsupported compression "+i);var n=this.readZipDate(),_=e.readInt32(),o=e.readInt32(),h=e.readInt32(),l=e.readInt16(),c=e.readInt16(),d=e.readString(l),u=this.readExtraFields(c);r&&u.push(haxe_zip_ExtraField.FUtf8);return 0!=(8&a)&&(_=null),{fileName:d,fileSize:h,fileTime:n,compressed:s,dataSize:o,data:null,crc32:_,extraFields:u}},read:function(){for(var e=new List,t=null;;){var a=this.readEntryHeader();if(null==a)break;if(null==a.crc32){if(a.compressed){null==t&&(t=new haxe_io_Bytes(new ArrayBuffer(65536)));for(var r=new haxe_io_BytesBuffer,i=new haxe_zip_InflateImpl(this.i,!1,!1);;){var s=i.readBytes(t,0,65536);if(s<0||s>t.length)throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds);r.b;for(var n=t.b,_=0,o=s;_<o;){var h=_++;r.b.push(n[h])}if(s<65536)break}a.data=r.getBytes()}else a.data=this.i.read(a.dataSize);a.crc32=this.i.readInt32(),134695760==a.crc32&&(a.crc32=this.i.readInt32()),a.dataSize=this.i.readInt32(),a.fileSize=this.i.readInt32(),a.dataSize=a.fileSize,a.compressed=!1}else a.data=this.i.read(a.dataSize);e.add(a)}return e},__class__:haxe_zip_Reader};var haxe_zip_Uncompress=$hxClasses["haxe.zip.Uncompress"]=function(e){throw new js__$Boot_HaxeError("Not implemented for this platform")};haxe_zip_Uncompress.__name__=!0,haxe_zip_Uncompress.prototype={execute:function(e,t,a,r){return null},close:function(){},__class__:haxe_zip_Uncompress};var iron_App=$hxClasses["iron.App"]=function(e){e(),kha_System.notifyOnRender(iron_App.render),kha_Scheduler.addTimeTask(iron_App.update,0,.016666666666666666)};iron_App.__name__=!0,iron_App.w=function(){return kha_System.windowWidth()},iron_App.h=function(){return kha_System.windowHeight()},iron_App.init=function(e){new iron_App(e)},iron_App.reset=function(){iron_App.traitInits=[],iron_App.traitUpdates=[],iron_App.traitLateUpdates=[],iron_App.traitRenders=[],iron_App.traitRenders2D=[],iron_system_Input.reset(),iron_system_Tween.reset()},iron_App.update=function(){if(iron_system_Tween.update(),iron_system_Time.update(),null!=iron_Scene.active&&iron_Scene.active.updateFrame(),iron_App.traitInits.length>0){for(var e=0,t=iron_App.traitInits;e<t.length;){var a=t[e];if(++e,0==iron_App.traitInits.length)break;a(),a=null}iron_App.traitInits.splice(0,iron_App.traitInits.length)}for(var r=0,i=iron_App.traitUpdates;r<i.length;){var s=i[r];if(++r,0==iron_App.traitUpdates.length)break;s()}for(var n=0,_=iron_App.traitLateUpdates;n<_.length;){var o=_[n];if(++n,0==iron_App.traitLateUpdates.length)break;o()}iron_system_Input.endFrame()},iron_App.render=function(e){if(iron_App.traitInits.length>0){for(var t=0,a=iron_App.traitInits;t<a.length;){var r=a[t];if(++t,0==iron_App.traitInits.length)break;r(),r=null}iron_App.traitInits.splice(0,iron_App.traitInits.length)}null!=iron_Scene.active&&iron_Scene.active.renderFrame(e.get_g4());for(var i=0,s=iron_App.traitRenders;i<s.length;){var n=s[i];if(++i,0==iron_App.traitRenders.length)break;n(e.get_g4())}e.get_g2().begin(!1);for(var _=0,o=iron_App.traitRenders2D;_<o.length;){var h=o[_];if(++_,0==iron_App.traitRenders2D.length)break;h(e.get_g2())}e.get_g2().end()},iron_App.notifyOnInit=function(e){iron_App.traitInits.push(e)},iron_App.removeInit=function(e){HxOverrides.remove(iron_App.traitInits,e)},iron_App.notifyOnUpdate=function(e){iron_App.traitUpdates.push(e)},iron_App.removeUpdate=function(e){HxOverrides.remove(iron_App.traitUpdates,e)},iron_App.notifyOnLateUpdate=function(e){iron_App.traitLateUpdates.push(e)},iron_App.removeLateUpdate=function(e){HxOverrides.remove(iron_App.traitLateUpdates,e)},iron_App.notifyOnRender=function(e){iron_App.traitRenders.push(e)},iron_App.removeRender=function(e){HxOverrides.remove(iron_App.traitRenders,e)},iron_App.notifyOnRender2D=function(e){iron_App.traitRenders2D.push(e)},iron_App.removeRender2D=function(e){HxOverrides.remove(iron_App.traitRenders2D,e)},iron_App.prototype={__class__:iron_App};var iron_Scene=$hxClasses["iron.Scene"]=function(){this.traitInits=[],this.sceneStream=null,this.meshBatch=null,this.greasePencil=null,this.meshes=[],this.lamps=[],this.cameras=[],this.speakers=[],this.decals=[],this.empties=[],this.animations=[],this.embedded=new haxe_ds_StringMap,this.root=new iron_object_Object,this.traitInits=[]};iron_Scene.__name__=!0,iron_Scene.create=function(e,t){iron_Scene.active=new iron_Scene,iron_Scene.active.ready=!1,iron_Scene.active.raw=e,iron_data_Data.getWorld(e.name,e.world_ref,function(a){iron_Scene.active.world=a,iron_Scene.active.addScene(e.name,null,function(a){0==iron_Scene.active.cameras.length&&(haxe_Log.trace('No camera found for scene "'+Std.string(e)+'.name"!',{fileName:"Scene.hx",lineNumber:84,className:"iron.Scene",methodName:"create"}),t(null)),iron_Scene.active.camera=iron_Scene.active.getCamera(e.camera_ref),t(a);for(var r=0,i=iron_Scene.active.traitInits;r<i.length;){var s=i[r];++r,s()}iron_Scene.active.traitInits=[]})})},iron_Scene.patch=function(){},iron_Scene.patchTrait=function(e){},iron_Scene.setActive=function(e,t){null!=iron_Scene.active&&iron_Scene.active.remove(),iron_data_Data.getSceneRaw(e,function(e){iron_Scene.create(e,function(e){null!=t&&t(e),iron_Scene.active.ready=!0})})},iron_Scene.generateTranform=function(e,t){t.world=iron_math_Mat4.fromFloat32Array(e.transform.values),t.world.decompose(t.loc,t.rot,t.scale),null!=e.local_transform_only&&(t.localOnly=e.local_transform_only),null!=t.object.parent&&t.update()},iron_Scene.setupAnimation=function(e,t){null!=e&&t.setupAnimation(e)},iron_Scene.createTraits=function(e,t){if(null!=e)for(var a=0;a<e.length;){var r=e[a];if(++a,"Script"==r.type){var i=[];if(null!=r.parameters)for(var s=0,n=r.parameters;s<n.length;){var _=n[s];++s,i.push(iron_Scene.parseArg(_))}var o=iron_Scene.createTraitClassInstance(r.class_name,i);if(null==o){haxe_Log.trace("Error: Trait '"+r.class_name+"' referenced in object '"+t.name+"' not found",{fileName:"Scene.hx",lineNumber:507,className:"iron.Scene",methodName:"createTraits"});continue}t.addTrait(o)}}},iron_Scene.parseArg=function(e){if("true"==e)return!0;if("false"==e)return!1;if("'"==e.charAt(0))return StringTools.replace(e,"'","");if("["==e.charAt(0)){e=StringTools.replace(e,"[",""),e=StringTools.replace(e,"]","");for(var t=[],a=(e=StringTools.replace(e," ","")).split(","),r=0;r<a.length;){var i=a[r];++r,t.push(iron_Scene.parseArg(i))}return t}var s=parseFloat(e),n=Std.parseInt(e);return s==n?n:s},iron_Scene.createConstraints=function(e,t){if(null!=e){t.constraints=[];for(var a=0;a<e.length;){var r=e[a];++a;var i=new iron_object_Constraint(r);t.constraints.push(i)}}},iron_Scene.createTraitClassInstance=function(e,t){var a=Type.resolveClass(e);return null==a?null:Type.createInstance(a,t)},iron_Scene.prototype={remove:function(){null!=this.meshBatch&&this.meshBatch.remove();for(var e=0,t=this.meshes;e<t.length;){var a=t[e];++e,a.remove()}for(var r=0,i=this.lamps;r<i.length;){var s=i[r];++r,s.remove()}for(var n=0,_=this.cameras;n<_.length;){var o=_[n];++n,o.remove()}for(var h=0,l=this.speakers;h<l.length;){var c=l[h];++h,c.remove()}for(var d=0,u=this.decals;d<u.length;){var p=u[d];++d,p.remove()}this.root.remove()},updateFrame:function(){if(this.ready)for(var e=0,t=this.animations;e<t.length;){var a=t[e];++e,a.update(.016666666666666666)}},renderFrame:function(e){if(this.ready){for(var t=0,a=this.empties;t<a.length;){var r=a[t];++t,null!=r&&null!=r.parent&&r.transform.update()}for(var i=this.camera,s=0,n=this.cameras;s<n.length;){var _=n[s];++s,null!=_.data.mirror&&(this.camera=_,this.camera.renderFrame(e,this.root,this.lamps))}this.camera=i,this.camera.renderFrame(e,this.root,this.lamps)}},addObject:function(e){var t=new iron_object_Object;return null!=e?e.addChild(t):this.root.addChild(t),t},getChild:function(e){return this.root.getChild(e)},getMesh:function(e){for(var t=0,a=this.meshes;t<a.length;){var r=a[t];if(++t,r.name==e)return r}return null},getLamp:function(e){for(var t=0,a=this.lamps;t<a.length;){var r=a[t];if(++t,r.name==e)return r}return null},getCamera:function(e){for(var t=0,a=this.cameras;t<a.length;){var r=a[t];if(++t,r.name==e)return r}return null},getSpeaker:function(e){for(var t=0,a=this.speakers;t<a.length;){var r=a[t];if(++t,r.name==e)return r}return null},getEmpty:function(e){for(var t=0,a=this.empties;t<a.length;){var r=a[t];if(++t,r.name==e)return r}return null},addMeshObject:function(e,t,a){var r=new iron_object_MeshObject(e,t);return null!=a?a.addChild(r):this.root.addChild(r),r},addLampObject:function(e,t){var a=new iron_object_LampObject(e);return null!=t?t.addChild(a):this.root.addChild(a),a},addCameraObject:function(e,t){var a=new iron_object_CameraObject(e);return null!=t?t.addChild(a):this.root.addChild(a),a},addSpeakerObject:function(e,t){var a=new iron_object_SpeakerObject(e);return null!=t?t.addChild(a):this.root.addChild(a),a},addDecalObject:function(e,t){var a=new iron_object_DecalObject(e);return null!=t?t.addChild(a):this.root.addChild(a),a},addScene:function(e,t,a){var r=this;null==t&&(t=this.addObject()),iron_data_Data.getSceneRaw(e,function(i){iron_Scene.createTraits(i.traits,t),r.loadEmbeddedData(i.embedded_datas,function(){if(null!=i.grease_pencil_ref){var s=i.grease_pencil_ref.split("/"),n="",_="";2==s.length?(n=s[0],_=s[1]):(n=e,_=i.grease_pencil_ref),iron_data_Data.getGreasePencil(n,_,function(e){r.greasePencil=e})}r.objectsTraversed=0;var o=[],h=i.objects,l=r.getObjectsCount(i.objects);r.traverseObjects(i,t,h,null,o,function(){for(var e=0;e<o.length;){var s=o[e];++e,r.setupGroup(s,i)}a(t)},l)})})},getObjectsCount:function(e){for(var t=e.length,a=0;a<e.length;){var r=e[a];++a,null!=r.spawn&&0==r.spawn||null!=r.children&&(t+=this.getObjectsCount(r.children))}return t},traverseObjects:function(e,t,a,r,i,s,n){var _=this;if(null!=a)for(var o=0,h=a.length;o<h;){var l=[a[o++]];if(null==l[0].spawn||0!=l[0].spawn){var c=l[0],d=function(t){return function(a){null!=t[0].group_ref&&i.push(a),null!=a&&_.traverseObjects(e,a,t[0].children,t[0],i,s,n),_.objectsTraversed++,_.objectsTraversed==n&&s()}}(l);this.createObject(c,e,t,r,d)}else++this.objectsTraversed==n&&s()}},spawnObject:function(e,t,a){this.createObject(this.getObj(this.raw,e),this.raw,t,null,a)},parseObject:function(e,t,a,r){var i=this;iron_data_Data.getSceneRaw(e,function(e){var s=i.getObj(e,t);null==s&&r(null),i.createObject(s,e,a,null,r)})},getObj:function(e,t){return this.traverseObjs(e.objects,t)},traverseObjs:function(e,t){for(var a=0;a<e.length;){var r=e[a];if(++a,r.name==t)return r;if(null!=r.children){var i=this.traverseObjs(r.children,t);if(null!=i)return i}}return null},createObject:function(e,t,a,r,i){var s=this,n=t.name;if("camera_object"==e.type)iron_data_Data.getCamera(n,e.data_ref,function(t){var r=s.addCameraObject(t,a);s.returnObject(r,e,i)});else if("lamp_object"==e.type)iron_data_Data.getLamp(n,e.data_ref,function(t){var r=s.addLampObject(t,a);s.returnObject(r,e,i)});else if("mesh_object"==e.type)if(0==e.material_refs.length){var _=this.addObject(a);null!=e.dimensions&&_.transform.setDimensions(e.dimensions[0],e.dimensions[1],e.dimensions[2]),this.returnObject(_,e,i)}else for(var o=e.material_refs.length,h=new Array(o),l=0,c=0,d=e.material_refs.length;c<d;){var u=[c++],p=e.material_refs[u[0]],f=function(t){return function(_){if(h[t[0]]=_,(l+=1)==e.material_refs.length){var o=e.data_ref.split("/"),c="",d="";2==o.length?(c=o[0],d=o[1]):(c=n,d=e.data_ref),null!=r&&null!=r.bones_ref?iron_data_Data.getSceneRaw(r.bones_ref,function(t){var r=t.objects;s.returnMeshObject(c,d,n,r,h,a,e,i)}):s.returnMeshObject(c,d,n,null,h,a,e,i)}}}(u);iron_data_Data.getMaterial(n,p,f)}else if("speaker_object"==e.type){var g=this.addSpeakerObject(iron_data_Data.getSpeakerRawByName(t.speaker_datas,e.data_ref),a);this.returnObject(g,e,i)}else if("decal_object"==e.type)if(null!=e.material_refs&&e.material_refs.length>0)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;r<i.length;){var s=i[r];if(++r,s.name==a.group_ref){e.group=[];for(var n=0,_=s.object_refs;n<_.length;){var o=_[n];++n,e.group.push(this.getChild(o))}break}}},loadEmbeddedData:function(e,t){var a=this;if(null!=e)for(var r=0,i=0;i<e.length;){var s=[e[i]];++i,iron_data_Data.getImage(s[0],function(i){return function(s){var n=a.embedded;null!=__map_reserved[i[0]]?n.setReserved(i[0],s):n.h[i[0]]=s,(r+=1)==e.length&&t()}}(s))}else t()},notifyOnInit:function(e){this.ready?e():this.traitInits.push(e)},removeInit:function(e){HxOverrides.remove(this.traitInits,e)},toString:function(){return"Scene "+this.raw.name},__class__:iron_Scene};var iron_Trait=$hxClasses["iron.Trait"]=function(){this._render2D=null,this._render=null,this._lateUpdate=null,this._update=null,this._remove=null,this._init=null,this._add=null,this.name=""};iron_Trait.__name__=!0,iron_Trait.prototype={remove:function(){this.object.removeTrait(this)},notifyOnAdd:function(e){null==this._add&&(this._add=[]),this._add.push(e)},notifyOnInit:function(e){null==this._init&&(this._init=[]),this._init.push(e),iron_App.notifyOnInit(e)},notifyOnRemove:function(e){null==this._remove&&(this._remove=[]),this._remove.push(e)},notifyOnUpdate:function(e){null==this._update&&(this._update=[]),this._update.push(e),iron_App.notifyOnUpdate(e)},removeUpdate:function(e){HxOverrides.remove(this._update,e),iron_App.removeUpdate(e)},notifyOnLateUpdate:function(e){null==this._lateUpdate&&(this._lateUpdate=[]),this._lateUpdate.push(e),iron_App.notifyOnLateUpdate(e)},removeLateUpdate:function(e){HxOverrides.remove(this._lateUpdate,e),iron_App.removeLateUpdate(e)},notifyOnRender:function(e){null==this._render&&(this._render=[]),this._render.push(e),iron_App.notifyOnRender(e)},removeRender:function(e){HxOverrides.remove(this._render,e),iron_App.removeRender(e)},notifyOnRender2D:function(e){null==this._render2D&&(this._render2D=[]),this._render2D.push(e),iron_App.notifyOnRender2D(e)},removeRender2D:function(e){HxOverrides.remove(this._render2D,e),iron_App.removeRender2D(e)},__class__:iron_Trait};var iron_data_Data=$hxClasses["iron.data.Data"]=function(){};iron_data_Data.__name__=!0,iron_data_Data.deleteAll=function(){for(var e=iron_data_Data.cachedMeshes,t=new haxe_ds__$StringMap_StringMapIterator(e,e.arrayKeys());t.hasNext();)t.next().delete();iron_data_Data.cachedMeshes=new haxe_ds_StringMap;for(var a=iron_data_Data.cachedShaders,r=new haxe_ds__$StringMap_StringMapIterator(a,a.arrayKeys());r.hasNext();)r.next().delete();iron_data_Data.cachedShaders=new haxe_ds_StringMap,iron_data_Data.cachedSceneRaws=new haxe_ds_StringMap,iron_data_Data.cachedLamps=new haxe_ds_StringMap,iron_data_Data.cachedCameras=new haxe_ds_StringMap;for(var i=iron_data_Data.cachedRenderPaths,s=new haxe_ds__$StringMap_StringMapIterator(i,i.arrayKeys());s.hasNext();)s.next().unload();iron_data_Data.cachedRenderPaths=new haxe_ds_StringMap,iron_data_Data.cachedMaterials=new haxe_ds_StringMap,iron_data_Data.cachedParticles=new haxe_ds_StringMap,iron_data_Data.cachedWorlds=new haxe_ds_StringMap,iron_data_Data.cachedGreasePencils=new haxe_ds_StringMap;for(var n=iron_data_Data.cachedBlobs,_=new haxe_ds__$StringMap_StringMapIterator(n,n.arrayKeys());_.hasNext();)_.next().unload();iron_data_Data.cachedBlobs=new haxe_ds_StringMap;for(var o=iron_data_Data.cachedImages,h=new haxe_ds__$StringMap_StringMapIterator(o,o.arrayKeys());h.hasNext();)h.next().unload();iron_data_Data.cachedImages=new haxe_ds_StringMap;for(var l=iron_data_Data.cachedSounds,c=new haxe_ds__$StringMap_StringMapIterator(l,l.arrayKeys());c.hasNext();)c.next().unload();iron_data_Data.cachedSounds=new haxe_ds_StringMap;for(var d=iron_data_Data.cachedVideos,u=new haxe_ds__$StringMap_StringMapIterator(d,d.arrayKeys());u.hasNext();)u.next().unload();iron_data_Data.cachedVideos=new haxe_ds_StringMap;for(var p=iron_data_Data.cachedFonts,f=new haxe_ds__$StringMap_StringMapIterator(p,p.arrayKeys());f.hasNext();)f.next().unload();iron_data_Data.cachedFonts=new haxe_ds_StringMap},iron_data_Data.clearSceneData=function(){iron_data_Data.cachedSceneRaws=new haxe_ds_StringMap,iron_data_Data.cachedMeshes=new haxe_ds_StringMap,iron_data_Data.cachedLamps=new haxe_ds_StringMap,iron_data_Data.cachedMaterials=new haxe_ds_StringMap,iron_data_Data.cachedRenderPaths=new haxe_ds_StringMap,iron_data_Data.cachedCameras=new haxe_ds_StringMap,iron_data_Data.cachedParticles=new haxe_ds_StringMap,iron_data_Data.cachedWorlds=new haxe_ds_StringMap,iron_data_Data.cachedShaders=new haxe_ds_StringMap,iron_data_Data.cachedBlobs=new haxe_ds_StringMap},iron_data_Data.getMesh=function(e,t,a,r){var i=e+t,s=iron_data_Data.cachedMeshes,n=null!=__map_reserved[i]?s.getReserved(i):s.h[i];if(null==n){var _=iron_data_Data.loadingMeshes,o=null!=__map_reserved[i]?_.getReserved(i):_.h[i];if(null==o){var h=iron_data_Data.loadingMeshes,l=e+t,c=[r];null!=__map_reserved[l]?h.setReserved(l,c):h.h[l]=c,iron_data_MeshData.parse(e,t,a,function(a){var r=iron_data_Data.cachedMeshes,s=e+t;null!=__map_reserved[s]?r.setReserved(s,a):r.h[s]=a,a.handle=i;for(var n=0,_=iron_data_Data.loadingMeshes,o=e+t,h=null!=__map_reserved[o]?_.getReserved(o):_.h[o];n<h.length;){var l=h[n];++n,l(a)}iron_data_Data.loadingMeshes.remove(e+t)})}else o.push(r)}else r(n)},iron_data_Data.deleteMesh=function(e){var t=iron_data_Data.cachedMeshes,a=null!=__map_reserved[e]?t.getReserved(e):t.h[e];null!=a&&(a.delete(),iron_data_Data.cachedMeshes.remove(e))},iron_data_Data.getLamp=function(e,t,a){var r=iron_data_Data.cachedLamps,i=e+t,s=null!=__map_reserved[i]?r.getReserved(i):r.h[i];if(null==s){var n=iron_data_Data.loadingLamps,_=e+t,o=null!=__map_reserved[_]?n.getReserved(_):n.h[_];if(null==o){var h=iron_data_Data.loadingLamps,l=e+t,c=[a];null!=__map_reserved[l]?h.setReserved(l,c):h.h[l]=c,iron_data_LampData.parse(e,t,function(a){var r=iron_data_Data.cachedLamps,i=e+t;null!=__map_reserved[i]?r.setReserved(i,a):r.h[i]=a;for(var s=0,n=iron_data_Data.loadingLamps,_=e+t,o=null!=__map_reserved[_]?n.getReserved(_):n.h[_];s<o.length;){var h=o[s];++s,h(a)}iron_data_Data.loadingLamps.remove(e+t)})}else o.push(a)}else a(s)},iron_data_Data.getCamera=function(e,t,a){var r=iron_data_Data.cachedCameras,i=e+t,s=null!=__map_reserved[i]?r.getReserved(i):r.h[i];if(null==s){var n=iron_data_Data.loadingCameras,_=e+t,o=null!=__map_reserved[_]?n.getReserved(_):n.h[_];if(null==o){var h=iron_data_Data.loadingCameras,l=e+t,c=[a];null!=__map_reserved[l]?h.setReserved(l,c):h.h[l]=c,iron_data_CameraData.parse(e,t,function(a){var r=iron_data_Data.cachedCameras,i=e+t;null!=__map_reserved[i]?r.setReserved(i,a):r.h[i]=a;for(var s=0,n=iron_data_Data.loadingCameras,_=e+t,o=null!=__map_reserved[_]?n.getReserved(_):n.h[_];s<o.length;){var h=o[s];++s,h(a)}iron_data_Data.loadingCameras.remove(e+t)})}else o.push(a)}else a(s)},iron_data_Data.getRenderPath=function(e,t,a){var r=iron_data_Data.cachedRenderPaths,i=e+t,s=null!=__map_reserved[i]?r.getReserved(i):r.h[i];if(null==s){var n=iron_data_Data.loadingRenderPaths,_=e+t,o=null!=__map_reserved[_]?n.getReserved(_):n.h[_];if(null==o){var h=iron_data_Data.loadingRenderPaths,l=e+t,c=[a];null!=__map_reserved[l]?h.setReserved(l,c):h.h[l]=c,iron_data_RenderPathData.parse(e,t,function(a){var r=iron_data_Data.cachedRenderPaths,i=e+t;null!=__map_reserved[i]?r.setReserved(i,a):r.h[i]=a;for(var s=0,n=iron_data_Data.loadingRenderPaths,_=e+t,o=null!=__map_reserved[_]?n.getReserved(_):n.h[_];s<o.length;){var h=o[s];++s,h(a)}iron_data_Data.loadingRenderPaths.remove(e+t)})}else o.push(a)}else a(s)},iron_data_Data.getMaterial=function(e,t,a){var r=iron_data_Data.cachedMaterials,i=e+t,s=null!=__map_reserved[i]?r.getReserved(i):r.h[i];if(null==s){var n=iron_data_Data.loadingMaterials,_=e+t,o=null!=__map_reserved[_]?n.getReserved(_):n.h[_];if(null==o){var h=iron_data_Data.loadingMaterials,l=e+t,c=[a];null!=__map_reserved[l]?h.setReserved(l,c):h.h[l]=c,iron_data_MaterialData.parse(e,t,function(a){var r=iron_data_Data.cachedMaterials,i=e+t;null!=__map_reserved[i]?r.setReserved(i,a):r.h[i]=a;for(var s=0,n=iron_data_Data.loadingMaterials,_=e+t,o=null!=__map_reserved[_]?n.getReserved(_):n.h[_];s<o.length;){var h=o[s];++s,h(a)}iron_data_Data.loadingMaterials.remove(e+t)})}else o.push(a)}else a(s)},iron_data_Data.getParticle=function(e,t,a){var r=iron_data_Data.cachedParticles,i=e+t,s=null!=__map_reserved[i]?r.getReserved(i):r.h[i];if(null==s){var n=iron_data_Data.loadingParticles,_=e+t,o=null!=__map_reserved[_]?n.getReserved(_):n.h[_];if(null==o){var h=iron_data_Data.loadingParticles,l=e+t,c=[a];null!=__map_reserved[l]?h.setReserved(l,c):h.h[l]=c,iron_data_ParticleData.parse(e,t,function(a){var r=iron_data_Data.cachedParticles,i=e+t;null!=__map_reserved[i]?r.setReserved(i,a):r.h[i]=a;for(var s=0,n=iron_data_Data.loadingParticles,_=e+t,o=null!=__map_reserved[_]?n.getReserved(_):n.h[_];s<o.length;){var h=o[s];++s,h(a)}iron_data_Data.loadingParticles.remove(e+t)})}else o.push(a)}else a(s)},iron_data_Data.getWorld=function(e,t,a){if(null!=t){var r=iron_data_Data.cachedWorlds,i=e+t,s=null!=__map_reserved[i]?r.getReserved(i):r.h[i];if(null==s){var n=iron_data_Data.loadingWorlds,_=e+t,o=null!=__map_reserved[_]?n.getReserved(_):n.h[_];if(null==o){var h=iron_data_Data.loadingWorlds,l=e+t,c=[a];null!=__map_reserved[l]?h.setReserved(l,c):h.h[l]=c,iron_data_WorldData.parse(e,t,function(a){var r=iron_data_Data.cachedWorlds,i=e+t;null!=__map_reserved[i]?r.setReserved(i,a):r.h[i]=a;for(var s=0,n=iron_data_Data.loadingWorlds,_=e+t,o=null!=__map_reserved[_]?n.getReserved(_):n.h[_];s<o.length;){var h=o[s];++s,h(a)}iron_data_Data.loadingWorlds.remove(e+t)})}else o.push(a)}else a(s)}else a(null)},iron_data_Data.getGreasePencil=function(e,t,a){var r=iron_data_Data.cachedGreasePencils,i=e+t,s=null!=__map_reserved[i]?r.getReserved(i):r.h[i];if(null==s){var n=iron_data_Data.loadingGreasePencils,_=e+t,o=null!=__map_reserved[_]?n.getReserved(_):n.h[_];if(null==o){var h=iron_data_Data.loadingGreasePencils,l=e+t,c=[a];null!=__map_reserved[l]?h.setReserved(l,c):h.h[l]=c,iron_data_GreasePencilData.parse(e,t,function(a){var r=iron_data_Data.cachedGreasePencils,i=e+t;null!=__map_reserved[i]?r.setReserved(i,a):r.h[i]=a;for(var s=0,n=iron_data_Data.loadingGreasePencils,_=e+t,o=null!=__map_reserved[_]?n.getReserved(_):n.h[_];s<o.length;){var h=o[s];++s,h(a)}iron_data_Data.loadingGreasePencils.remove(e+t)})}else o.push(a)}else a(s)},iron_data_Data.getShader=function(e,t,a,r){var i=t;null!=a&&(i+="2");var s=iron_data_Data.cachedShaders,n=null!=__map_reserved[i]?s.getReserved(i):s.h[i];if(null==n){var _=iron_data_Data.loadingShaders,o=null!=__map_reserved[i]?_.getReserved(i):_.h[i];if(null==o){var h=iron_data_Data.loadingShaders,l=[r];null!=__map_reserved[i]?h.setReserved(i,l):h.h[i]=l,iron_data_ShaderData.parse(e,t,a,function(e){var t=iron_data_Data.cachedShaders;null!=__map_reserved[i]?t.setReserved(i,e):t.h[i]=e;for(var a=0,r=iron_data_Data.loadingShaders,s=null!=__map_reserved[i]?r.getReserved(i):r.h[i];a<s.length;){var n=s[a];++a,n(e)}iron_data_Data.loadingShaders.remove(i)})}else o.push(r)}else r(n)},iron_data_Data.getSceneRaw=function(e,t){var a=iron_data_Data.cachedSceneRaws,r=null!=__map_reserved[e]?a.getReserved(e):a.h[e];if(null==r){var i=iron_data_Data.loadingSceneRaws,s=null!=__map_reserved[e]?i.getReserved(e):i.h[e];if(null==s){var n=iron_data_Data.loadingSceneRaws,_=[t];null!=__map_reserved[e]?n.setReserved(e,_):n.h[e]=_;var o=StringTools.endsWith(e,".zip"),h=o||StringTools.endsWith(e,".arm")?"":".arm";iron_data_Data.getBlob(e+h,function(t){if(o){var a=new haxe_io_BytesInput(t.toBytes()),r=haxe_zip_Reader.readZip(a).first();if(null==r)return void haxe_Log.trace("Failed to uncompress "+e,{fileName:"Data.hx",lineNumber:261,className:"iron.data.Data",methodName:"getSceneRaw"});t=r.compressed?kha_internal_BytesBlob.fromBytes(haxe_zip_Reader.unzip(r)):kha_internal_BytesBlob.fromBytes(r.data)}var i,s=t.toString();if("{"==s.charAt(0))i=JSON.parse(s);else{var n=new haxe_io_BytesInput(t.toBytes());n.set_bigEndian(!0),i=iron_system_ArmPack.read(n)}iron_data_Data.returnSceneRaw(e,i)})}else s.push(t)}else t(r)},iron_data_Data.returnSceneRaw=function(e,t){var a=iron_data_Data.cachedSceneRaws;null!=__map_reserved[e]?a.setReserved(e,t):a.h[e]=t;for(var r=0,i=iron_data_Data.loadingSceneRaws,s=null!=__map_reserved[e]?i.getReserved(e):i.h[e];r<s.length;){var n=s[r];++r,n(t)}iron_data_Data.loadingSceneRaws.remove(e)},iron_data_Data.getMeshRawByName=function(e,t){if(""==t)return e[0];for(var a=0;a<e.length;){var r=e[a];if(++a,r.name==t)return r}return null},iron_data_Data.getLampRawByName=function(e,t){if(""==t)return e[0];for(var a=0;a<e.length;){var r=e[a];if(++a,r.name==t)return r}return null},iron_data_Data.getCameraRawByName=function(e,t){if(""==t)return e[0];for(var a=0;a<e.length;){var r=e[a];if(++a,r.name==t)return r}return null},iron_data_Data.getRenderPathRawByName=function(e,t){if(""==t)return e[0];for(var a=0;a<e.length;){var r=e[a];if(++a,r.name==t)return r}return null},iron_data_Data.getMaterialRawByName=function(e,t){if(""==t)return e[0];for(var a=0;a<e.length;){var r=e[a];if(++a,r.name==t)return r}return null},iron_data_Data.getParticleRawByName=function(e,t){if(""==t)return e[0];for(var a=0;a<e.length;){var r=e[a];if(++a,r.name==t)return r}return null},iron_data_Data.getWorldRawByName=function(e,t){if(""==t)return e[0];for(var a=0;a<e.length;){var r=e[a];if(++a,r.name==t)return r}return null},iron_data_Data.getGreasePencilRawByName=function(e,t){if(""==t)return e[0];for(var a=0;a<e.length;){var r=e[a];if(++a,r.name==t)return r}return null},iron_data_Data.getShaderRawByName=function(e,t){if(""==t)return e[0];for(var a=0;a<e.length;){var r=e[a];if(++a,r.name==t)return r}return null},iron_data_Data.getSpeakerRawByName=function(e,t){if(""==t)return e[0];for(var a=0;a<e.length;){var r=e[a];if(++a,r.name==t)return r}return null},iron_data_Data.getBlob=function(e,t){var a=iron_data_Data.cachedBlobs,r=null!=__map_reserved[e]?a.getReserved(e):a.h[e];if(null==r){var i=iron_data_Data.loadingBlobs,s=null!=__map_reserved[e]?i.getReserved(e):i.h[e];if(null==s){var n=iron_data_Data.loadingBlobs,_=[t];null!=__map_reserved[e]?n.setReserved(e,_):n.h[e]=_;var o={files:[e]};kha_LoaderImpl.loadBlobFromDescription(o,function(t){var a=iron_data_Data.cachedBlobs;null!=__map_reserved[e]?a.setReserved(e,t):a.h[e]=t;for(var r=0,i=iron_data_Data.loadingBlobs,s=null!=__map_reserved[e]?i.getReserved(e):i.h[e];r<s.length;){var n=s[r];++r,n(t)}iron_data_Data.loadingBlobs.remove(e),iron_data_Data.assetsLoaded++})}else s.push(t)}else t(r)},iron_data_Data.getImage=function(e,t,a,r){null==r&&(r="RGBA32"),null==a&&(a=!1);var i=iron_data_Data.cachedImages,s=null!=__map_reserved[e]?i.getReserved(e):i.h[e];if(null==s){var n=iron_data_Data.loadingImages,_=null!=__map_reserved[e]?n.getReserved(e):n.h[e];if(null==_){var o=iron_data_Data.loadingImages,h=[t];null!=__map_reserved[e]?o.setReserved(e,h):o.h[e]=h;var l={files:[e],readable:a,format:r};kha_LoaderImpl.loadImageFromDescription(l,function(t){var a=iron_data_Data.cachedImages;null!=__map_reserved[e]?a.setReserved(e,t):a.h[e]=t;for(var r=0,i=iron_data_Data.loadingImages,s=null!=__map_reserved[e]?i.getReserved(e):i.h[e];r<s.length;){var n=s[r];++r,n(t)}iron_data_Data.loadingImages.remove(e),iron_data_Data.assetsLoaded++})}else _.push(t)}else t(s)},iron_data_Data.getSound=function(e,t){StringTools.endsWith(e,".wav")&&(e=e.substring(0,e.length-4)+".ogg");var a=iron_data_Data.cachedSounds,r=null!=__map_reserved[e]?a.getReserved(e):a.h[e];if(null==r){var i=iron_data_Data.loadingSounds,s=null!=__map_reserved[e]?i.getReserved(e):i.h[e];if(null==s){var n=iron_data_Data.loadingSounds,_=[t];null!=__map_reserved[e]?n.setReserved(e,_):n.h[e]=_;var o={files:[e]};kha_LoaderImpl.loadSoundFromDescription(o,function(t){t.uncompress(function(){var a=iron_data_Data.cachedSounds;null!=__map_reserved[e]?a.setReserved(e,t):a.h[e]=t;for(var r=0,i=iron_data_Data.loadingSounds,s=null!=__map_reserved[e]?i.getReserved(e):i.h[e];r<s.length;){var n=s[r];++r,n(t)}iron_data_Data.loadingSounds.remove(e),iron_data_Data.assetsLoaded++})})}else s.push(t)}else t(r)},iron_data_Data.getVideo=function(e,t){var a=iron_data_Data.cachedVideos,r=null!=__map_reserved[e]?a.getReserved(e):a.h[e];if(null==r){var i=iron_data_Data.loadingVideos,s=null!=__map_reserved[e]?i.getReserved(e):i.h[e];if(null==s){var n=iron_data_Data.loadingVideos,_=[t];null!=__map_reserved[e]?n.setReserved(e,_):n.h[e]=_;var o={files:[e]};kha_LoaderImpl.loadVideoFromDescription(o,function(t){var a=iron_data_Data.cachedVideos;null!=__map_reserved[e]?a.setReserved(e,t):a.h[e]=t;for(var r=0,i=iron_data_Data.loadingVideos,s=null!=__map_reserved[e]?i.getReserved(e):i.h[e];r<s.length;){var n=s[r];++r,n(t)}iron_data_Data.loadingVideos.remove(e),iron_data_Data.assetsLoaded++})}else s.push(t)}else t(r)},iron_data_Data.getFont=function(e,t){var a=iron_data_Data.cachedFonts,r=null!=__map_reserved[e]?a.getReserved(e):a.h[e];if(null==r){var i=iron_data_Data.loadingFonts,s=null!=__map_reserved[e]?i.getReserved(e):i.h[e];if(null==s){var n=iron_data_Data.loadingFonts,_=[t];null!=__map_reserved[e]?n.setReserved(e,_):n.h[e]=_;var o={files:[e]};kha_LoaderImpl.loadFontFromDescription(o,function(t){var a=iron_data_Data.cachedFonts;null!=__map_reserved[e]?a.setReserved(e,t):a.h[e]=t;for(var r=0,i=iron_data_Data.loadingFonts,s=null!=__map_reserved[e]?i.getReserved(e):i.h[e];r<s.length;){var n=s[r];++r,n(t)}iron_data_Data.loadingFonts.remove(e),iron_data_Data.assetsLoaded++})}else s.push(t)}else t(r)},iron_data_Data.prototype={__class__:iron_data_Data};var iron_data_CameraData=$hxClasses["iron.data.CameraData"]=function(e,t,a){null==a&&(a=""),this.mirror=null;var r=this;iron_data_Data.call(this),this.raw=e,this.name=e.name;var i=e.render_path.split("/"),s="",n="";2==i.length?(s=i[0],n=i[1]):(s=a,n=e.render_path),iron_data_Data.getRenderPath(s,n,function(a){r.pathdata=a,e.is_mirror&&(r.mirror=kha_Image.createRenderTarget(e.mirror_resolution_x,e.mirror_resolution_y,kha_graphics4_TextureFormat.RGBA32,0)),t(r)})};iron_data_CameraData.__name__=!0,iron_data_CameraData.parse=function(e,t,a){iron_data_Data.getSceneRaw(e,function(r){var i=iron_data_Data.getCameraRawByName(r.camera_datas,t);null==i&&(haxe_Log.trace('Camera data "'+t+'" not found!',{fileName:"CameraData.hx",lineNumber:48,className:"iron.data.CameraData",methodName:"parse"}),a(null)),new iron_data_CameraData(i,a,e)})},iron_data_CameraData.__super__=iron_data_Data,iron_data_CameraData.prototype=$extend(iron_data_Data.prototype,{__class__:iron_data_CameraData});var iron_data_ConstData=$hxClasses["iron.data.ConstData"]=function(){};iron_data_ConstData.__name__=!0;var iron_data_Geometry=$hxClasses["iron.data.Geometry"]=function(e,t,a,r,i,s,n,_,o,h,l,c){this.skeletonTransformsI=null,this.skeletonTransforms=null,this.skeletonBones=null,this.skeletonBoneRefs=null,this.skinBoneWeights=null,this.skinBoneIndices=null,this.skinBoneCounts=null,this.skinTransformI=null,this.skinTransform=null,this.aabb=null,this.instanceCount=0,this.instanced=!1,this.instancedVB=null,this.numTris=0,this.ready=!1,null==l&&(l=kha_graphics4_Usage.StaticUsage),this.indices=e,this.materialIndices=t,this.usage=l,this.positions=a,this.normals=r,this.uvs=i,this.uvs1=s,this.cols=n,this.tangents=_,this.bones=o,this.weights=h,this.instanceOffsets=c,this.struct=iron_data_Geometry.getVertexStructure(null!=a,null!=r,null!=i,null!=s,null!=n,null!=_,null!=o,null!=h),this.structLength=this.struct.byteSize()/4|0};iron_data_Geometry.__name__=!0,iron_data_Geometry.getVertexStructure=function(e,t,a,r,i,s,n,_){null==_&&(_=!1),null==n&&(n=!1),null==s&&(s=!1),null==i&&(i=!1),null==r&&(r=!1),null==a&&(a=!1),null==t&&(t=!1),null==e&&(e=!1);var o=new kha_graphics4_VertexStructure;return e&&o.add("pos",kha_graphics4_VertexData.Float3),t&&o.add("nor",kha_graphics4_VertexData.Float3),a&&o.add("tex",kha_graphics4_VertexData.Float2),r&&o.add("tex1",kha_graphics4_VertexData.Float2),i&&o.add("col",kha_graphics4_VertexData.Float3),s&&o.add("tang",kha_graphics4_VertexData.Float3),n&&o.add("bone",kha_graphics4_VertexData.Float4),_&&o.add("weight",kha_graphics4_VertexData.Float4),o},iron_data_Geometry.buildVertices=function(e,t,a,r,i,s,n,_,o,h){null==h&&(h=0);for(var l=-1+h,c=0,d=t.length/3|0;c<d;){var u=c++;e[++l]=t[3*u],e[++l]=t[3*u+1],e[++l]=t[3*u+2],null!=a&&(e[++l]=a[3*u],e[++l]=a[3*u+1],e[++l]=a[3*u+2]),null!=r&&(e[++l]=r[2*u],e[++l]=r[2*u+1]),null!=i&&(e[++l]=i[2*u],e[++l]=i[2*u+1]),null!=s&&(e[++l]=s[3*u],e[++l]=s[3*u+1],e[++l]=s[3*u+2]),null!=n&&(e[++l]=n[3*u],e[++l]=n[3*u+1],e[++l]=n[3*u+2]),null!=_&&(e[++l]=_[4*u],e[++l]=_[4*u+1],e[++l]=_[4*u+2],e[++l]=_[4*u+3]),null!=o&&(e[++l]=o[4*u],e[++l]=o[4*u+1],e[++l]=o[4*u+2],e[++l]=o[4*u+3])}},iron_data_Geometry.prototype={delete:function(){this.vertexBuffer.delete();for(var e=0,t=this.indexBuffers;e<t.length;){var a=t[e];++e,a.delete()}},setupInstanced:function(e,t){this.offsetVecs=[];for(var a=0,r=e.length/3|0;a<r;){var i=a++;this.offsetVecs.push(new iron_math_Vec4(e[3*i],e[3*i+1],e[3*i+2]))}this.instanced=!0,this.instanceCount=e.length/3|0;var s=new kha_graphics4_VertexStructure;s.add("off",kha_graphics4_VertexData.Float3),this.instancedVB=new kha_graphics4_VertexBuffer(this.instanceCount,s,t,1);for(var n=this.instancedVB.lock(),_=0,o=n.length;_<o;){var h=_++;n[h]=e[h]}this.instancedVB.unlock()},sortInstanced:function(e,t,a){for(var r=0,i=this.offsetVecs;r<i.length;){var s=i[r];++r;var n=e-s.x,_=t-s.y,o=a-s.z;s.w=Math.sqrt(n*n+_*_+o*o)}this.offsetVecs.sort(function(e,t){return e.w>t.w?1:-1});for(var h=this.instancedVB,l=h.lock(),c=0,d=l.length/3|0;c<d;){var u=c++;l[3*u]=this.offsetVecs[u].x,l[3*u+1]=this.offsetVecs[u].y,l[3*u+2]=this.offsetVecs[u].z}h.unlock()},copyVertices:function(e,t){null==t&&(t=0),iron_data_Geometry.buildVertices(e,this.positions,this.normals,this.uvs,this.uvs1,this.cols,this.tangents,this.bones,this.weights,t)},getVerticesLength:function(){var e=this.positions.length;return null!=this.normals&&(e+=this.normals.length),null!=this.uvs&&(e+=this.uvs.length),null!=this.uvs1&&(e+=this.uvs1.length),null!=this.cols&&(e+=this.cols.length),null!=this.tangents&&(e+=this.tangents.length),null!=this.bones&&(e+=this.bones.length),null!=this.weights&&(e+=this.weights.length),e},build:function(){if(!this.ready){this.vertexBuffer=new kha_graphics4_VertexBuffer(this.positions.length/3|0,this.struct,this.usage),this.vertices=this.vertexBuffer.lock(),iron_data_Geometry.buildVertices(this.vertices,this.positions,this.normals,this.uvs,this.uvs1,this.cols,this.tangents,this.bones,this.weights),this.vertexBuffer.unlock(),this.indexBuffers=[];for(var e=0,t=this.indices;e<t.length;){var a=t[e];if(++e,0!=a.length){var r=new kha_graphics4_IndexBuffer(a.length,this.usage);this.numTris+=a.length/3|0;for(var i=r.lock(),s=0,n=i.length;s<n;){var _=s++;i[_]=a[_]}r.unlock(),this.indexBuffers.push(r)}}null!=this.instanceOffsets&&this.setupInstanced(this.instanceOffsets,this.usage),this.ready=!0}},getVerticesCount:function(){return this.positions.length/3|0},initSkeletonBones:function(e){this.skeletonBones=[];for(var t=0,a=this.skeletonBoneRefs;t<a.length;){var r=a[t];++t;for(var i=0;i<e.length;){var s=e[i];++i,s.name==r&&this.skeletonBones.push(s)}}},initSkeletonTransforms:function(e){this.skeletonTransforms=[],this.skeletonTransformsI=[];for(var t=0;t<e.length;){var a=e[t];++t;var r=iron_math_Mat4.fromFloat32Array(a);this.skeletonTransforms.push(r);var i=iron_math_Mat4.identity();i.getInverse(r),this.skeletonTransformsI.push(i)}},initSkinTransform:function(e){this.skinTransform=iron_math_Mat4.fromFloat32Array(e),this.skinTransformI=iron_math_Mat4.identity(),this.skinTransformI.getInverse(this.skinTransform)},calculateAABB:function(){var e=new iron_math_Vec4(-.01,-.01,-.01),t=new iron_math_Vec4(.01,.01,.01);this.aabb=new iron_math_Vec4;for(var a=0;a<this.positions.length;)this.positions[a]>t.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]<e.x&&(e.x=this.positions[a]),this.positions[a+1]<e.y&&(e.y=this.positions[a+1]),this.positions[a+2]<e.z&&(e.z=this.positions[a+2]),a+=3;this.aabb.x=Math.abs(e.x)+Math.abs(t.x),this.aabb.y=Math.abs(e.y)+Math.abs(t.y),this.aabb.z=Math.abs(e.z)+Math.abs(t.z)},__class__:iron_data_Geometry};var iron_data_GreasePencilData=$hxClasses["iron.data.GreasePencilData"]=function(e,t){var a=this;if(iron_data_Data.call(this),this.raw=e,this.name=e.name,null==iron_data_GreasePencilData.structure&&(iron_data_GreasePencilData.structure=new kha_graphics4_VertexStructure,iron_data_GreasePencilData.structure.add("pos",kha_graphics4_VertexData.Float3),iron_data_GreasePencilData.structure.add("col",kha_graphics4_VertexData.Float4),iron_data_GreasePencilData.usage=kha_graphics4_Usage.StaticUsage),iron_data_GreasePencilData.first){iron_data_GreasePencilData.first=!1;var r=e.shader.split("/");iron_data_Data.getShader(r[0],r[1],null,function(e){iron_data_GreasePencilData.shaderData=e,a.makeLayers(t)})}else this.makeLayers(t)};iron_data_GreasePencilData.__name__=!0,iron_data_GreasePencilData.parse=function(e,t,a){iron_data_Data.getSceneRaw(e,function(e){var r=iron_data_Data.getGreasePencilRawByName(e.grease_pencil_datas,t);null==r&&(haxe_Log.trace('Grease pencil data "'+t+'" not found!',{fileName:"GreasePencilData.hx",lineNumber:66,className:"iron.data.GreasePencilData",methodName:"parse"}),a(null)),new iron_data_GreasePencilData(r,a)})},iron_data_GreasePencilData.getContext=function(e){return iron_data_GreasePencilData.shaderData.getContext(e)},iron_data_GreasePencilData.__super__=iron_data_Data,iron_data_GreasePencilData.prototype=$extend(iron_data_Data.prototype,{makeLayers:function(e){this.layers=[];for(var t=0,a=this.raw.layers;t<a.length;){var r=a[t];++t,this.layers.push(new iron_data_GreasePencilLayer(r))}e(this)},__class__:iron_data_GreasePencilData});var iron_data_GreasePencilLayer=$hxClasses["iron.data.GreasePencilLayer"]=function(e){this.currentFrame=0,this.name=e.name,this.frames=[];for(var t=0,a=e.frames;t<a.length;){var r=a[t];++t,this.frames.push(new iron_data_GreasePencilFrame(r))}};iron_data_GreasePencilLayer.__name__=!0,iron_data_GreasePencilLayer.prototype={__class__:iron_data_GreasePencilLayer};var iron_data_GreasePencilFrame=$hxClasses["iron.data.GreasePencilFrame"]=function(e){this.raw=e;var t=e.vertex_array.values,a=e.col_array.values,r=e.colfill_array.values,i=e.index_array.values;this.numVertices=t.length/3|0,this.vertexBuffer=new kha_graphics4_VertexBuffer(this.numVertices,iron_data_GreasePencilData.structure,iron_data_GreasePencilData.usage);for(var s=this.vertexBuffer.lock(),n=-1,_=0,o=this.numVertices;_<o;){var h=_++;s[++n]=t[3*h],s[++n]=t[3*h+1],s[++n]=t[3*h+2],s[++n]=r[4*h],s[++n]=r[4*h+1],s[++n]=r[4*h+2],s[++n]=r[4*h+3]}this.vertexBuffer.unlock(),this.indexBuffer=new kha_graphics4_IndexBuffer(i.length,iron_data_GreasePencilData.usage);for(var l=this.indexBuffer.lock(),c=0,d=l.length;c<d;){var u=c++;l[u]=i[u]}this.indexBuffer.unlock(),this.vertexStrokeBuffer=new kha_graphics4_VertexBuffer(this.numVertices,iron_data_GreasePencilData.structure,iron_data_GreasePencilData.usage),s=this.vertexStrokeBuffer.lock(),n=-1;for(var p=0,f=this.numVertices;p<f;){var g=p++;s[++n]=t[3*g],s[++n]=t[3*g+1],s[++n]=t[3*g+2],s[++n]=a[4*g],s[++n]=a[4*g+1],s[++n]=a[4*g+2],s[++n]=a[4*g+3]}this.vertexStrokeBuffer.unlock(),iron_data_GreasePencilData.frameEnd<this.raw.frame_number&&(iron_data_GreasePencilData.frameEnd=this.raw.frame_number)};iron_data_GreasePencilFrame.__name__=!0,iron_data_GreasePencilFrame.prototype={delete:function(){this.vertexBuffer.delete()},__class__:iron_data_GreasePencilFrame};var iron_data_LampData=$hxClasses["iron.data.LampData"]=function(e,t){this.colorTexture=null;var a=this;iron_data_Data.call(this),this.raw=e,this.name=e.name,null!=e.color_texture?iron_data_Data.getImage(e.color_texture,function(e){a.colorTexture=e,t(a)}):t(this)};iron_data_LampData.__name__=!0,iron_data_LampData.typeToInt=function(e){switch(e){case"area":return 3;case"point":return 1;case"spot":return 2;case"sun":default:return 0}},iron_data_LampData.parse=function(e,t,a){iron_data_Data.getSceneRaw(e,function(e){var r=iron_data_Data.getLampRawByName(e.lamp_datas,t);null==r&&(haxe_Log.trace('Lamp data "'+t+'" not found!',{fileName:"LampData.hx",lineNumber:42,className:"iron.data.LampData",methodName:"parse"}),a(null)),new iron_data_LampData(r,a)})},iron_data_LampData.__super__=iron_data_Data,iron_data_LampData.prototype=$extend(iron_data_Data.prototype,{__class__:iron_data_LampData});var iron_data_MaterialData=$hxClasses["iron.data.MaterialData"]=function(e,t,a){null==a&&(a=""),this.contexts=null;var r=this;iron_data_Data.call(this),this.uid=++iron_data_MaterialData.uidCounter,this.raw=e,this.name=e.name;var i=e.shader.split("/"),s="",n="";2==i.length?(s=i[0],n=i[1]):(s=a,n=e.shader),iron_data_Data.getShader(s,n,e.override_context,function(a){for(r.shader=a,r.contexts=[];r.contexts.length<e.contexts.length;)r.contexts.push(null);for(var i=0,s=0,n=e.contexts.length;s<n;){var _=[s++],o=e.contexts[_[0]];new iron_data_MaterialContext(o,function(a){return function(s){r.contexts[a[0]]=s,(i+=1)==e.contexts.length&&t(r)}}(_))}})};iron_data_MaterialData.__name__=!0,iron_data_MaterialData.parse=function(e,t,a){iron_data_Data.getSceneRaw(e,function(r){var i=iron_data_Data.getMaterialRawByName(r.material_datas,t);null==i&&(haxe_Log.trace('Material data "'+t+'" not found!',{fileName:"MaterialData.hx",lineNumber:61,className:"iron.data.MaterialData",methodName:"parse"}),a(null)),new iron_data_MaterialData(i,a,e)})},iron_data_MaterialData.__super__=iron_data_Data,iron_data_MaterialData.prototype=$extend(iron_data_Data.prototype,{getContext:function(e){for(var t=0,a=this.contexts;t<a.length;){var r=a[t];if(++t,HxOverrides.substr(r.raw.name,0,e.length)==e)return r}return null},toString:function(){return"Material "+this.name},__class__:iron_data_MaterialData});var iron_data_MaterialContext=$hxClasses["iron.data.MaterialContext"]=function(e,t){this.id=0,this.textures=null;var a=this;if(this.raw=e,this.id=iron_data_MaterialContext.num++,null!=e.bind_textures&&e.bind_textures.length>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 _=[];_.length<r[0].mipmaps.length;)_.push(null);for(var o=0,h=0,l=r[0].mipmaps.length;h<l;){var c=[h++],d=r[0].mipmaps[c[0]];iron_data_Data.getImage(d,function(r,i){return function(h){_[r[0]]=h,(o+=1)==i[0].mipmaps.length&&(n.setMipmaps(_),i[0].mipmaps=null,i[0].generate_mipmaps=!1,s==e.bind_textures.length&&t(a))}}(c,r))}}else 1==r[0].generate_mipmaps&&null!=n?(n.generateMipmaps(1e3),r[0].mipmaps=null,r[0].generate_mipmaps=!1,s==e.bind_textures.length&&t(a)):s==e.bind_textures.length&&t(a)}}(h,o),!1,null!=h[0].format?h[0].format:"RGBA32"):(s+=1)==e.bind_textures.length&&t(this)}}else t(this)};iron_data_MaterialContext.__name__=!0,iron_data_MaterialContext.prototype={setTextureParameters:function(e,t,a,r){var i=this.raw.bind_textures[t];null==i.params_set&&(a.setTextureParameters(e,r,i),i.params_set=!0)},__class__:iron_data_MaterialContext};var iron_data_MeshBatch=$hxClasses["iron.data.MeshBatch"]=function(){this.nonBatched=[],this.buckets=new haxe_ds_ObjectMap};iron_data_MeshBatch.__name__=!0,iron_data_MeshBatch.isLod=function(e){return null!=e.raw&&null!=e.raw.lods&&e.raw.lods.length>0},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;_<o.length;){var h=o[_];++_,h.renderBatch(e,t,a,r,i,h.data.start,h.data.count)}}}for(var l=0,c=this.nonBatched;l<c.length;){var d=c[l];++l,d.render(e,t,a,r,i)}},__class__:iron_data_MeshBatch};var iron_data_Bucket=$hxClasses["iron.data.Bucket"]=function(e){this.meshes=[],this.batched=!1,this.shader=e};iron_data_Bucket.__name__=!0,iron_data_Bucket.prototype={remove:function(){this.vertexBuffer.delete(),this.indexBuffer.delete(),this.meshes=[]},addMesh:function(e){this.meshes.push(e)},removeMesh:function(e){HxOverrides.remove(this.meshes,e)},batch:function(){this.batched=!0;for(var e=0,t=0,a=[],r=0,i=this.meshes;r<i.length;){var s=i[r];++r;for(var n=!1,_=0;_<a.length;){var o=a[_];if(++_,s.data==o){n=!0;break}}n||(a.push(s.data),s.data.start=t,s.data.count=s.data.geom.indices[0].length,t+=s.data.count,e+=s.data.geom.getVerticesLength())}if(0!=a.length){this.vertexBuffer=new kha_graphics4_VertexBuffer(e,a[0].geom.struct,kha_graphics4_Usage.StaticUsage);for(var h=this.vertexBuffer.lock(),l=0,c=0;c<a.length;){var d=a[c];++c,d.geom.copyVertices(h,l),l+=d.geom.getVerticesLength()}this.vertexBuffer.unlock(),this.indexBuffer=new kha_graphics4_IndexBuffer(t,kha_graphics4_Usage.StaticUsage);for(var u=this.indexBuffer.lock(),p=-1,f=0,g=0;g<a.length;){var m=a[g];++g;for(var v=0,k=m.geom.indices[0].length;v<k;){var b=v++;u[++p]=m.geom.indices[0][b]+f}f+=m.geom.getVerticesLength()/m.geom.structLength|0}this.indexBuffer.unlock()}},__class__:iron_data_Bucket};var iron_data_MeshData=$hxClasses["iron.data.MeshData"]=function(e,t){this.bones=[],this.refcount=0,this.count=-1,this.start=0,iron_data_Data.call(this),this.raw=e,this.name=e.name;for(var a=[],r=[],i=0,s=e.index_arrays;i<s.length;){var n=s[i];++i,a.push(n.values),r.push(n.material)}var _=this.getVertexArrayValues("pos"),o=this.getVertexArrayValues("nor"),h=this.getVertexArrayValues("tex"),l=this.getVertexArrayValues("tex1"),c=this.getVertexArrayValues("col"),d=this.getVertexArrayValues("tang");this.isSkinned=null!=e.skin;var u=kha_graphics4_Usage.StaticUsage;null!=e.dynamic_usage&&1==e.dynamic_usage&&(u=kha_graphics4_Usage.DynamicUsage);var p=(this.isSkinned,u),f=null,g=null;if(this.isSkinned){var m=4*(_.length/3|0);f=new Float32Array(m),g=new Float32Array(m);for(var v=0,k=0,b=0,y=_.length/3|0;b<y;){for(var S=b++,x=e.skin.bone_count_array[S],B=v,w=v+x;B<w;){var I=B++;f[k]=e.skin.bone_index_array[I],g[k]=e.skin.bone_weight_array[I],++k}for(var T=x;T<4;){T++;f[k]=0,g[k]=0,++k}v+=x}}this.geom=new iron_data_Geometry(a,r,_,o,h,l,c,d,f,g,p,e.instance_offsets),t(this)};iron_data_MeshData.__name__=!0,iron_data_MeshData.newSync=function(e){return new iron_data_MeshData(e,function(e){})},iron_data_MeshData.parse=function(e,t,a,r){iron_data_Data.getSceneRaw(e,function(e){var i=iron_data_Data.getMeshRawByName(e.mesh_datas,t);null==i&&(haxe_Log.trace('Mesh data "'+t+'" not found!',{fileName:"MeshData.hx",lineNumber:107,className:"iron.data.MeshData",methodName:"parse"}),r(null)),new iron_data_MeshData(i,function(t){if(null!=i.skin){var s=null!=a?a:e.objects;if(null!=s){for(var n=0;n<s.length;){var _=s[n];++n,iron_data_MeshData.setParents(_)}iron_data_MeshData.traverseObjects(s,function(e){"bone_object"==e.type&&t.bones.push(e)})}t.geom.initSkinTransform(i.skin.transform.values),t.geom.skinBoneCounts=i.skin.bone_count_array,t.geom.skinBoneIndices=i.skin.bone_index_array,t.geom.skinBoneWeights=i.skin.bone_weight_array,t.geom.skeletonBoneRefs=i.skin.skeleton.bone_ref_array,t.geom.initSkeletonBones(t.bones),t.geom.initSkeletonTransforms(i.skin.skeleton.transforms)}r(t)})})},iron_data_MeshData.setParents=function(e){if(null!=e.children)for(var t=0,a=e.children;t<a.length;){var r=a[t];++t,r.parent=e,iron_data_MeshData.setParents(r)}},iron_data_MeshData.traverseObjects=function(e,t){for(var a=0,r=e.length;a<r;){var i=a++;iron_data_MeshData.traverseObjectsStep(e[i],t)}},iron_data_MeshData.traverseObjectsStep=function(e,t){if(t(e),null!=e.children)for(var a=0,r=e.children.length;a<r;){var i=a++;iron_data_MeshData.traverseObjectsStep(e.children[i],t)}},iron_data_MeshData.__super__=iron_data_Data,iron_data_MeshData.prototype=$extend(iron_data_Data.prototype,{delete:function(){this.geom.delete()},getVertexArrayValues:function(e){for(var t=0,a=this.raw.vertex_arrays;t<a.length;){var r=a[t];if(++t,r.attrib==e)return r.values}return null},__class__:iron_data_MeshData});var iron_data_ParticleData=$hxClasses["iron.data.ParticleData"]=function(e,t){iron_data_Data.call(this),this.raw=e,this.name=e.name,t(this)};iron_data_ParticleData.__name__=!0,iron_data_ParticleData.parse=function(e,t,a){iron_data_Data.getSceneRaw(e,function(e){var r=iron_data_Data.getParticleRawByName(e.particle_datas,t);null==r&&(haxe_Log.trace('Particle data "'+t+'" not found!',{fileName:"ParticleData.hx",lineNumber:23,className:"iron.data.ParticleData",methodName:"parse"}),a(null)),new iron_data_ParticleData(r,a)})},iron_data_ParticleData.__super__=iron_data_Data,iron_data_ParticleData.prototype=$extend(iron_data_Data.prototype,{__class__:iron_data_ParticleData});var iron_data_RenderPath=$hxClasses["iron.data.RenderPath"]=function(e){this.currentMaterial=null,this.drawPerformed=!1,this.loopFinished=0,this.cachedShaderContexts=new haxe_ds_StringMap,this.currentLampIndex=0,this.currentStageIndexOffset=0,this.currentStageIndex=0,this.currentStages=null,this.helpMat=iron_math_Mat4.identity(),this.viewportScaled=!1,this.scissorSet=!1,this.frameScissorH=0,this.frameScissorW=0,this.frameScissorY=0,this.frameScissorX=0,this.frameScissor=!1;var t=this;this.camera=e,this.data=e.data,this.ready=!1,this.loadStageCommands(this.data.pathdata.raw.stages,function(){t.ready=!0})};iron_data_RenderPath.__name__=!0,iron_data_RenderPath.lampCastShadow=function(e){return(e.lamps.length>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<s;){var n=i++;r[n]=e[n]}iron_data_RenderPath.screenAlignedVB.unlock(),iron_data_RenderPath.screenAlignedIB=new kha_graphics4_IndexBuffer(t.length,kha_graphics4_Usage.StaticUsage);for(var _=iron_data_RenderPath.screenAlignedIB.lock(),o=0,h=_.length;o<h;){var l=o++;_[l]=t[l]}iron_data_RenderPath.screenAlignedIB.unlock()},iron_data_RenderPath.createRectData=function(){var e=[-1,-1,1,-1,1,1,-1,1],t=[0,1,2,0,2,3],a=new kha_graphics4_VertexStructure;a.add("pos",kha_graphics4_VertexData.Float2),iron_data_RenderPath.rectVB=new kha_graphics4_VertexBuffer(e.length/(a.byteSize()/4|0)|0,a,kha_graphics4_Usage.StaticUsage);for(var r=iron_data_RenderPath.rectVB.lock(),i=0,s=r.length;i<s;){var n=i++;r[n]=e[n]}iron_data_RenderPath.rectVB.unlock(),iron_data_RenderPath.rectIB=new kha_graphics4_IndexBuffer(t.length,kha_graphics4_Usage.StaticUsage);for(var _=iron_data_RenderPath.rectIB.lock(),o=0,h=_.length;o<h;){var l=o++;_[l]=t[l]}iron_data_RenderPath.rectIB.unlock()},iron_data_RenderPath.createBoxData=function(){var e=[-1,1,-1,-1,-1,-1,-1,-1,1,-1,1,1,-1,1,1,1,1,1,1,1,-1,-1,1,-1,1,1,1,1,-1,1,1,-1,-1,1,1,-1,-1,-1,-1,1,-1,-1,1,-1,1,-1,-1,1,-1,-1,-1,-1,1,-1,1,1,-1,1,-1,-1,1,-1,1,1,1,1,-1,1,1,-1,-1,1],t=[0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,8,10,11,12,13,14,12,14,15,16,17,18,16,18,19,20,21,22,20,22,23],a=new kha_graphics4_VertexStructure;a.add("pos",kha_graphics4_VertexData.Float3),iron_data_RenderPath.boxVB=new kha_graphics4_VertexBuffer(e.length/(a.byteSize()/4|0)|0,a,kha_graphics4_Usage.StaticUsage);for(var r=iron_data_RenderPath.boxVB.lock(),i=0,s=r.length;i<s;){var n=i++;r[n]=e[n]}iron_data_RenderPath.boxVB.unlock(),iron_data_RenderPath.boxIB=new kha_graphics4_IndexBuffer(t.length,kha_graphics4_Usage.StaticUsage);for(var _=iron_data_RenderPath.boxIB.lock(),o=0,h=_.length;o<h;){var l=o++;_[l]=t[l]}iron_data_RenderPath.boxIB.unlock()},iron_data_RenderPath.createSkydomeData=function(){var e=new kha_graphics4_VertexStructure;e.add("pos",kha_graphics4_VertexData.Float3),e.add("nor",kha_graphics4_VertexData.Float3);var t=e.byteSize()/4|0,a=iron_data_ConstData.skydomePos,r=iron_data_ConstData.skydomeNor;iron_data_RenderPath.skydomeVB=new kha_graphics4_VertexBuffer(a.length/3|0,e,kha_graphics4_Usage.StaticUsage);for(var i=iron_data_RenderPath.skydomeVB.lock(),s=0,n=i.length/t|0;s<n;){var _=s++;i[_*t]=a[3*_],i[_*t+1]=a[3*_+1],i[_*t+2]=a[3*_+2],i[_*t+3]=-r[3*_],i[_*t+4]=-r[3*_+1],i[_*t+5]=-r[3*_+2]}iron_data_RenderPath.skydomeVB.unlock();var o=iron_data_ConstData.skydomeIndices;iron_data_RenderPath.skydomeIB=new kha_graphics4_IndexBuffer(o.length,kha_graphics4_Usage.StaticUsage);for(var h=iron_data_RenderPath.skydomeIB.lock(),l=0,c=h.length;l<c;){var d=l++;h[d]=o[d]}iron_data_RenderPath.skydomeIB.unlock()},iron_data_RenderPath.createSphereData=function(){var e=new kha_graphics4_VertexStructure;e.add("pos",kha_graphics4_VertexData.Float3);var t=iron_data_ConstData.spherePos;iron_data_RenderPath.sphereVB=new kha_graphics4_VertexBuffer(t.length/(e.byteSize()/4|0)|0,e,kha_graphics4_Usage.StaticUsage);for(var a=iron_data_RenderPath.sphereVB.lock(),r=0,i=a.length;r<i;){var s=r++;a[s]=t[s]}iron_data_RenderPath.sphereVB.unlock();var n=iron_data_ConstData.sphereIndices;iron_data_RenderPath.sphereIB=new kha_graphics4_IndexBuffer(n.length,kha_graphics4_Usage.StaticUsage);for(var _=iron_data_RenderPath.sphereIB.lock(),o=0,h=_.length;o<h;){var l=o++;_[l]=n[l]}iron_data_RenderPath.sphereIB.unlock()},iron_data_RenderPath.createConeData=function(){var e=new kha_graphics4_VertexStructure;e.add("pos",kha_graphics4_VertexData.Float3);var t=iron_data_ConstData.conePos;iron_data_RenderPath.coneVB=new kha_graphics4_VertexBuffer(t.length/(e.byteSize()/4|0)|0,e,kha_graphics4_Usage.StaticUsage);for(var a=iron_data_RenderPath.coneVB.lock(),r=0,i=a.length;r<i;){var s=r++;a[s]=t[s]}iron_data_RenderPath.coneVB.unlock();var n=iron_data_ConstData.coneIndices;iron_data_RenderPath.coneIB=new kha_graphics4_IndexBuffer(n.length,kha_graphics4_Usage.StaticUsage);for(var _=iron_data_RenderPath.coneIB.lock(),o=0,h=_.length;o<h;){var l=o++;_[l]=n[l]}iron_data_RenderPath.coneIB.unlock()},iron_data_RenderPath.sortMeshes=function(e,t){for(var a=t.transform.world.self._30,r=t.transform.world.self._31,i=t.transform.world.self._32,s=0;s<e.length;){var n=e[s];++s;var _=a-n.transform.world.self._30,o=r-n.transform.world.self._31,h=i-n.transform.world.self._32;n.cameraDistance=Math.sqrt(_*_+o*o+h*h)}e.sort(function(e,t){return e.cameraDistance>=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;r<a.length;){var i=a[r];++r,i.visible&&i.buildMatrices(this.camera)}this.currentStages=this.data.pathdata.raw.stages,this.callCurrentStages(t)}},callCurrentStages:function(e){for(var t=0;t<this.currentStages.length;)this.currentStageIndex=t,this.commandToFunction(this.currentStages[t].command)(this.currentStages[t].params,e),t+=1+this.currentStageIndexOffset,this.currentStageIndexOffset=0},setTarget:function(e,t){null!=iron_data_RenderPath.lastPongRT&&this.drawPerformed&&0==this.loopFinished&&(iron_data_RenderPath.lastPongRT.pongState=!iron_data_RenderPath.lastPongRT.pongState,iron_data_RenderPath.lastPongRT=null),this.drawPerformed=!1;var a=e[1];if(""==a)this.currentRenderTarget=this.frameRenderTarget,this.currentRenderTargetW=kha_System.windowWidth(),this.currentRenderTargetH=kha_System.windowHeight(),this.currentRenderTargetD=1,this.currentRenderTargetCube=!1,this.currentRenderTargetFace=-1,this.frameScissor&&this.setFrameScissor(),this.currentRenderTarget.begin(null);else{var r=this.data.pathdata.renderTargets,i=null!=__map_reserved[a]?r.getReserved(a):r.h[a];if("shadowMap"==a&&(this.lamps.length>0?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<u;){var p=d++,f=this.data.pathdata.renderTargets,g=e[p],m=null!=__map_reserved[g]?f.getReserved(g):f.h[g];c.push(m.image)}}null!=i.pong&&(iron_data_RenderPath.lastPongRT=i,i.pongState&&(i=i.pong)),this.currentRenderTarget=i.isCubeMap?i.cubeMap.get_g4():i.image.get_g4(),this.currentRenderTargetW=i.isCubeMap?i.cubeMap.get_width():i.image.get_width(),this.currentRenderTargetH=i.isCubeMap?i.cubeMap.get_height():i.image.get_height(),i.is3D&&(this.currentRenderTargetD=i.image.get_depth()),this.currentRenderTargetCube=i.isCubeMap,this.currentRenderTargetFace>=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;i<s;){var n=2*i++,_=n+1;"color"==e[n]?a="-1"==e[_]?iron_Scene.active.world.raw.background_color:kha__$Color_Color_$Impl_$.fromString(e[_]):"depth"==e[n]&&(r="1.0"==e[_]?1:0)}this.currentRenderTarget.clear(a,r,null)},clearImage:function(e,t){var a=e[0],r=kha__$Color_Color_$Impl_$.fromString(e[1]),i=this.data.pathdata.renderTargets,s=null!=__map_reserved[a]?i.getReserved(a):i.h[a];s.image.clear(0,0,0,s.image.get_width(),s.image.get_height(),s.image.get_depth(),r)},generateMipmaps:function(e,t){var a=e[0],r=this.data.pathdata.renderTargets;(null!=__map_reserved[a]?r.getReserved(a):r.h[a]).image.generateMipmaps(1e3)},drawMeshes:function(e,t){var a=e[0],r=this.lamps.length>0?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<n.length;){var _=n[s];++s,_.render(i,a,this.camera,r,this.bindParams)}i.end(),this.scissorSet&&(i.disableScissor(),this.scissorSet=!1),this.bindParams=null,this.drawPerformed=!0,this.currentRenderTargetFace>=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;i<s;){var n=i++;if(HxOverrides.substr(e.raw.contexts[n].name,0,t.length)==t){a.push(e.contexts[n]),r.push(e.shader.getContext(t));break}}},clampRect:function(e){return e<-1?-1:e>1?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;o<h.length;){var l=h[o];++o;for(var c=!1,d=0,u=s.length;d<u;){var p=d++;if(s[p]==l.materials[0]){var f=new iron_math_Vec4(l.transform.world.self._30,l.transform.world.self._31,l.transform.world.self._32),g=l.transform.size,m=n[p],v=_[p];m.x>f.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.x<f.x+g.x/2&&(v.x=f.x+g.x/2),v.y<f.y+g.y/2&&(v.y=f.y+g.y/2),v.z<f.z+g.z/2&&(v.z=f.z+g.z/2),c=!0;break}}if(!c){var k=new iron_math_Vec4(l.transform.world.self._30,l.transform.world.self._31,l.transform.world.self._32),b=l.transform.size;n.push(new iron_math_Vec4(k.x-b.x/2,k.y-b.y/2,k.z-b.z/2)),_.push(new iron_math_Vec4(k.x+b.x/2,k.y+b.y/2,k.z+b.z/2)),s.push(l.materials[0])}}for(var y=[],S=0,x=n.length;S<x;){var B=S++,w=n[B],I=_[B],T=I.x-w.x,C=I.y-w.y,M=I.z-w.z,A=[];A.push(new iron_math_Vec4(w.x,w.y,w.z)),A.push(new iron_math_Vec4(w.x+T,w.y,w.z)),A.push(new iron_math_Vec4(w.x,w.y+C,w.z)),A.push(new iron_math_Vec4(w.x,w.y,w.z+M)),A.push(new iron_math_Vec4(w.x+T,w.y+C,w.z)),A.push(new iron_math_Vec4(w.x,w.y+C,w.z+M)),A.push(new iron_math_Vec4(w.x+T,w.y,w.z+M)),A.push(new iron_math_Vec4(w.x+T,w.y+C,w.z+M)),this.helpMat.setFrom(this.camera.V),this.helpMat.multmat2(this.camera.P);for(var R=null,V=0;V<A.length;){var D=A[V];++V,D.applymat4(this.helpMat),D.x/=D.w,D.y/=D.w,D.z/=D.w,null==R?R=new iron_math_Vec4(D.x,D.y,D.x,D.y):(D.x<R.x&&(R.x=D.x),D.y<R.y&&(R.y=D.y),D.x>R.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;P<F;){var $=P++,j=s[$],E=y[$],U=E.z-E.x,N=E.w-E.y,L=iron_data_RenderPath.rectVB.lock(),z=E.x;L[0]=z<-1?-1:z>1?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;s<n.length;){var _=n[s];++s,_.render(r,a,this.camera,i,this.bindParams),r.setVertexBuffer(iron_data_RenderPath.boxVB),r.setIndexBuffer(iron_data_RenderPath.boxIB),r.drawIndexedVertices()}r.end(),this.scissorSet&&(r.disableScissor(),this.scissorSet=!1),this.bindParams=null,this.drawPerformed=!0},drawGreasePencil:function(e,t){var a=iron_Scene.active.greasePencil;if(null!=a){var r=this.currentRenderTarget,i=this.lamps.length>0?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;l<c.length;){var d=c[l];++l,d.currentFrame=0}}r.end(),this.scissorSet&&(r.disableScissor(),this.scissorSet=!1),this.bindParams=null,this.drawPerformed=!0}},parseMaterialLink:function(e){return"_worldMaterial"==e&&null!=iron_Scene.active.world?iron_Scene.active.world.raw.material_ref.split("/"):null},drawSkydome:function(e,t){null==iron_data_RenderPath.skydomeVB&&iron_data_RenderPath.createSkydomeData();var a=e[0],r=this.cachedShaderContexts,i=null!=__map_reserved[a]?r.getReserved(a):r.h[a];if(null!=i.context){var s=this.currentRenderTarget;s.setPipeline(i.context.pipeState);var n=this.lamps.length>0?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;a<e.length;){var r=e[a];++a,this.bindParams.push(r)}else this.bindParams=e},drawShaderQuad:function(e,t){var a=e[0],r=this.cachedShaderContexts,i=null!=__map_reserved[a]?r.getReserved(a):r.h[a];this.drawQuad(i,t)},drawMaterialQuad:function(e,t){var a=e[0],r=this.cachedShaderContexts,i=null!=__map_reserved[a]?r.getReserved(a):r.h[a];this.drawQuad(i,t)},drawQuad:function(e,t){null==iron_data_RenderPath.screenAlignedVB&&iron_data_RenderPath.createScreenAlignedData();var a=this.currentRenderTarget;a.setPipeline(e.context.pipeState);var r=this.lamps.length>0?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;i<s;){var n=i++;this.lamps[n].visible&&(this.currentLampIndex=n,this.callCurrentStages(t))}this.currentLampIndex=0,this.loopFinished--,this.currentStages=r},loadStageCommands:function(e,t){for(var a=0,r=0,i=e.length;r<i;){var s=r++;this.loadCommand(e[s],function(){(a+=1)==e.length&&t()})}},commandToFunction:function(e){switch(e){case"bind_target":return $bind(this,this.bindTarget);case"call_function":return $bind(this,this.callFunction);case"clear_image":return $bind(this,this.clearImage);case"clear_target":return $bind(this,this.clearTarget);case"draw_decals":return $bind(this,this.drawDecals);case"draw_grease_pencil":return $bind(this,this.drawGreasePencil);case"draw_lamp_volume":return $bind(this,this.drawLampVolume);case"draw_material_quad":return $bind(this,this.drawMaterialQuad);case"draw_meshes":return $bind(this,this.drawMeshes);case"draw_rects":return $bind(this,this.drawRects);case"draw_shader_quad":return $bind(this,this.drawShaderQuad);case"draw_skydome":return $bind(this,this.drawSkydome);case"generate_mipmaps":return $bind(this,this.generateMipmaps);case"loop_lamps":return $bind(this,this.loopLamps);case"set_target":return $bind(this,this.setTarget);case"set_viewport":return $bind(this,this.setViewport);default:return null}},loadCommand:function(e,t){var a=e.params.length>0?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;a<r.length;){var i=r[a];++a,this.createRenderTarget(i)}t(this)};iron_data_RenderPathData.__name__=!0,iron_data_RenderPathData.parse=function(e,t,a){iron_data_Data.getSceneRaw(e,function(e){var r=iron_data_Data.getRenderPathRawByName(e.renderpath_datas,t);null==r&&(haxe_Log.trace('Render path data "'+t+'" not found!',{fileName:"RenderPathData.hx",lineNumber:64,className:"iron.data.RenderPathData",methodName:"parse"}),a(null)),new iron_data_RenderPathData(r,a)})},iron_data_RenderPathData.__super__=iron_data_Data,iron_data_RenderPathData.prototype=$extend(iron_data_Data.prototype,{unload:function(){for(var e=this.renderTargets,t=new haxe_ds__$StringMap_StringMapIterator(e,e.arrayKeys());t.hasNext();)t.next().unload()},createRenderTarget:function(e){var t=this._createRenderTarget(e);null!=e.ping_pong&&e.ping_pong&&(t.pong=this._createRenderTarget(e));var a=e.name,r=this.renderTargets;return null!=__map_reserved[a]?r.setReserved(a,t):r.h[a]=t,t},_createRenderTarget:function(e){var t=new iron_data_RenderTarget;if(null!=e.depth_buffer){t.hasDepth=!0;var a=e.depth_buffer,r=this.depthToRenderTarget,i=null!=__map_reserved[a]?r.getReserved(a):r.h[a];if(null==i)for(var s=0,n=this.raw.depth_buffers;s<n.length;){var _=n[s];if(++s,_.name==e.depth_buffer){var o=_.name,h=this.depthToRenderTarget;null!=__map_reserved[o]?h.setReserved(o,t):h.h[o]=t;var l,c=_.format;if(null==c||""==c)l=1;else switch(c){case"DEPTH16":l=5;break;case"DEPTH24":l=1;break;default:l=1}t.image=this.createImage(e,l);break}}else t.image=this.createImage(e,0),t.image.setDepthStencilFrom(i.image)}else t.hasDepth=!1,null!=e.depth&&e.depth>1&&(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<i;){r++;var s=[a.handles[this.checkPos]];++this.checkPos>=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.loadDistance&&null==s[0].object&&!s[0].loading){if(s[0].loading=!0,this.loading++,iron_Scene.active.returnMeshObject(s[0].object_file,s[0].data_ref,s[0].sceneName,s[0].boneObjects,s[0].materials,s[0].parent,s[0].obj,function(e){return function(a){e[0].object=js_Boot.__cast(a,iron_object_MeshObject),e[0].loading=!1,t.loading--}}(s)),this.loading>=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;i<s.length;){s[i];++i,this.contexts.push(null)}for(var n=0,_=0,o=e.contexts.length;_<o;){var h=[_++],l=e.contexts[h[0]];new iron_data_ShaderContext(l,t,function(t){return function(i){r.contexts[t[0]]=i,(n+=1)==e.contexts.length&&a(r)}}(h))}};iron_data_ShaderData.__name__=!0,iron_data_ShaderData.parse=function(e,t,a,r){iron_data_Data.getSceneRaw(e,function(e){var i=iron_data_Data.getShaderRawByName(e.shader_datas,t);null==i&&(haxe_Log.trace('Shader data "'+t+'" not found!',{fileName:"ShaderData.hx",lineNumber:49,className:"iron.data.ShaderData",methodName:"parse"}),r(null)),new iron_data_ShaderData(i,a,r)})},iron_data_ShaderData.__super__=iron_data_Data,iron_data_ShaderData.prototype=$extend(iron_data_Data.prototype,{delete:function(){for(var e=0,t=this.contexts;e<t.length;){var a=t[e];++e,a.delete()}},getContext:function(e){for(var t=0,a=this.contexts;t<a.length;){var r=a[t];if(++t,r.raw.name==e)return r}return null},__class__:iron_data_ShaderData});var iron_data_ShaderContext=$hxClasses["iron.data.ShaderContext"]=function(e,t,a){this.instancing=!1,this.raw=e,this.overrideContext=t,"rect"==e.name?(this.structure=iron_data_ShaderContext.getStructureRect(),this.instancing=!1):this.parseVertexStructure(),this.compile(a)};iron_data_ShaderContext.__name__=!0,iron_data_ShaderContext.getStructureRect=function(){return null==iron_data_ShaderContext.structureRect&&(iron_data_ShaderContext.structureRect=new kha_graphics4_VertexStructure,iron_data_ShaderContext.structureRect.add("pos",kha_graphics4_VertexData.Float2)),iron_data_ShaderContext.structureRect},iron_data_ShaderContext.prototype={compile:function(e){if(null!=this.pipeState&&this.pipeState.delete(),this.pipeState=new kha_graphics4_PipelineState,this.constants=[],this.textureUnits=[],this.instancing){var t=new kha_graphics4_VertexStructure;t.add("off",kha_graphics4_VertexData.Float3),this.pipeState.inputLayout=[this.structure,t]}else this.pipeState.inputLayout=[this.structure];if(this.pipeState.depthWrite=this.raw.depth_write,this.pipeState.depthMode=this.getCompareMode(this.raw.compare_mode),null!=this.raw.stencil_mode&&("always"==this.raw.stencil_mode?this.pipeState.stencilMode=kha_graphics4_CompareMode.Always:"equal"==this.raw.stencil_mode?this.pipeState.stencilMode=kha_graphics4_CompareMode.Equal:"not_equal"==this.raw.stencil_mode&&(this.pipeState.stencilMode=kha_graphics4_CompareMode.NotEqual)),null!=this.raw.stencil_pass&&("replace"==this.raw.stencil_pass?this.pipeState.stencilBothPass=kha_graphics4_StencilAction.Replace:"keep"==this.raw.stencil_pass&&(this.pipeState.stencilBothPass=kha_graphics4_StencilAction.Keep)),null!=this.raw.stencil_fail&&"keep"==this.raw.stencil_fail&&(this.pipeState.stencilDepthFail=kha_graphics4_StencilAction.Keep,this.pipeState.stencilFail=kha_graphics4_StencilAction.Keep),null!=this.raw.stencil_reference_value&&(this.pipeState.stencilReferenceValue=this.raw.stencil_reference_value),this.pipeState.cullMode=this.getCullMode(this.raw.cull_mode),null!=this.raw.blend_source&&(this.pipeState.blendSource=this.getBlendingFactor(this.raw.blend_source)),null!=this.raw.blend_destination&&(this.pipeState.blendDestination=this.getBlendingFactor(this.raw.blend_destination)),null!=this.raw.blend_operation&&(this.pipeState.blendOperation=this.getBlendingOperation(this.raw.blend_operation)),null!=this.raw.alpha_blend_source&&(this.pipeState.alphaBlendSource=this.getBlendingFactor(this.raw.alpha_blend_source)),null!=this.raw.alpha_blend_destination&&(this.pipeState.alphaBlendDestination=this.getBlendingFactor(this.raw.alpha_blend_destination)),null!=this.raw.alpha_blend_operation&&(this.pipeState.alphaBlendOperation=this.getBlendingOperation(this.raw.alpha_blend_operation)),null!=this.raw.color_write_red&&(this.pipeState.colorWriteMaskRed=this.raw.color_write_red),null!=this.raw.color_write_green&&(this.pipeState.colorWriteMaskGreen=this.raw.color_write_green),null!=this.raw.color_write_blue&&(this.pipeState.colorWriteMaskBlue=this.raw.color_write_blue),null!=this.raw.color_write_alpha&&(this.pipeState.colorWriteMaskAlpha=this.raw.color_write_alpha),null!=this.raw.conservative_raster&&(this.pipeState.conservativeRasterization=this.raw.conservative_raster),this.raw.shader_from_source)this.pipeState.fragmentShader=kha_graphics4_FragmentShader.fromSource(this.raw.fragment_shader),this.pipeState.vertexShader=kha_graphics4_VertexShader.fromSource(this.raw.vertex_shader),this.finishCompile(e);else{var a=StringTools.replace(this.raw.fragment_shader,".","_");this.pipeState.fragmentShader=Reflect.field(kha_Shaders,a);var r=StringTools.replace(this.raw.vertex_shader,".","_");if(this.pipeState.vertexShader=Reflect.field(kha_Shaders,r),null!=this.raw.geometry_shader){var i=StringTools.replace(this.raw.geometry_shader,".","_");this.pipeState.geometryShader=Reflect.field(kha_Shaders,i)}if(null!=this.raw.tesscontrol_shader){var s=StringTools.replace(this.raw.tesscontrol_shader,".","_");this.pipeState.tessellationControlShader=Reflect.field(kha_Shaders,s)}if(null!=this.raw.tesseval_shader){var n=StringTools.replace(this.raw.tesseval_shader,".","_");this.pipeState.tessellationEvaluationShader=Reflect.field(kha_Shaders,n)}this.finishCompile(e)}},finishCompile:function(e){if(null!=this.overrideContext&&null!=this.overrideContext.cull_mode&&(this.pipeState.cullMode=this.getCullMode(this.overrideContext.cull_mode)),this.pipeState.compile(),null!=this.raw.constants)for(var t=0,a=this.raw.constants;t<a.length;){var r=a[t];++t,this.addConstant(r)}if(null!=this.raw.texture_units)for(var i=0,s=this.raw.texture_units;i<s.length;){var n=s[i];++i,this.addTexture(n)}e(this)},sizeToVD:function(e){return 1==e?kha_graphics4_VertexData.Float1:2==e?kha_graphics4_VertexData.Float2:3==e?kha_graphics4_VertexData.Float3:4==e?kha_graphics4_VertexData.Float4:null},parseVertexStructure:function(){this.structure=new kha_graphics4_VertexStructure;for(var e=0,t=this.raw.vertex_structure;e<t.length;){var a=t[e];++e,"off"!=a.name?this.structure.add(a.name,this.sizeToVD(a.size)):this.instancing=!0}},deleteShader:function(e){null!=e.shader&&e.delete()},delete:function(){if(null!=this.pipeState.fragmentShader){var e=this.pipeState.fragmentShader;null!=e.shader&&e.delete()}if(null!=this.pipeState.vertexShader){var t=this.pipeState.vertexShader;null!=t.shader&&t.delete()}if(null!=this.pipeState.geometryShader){var a=this.pipeState.geometryShader;null!=a.shader&&a.delete()}if(null!=this.pipeState.tessellationControlShader){var r=this.pipeState.tessellationControlShader;null!=r.shader&&r.delete()}if(null!=this.pipeState.tessellationEvaluationShader){var i=this.pipeState.tessellationEvaluationShader;null!=i.shader&&i.delete()}this.pipeState.delete()},getCompareMode:function(e){switch(e){case"always":return kha_graphics4_CompareMode.Always;case"equal":return kha_graphics4_CompareMode.Equal;case"greater":return kha_graphics4_CompareMode.Greater;case"greater_equal":return kha_graphics4_CompareMode.GreaterEqual;case"less":return kha_graphics4_CompareMode.Less;case"less_equal":return kha_graphics4_CompareMode.LessEqual;case"never":return kha_graphics4_CompareMode.Never;case"not_equal":return kha_graphics4_CompareMode.NotEqual;default:return kha_graphics4_CompareMode.Less}},getCullMode:function(e){switch(e){case"clockwise":return kha_graphics4_CullMode.Clockwise;case"none":return kha_graphics4_CullMode.None;default:return kha_graphics4_CullMode.CounterClockwise}},getBlendingOperation:function(e){switch(e){case"add":return kha_graphics4_BlendingOperation.Add;case"max":return kha_graphics4_BlendingOperation.Max;case"min":return kha_graphics4_BlendingOperation.Min;case"reverse_substract":return kha_graphics4_BlendingOperation.ReverseSubtract;case"substract":return kha_graphics4_BlendingOperation.Subtract;default:return kha_graphics4_BlendingOperation.Add}},getBlendingFactor:function(e){switch(e){case"blend_one":return kha_graphics4_BlendingFactor.BlendOne;case"blend_zero":return kha_graphics4_BlendingFactor.BlendZero;case"destination_alpha":return kha_graphics4_BlendingFactor.DestinationAlpha;case"destination_color":return kha_graphics4_BlendingFactor.DestinationColor;case"inverse_destination_alpha":return kha_graphics4_BlendingFactor.InverseDestinationAlpha;case"inverse_destination_color":return kha_graphics4_BlendingFactor.InverseDestinationColor;case"inverse_source_alpha":return kha_graphics4_BlendingFactor.InverseSourceAlpha;case"inverse_source_color":return kha_graphics4_BlendingFactor.InverseSourceColor;case"source_alpha":return kha_graphics4_BlendingFactor.SourceAlpha;case"source_color":return kha_graphics4_BlendingFactor.SourceColor;default:return kha_graphics4_BlendingFactor.Undefined}},getTextureAddresing:function(e){switch(e){case"mirror":return kha_graphics4_TextureAddressing.Mirror;case"repeat":return kha_graphics4_TextureAddressing.Repeat;default:return kha_graphics4_TextureAddressing.Clamp}},getTextureFilter:function(e){switch(e){case"linear":return kha_graphics4_TextureFilter.LinearFilter;case"point":return kha_graphics4_TextureFilter.PointFilter;default:return kha_graphics4_TextureFilter.AnisotropicFilter}},getMipmapFilter:function(e){switch(e){case"no":return kha_graphics4_MipMapFilter.NoMipFilter;case"point":return kha_graphics4_MipMapFilter.PointMipFilter;default:return kha_graphics4_MipMapFilter.LinearMipFilter}},addConstant:function(e){this.constants.push(this.pipeState.getConstantLocation(e.name))},addTexture:function(e){var t=this.pipeState.getTextureUnit(e.name);this.textureUnits.push(t)},setTextureParameters:function(e,t,a){var r=this.textureUnits[t];e.setTextureParameters(r,null==a.u_addressing?kha_graphics4_TextureAddressing.Repeat:this.getTextureAddresing(a.u_addressing),null==a.v_addressing?kha_graphics4_TextureAddressing.Repeat:this.getTextureAddresing(a.v_addressing),null==a.min_filter?kha_graphics4_TextureFilter.LinearFilter:this.getTextureFilter(a.min_filter),null==a.mag_filter?kha_graphics4_TextureFilter.LinearFilter:this.getTextureFilter(a.mag_filter),null==a.mipmap_filter?kha_graphics4_MipMapFilter.NoMipFilter:this.getMipmapFilter(a.mipmap_filter))},__class__:iron_data_ShaderContext};var iron_data_WorldData=$hxClasses["iron.data.WorldData"]=function(e,t){this.vec=new iron_math_Vec4,this.shirr=null;var a=this;if(iron_data_Data.call(this),this.raw=e,this.name=e.name,null!=e.probes&&e.probes.length>0){this.probes=[];for(var r=0,i=e.probes;r<i.length;){var s=i[r];++r,new iron_data_Probe(s,function(r){a.probes.push(r),a.probes.length==e.probes.length&&t(a)})}}else t(this)};iron_data_WorldData.__name__=!0,iron_data_WorldData.parse=function(e,t,a){iron_data_Data.getSceneRaw(e,function(e){var r=iron_data_Data.getWorldRawByName(e.world_datas,t);null==r&&(haxe_Log.trace('World data "'+t+'" not found!',{fileName:"WorldData.hx",lineNumber:40,className:"iron.data.WorldData",methodName:"parse"}),a(null)),new iron_data_WorldData(r,a)})},iron_data_WorldData.getEmptyIrradiance=function(){if(null==iron_data_WorldData.emptyIrr){var e=new Array(28);iron_data_WorldData.emptyIrr=e;for(var t=0,a=iron_data_WorldData.emptyIrr.length;t<a;){var r=t++;iron_data_WorldData.emptyIrr[r]=0}}return iron_data_WorldData.emptyIrr},iron_data_WorldData.__super__=iron_data_Data,iron_data_WorldData.prototype=$extend(iron_data_Data.prototype,{getGlobalProbe:function(){return this.probes[0]},getLocalProbe:function(e){return e<this.probes.length?this.probes[e]:null},getSHIrradiance:function(){if(null==this.shirr){var e=new Array(28);this.shirr=e;for(var t=this.probes[0],a=0,r=t.irradiance.length;a<r;){var i=a++;this.shirr[i]=t.irradiance[i]}}return this.shirr},getProbeID:function(e){this.vec.x=e.world.self._30,this.vec.y=e.world.self._31,this.vec.z=e.world.self._32;for(var t=e.size,a=1,r=this.probes.length;a<r;){var i=a++,s=this.probes[i];if(!(this.vec.x+t.x/2<s.volumeMin.x||this.vec.x-t.x/2>s.volumeMax.x||this.vec.y+t.y/2<s.volumeMin.y||this.vec.y-t.y/2>s.volumeMax.y||this.vec.z+t.z/2<s.volumeMin.z||this.vec.z-t.z/2>s.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.length<e.radiance_mipmaps;)i.push(null);for(var s=e.radiance.substring(e.radiance.length-4),n=e.radiance.substring(0,e.radiance.length-4),_=0,o=0,h=e.radiance_mipmaps;o<h;){var l=[o++];iron_data_Data.getImage(n+"_"+l[0]+s,function(r){return function(s){i[r[0]]=s,(_+=1)==e.radiance_mipmaps&&(a.radiance.setMipmaps(i),a.mipsSet(t))}}(l),!0)}}):a.mipsSet(t)})};iron_data_Probe.__name__=!0,iron_data_Probe.prototype={mipsSet:function(e){this.volume=new iron_math_Vec4(this.raw.volume[0],this.raw.volume[1],this.raw.volume[2]),this.volumeCenter=new iron_math_Vec4(this.raw.volume_center[0],this.raw.volume_center[1],this.raw.volume_center[2]),this.volumeMin=new iron_math_Vec4(this.volumeCenter.x-this.volume.x,this.volumeCenter.y-this.volume.y,this.volumeCenter.z-this.volume.z),this.volumeMax=new iron_math_Vec4(this.volumeCenter.x+this.volume.x,this.volumeCenter.y+this.volume.y,this.volumeCenter.z+this.volume.z),e(this)},setIrradiance:function(e){""==this.raw.irradiance?e([1.0281457342829743,1.1617608778901902,1.3886220898440544,-.13044863139637752,-.2794659158733846,-.5736106907295643,.04065421813873111,.0434367391348577,.03567450494792305,.10964557605577738,.1129839085793664,.11261660812141877,-.08271974283263238,-.08068091195339556,-.06432614970480094,-.12517787967665814,-.11638582546310804,-.09743696224655113,.20068697715947176,.2158788783296805,.2109374396869599,.19636637427150455,.19445523113118082,.17825330699680575,.31440860839538637,.33041120060402407,.30867788630062676,0]):iron_data_Data.getBlob(this.raw.irradiance+".arm",function(t){for(var a=t,r=JSON.parse(a.toString()),i=new Array(28),s=0;s<27;){var n=s++;i[n]=r.irradiance[n]}i[27]=0,e(i)})},__class__:iron_data_Probe};var iron_math_Mat3=$hxClasses["iron.math.Mat3"]=function(e,t,a,r,i,s,n,_,o){this.self=new kha_math_FastMatrix3(e,t,a,r,i,s,n,_,o)};iron_math_Mat3.__name__=!0,iron_math_Mat3.identity=function(){return new iron_math_Mat3(1,0,0,0,1,0,0,0,1)},iron_math_Mat3.prototype={setFrom4:function(e){this.self._00=e.self._00,this.self._01=e.self._01,this.self._02=e.self._02,this.self._10=e.self._10,this.self._11=e.self._11,this.self._12=e.self._12,this.self._20=e.self._20,this.self._21=e.self._21,this.self._22=e.self._22},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__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__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},__class__:iron_math_Mat3,__properties__:{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__12:"set__12",get__12:"get__12",set__11:"set__11",get__11:"get__11",set__10:"set__10",get__10:"get__10",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 kha_math_FastMatrix4=$hxClasses["kha.math.FastMatrix4"]=function(e,t,a,r,i,s,n,_,o,h,l,c,d,u,p,f){this._00=e,this._10=t,this._20=a,this._30=r,this._01=i,this._11=s,this._21=n,this._31=_,this._02=o,this._12=h,this._22=l,this._32=c,this._03=d,this._13=u,this._23=p,this._33=f};kha_math_FastMatrix4.__name__=!0,kha_math_FastMatrix4.fromMatrix4=function(e){return new kha_math_FastMatrix4(e._00,e._10,e._20,e._30,e._01,e._11,e._21,e._31,e._02,e._12,e._22,e._32,e._03,e._13,e._23,e._33)},kha_math_FastMatrix4.orthogonalProjection=function(e,t,a,r,i,s){return new kha_math_FastMatrix4(2/(t-e),0,0,-(t+e)/(t-e),0,2/(r-a),0,-(r+a)/(r-a),0,0,-2/(s-i),-(s+i)/(s-i),0,0,0,1)},kha_math_FastMatrix4.perspectiveProjection=function(e,t,a,r){var i=1/Math.tan(e/2);return new kha_math_FastMatrix4(i/t,0,0,0,0,i,0,0,0,0,(r+a)/(a-r),2*r*a/(a-r),0,0,-1,0)},kha_math_FastMatrix4.lookAt=function(e,t,a){var r=new kha_math_FastVector3(t.x-e.x,t.y-e.y,t.z-e.z);r.set_length(1);var i=r.y*a.z-r.z*a.y,s=r.z*a.x-r.x*a.z,n=r.x*a.y-r.y*a.x,_=new kha_math_FastVector3(i,s,n);_.set_length(1);var o,h,l;return l=_.y*r.z-_.z*r.y,h=_.z*r.x-_.x*r.z,o=_.x*r.y-_.y*r.x,new kha_math_FastMatrix4(_.x,_.y,_.z,-(_.x*e.x+_.y*e.y+_.z*e.z),l,h,o,-(l*e.x+h*e.y+o*e.z),-r.x,-r.y,-r.z,r.x*e.x+r.y*e.y+r.z*e.z,0,0,0,1)},kha_math_FastMatrix4.prototype={__class__:kha_math_FastMatrix4};var iron_math_Vec4=$hxClasses["iron.math.Vec4"]=function(e,t,a,r){null==r&&(r=1),null==a&&(a=0),null==t&&(t=0),null==e&&(e=0),this.quat=new iron_math_Quat,this.x=e,this.y=t,this.z=a,this.w=r};iron_math_Vec4.__name__=!0,iron_math_Vec4.lerp=function(e,t,a){var r=new iron_math_Vec4;return r.x=t.x+(e.x-t.x)*a,r.y=t.y+(e.y-t.y)*a,r.z=t.z+(e.z-t.z)*a,r},iron_math_Vec4.distance3d=function(e,t){var a=e.x-t.x,r=e.y-t.y,i=e.z-t.z;return Math.sqrt(a*a+r*r+i*i)},iron_math_Vec4.distance3df=function(e,t,a,r,i,s){var n=e-r,_=t-i,o=a-s;return Math.sqrt(n*n+_*_+o*o)},iron_math_Vec4.xAxis=function(){return new iron_math_Vec4(1,0,0)},iron_math_Vec4.yAxis=function(){return new iron_math_Vec4(0,1,0)},iron_math_Vec4.zAxis=function(){return new iron_math_Vec4(0,0,1)},iron_math_Vec4.prototype={cross:function(e){var t=this.y*e.z-this.z*e.y,a=this.z*e.x-this.x*e.z,r=this.x*e.y-this.y*e.x;return this.x=t,this.y=a,this.z=r,this},crossvecs:function(e,t){var a=e.y*t.z-e.z*t.y,r=e.z*t.x-e.x*t.z,i=e.x*t.y-e.y*t.x;return this.x=a,this.y=r,this.z=i,this},set:function(e,t,a,r){return null==r&&(r=1),this.x=e,this.y=t,this.z=a,this.w=r,this},add:function(e){return this.x+=e.x,this.y+=e.y,this.z+=e.z,this},addf:function(e,t,a){return this.x+=e,this.y+=t,this.z+=a,this},addvecs:function(e,t){return this.x=e.x+t.x,this.y=e.y+t.y,this.z=e.z+t.z,this},subvecs:function(e,t){return this.x=e.x-t.x,this.y=e.y-t.y,this.z=e.z-t.z,this},normalize:function(){var e=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z);if(e>0){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+1<t.length&&e.animTime>t[e.timeIndex+1]:e.timeIndex-1>0&&e.animTime<t[e.timeIndex-1]},checkTrackEnd:function(e,t){return e.dir>0?!(e.timeIndex<t.times.length-1)||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+1<s.length&&i.animTime>s[i.timeIndex+1]:i.timeIndex-1>0&&i.animTime<s[i.timeIndex-1]))break;this.player.timeIndex+=this.player.dir}this.player.timeIndex>=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<a;){var r=t++;this.addTrack(e.names[r],e.starts[r],e.ends[r],e.speeds[r],e.loops[r],e.reflects[r])}this.play(e.start_track)};iron_object_Player.__name__=!0,iron_object_Player.prototype={play:function(e,t){var a=this.tracks;this.current=null!=__map_reserved[e]?a.getReserved(e):a.h[e],null!=this.current&&(this.onTrackComplete=t,this.dirty=!0,this.paused=!1,this.dir=this.current.speed>=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;i<s;){var n=i++;this.skinBuffer[n]=0}for(var _=0,o=this.data.geom.skeletonBones;_<o.length;){var h=o[_];++_,this.boneMats.set(h,iron_math_Mat4.fromFloat32Array(h.transform.values)),this.boneTimeIndices.set(h,0)}}};iron_object_BoneAnimation.__name__=!0,iron_object_BoneAnimation.__super__=iron_object_Animation,iron_object_BoneAnimation.prototype=$extend(iron_object_Animation.prototype,{update:function(e){this.object.visible&&!this.object.culled&&(iron_object_Animation.prototype.update.call(this,e),this.player.paused||this.isSkinned&&(this.updateBoneAnim(),this.updateSkin()))},updateBoneAnim:function(){for(var e=0,t=this.data.geom.skeletonBones;e<t.length;){var a=t[e];++e,this.updateAnimSampled(a.animation,this.boneMats.h[a.__id__],$bind(this,this.setBoneAnimFrame))}},setBoneAnimFrame:function(e){for(var t=0,a=this.data.geom.skeletonBones;t<a.length;){var r=a[t];++t;var i=r.animation;if(null!=i){var s=i.tracks[0],n=iron_math_Mat4.fromFloat32Array(s.values,16*e);this.boneMats.set(r,n)}}this.updateSkin()},updateSkin:function(){this.updateSkinGpu()},updateSkinGpu:function(){for(var e=this.data.geom.skeletonBones,t=0,a=e.length;t<a;){var r=t++;this.bm.setFrom(this.data.geom.skinTransform),this.bm.multmat2(this.data.geom.skeletonTransformsI[r]),this.m.setFrom(this.boneMats.h[e[r].__id__]);for(var i=e[r].parent;null!=i;){var s=this.boneMats.h[i.__id__];null==s&&(s=iron_math_Mat4.fromFloat32Array(i.transform.values)),this.m.multmat2(s),i=i.parent}this.bm.multmat2(this.m),this.bm.decompose(iron_object_BoneAnimation.vpos,iron_object_BoneAnimation.q1,iron_object_BoneAnimation.vscl),iron_object_BoneAnimation.q1.normalize(),iron_object_BoneAnimation.q2.set(iron_object_BoneAnimation.vpos.x,iron_object_BoneAnimation.vpos.y,iron_object_BoneAnimation.vpos.z,0),iron_object_BoneAnimation.q2.multquats(iron_object_BoneAnimation.q2,iron_object_BoneAnimation.q1),iron_object_BoneAnimation.q2.x*=.5,iron_object_BoneAnimation.q2.y*=.5,iron_object_BoneAnimation.q2.z*=.5,iron_object_BoneAnimation.q2.w*=.5,this.skinBuffer[8*r]=iron_object_BoneAnimation.q1.x,this.skinBuffer[8*r+1]=iron_object_BoneAnimation.q1.y,this.skinBuffer[8*r+2]=iron_object_BoneAnimation.q1.z,this.skinBuffer[8*r+3]=iron_object_BoneAnimation.q1.w,this.skinBuffer[8*r+4]=iron_object_BoneAnimation.q2.x,this.skinBuffer[8*r+5]=iron_object_BoneAnimation.q2.y,this.skinBuffer[8*r+6]=iron_object_BoneAnimation.q2.z,this.skinBuffer[8*r+7]=iron_object_BoneAnimation.q2.w}},updateSkinCpu:function(){for(var e=this.data.geom.vertexBuffer.lock(),t=this.data.geom.structLength,a=0,r=0,i=e.length/t|0;r<i;){for(var s=r++,n=this.data.geom.skinBoneCounts[s],_=[],o=[],h=a,l=a+n;h<l;){var c=h++;_.push(this.data.geom.skinBoneIndices[c]),o.push(this.data.geom.skinBoneWeights[c])}a+=n,this.pos.set(0,0,0),this.nor.set(0,0,0);for(var d=0,u=n;d<u;){var p=d++,f=_[p],g=o[p],m=this.data.geom.skeletonBones[f];this.m.initTranslate(this.data.geom.positions[3*s],this.data.geom.positions[3*s+1],this.data.geom.positions[3*s+2]),this.m.multmat2(this.data.geom.skinTransform),this.m.multmat2(this.data.geom.skeletonTransformsI[f]),this.bm.setFrom(this.boneMats.h[m.__id__]);for(var v=m.parent;null!=v;){var k=this.boneMats.h[v.__id__];null==k&&(k=iron_math_Mat4.fromFloat32Array(v.transform.values)),this.bm.multmat2(k),v=v.parent}this.m.multmat2(this.bm),this.m.mult(g);var b=this.m;this.pos.add(new iron_math_Vec4(b.self._30,b.self._31,b.self._32,b.self._33)),this.m.getInverse(this.bm),this.m.multmat2(this.data.geom.skeletonTransforms[f]),this.m.multmat2(this.data.geom.skinTransformI),this.m.translate(this.data.geom.normals[3*s],this.data.geom.normals[3*s+1],this.data.geom.normals[3*s+2]),this.m.mult(g);var y=this.m;this.nor.add(new iron_math_Vec4(y.self._30,y.self._31,y.self._32,y.self._33))}e[s*t]=this.pos.x,e[s*t+1]=this.pos.y,e[s*t+2]=this.pos.z,e[s*t+3]=this.nor.x,e[s*t+4]=this.nor.y,e[s*t+5]=this.nor.z}this.data.geom.vertexBuffer.unlock()},__class__:iron_object_BoneAnimation});var iron_object_Object=$hxClasses["iron.object.Object"]=function(){this.properties=null,this.culledShadow=!1,this.culledMesh=!1,this.culled=!1,this.visibleShadow=!0,this.visibleMesh=!0,this.visible=!0,this.animation=null,this.group=null,this.lods=null,this.children=[],this.parent=null,this.traits=[],this.constraints=null,this.name="",this.raw=null,this.uid=iron_object_Object.uidCounter++,this.urandom=iron_object_Object.seededRandom(),this.transform=new iron_object_Transform(this)};iron_object_Object.__name__=!0,iron_object_Object.seededRandom=function(){return iron_object_Object.seed=(9301*iron_object_Object.seed+49297)%233280,iron_object_Object.seed/233280},iron_object_Object.prototype={addChild:function(e){this.children.push(e),e.parent=this},remove:function(){for(null!=this.animation&&this.animation.remove();this.children.length>0;)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;t<a.length;){var r=a[t];++t;var i=r.getChild(e);if(null!=i)return i}return null},getChildOfType:function(e){if(js_Boot.__instanceof(this,e))return this;for(var t=0,a=this.children;t<a.length;){var r=a[t];++t;var i=r.getChildOfType(e);if(null!=i)return i}return null},addTrait:function(e){if(this.traits.push(e),e.object=this,null!=e._add){for(var t=0,a=e._add;t<a.length;){var r=a[t];++t,r()}e._add=null}},removeTrait:function(e){if(null!=e._init){for(var t=0,a=e._init;t<a.length;){var r=a[t];++t,iron_App.removeInit(r)}e._init=null}if(null!=e._update){for(var i=0,s=e._update;i<s.length;){var n=s[i];++i,iron_App.removeUpdate(n)}e._update=null}if(null!=e._lateUpdate){for(var _=0,o=e._lateUpdate;_<o.length;){var h=o[_];++_,iron_App.removeLateUpdate(h)}e._lateUpdate=null}if(null!=e._render){for(var l=0,c=e._render;l<c.length;){var d=c[l];++l,iron_App.removeRender(d)}e._render=null}if(null!=e._render2D){for(var u=0,p=e._render2D;u<p.length;){var f=p[u];++u,iron_App.removeRender2D(f)}e._render2D=null}if(null!=e._remove){for(var g=0,m=e._remove;g<m.length;){var v=m[g];++g,v()}e._remove=null}HxOverrides.remove(this.traits,e),e.object=null},getTrait:function(e){for(var t=0,a=this.traits;t<a.length;){var r=a[t];if(++t,(null==r?null:js_Boot.getClass(r))==e)return r}return null},setupAnimation:function(e){this.animation=new iron_object_ObjectAnimation(this,e)},toString:function(){return"Object "+this.name},__class__:iron_object_Object};var iron_object_CameraObject=$hxClasses["iron.object.CameraObject"]=function(e){this.frustumPlanes=null,this.prevV=null,iron_object_Object.call(this),this.data=e,this.renderPath=new iron_data_RenderPath(this),this.nearPlane=e.raw.near_plane,this.farPlane=e.raw.far_plane;var t=e.raw.fov;if("perspective"==e.raw.type){var a=kha_System.windowWidth(),r=kha_System.windowHeight();this.P=iron_math_Mat4.perspective(t,a/r,this.nearPlane,this.farPlane)}else"orthographic"==e.raw.type&&(this.P=iron_math_Mat4.orthogonal(-10,10,-6,6,-this.farPlane,this.farPlane));if(this.V=iron_math_Mat4.identity(),this.VP=iron_math_Mat4.identity(),e.raw.frustum_culling){this.frustumPlanes=[];for(var i=0;i<6;){i++;this.frustumPlanes.push(new iron_object_FrustumPlane)}}iron_Scene.active.cameras.push(this)};iron_object_CameraObject.__name__=!0,iron_object_CameraObject.buildViewFrustum=function(e,t){var a=t[0],r=e.self._33+e.self._30;a.normal.set(e.self._03+e.self._00,e.self._13+e.self._10,e.self._23+e.self._20),a.constant=r;var i=t[1],s=e.self._33-e.self._30;i.normal.set(e.self._03-e.self._00,e.self._13-e.self._10,e.self._23-e.self._20),i.constant=s;var n=t[2],_=e.self._33-e.self._31;n.normal.set(e.self._03-e.self._01,e.self._13-e.self._11,e.self._23-e.self._21),n.constant=_;var o=t[3],h=e.self._33+e.self._31;o.normal.set(e.self._03+e.self._01,e.self._13+e.self._11,e.self._23+e.self._21),o.constant=h;var l=t[4],c=e.self._32;l.normal.set(e.self._02,e.self._12,e.self._22),l.constant=c;var d=t[5],u=e.self._33-e.self._32;d.normal.set(e.self._03-e.self._02,e.self._13-e.self._12,e.self._23-e.self._22),d.constant=u;for(var p=0;p<t.length;){var f=t[p];++p,f.normalize()}},iron_object_CameraObject.sphereInFrustum=function(e,t,a,r,i,s){null==s&&(s=0),null==i&&(i=0),null==r&&(r=0),null==a&&(a=1);for(var n=t.radius*a,_=0;_<e.length;){var o=e[_];if(++_,iron_object_CameraObject.sphereCenter.set(t.world.self._30+r,t.world.self._31+i,t.world.self._32+s),o.distanceToSphere(iron_object_CameraObject.sphereCenter,n)+2*n<0)return!1}return!0},iron_object_CameraObject.__super__=iron_object_Object,iron_object_CameraObject.prototype=$extend(iron_object_Object.prototype,{remove:function(){HxOverrides.remove(iron_Scene.active.cameras,this),iron_object_Object.prototype.remove.call(this)},renderFrame:function(e,t,a){this.buildMatrix(),null==this.prevV&&(this.prevV=iron_math_Mat4.identity(),this.prevV.setFrom(this.V)),this.renderPath.renderFrame(e,t,a),this.prevV.setFrom(this.V)},buildMatrix:function(){this.transform.buildMatrix();var e=this.transform.world.getScale();iron_object_CameraObject.temp.set(1/e.x,1/e.y,1/e.z),this.transform.world.scale(iron_object_CameraObject.temp),this.V.getInverse(this.transform.world),this.data.raw.frustum_culling&&(this.VP.multmats(this.P,this.V),iron_object_CameraObject.buildViewFrustum(this.VP,this.frustumPlanes))},rotate:function(e,t){iron_object_CameraObject.q.fromAxisAngle(e,t),this.transform.rot.multquats(iron_object_CameraObject.q,this.transform.rot),this.buildMatrix()},move:function(e,t){null==t&&(t=1),this.transform.loc.addf(e.x*t,e.y*t,e.z*t),this.buildMatrix()},right:function(){return new iron_math_Vec4(this.transform.local.self._00,this.transform.local.self._01,this.transform.local.self._02)},up:function(){return new iron_math_Vec4(this.transform.local.self._10,this.transform.local.self._11,this.transform.local.self._12)},look:function(){return new iron_math_Vec4(-this.transform.local.self._20,-this.transform.local.self._21,-this.transform.local.self._22)},rightWorld:function(){return new iron_math_Vec4(this.transform.world.self._00,this.transform.world.self._01,this.transform.world.self._02)},upWorld:function(){return new iron_math_Vec4(this.transform.world.self._10,this.transform.world.self._11,this.transform.world.self._12)},lookWorld:function(){return new iron_math_Vec4(-this.transform.world.self._20,-this.transform.world.self._21,-this.transform.world.self._22)},toString:function(){return"Camera Object "+this.name},__class__:iron_object_CameraObject});var iron_object_FrustumPlane=$hxClasses["iron.object.FrustumPlane"]=function(){this.constant=0,this.normal=new iron_math_Vec4(1,0,0)};iron_object_FrustumPlane.__name__=!0,iron_object_FrustumPlane.prototype={normalize:function(){var e=this.normal,t=1/Math.sqrt(e.x*e.x+e.y*e.y+e.z*e.z);this.normal.mult(t),this.constant*=t},distanceToSphere:function(e,t){return this.normal.dot(e)+this.constant-t},setComponents:function(e,t,a,r){this.normal.set(e,t,a),this.constant=r},__class__:iron_object_FrustumPlane};var iron_object_Constraint=$hxClasses["iron.object.Constraint"]=function(e){this.target=null,this.raw=e};iron_object_Constraint.__name__=!0,iron_object_Constraint.prototype={apply:function(e){null==this.target&&null!=this.raw.target&&(this.target=iron_Scene.active.getChild(this.raw.target).transform),"COPY_LOCATION"==this.raw.type&&(this.raw.use_x&&(e.world.self._30=this.target.loc.x,this.raw.use_offset&&(e.world.self._30+=e.loc.x)),this.raw.use_y&&(e.world.self._31=this.target.loc.y,this.raw.use_offset&&(e.world.self._31+=e.loc.y)),this.raw.use_z&&(e.world.self._32=this.target.loc.z,this.raw.use_offset&&(e.world.self._32+=e.loc.z)))},__class__:iron_object_Constraint};var iron_object_DecalObject=$hxClasses["iron.object.DecalObject"]=function(e){iron_object_Object.call(this),this.material=e,iron_Scene.active.decals.push(this)};iron_object_DecalObject.__name__=!0,iron_object_DecalObject.__super__=iron_object_Object,iron_object_DecalObject.prototype=$extend(iron_object_Object.prototype,{remove:function(){HxOverrides.remove(iron_Scene.active.decals,this),iron_object_Object.prototype.remove.call(this)},render:function(e,t,a,r,i){if(null==this.material.raw.skip_context||this.material.raw.skip_context!=t){for(var s=null,n=0,_=this.material.raw.contexts.length;n<_;){var o=n++;if(this.material.raw.contexts[o].name==t){s=this.material.contexts[o];break}}var h=this.material.shader.getContext(t);e.setPipeline(h.pipeState),iron_object_Uniforms.setConstants(e,h,this,a,r,i),iron_object_Uniforms.setMaterialConstants(e,h,s)}},__class__:iron_object_DecalObject});var iron_object_LampObject=$hxClasses["iron.object.LampObject"]=function(e){this.camSlicedP=null,this.frustumPlanes=null,this.P=null,this.V=iron_math_Mat4.identity(),iron_object_Object.call(this),this.data=e;var t=e.raw.type,a=e.raw.fov;if("sun"==t){if(null==iron_object_LampObject.corners){iron_object_LampObject.corners=[];for(var r=0;r<8;){r++;iron_object_LampObject.corners.push(new iron_math_Vec4)}}}else"point"==t||"area"==t?this.P=iron_math_Mat4.perspective(a,1,e.raw.near_plane,e.raw.far_plane):"spot"==t&&(this.P=iron_math_Mat4.perspective(a,1,e.raw.near_plane,e.raw.far_plane));iron_Scene.active.lamps.push(this)};iron_object_LampObject.__name__=!0,iron_object_LampObject.setCorners=function(){iron_object_LampObject.corners[0].set(-1,-1,1),iron_object_LampObject.corners[1].set(-1,-1,-1),iron_object_LampObject.corners[2].set(-1,1,1),iron_object_LampObject.corners[3].set(-1,1,-1),iron_object_LampObject.corners[4].set(1,-1,1),iron_object_LampObject.corners[5].set(1,-1,-1),iron_object_LampObject.corners[6].set(1,1,1),iron_object_LampObject.corners[7].set(1,1,-1)},iron_object_LampObject.__super__=iron_object_Object,iron_object_LampObject.prototype=$extend(iron_object_Object.prototype,{remove:function(){HxOverrides.remove(iron_Scene.active.lamps,this),iron_object_Object.prototype.remove.call(this)},buildMatrices:function(e){if(this.transform.buildMatrix(),"sun"==this.data.raw.type){if(null==this.camSlicedP){var t=this.data.raw;this.camSlicedP=iron_math_Mat4.perspective(t.fov,kha_System.windowWidth()/kha_System.windowHeight(),t.near_plane,t.far_plane)}iron_object_LampObject.m.setFrom(e.V),iron_object_LampObject.m.multmat2(this.camSlicedP),iron_object_LampObject.m.getInverse(iron_object_LampObject.m),this.V.setFrom(this.transform.world),this.V.toRotation(),this.V.getInverse(this.V),iron_object_LampObject.m.multmat2(this.V),iron_object_LampObject.setCorners();for(var a=0,r=iron_object_LampObject.corners;a<r.length;){var i=r[a];++a,i.applymat4(iron_object_LampObject.m),i.set(i.x/i.w,i.y/i.w,i.z/i.w)}for(var s=iron_object_LampObject.corners[0].x,n=iron_object_LampObject.corners[0].y,_=iron_object_LampObject.corners[0].z,o=iron_object_LampObject.corners[0].x,h=iron_object_LampObject.corners[0].y,l=iron_object_LampObject.corners[0].z,c=0,d=iron_object_LampObject.corners;c<d.length;){var u=d[c];++c,u.x<s&&(s=u.x),u.x>o&&(o=u.x),u.y<n&&(n=u.y),u.y>h&&(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;_<o.length;){var h=o[_];if(++_,iron_object_CameraObject.sphereInFrustum(s,this.transform,r,h.x,h.y,h.z)){n=!0;break}}if(!n)return this.setCulled(i,!0);var l=t.transform.world.self._30,c=t.transform.world.self._31,d=t.transform.world.self._32;this.data.geom.sortInstanced(l,c,d)}else if(!iron_object_CameraObject.sphereInFrustum(s,this.transform,r))return this.setCulled(i,!0)}return this.culled=!1,this.culled},skipContext:function(e){for(var t=0,a=this.materials;t<a.length;){var r=a[t];if(++t,null!=r.raw.skip_context&&r.raw.skip_context==e)return!0}return!1},getContexts:function(e,t,a,r){for(var i=0;i<t.length;){var s=t[i];++i;for(var n=0,_=s.raw.contexts.length;n<_;){var o=n++;if(HxOverrides.substr(s.raw.contexts[o].name,0,e.length)==e){a.push(s.contexts[o]),r.push(s.shader.getContext(e));break}}}},render:function(e,t,a,r,i){if(null!=this.data&&this.data.geom.ready&&this.visible&&!this.cullMaterial(t,a)&&!this.cullMesh(t,a,r)){var s=this.materials,n=this;if(null!=this.raw&&null!=this.raw.lods&&this.raw.lods.length>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;h<l.length;){var c=l[h];++h,""==c.object_ref?this.lods.push(null):this.lods.push(iron_Scene.active.getChild(c.object_ref))}}for(var d=0,u=this.raw.lods.length;d<u;){var p=d++;if(this.screenSize>this.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;v<k;){var b=v++,y=m.geom.materialIndices[b];g.length<=y||(e.setIndexBuffer(m.geom.indexBuffers[b]),e.setPipeline(g[y].pipeState),iron_object_Uniforms.setConstants(e,g[y],this,a,r,i),f.length>y&&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;S<x.length;){var B=x[S];++S,js_Boot.__instanceof(B,iron_object_MeshObject)&&(B.transform.appendMatrix(this.transform.world),B.transform.buildMatrix(),js_Boot.__cast(B,iron_object_MeshObject).render(e,t,a,r,i),B.transform.popAppendMatrix(),B.transform.buildMatrix())}}}},renderBatch:function(e,t,a,r,i,s,n){if(null==n&&(n=-1),null==s&&(s=0),this.visible&&!this.cullMesh(t,a,r)){var _=this,o=[],h=[];this.getContexts(t,this.materials,o,h),null!=_.particleSystem&&_.particleSystem.update(),this.transform.update(),iron_object_Uniforms.setConstants(e,h[0],this,a,r,i),iron_object_Uniforms.setMaterialConstants(e,h[0],o[0]),e.drawIndexedVertices(s,n)}},validContext:function(e,t){return null!=e.getContext(t)},computeCameraDistance:function(e,t,a){var r=e-this.transform.world.self._30,i=t-this.transform.world.self._31,s=a-this.transform.world.self._32;this.cameraDistance=Math.sqrt(r*r+i*i+s*s)},computeScreenSize:function(e){var t=this.transform,a=t.size.x*t.scale.x*t.size.y*t.scale.y*t.size.z*t.scale.z;this.screenSize=a*(1/this.cameraDistance),this.screenSize=this.screenSize>1?1:this.screenSize},initLods:function(){if(null==this.lods){this.lods=[];for(var e=0,t=this.raw.lods;e<t.length;){var a=t[e];++e,""==a.object_ref?this.lods.push(null):this.lods.push(iron_Scene.active.getChild(a.object_ref))}}},toString:function(){return"Mesh Object "+this.name},__class__:iron_object_MeshObject});var iron_object_ObjectAnimation=$hxClasses["iron.object.ObjectAnimation"]=function(e,t){iron_object_Animation.call(this,t),this.isSkinned=!1,this.object=e,null!=e.raw.animation_transforms?(this.isSampled=!1,iron_object_ObjectAnimation.parseAnimationTransforms(e.transform,e.raw.animation_transforms)):this.isSampled=!0};iron_object_ObjectAnimation.__name__=!0,iron_object_ObjectAnimation.parseAnimationTransforms=function(e,t){for(var a=0;a<t.length;){var r=t[a];switch(++a,r.type){case"rotation":e.setRotation(r.values[0],r.values[1],r.values[2]);break;case"rotation_x":e.setRotation(r.value,0,0);break;case"rotation_y":e.setRotation(0,r.value,0);break;case"rotation_z":e.setRotation(0,0,r.value);break;case"scale":e.scale.set(r.values[0],r.values[1],r.values[2]);break;case"scale_x":e.scale.x=r.value;break;case"scale_y":e.scale.y=r.value;break;case"scale_z":e.scale.z=r.value;break;case"translation":e.loc.set(r.values[0],r.values[1],r.values[2]);break;case"translation_x":e.loc.x=r.value;break;case"translation_y":e.loc.y=r.value;break;case"translation_z":e.loc.z=r.value}}e.buildMatrix()},iron_object_ObjectAnimation.__super__=iron_object_Animation,iron_object_ObjectAnimation.prototype=$extend(iron_object_Animation.prototype,{update:function(e){this.object.visible&&!this.object.culled&&(iron_object_Animation.prototype.update.call(this,e),this.player.paused||this.isSkinned||this.updateObjectAnim())},updateObjectAnim:function(){this.isSampled?(this.updateAnimSampled(this.object.raw.animation,this.object.transform.world,$bind(this,this.setObjectAnimFrame)),this.object.transform.world.decompose(this.object.transform.loc,this.object.transform.rot,this.object.transform.scale)):(this.updateAnimNonSampled(this.object.raw.animation,this.object.transform),this.object.transform.buildMatrix())},setObjectAnimFrame:function(e){var t=this.object.raw.animation;if(null!=t){var a=t.tracks[0],r=iron_math_Mat4.fromFloat32Array(a.values,16*e);this.object.transform.world=r}},interpolateLinear:function(e,t,a){return(e-t)/(a-t)},interpolateBezier:function(e,t,a){var r=(e-t)/(a-t);return 1==r?1:1-Math.pow(2,-10*r)},interpolateTcb:function(){},updateAnimNonSampled:function(e,t){if(null!=e&&null!=this.player.current){var a=e.begin,r=e.end-a;if(this.player.dirty){this.player.dirty=!1,this.player.animTime=this.player.current.start*this.player.frameTime,this.player.timeIndex=0;for(var i=e.tracks[0];this.player.animTime>i.times[this.player.timeIndex]+this.player.frameTime;)this.player.timeIndex++}if(0!=this.player.current.frames)for(var s=0,n=e.tracks;s<n.length;){var _=n[s];if(++s,!(this.player.timeIndex>=_.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.animTime<this.player.current.start*this.player.frameTime+this.player.frameTime&&this.player.dir<0){if(!this.player.current.loop)return void(this.player.paused=!0);this.player.current.reflect&&(this.player.dir*=-1),this.player.animTime=this.player.dir>0?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;i<s;){i++;var n=new iron_object_Particle;r.particles.push(n),n.offset=new iron_math_Vec4(0,0,0),n.velocity=new iron_math_Vec4(0,0,0),r.setVelocity(n.velocity),n.lifetime=Std.random(1e3*a.lifetime|0)/1e3}for(var _=new Float32Array(3*r.particles.length),o=0,h=0,l=r.particles;h<l.length;){var c=l[h];++h,_[o]=c.offset.x,_[++o]=c.offset.y,_[++o]=c.offset.z,++o}e.data.geom.setupInstanced(_,kha_graphics4_Usage.DynamicUsage),r.ready=!0})};iron_object_ParticleSystem.__name__=!0,iron_object_ParticleSystem.prototype={update:function(){if(this.ready){for(var e=0,t=this.particles;e<t.length;){var a=t[e];++e,a.lifetime+=.016666666666666666,a.lifetime>this.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;s<n;){var _=s++,o=this.particles[_];i[3*_]=o.offset.x,i[3*_+1]=o.offset.y,i[3*_+2]=o.offset.z}r.unlock()}},setVelocity:function(e){var t=this.data.raw;e.set(t.object_align_factor[0],t.object_align_factor[1],t.object_align_factor[2]),0!=t.factor_random&&(e.x+=Std.random(1e3*t.factor_random|0)/1e3-t.factor_random/2,e.y+=Std.random(1e3*t.factor_random|0)/1e3-t.factor_random/2,e.z+=Std.random(1e3*t.factor_random|0)/1e3-t.factor_random/2)},sort:function(){for(var e=iron_Scene.active.camera,t=0,a=this.particles;t<a.length;){var r=a[t];++t;var i=r.offset,s=e.transform.loc,n=i.x-s.x,_=i.y-s.y,o=i.z-s.z;r.cameraDistance=Math.sqrt(n*n+_*_+o*o)}this.particles.sort(function(e,t){return e.cameraDistance>t.cameraDistance?-1:e.cameraDistance<t.cameraDistance?1:0})},__class__:iron_object_ParticleSystem};var iron_object_Particle=$hxClasses["iron.object.Particle"]=function(){};iron_object_Particle.__name__=!0,iron_object_Particle.prototype={__class__:iron_object_Particle};var iron_object_SpeakerObject=$hxClasses["iron.object.SpeakerObject"]=function(e){this.sound=null;var t=this;iron_object_Object.call(this),this.data=e,iron_Scene.active.speakers.push(this),""!=e.sound&&iron_data_Data.getSound(e.sound,function(a){t.sound=a,e.muted||iron_Scene.active.notifyOnInit($bind(t,t.play))})};iron_object_SpeakerObject.__name__=!0,iron_object_SpeakerObject.__super__=iron_object_Object,iron_object_SpeakerObject.prototype=$extend(iron_object_Object.prototype,{play:function(){null!=this.sound&&iron_system_Audio.playSound(this.sound,this.data.loop)},remove:function(){HxOverrides.remove(iron_Scene.active.speakers,this),iron_object_Object.prototype.remove.call(this)},__class__:iron_object_SpeakerObject});var iron_object_Transform=$hxClasses["iron.object.Transform"]=function(e){this.appendMats=null,this.prependMats=null,this.localOnly=!1,this.object=e,this.reset()};iron_object_Transform.__name__=!0,iron_object_Transform.prototype={reset:function(){this.world=iron_math_Mat4.identity(),this.local=iron_math_Mat4.identity(),this.loc=new iron_math_Vec4,this.rot=new iron_math_Quat,this.scale=new iron_math_Vec4(1,1,1),this.size=new iron_math_Vec4,this.dirty=!0},update:function(){this.dirty&&(this.dirty=!1,this.buildMatrix())},prependMatrix:function(e){null==this.prependMats&&(this.prependMats=[]),this.prependMats.push(e)},popPrependMatrix:function(){null!=this.prependMats&&(this.prependMats.pop(),0==this.prependMats.length&&(this.prependMats=null))},appendMatrix:function(e){null==this.appendMats&&(this.appendMats=[]),this.appendMats.push(e)},popAppendMatrix:function(){null!=this.appendMats&&(this.appendMats.pop(),0==this.appendMats.length&&(this.appendMats=null))},buildMatrix:function(){if(this.local.compose(this.loc,this.rot,this.scale),null!=this.prependMats){iron_object_Transform.temp.setIdentity();for(var e=0,t=this.prependMats;e<t.length;){var a=t[e];++e,iron_object_Transform.temp.multmat2(a)}iron_object_Transform.temp.multmat2(this.local),this.local.setFrom(iron_object_Transform.temp)}if(null!=this.appendMats)for(var r=0,i=this.appendMats;r<i.length;){var s=i[r];++r,this.local.multmat2(s)}if(this.localOnly||null==this.object.parent?this.world.setFrom(this.local):this.world.multmat3x4(this.local,this.object.parent.transform.world),null!=this.object.constraints)for(var n=0,_=this.object.constraints;n<_.length;){var o=_[n];++n,o.apply(this)}for(var h=0,l=this.object.children;h<l.length;){var c=l[h];++h,c.transform.buildMatrix()}},set:function(e,t,a,r,i,s,n,_,o){null==o&&(o=1),null==_&&(_=1),null==n&&(n=1),null==s&&(s=0),null==i&&(i=0),null==r&&(r=0),null==a&&(a=0),null==t&&(t=0),null==e&&(e=0),this.loc.set(e,t,a),this.setRotation(r,i,s),this.scale.set(n,_,o),this.buildMatrix()},translate:function(e,t,a){this.loc.x+=e,this.loc.y+=t,this.loc.z+=a,this.buildMatrix()},setMatrix:function(e){this.local.setFrom(e),this.decompose()},multMatrix:function(e){this.local.multmat2(e),this.decompose()},decompose:function(){this.local.decompose(this.loc,this.rot,this.scale)},rotate:function(e,t){var a=new iron_math_Quat;a.fromAxisAngle(e,t),this.rot.multquats(a,this.rot),this.dirty=!0},setRotation:function(e,t,a){this.rot.fromEuler(e,t,a),this.dirty=!0,this._eulerX=e,this._eulerY=t,this._eulerZ=a},computeRadius:function(){this.radius=Math.sqrt(this.size.x*this.size.x+this.size.y*this.size.y+this.size.z*this.size.z)},setDimensions:function(e,t,a){this.size.set(e,t,a),this.computeRadius()},look:function(){var e=this.world;return new iron_math_Vec4(e.self._10,e.self._11,e.self._12)},right:function(){var e=this.world;return new iron_math_Vec4(e.self._00,e.self._01,e.self._02)},up:function(){var e=this.world;return new iron_math_Vec4(e.self._20,e.self._21,e.self._22)},worldx:function(){return this.world.self._30},worldy:function(){return this.world.self._31},worldz:function(){return this.world.self._32},__class__:iron_object_Transform};var kha_math_FastMatrix3=$hxClasses["kha.math.FastMatrix3"]=function(e,t,a,r,i,s,n,_,o){this._00=e,this._10=t,this._20=a,this._01=r,this._11=i,this._21=s,this._02=n,this._12=_,this._22=o};kha_math_FastMatrix3.__name__=!0,kha_math_FastMatrix3.fromMatrix3=function(e){return new kha_math_FastMatrix3(e._00,e._10,e._20,e._01,e._11,e._21,e._02,e._12,e._22)},kha_math_FastMatrix3.prototype={__class__:kha_math_FastMatrix3};var iron_object_Uniforms=$hxClasses["iron.object.Uniforms"]=function(){};iron_object_Uniforms.__name__=!0,iron_object_Uniforms.setConstants=function(e,t,a,r,i,s){if(null!=t.raw.constants)for(var n=0,_=t.raw.constants.length;n<_;){var o=n++,h=t.raw.constants[o];iron_object_Uniforms.setConstant(e,a,r,i,t.constants[o],h)}if(null!=s)for(var l=0,c=s.length/2|0;l<c;){var d=2*l++,u=s[d],p=s[d+1],f=r.data.pathdata,g=!1;"_"==u.charAt(0)&&(g=!0),g&&(u=HxOverrides.substr(u,1,null)),"shadowMap"==u&&null!=i&&i.data.raw.shadowmap_cube&&(u+="Cube",p+="Cube");var m;if(g){var v=f.depthToRenderTarget;m=null!=__map_reserved[u]?v.getReserved(u):v.h[u]}else{var k=f.renderTargets;m=null!=__map_reserved[u]?k.getReserved(u):k.h[u]}iron_object_Uniforms.bindRenderTarget(e,m,t,p,g)}if(null!=t.raw.texture_units)for(var b=0,y=t.raw.texture_units.length;b<y;){var S=b++,x=t.raw.texture_units[S].link;if(null!=x){t.raw.texture_units[S].name;if("_envmapRadiance"==x)e.setTexture(t.textureUnits[S],iron_Scene.active.world.getGlobalProbe().radiance),e.setTextureParameters(t.textureUnits[S],kha_graphics4_TextureAddressing.Repeat,kha_graphics4_TextureAddressing.Repeat,kha_graphics4_TextureFilter.LinearFilter,kha_graphics4_TextureFilter.LinearFilter,kha_graphics4_MipMapFilter.LinearMipFilter);else if("_envmapBrdf"==x){var B=iron_Scene.active.embedded;e.setTexture(t.textureUnits[S],null!=__map_reserved["brdf.png"]?B.getReserved("brdf.png"):B.h["brdf.png"])}else if("_noise8"==x){var w=iron_Scene.active.embedded;e.setTexture(t.textureUnits[S],null!=__map_reserved["noise8.png"]?w.getReserved("noise8.png"):w.h["noise8.png"]),e.setTextureParameters(t.textureUnits[S],kha_graphics4_TextureAddressing.Repeat,kha_graphics4_TextureAddressing.Repeat,kha_graphics4_TextureFilter.LinearFilter,kha_graphics4_TextureFilter.LinearFilter,kha_graphics4_MipMapFilter.NoMipFilter)}else if("_noise64"==x){var I=iron_Scene.active.embedded;e.setTexture(t.textureUnits[S],null!=__map_reserved["noise64.png"]?I.getReserved("noise64.png"):I.h["noise64.png"]),e.setTextureParameters(t.textureUnits[S],kha_graphics4_TextureAddressing.Repeat,kha_graphics4_TextureAddressing.Repeat,kha_graphics4_TextureFilter.LinearFilter,kha_graphics4_TextureFilter.LinearFilter,kha_graphics4_MipMapFilter.NoMipFilter)}else if("_noise256"==x){var T=iron_Scene.active.embedded;e.setTexture(t.textureUnits[S],null!=__map_reserved["noise256.png"]?T.getReserved("noise256.png"):T.h["noise256.png"]),e.setTextureParameters(t.textureUnits[S],kha_graphics4_TextureAddressing.Repeat,kha_graphics4_TextureAddressing.Repeat,kha_graphics4_TextureFilter.LinearFilter,kha_graphics4_TextureFilter.LinearFilter,kha_graphics4_MipMapFilter.NoMipFilter)}else if("_lampColorTexture"==x)null!=i&&(e.setTexture(t.textureUnits[S],i.data.colorTexture),e.setTextureParameters(t.textureUnits[S],kha_graphics4_TextureAddressing.Repeat,kha_graphics4_TextureAddressing.Repeat,kha_graphics4_TextureFilter.LinearFilter,kha_graphics4_TextureFilter.LinearFilter,kha_graphics4_MipMapFilter.NoMipFilter));else if("_lensTexture"==x){var C=iron_Scene.active.embedded;e.setTexture(t.textureUnits[S],null!=__map_reserved["lenstexture.jpg"]?C.getReserved("lenstexture.jpg"):C.h["lenstexture.jpg"])}else if("_sdfTexture"!=x&&null!=iron_object_Uniforms.externalTextureLinks)for(var M=0,A=iron_object_Uniforms.externalTextureLinks;M<A.length;){var R=A[M];++M;var V=R(x);if(null!=V){e.setTexture(t.textureUnits[S],V);break}}}}},iron_object_Uniforms.bindRenderTarget=function(e,t,a,r,i){if(null!=t){var s=a.raw.texture_units;null==t.pong||t.pongState||(t=t.pong);for(var n=0,_=s.length;n<_;){var o=n++;r==s[o].name&&(null!=s[o].is_image&&s[o].is_image||(t.isCubeMap?i?e.setCubeMapDepth(a.textureUnits[o],t.cubeMap):e.setCubeMap(a.textureUnits[o],t.cubeMap):i?e.setTextureDepth(a.textureUnits[o],t.image):e.setTexture(a.textureUnits[o],t.image)))}}},iron_object_Uniforms.setConstant=function(e,t,a,r,i,s){if(null!=s.link)if("mat4"==s.type){var n=null;if("_worldMatrix"==s.link)n=t.transform.world;else if("_inverseWorldMatrix"==s.link)iron_object_Uniforms.helpMat.getInverse(t.transform.world),n=iron_object_Uniforms.helpMat;else if("_viewMatrix"==s.link)n=a.V;else if("_transposeInverseViewMatrix"==s.link)iron_object_Uniforms.helpMat.setIdentity(),iron_object_Uniforms.helpMat.multmat2(a.V),iron_object_Uniforms.helpMat.getInverse(iron_object_Uniforms.helpMat),iron_object_Uniforms.helpMat.transpose(),n=iron_object_Uniforms.helpMat;else if("_inverseViewMatrix"==s.link)iron_object_Uniforms.helpMat.getInverse(a.V),n=iron_object_Uniforms.helpMat;else if("_transposeViewMatrix"==s.link)iron_object_Uniforms.helpMat.setIdentity(),iron_object_Uniforms.helpMat.multmat2(a.V),iron_object_Uniforms.helpMat.transpose3x3(),n=iron_object_Uniforms.helpMat;else if("_projectionMatrix"==s.link)n=a.P;else if("_inverseProjectionMatrix"==s.link)iron_object_Uniforms.helpMat.getInverse(a.P),n=iron_object_Uniforms.helpMat;else if("_inverseViewProjectionMatrix"==s.link)iron_object_Uniforms.helpMat.setIdentity(),iron_object_Uniforms.helpMat.multmat2(a.V),iron_object_Uniforms.helpMat.multmat2(a.P),iron_object_Uniforms.helpMat.getInverse(iron_object_Uniforms.helpMat),n=iron_object_Uniforms.helpMat;else if("_worldViewProjectionMatrix"==s.link)iron_object_Uniforms.helpMat.setIdentity(),iron_object_Uniforms.helpMat.multmat2(t.transform.world),iron_object_Uniforms.helpMat.multmat2(a.V),iron_object_Uniforms.helpMat.multmat2(a.P),n=iron_object_Uniforms.helpMat;else if("_worldViewMatrix"==s.link)iron_object_Uniforms.helpMat.setIdentity(),iron_object_Uniforms.helpMat.multmat2(t.transform.world),iron_object_Uniforms.helpMat.multmat2(a.V),n=iron_object_Uniforms.helpMat;else if("_viewProjectionMatrix"==s.link)iron_object_Uniforms.helpMat.setIdentity(),iron_object_Uniforms.helpMat.multmat2(a.V),iron_object_Uniforms.helpMat.multmat2(a.P),n=iron_object_Uniforms.helpMat;else if("_prevViewProjectionMatrix"==s.link)iron_object_Uniforms.helpMat.setIdentity(),iron_object_Uniforms.helpMat.multmat2(a.prevV),iron_object_Uniforms.helpMat.multmat2(a.P),n=iron_object_Uniforms.helpMat;else if("_lampWorldViewProjectionMatrix"==s.link)null!=r&&(iron_object_Uniforms.helpMat.setIdentity(),null!=t&&iron_object_Uniforms.helpMat.multmat2(t.transform.world),iron_object_Uniforms.helpMat.multmat2(r.V),iron_object_Uniforms.helpMat.multmat2(r.P),n=iron_object_Uniforms.helpMat);else if("_biasLampWorldViewProjectionMatrix"==s.link)null!=r&&(iron_object_Uniforms.helpMat.setIdentity(),null!=t&&iron_object_Uniforms.helpMat.multmat2(t.transform.world),iron_object_Uniforms.helpMat.multmat2(r.V),iron_object_Uniforms.helpMat.multmat2(r.P),iron_object_Uniforms.helpMat.multmat2(iron_object_Uniforms.biasMat),n=iron_object_Uniforms.helpMat);else if("_lampViewProjectionMatrix"==s.link)null!=r&&(iron_object_Uniforms.helpMat.setIdentity(),iron_object_Uniforms.helpMat.multmat2(r.V),iron_object_Uniforms.helpMat.multmat2(r.P),n=iron_object_Uniforms.helpMat);else if("_biasLampViewProjectionMatrix"==s.link)null!=r&&(iron_object_Uniforms.helpMat.setIdentity(),iron_object_Uniforms.helpMat.multmat2(r.V),iron_object_Uniforms.helpMat.multmat2(r.P),iron_object_Uniforms.helpMat.multmat2(iron_object_Uniforms.biasMat),n=iron_object_Uniforms.helpMat);else if("_lampVolumeWorldViewProjectionMatrix"==s.link){if(null!=r){var _=r.transform,o=r.data.raw.type;"spot"==o?(iron_object_Uniforms.helpVec.set(_.world.self._30,_.world.self._31,_.world.self._32),iron_object_Uniforms.helpVec2.set(r.data.raw.far_plane,2*r.data.raw.far_plane,2*r.data.raw.far_plane),iron_object_Uniforms.helpMat.compose(iron_object_Uniforms.helpVec,iron_object_Uniforms.helpQuat,iron_object_Uniforms.helpVec2)):"point"!=o&&"area"!=o||(iron_object_Uniforms.helpVec.set(_.world.self._30,_.world.self._31,_.world.self._32),iron_object_Uniforms.helpVec2.set(r.data.raw.far_plane,2*r.data.raw.far_plane,2*r.data.raw.far_plane),iron_object_Uniforms.helpMat.compose(iron_object_Uniforms.helpVec,iron_object_Uniforms.helpQuat,iron_object_Uniforms.helpVec2)),iron_object_Uniforms.helpMat.multmat2(a.V),iron_object_Uniforms.helpMat.multmat2(a.P),n=iron_object_Uniforms.helpMat}}else if("_skydomeMatrix"==s.link){var h=a.transform;iron_object_Uniforms.helpVec.set(h.world.self._30,h.world.self._31,h.world.self._32-3.5);var l=.95*a.farPlane;iron_object_Uniforms.helpVec2.set(l,l,l),iron_object_Uniforms.helpMat.compose(iron_object_Uniforms.helpVec,iron_object_Uniforms.helpQuat,iron_object_Uniforms.helpVec2),iron_object_Uniforms.helpMat.multmat2(a.V),iron_object_Uniforms.helpMat.multmat2(a.P),n=iron_object_Uniforms.helpMat}else if("_lampViewMatrix"==s.link)null!=r&&(n=r.V);else if("_lampProjectionMatrix"==s.link)null!=r&&(n=r.P);else if(null!=iron_object_Uniforms.externalMat4Links)for(var c=0,d=iron_object_Uniforms.externalMat4Links;c<d.length;){var u=d[c];if(++c,null!=(n=u(s.link)))break}if(null==n)return;e.setMatrix(i,n.self)}else if("mat3"==s.type){var p=null;if("_normalMatrix"==s.link&&(iron_object_Uniforms.helpMat.setIdentity(),iron_object_Uniforms.helpMat.multmat2(t.transform.world),iron_object_Uniforms.helpMat.getInverse(iron_object_Uniforms.helpMat),iron_object_Uniforms.helpMat.transpose3x3(),iron_object_Uniforms.helpMat3.setFrom4(iron_object_Uniforms.helpMat),p=iron_object_Uniforms.helpMat3),null==p)return;e.setMatrix3(i,p.self)}else if("vec4"==s.type){var f=null;if(iron_object_Uniforms.helpVec.set(0,0,0),"_input"==s.link)iron_object_Uniforms.helpVec.set(iron_system_Input.getMouse().x/kha_System.windowWidth(),iron_system_Input.getMouse().y/kha_System.windowHeight(),iron_system_Input.getMouse().down()?1:0,0),f=iron_object_Uniforms.helpVec;else if(null!=iron_object_Uniforms.externalVec4Links)for(var g=0,m=iron_object_Uniforms.externalVec4Links;g<m.length;){var v=m[g];if(++g,null!=(f=v(s.link)))break}if(null==f)return;e.setFloat4(i,f.x,f.y,f.z,f.w)}else if("vec3"==s.type){var k=null;if(iron_object_Uniforms.helpVec.set(0,0,0),"_lampPosition"==s.link)null!=r&&iron_object_Uniforms.helpVec.set(r.transform.world.self._30,r.transform.world.self._31,r.transform.world.self._32),k=iron_object_Uniforms.helpVec;else if("_lampDirection"==s.link)null!=r&&(iron_object_Uniforms.helpVec=new iron_math_Vec4(r.V.self._02,r.V.self._12,r.V.self._22)),k=iron_object_Uniforms.helpVec;else if("_lampColor"==s.link){if(null!=r){var b=r.data.raw.strength;iron_object_Uniforms.helpVec.set(r.data.raw.color[0]*b,r.data.raw.color[1]*b,r.data.raw.color[2]*b)}k=iron_object_Uniforms.helpVec}else if("_lampArea0"==s.link){if(null!=r&&null!=r.data.raw.size){var y=r.data.raw.size/2,S=r.data.raw.size_y/2;iron_object_Uniforms.helpVec.set(-y,S,0),iron_object_Uniforms.helpVec.applymat(r.transform.world),k=iron_object_Uniforms.helpVec}}else if("_lampArea1"==s.link){if(null!=r&&null!=r.data.raw.size){var x=r.data.raw.size/2,B=r.data.raw.size_y/2;iron_object_Uniforms.helpVec.set(x,B,0),iron_object_Uniforms.helpVec.applymat(r.transform.world),k=iron_object_Uniforms.helpVec}}else if("_lampArea2"==s.link){if(null!=r&&null!=r.data.raw.size){var w=r.data.raw.size/2,I=r.data.raw.size_y/2;iron_object_Uniforms.helpVec.set(w,-I,0),iron_object_Uniforms.helpVec.applymat(r.transform.world),k=iron_object_Uniforms.helpVec}}else if("_lampArea3"==s.link){if(null!=r&&null!=r.data.raw.size){var T=r.data.raw.size/2,C=r.data.raw.size_y/2;iron_object_Uniforms.helpVec.set(-T,-C,0),iron_object_Uniforms.helpVec.applymat(r.transform.world),k=iron_object_Uniforms.helpVec}}else if("_cameraPosition"==s.link)iron_object_Uniforms.helpVec.set(a.transform.world.self._30,a.transform.world.self._31,a.transform.world.self._32),k=iron_object_Uniforms.helpVec;else if("_cameraLook"==s.link)iron_object_Uniforms.helpVec=new iron_math_Vec4(-a.transform.world.self._20,-a.transform.world.self._21,-a.transform.world.self._22),k=iron_object_Uniforms.helpVec;else if("_backgroundCol"==s.link)iron_object_Uniforms.helpVec.set(a.data.raw.clear_color[0],a.data.raw.clear_color[1],a.data.raw.clear_color[2]),k=iron_object_Uniforms.helpVec;else if("_probeVolumeCenter"==s.link)k=iron_Scene.active.world.getProbeVolumeCenter(t.transform);else if("_probeVolumeSize"==s.link)k=iron_Scene.active.world.getProbeVolumeSize(t.transform);else if(null!=iron_object_Uniforms.externalVec3Links)for(var M=0,A=iron_object_Uniforms.externalVec3Links;M<A.length;){var R=A[M];if(++M,null!=(k=R(s.link)))break}if(null==k)return;e.setFloat3(i,k.x,k.y,k.z)}else if("vec2"==s.type){var V=0,D=0;if("_vec2x"==s.link)V=1;else if("_vec2xInv"==s.link)V=1/a.renderPath.currentRenderTargetW;else if("_vec2x2"==s.link)V=2;else if("_vec2x2Inv"==s.link)V=2/a.renderPath.currentRenderTargetW;else if("_vec2y"==s.link)D=1;else if("_vec2yInv"==s.link)D=1/a.renderPath.currentRenderTargetH;else if("_vec2y2"==s.link)D=2;else if("_vec2y2Inv"==s.link)D=2/a.renderPath.currentRenderTargetH;else if("_vec2y3"==s.link)D=3;else if("_vec2y3Inv"==s.link)D=3/a.renderPath.currentRenderTargetH;else if("_windowSize"==s.link)V=kha_System.windowWidth(),D=kha_System.windowHeight();else if("_windowSizeInv"==s.link)V=1/kha_System.windowWidth(),D=1/kha_System.windowHeight();else if("_screenSize"==s.link)V=a.renderPath.currentRenderTargetW,D=a.renderPath.currentRenderTargetH;else if("_screenSizeInv"==s.link)V=1/a.renderPath.currentRenderTargetW,D=1/a.renderPath.currentRenderTargetH;else if("_aspectRatio"==s.link)V=a.renderPath.currentRenderTargetH/a.renderPath.currentRenderTargetW,D=a.renderPath.currentRenderTargetW/a.renderPath.currentRenderTargetH,V=V>1?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;P<F.length;){var $=F[P];++P;var j=$(s.link);if(null!=j){V=j.x,D=j.y;break}}e.setFloat2(i,V,D)}else if("float"==s.type){var E=0;if("_time"==s.link)E=kha_Scheduler.time();else if("_deltaTime"==s.link)E=.016666666666666666;else if("_lampRadius"==s.link)E=null==r?0:r.data.raw.far_plane;else if("_lampShadowsBias"==s.link)E=null==r?0:r.data.raw.shadows_bias;else if("_lampSize"==s.link)null!=r&&null!=r.data.raw.lamp_size&&(E=r.data.raw.lamp_size);else if("_lampSizeUV"==s.link)null!=r&&null!=r.data.raw.lamp_size&&(E=r.data.raw.lamp_size/r.data.raw.fov);else if("_envmapStrength"==s.link)E=null==iron_Scene.active.world?0:iron_Scene.active.world.getGlobalProbe().raw.strength;else if("_probeStrength"==s.link)E=iron_Scene.active.world.getProbeStrength(t.transform);else if("_probeBlending"==s.link)E=iron_Scene.active.world.getProbeBlending(t.transform);else if("_aspectRatioF"==s.link)E=a.renderPath.currentRenderTargetW/a.renderPath.currentRenderTargetH;else if("_aspectRatioWindowF"==s.link)E=kha_System.windowWidth()/kha_System.windowHeight();else if("_objectInfoIndex"==s.link)E=t.uid;else if("_objectInfoMaterialIndex"==s.link)E=null!=a.renderPath.currentMaterial?a.renderPath.currentMaterial.uid:js_Boot.__cast(t,iron_object_MeshObject).materials[0].uid;else if("_objectInfoRandom"==s.link)E=t.urandom;else if(null!=iron_object_Uniforms.externalFloatLinks)for(var U=0,N=iron_object_Uniforms.externalFloatLinks;U<N.length;){var L=N[U];++U;var z=L(s.link);if(null!=z){E=z;break}}e.setFloat(i,E)}else if("floats"==s.type){var O=null;if("_skinBones"==s.link)null!=t.animation&&(O=js_Boot.__cast(t.animation,iron_object_BoneAnimation).skinBuffer);else if("_envmapIrradiance"==s.link)O=null==iron_Scene.active.world?iron_data_WorldData.getEmptyIrradiance():iron_Scene.active.world.getSHIrradiance();else if(null!=iron_object_Uniforms.externalFloatsLinks)for(var H=0,G=iron_object_Uniforms.externalFloatsLinks;H<G.length;){var W=G[H];if(++H,null!=(O=W(s.link)))break}null!=O&&e.setFloats(i,O)}else if("int"==s.type){var K=0;if("_uid"==s.link&&(K=t.uid),"_lampType"==s.link)if(null==r)K=0;else switch(r.data.raw.type){case"area":K=3;break;case"point":K=1;break;case"spot":K=2;break;case"sun":K=0;break;default:K=0}else if("_lampIndex"==s.link)K=a.renderPath.currentLampIndex;else if("_lampCastShadow"==s.link)null!=r&&r.data.raw.cast_shadow&&(K=r.data.raw.shadowmap_cube?2:1);else if("_envmapNumMipmaps"==s.link)K=iron_Scene.active.world.getGlobalProbe().raw.radiance_mipmaps+1;else if("_probeID"==s.link)K=iron_Scene.active.world.getProbeID(t.transform);else if(null!=iron_object_Uniforms.externalIntLinks)for(var Z=0,Q=iron_object_Uniforms.externalIntLinks;Z<Q.length;){var q=Q[Z];++Z;var Y=q(s.link);if(null!=Y){K=Y;break}}e.setInt(i,K)}},iron_object_Uniforms.setMaterialConstants=function(e,t,a){if(null!=a.raw.bind_constants)for(var r=0,i=a.raw.bind_constants.length;r<i;){for(var s=r++,n=a.raw.bind_constants[s],_=-1,o=0,h=t.raw.constants.length;o<h;){var l=o++;if(t.raw.constants[l].name==n.name){_=l;break}}if(-1!=_){var c=t.raw.constants[_];iron_object_Uniforms.setMaterialConstant(e,t.constants[_],c,n)}}if(null!=a.textures)for(var d=0,u=a.textures.length;d<u;)for(var p=d++,f=a.raw.bind_textures[p].name,g=0,m=t.textureUnits.length;g<m;){var v=g++;if(f==t.raw.texture_units[v].name){e.setTexture(t.textureUnits[v],a.textures[p]),a.setTextureParameters(e,p,t,v);break}}},iron_object_Uniforms.setMaterialConstant=function(e,t,a,r){switch(a.type){case"bool":e.setBool(t,r.bool);break;case"float":e.setFloat(t,r.float);break;case"int":e.setInt(t,r.int);break;case"vec2":e.setFloat2(t,r.vec2[0],r.vec2[1]);break;case"vec3":e.setFloat3(t,r.vec3[0],r.vec3[1],r.vec3[2]);break;case"vec4":e.setFloat4(t,r.vec4[0],r.vec4[1],r.vec4[2],r.vec4[3])}};var iron_system_ArmPack=$hxClasses["iron.system.ArmPack"]=function(){};iron_system_ArmPack.__name__=!0,iron_system_ArmPack.decode=function(e){var t=new haxe_io_BytesInput(e);return t.set_bigEndian(!0),iron_system_ArmPack.read(t)},iron_system_ArmPack.read=function(e){try{var t=e.readByte();switch(t){case 192:return null;case 194:return!1;case 195:return!0;case 196:return e.read(e.readByte());case 197:return e.read(e.readUInt16());case 198:return e.read(e.readInt32());case 202:return e.readFloat();case 203:return e.readDouble();case 204:return e.readByte();case 205:return e.readUInt16();case 206:return e.readInt32();case 208:return e.readInt8();case 209:return e.readInt16();case 210:return e.readInt32();case 217:return e.readString(e.readByte());case 218:return e.readString(e.readUInt16());case 219:return e.readString(e.readInt32());case 220:return iron_system_ArmPack.readArray(e,e.readUInt16());case 221:return iron_system_ArmPack.readArray(e,e.readInt32());case 222:return iron_system_ArmPack.readMap(e,e.readUInt16());case 223:return iron_system_ArmPack.readMap(e,e.readInt32());default:if(t<128)return t;if(t<144)return iron_system_ArmPack.readMap(e,15&t);if(t<160)return iron_system_ArmPack.readArray(e,15&t);if(t<192)return e.readString(31&t);if(t>223)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<h;)_[o++]=e.readFloat();return _}if(210==a){var l=e,c=l.pos;l.set_position(c+1);for(var d=new Uint32Array(t),u=0,p=t;u<p;)d[u++]=e.readInt32();return d}for(var f=[],g=0,m=t;g<m;){g++;f.push(iron_system_ArmPack.read(e))}return f},iron_system_ArmPack.readMap=function(e,t){for(var a={},r=0,i=t;r<i;){r++;var s=iron_system_ArmPack.read(e),n=iron_system_ArmPack.read(e);a[Std.string(s)]=n}return a};var iron_system_Audio=$hxClasses["iron.system.Audio"]=function(){};iron_system_Audio.__name__=!0,iron_system_Audio.playSound=function(e,t){null==t&&(t=!1),kha_audio2_Audio1.play(e,t)},iron_system_Audio.prototype={__class__:iron_system_Audio};var iron_system_Input=$hxClasses["iron.system.Input"]=function(){};iron_system_Input.__name__=!0,iron_system_Input.reset=function(){iron_system_Input.occupied=!1,null!=iron_system_Input.mouse&&iron_system_Input.mouse.reset(),null!=iron_system_Input.keyboard&&iron_system_Input.keyboard.reset();for(var e=0,t=iron_system_Input.gamepads;e<t.length;){var a=t[e];++e,a.reset()}},iron_system_Input.endFrame=function(){null!=iron_system_Input.mouse&&iron_system_Input.mouse.endFrame(),null!=iron_system_Input.keyboard&&iron_system_Input.keyboard.endFrame();for(var e=0,t=iron_system_Input.gamepads;e<t.length;){var a=t[e];++e,a.endFrame()}if(null!=iron_system_Input.virtualButtons)for(var r=iron_system_Input.virtualButtons,i=new haxe_ds__$StringMap_StringMapIterator(r,r.arrayKeys());i.hasNext();){var s=i.next();s.started=s.released=!1}},iron_system_Input.getMouse=function(){return null==iron_system_Input.mouse&&(iron_system_Input.mouse=new iron_system_Mouse),iron_system_Input.mouse},iron_system_Input.getSurface=function(){return iron_system_Input.getMouse()},iron_system_Input.getKeyboard=function(){return null==iron_system_Input.keyboard&&(iron_system_Input.keyboard=new iron_system_Keyboard),iron_system_Input.keyboard},iron_system_Input.getGamepad=function(e){if(null==e&&(e=0),e>=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;e<t.length;){var a=t[e];++e;var r=this.keysStarted;null!=__map_reserved[a]?r.setReserved(a,!1):r.h[a]=!1;var i=this.keysReleased;null!=__map_reserved[a]?i.setReserved(a,!1):i.h[a]=!1}this.keysFrame.splice(0,this.keysFrame.length)}},reset:function(){for(var e=0,t=iron_system_Keyboard.keys;e<t.length;){var a=t[e];++e;var r=this.keysDown;null!=__map_reserved[a]?r.setReserved(a,!1):r.h[a]=!1;var i=this.keysStarted;null!=__map_reserved[a]?i.setReserved(a,!1):i.h[a]=!1;var s=this.keysReleased;null!=__map_reserved[a]?s.setReserved(a,!1):s.h[a]=!1}this.endFrame()},down:function(e){var t=this.keysDown;return null!=__map_reserved[e]?t.getReserved(e):t.h[e]},started:function(e){var t=this.keysStarted;return null!=__map_reserved[e]?t.getReserved(e):t.h[e]},released:function(e){var t=this.keysReleased;return null!=__map_reserved[e]?t.getReserved(e):t.h[e]},keyToString:function(e){return 32==e?"space":8==e?"backspace":9==e?"tab":13==e?"enter":16==e?"shift":17==e?"ctrl":18==e?"alt":27==e?"esc":46==e?"del":38==e?"up":40==e?"down":37==e?"left":39==e?"right":1==e?"back":48==e?"0":49==e?"1":50==e?"2":51==e?"3":52==e?"4":53==e?"5":54==e?"6":55==e?"7":56==e?"8":57==e?"9":String.fromCharCode(e).toLowerCase()},downListener:function(e){var t=this.keyToString(e);this.keysFrame.push(t);var a=this.keysStarted;null!=__map_reserved[t]?a.setReserved(t,!0):a.h[t]=!0;var r=this.keysDown;null!=__map_reserved[t]?r.setReserved(t,!0):r.h[t]=!0,this.downVirtual(t)},upListener:function(e){var t=this.keyToString(e);this.keysFrame.push(t);var a=this.keysReleased;null!=__map_reserved[t]?a.setReserved(t,!0):a.h[t]=!0;var r=this.keysDown;null!=__map_reserved[t]?r.setReserved(t,!1):r.h[t]=!1,this.upVirtual(t)},pressListener:function(e){},__class__:iron_system_Keyboard});var iron_system_GamepadStick=$hxClasses["iron.system.GamepadStick"]=function(){this.movementY=0,this.movementX=0,this.moved=!1,this.lastY=0,this.lastX=0,this.y=0,this.x=0};iron_system_GamepadStick.__name__=!0,iron_system_GamepadStick.prototype={__class__:iron_system_GamepadStick};var iron_system_Gamepad=$hxClasses["iron.system.Gamepad"]=function(e){this.connects=0,this.num=0,this.connected=!1,this.rightStick=new iron_system_GamepadStick,this.leftStick=new iron_system_GamepadStick,this.buttonsFrame=[],this.buttonsReleased=[],this.buttonsStarted=[],this.buttonsDown=[],iron_system_VirutalInput.call(this);for(var t=0,a=iron_system_Gamepad.buttonsPS;t<a.length;){a[t];++t,this.buttonsDown.push(0),this.buttonsStarted.push(!1),this.buttonsReleased.push(!1)}this.num=e,this.reset(),this.connect()};iron_system_Gamepad.__name__=!0,iron_system_Gamepad.__super__=iron_system_VirutalInput,iron_system_Gamepad.prototype=$extend(iron_system_VirutalInput.prototype,{connect:function(){var e=kha_input_Gamepad.get(this.num);null!=e&&(this.connected=!0,e.notify($bind(this,this.axisListener),$bind(this,this.buttonListener)))},endFrame:function(){if(this.buttonsFrame.length>0){for(var e=0,t=this.buttonsFrame;e<t.length;){var a=t[e];++e,this.buttonsStarted[a]=!1,this.buttonsReleased[a]=!1}this.buttonsFrame.splice(0,this.buttonsFrame.length)}this.leftStick.moved=!1,this.leftStick.movementX=0,this.leftStick.movementY=0,this.rightStick.moved=!1,this.rightStick.movementX=0,this.rightStick.movementY=0},reset:function(){for(var e=0,t=this.buttonsDown.length;e<t;){var a=e++;this.buttonsDown[a]=0,this.buttonsStarted[a]=!1,this.buttonsReleased[a]=!1}this.endFrame()},buttonIndex:function(e){for(var t=0,a=iron_system_Gamepad.buttonsPS.length;t<a;){var r=t++;if(iron_system_Gamepad.buttonsPS[r]==e)return r}return 0},down:function(e){return this.buttonsDown[this.buttonIndex(e)]},started:function(e){return this.buttonsStarted[this.buttonIndex(e)]},released:function(e){return this.buttonsReleased[this.buttonIndex(e)]},axisListener:function(e,t){var a=e<=1?this.leftStick:this.rightStick;0==e||2==e?(a.x=t,a.movementX=a.x-a.lastX,a.lastX=a.x):1!=e&&3!=e||(a.y=1==e?-t:t,a.movementY=a.y-a.lastY,a.lastY=a.y),a.moved=!0},buttonListener:function(e,t){this.buttonsFrame.push(e),this.buttonsDown[e]=t,t>0?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);t<a.length;){var r=a[t];++t;var i=Reflect.getProperty(e.target,r);js_Boot.__instanceof(i,iron_math_Vec4)||js_Boot.__instanceof(i,iron_math_Quat)?(e._comps.push(4),e._x.push(i.x),e._y.push(i.y),e._z.push(i.z),e._w.push(i.w)):(e._comps.push(1),e._x.push(i),e._y.push(0),e._z.push(0),e._w.push(0))}}iron_system_Tween.anims.push(e),null!=e.target&&iron_system_Tween.map.set(e.target,e)},iron_system_Tween.timer=function(e,t){iron_system_Tween.to({target:null,props:null,duration:0,delay:e,done:t})},iron_system_Tween.stop=function(e){var t=iron_system_Tween.map.h[e.__id__];null!=t&&HxOverrides.remove(iron_system_Tween.anims,t)},iron_system_Tween.reset=function(){iron_system_Tween.anims=[],iron_system_Tween.map=new haxe_ds_ObjectMap},iron_system_Tween.update=function(){for(var e=.016666666666666666,t=iron_system_Tween.anims.length;t-- >0&&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;i<s;){var n=i++,_=r[n],o=a._time/a.duration;if(o>1&&(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<d;){var u=c++,p=0==u?a._x[n]:1==u?a._y[n]:2==u?a._z[n]:a._w[n],f=Reflect.getProperty(a.props,_),g=p+(Reflect.getProperty(f,iron_system_Tween.comps[u])-p)*iron_system_Tween.eases[a.ease](o),m=Reflect.getProperty(a.target,_);Reflect.setProperty(m,iron_system_Tween.comps[u],g)}}}null!=a.tick&&a.tick(),a._time>=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("&amp;").split("<").join("&lt;").split(">").join("&gt;")},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<i.length;){var s=i[r];++r,a+=","+js_Boot.__string_rec(s,"")}var n;"undefined"!=typeof document&&null!=(n=document.getElementById("haxe:trace"))?n.innerHTML+=js_Boot.__unhtml(a)+"<br/>":"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"<function>";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;i<s;){var n=i++;r+=2!=n?","+js_Boot.__string_rec(e[n],t):js_Boot.__string_rec(e[n],t)}return r+")"}var _="[";t+="\t";for(var o=0,h=e.length;o<h;){var l=o++;_+=(l>0?",":"")+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;r<i;){var s=a[r++];if(s==t||js_Boot.__interfLoop(s,t))return!0}return js_Boot.__interfLoop(e.__super__,t)},js_Boot.__instanceof=function(e,t){if(null==t)return!1;switch(t){case Array:return e instanceof Array&&null==e.__enum__;case Bool:return"boolean"==typeof e;case Dynamic:return!0;case Float:return"number"==typeof e;case Int:return"number"==typeof e&&(0|e)===e;case String:return"string"==typeof e;default:if(null==e)return!1;if("function"==typeof t){if(e instanceof t)return!0;if(js_Boot.__interfLoop(js_Boot.getClass(e),t))return!0}else if("object"==typeof t&&js_Boot.__isNativeObj(t)&&e instanceof t)return!0;return t==Class&&null!=e.__name__||(t==Enum&&null!=e.__ename__||e.__enum__==t)}},js_Boot.__cast=function(e,t){if(js_Boot.__instanceof(e,t))return e;throw new js__$Boot_HaxeError("Cannot cast "+Std.string(e)+" to "+Std.string(t))},js_Boot.__nativeClassName=function(e){var t=js_Boot.__toStr.call(e).slice(8,-1);return"Object"==t||"Function"==t||"Math"==t||"JSON"==t?null:t},js_Boot.__isNativeObj=function(e){return null!=js_Boot.__nativeClassName(e)},js_Boot.__resolveNativeClass=function(e){return $global[e]};var js_html_compat_ArrayBuffer=$hxClasses["js.html.compat.ArrayBuffer"]=function(e){if(e instanceof Array&&null==e.__enum__)this.a=e,this.byteLength=e.length;else{var t=e;this.a=[];for(var a=0,r=t;a<r;){var i=a++;this.a[i]=0}this.byteLength=t}};js_html_compat_ArrayBuffer.__name__=!0,js_html_compat_ArrayBuffer.sliceImpl=function(e,t){var a=new Uint8Array(this,e,null==t?null:t-e),r=new ArrayBuffer(a.byteLength);return new Uint8Array(r).set(a),r},js_html_compat_ArrayBuffer.prototype={slice:function(e,t){return new js_html_compat_ArrayBuffer(this.a.slice(e,t))},__class__:js_html_compat_ArrayBuffer};var js_html_compat_DataView=$hxClasses["js.html.compat.DataView"]=function(e,t,a){if(this.buf=e,this.offset=null==t?0:t,this.length=null==a?e.byteLength-this.offset:a,this.offset<0||this.length<0||this.offset+this.length>e.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<s;)r[i++]=0;r.byteLength=r.length<<2,r.byteOffset=0;for(var n=[],_=0,o=r.length<<2;_<o;){_++;n.push(0)}r.buffer=new js_html_compat_ArrayBuffer(n)}else if(js_Boot.__instanceof(e,js_html_compat_ArrayBuffer)){var h=e;null==t&&(t=0),null==a&&(a=h.byteLength-t>>2),r=[];for(var l=0,c=a;l<c;){l++;var d=h.a[t++]|h.a[t++]<<8|h.a[t++]<<16|h.a[t++]<<24;r.push(haxe_io_FPHelper.i32ToFloat(d))}r.byteLength=r.length<<2,r.byteOffset=t,r.buffer=h}else{if(!(e instanceof Array&&null==e.__enum__))throw new js__$Boot_HaxeError("TODO "+Std.string(e));r=e.slice();for(var u=[],p=0;p<r.length;){var f=r[p];++p;var g=haxe_io_FPHelper.floatToI32(f);u.push(255&g),u.push(g>>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;r<i;){var s=r++;this[s+t]=a[s]}}else{if(!(e instanceof Array&&null==e.__enum__))throw new js__$Boot_HaxeError("TODO");var n=e;if(n.length+t>this.byteLength)throw new js__$Boot_HaxeError("set() outside of range");for(var _=0,o=n.length;_<o;){var h=_++;this[h+t]=n[h]}}},js_html_compat_Float32Array._subarray=function(e,t){var a=js_html_compat_Float32Array._new(this.slice(e,t));return a.byteOffset=4*e,a};var js_html_compat_Uint8Array=$hxClasses["js.html.compat.Uint8Array"]=function(){};js_html_compat_Uint8Array.__name__=!0,js_html_compat_Uint8Array._new=function(e,t,a){var r;if("number"==typeof e){r=[];for(var i=0,s=e;i<s;)r[i++]=0;r.byteLength=r.length,r.byteOffset=0,r.buffer=new js_html_compat_ArrayBuffer(r)}else if(js_Boot.__instanceof(e,js_html_compat_ArrayBuffer)){var n=e;null==t&&(t=0),null==a&&(a=n.byteLength-t),(r=0==t?n.a:n.a.slice(t,t+a)).byteLength=r.length,r.byteOffset=t,r.buffer=n}else{if(!(e instanceof Array&&null==e.__enum__))throw new js__$Boot_HaxeError("TODO "+Std.string(e));(r=e.slice()).byteLength=r.length,r.byteOffset=0,r.buffer=new js_html_compat_ArrayBuffer(r)}return r.subarray=js_html_compat_Uint8Array._subarray,r.set=js_html_compat_Uint8Array._set,r},js_html_compat_Uint8Array._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;r<i;){var s=r++;this[s+t]=a[s]}}else{if(!(e instanceof Array&&null==e.__enum__))throw new js__$Boot_HaxeError("TODO");var n=e;if(n.length+t>this.byteLength)throw new js__$Boot_HaxeError("set() outside of range");for(var _=0,o=n.length;_<o;){var h=_++;this[h+t]=n[h]}}},js_html_compat_Uint8Array._subarray=function(e,t){var a=js_html_compat_Uint8Array._new(this.slice(e,t));return a.byteOffset=e,a};var kha_Canvas=$hxClasses["kha.Canvas"]=function(){};kha_Canvas.__name__=!0,kha_Canvas.prototype={__class__:kha_Canvas,__properties__:{get_g4:"get_g4",get_g2:"get_g2",get_g1:"get_g1",get_height:"get_height",get_width:"get_width"}};var kha__$Color_Color_$Impl_$=$hxClasses["kha._Color.Color_Impl_"]=$hx_exports.kha._Color.Color_Impl_={};kha__$Color_Color_$Impl_$.__name__=!0,kha__$Color_Color_$Impl_$.__properties__={set_value:"set_value",get_value:"get_value",set_A:"set_A",get_A:"get_A",set_B:"set_B",get_B:"get_B",set_G:"set_G",get_G:"get_G",set_R:"set_R",get_R:"get_R",set_Ab:"set_Ab",get_Ab:"get_Ab",set_Bb:"set_Bb",get_Bb:"get_Bb",set_Gb:"set_Gb",get_Gb:"get_Gb",set_Rb:"set_Rb",get_Rb:"get_Rb"},kha__$Color_Color_$Impl_$.fromValue=function(e){return kha__$Color_Color_$Impl_$._new(e)},kha__$Color_Color_$Impl_$.fromBytes=function(e,t,a,r){return null==r&&(r=255),kha__$Color_Color_$Impl_$._new(r<<24|e<<16|t<<8|a)},kha__$Color_Color_$Impl_$.fromFloats=function(e,t,a,r){return null==r&&(r=1),kha__$Color_Color_$Impl_$._new((255*r|0)<<24|(255*e|0)<<16|(255*t|0)<<8|255*a|0)},kha__$Color_Color_$Impl_$.fromString=function(e){if(7!=e.length&&9!=e.length||35!=e.charCodeAt(0))throw new js__$Boot_HaxeError("Invalid Color string: '"+e+"'");var t=Std.parseInt("0x"+HxOverrides.substr(e,1,null));return 7==e.length&&(t+=-16777216),kha__$Color_Color_$Impl_$._new(t)},kha__$Color_Color_$Impl_$._new=function(e){return e},kha__$Color_Color_$Impl_$.get_value=function(e){return e},kha__$Color_Color_$Impl_$.set_value=function(e,t){return t},kha__$Color_Color_$Impl_$.get_Rb=function(e){return(16711680&e)>>>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<n.length;){var h=n[o];++o,h.yoff+=this.baseline}this.texture=kha_Image.create(i,s,kha_graphics4_TextureFormat.L8);for(var l=this.texture.lock(),c=0,d=0,u=s;d<u;){d++;for(var p=0,f=i;p<f;){p++;var g=_.readU8(c);l.b[c]=255&g,++c}}this.texture.unlock()};kha_KravurImage.__name__=!0,kha_KravurImage.prototype={getTexture:function(){return this.texture},getBakedQuad:function(e,t,a){if(e>=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<i;){var s=r++;a+=this.getCharWidth(HxOverrides.cca(t,s))}return a},getBaselinePosition:function(){return this.baseline},__class__:kha_KravurImage};var kha_Kravur=$hxClasses["kha.Kravur"]=function(e){this.images=new haxe_ds_IntMap,this.blob=e};kha_Kravur.__name__=!0,kha_Kravur.__interfaces__=[kha_Font],kha_Kravur.prototype={_get:function(e,t){if(!this.images.h.hasOwnProperty(e)){if(null==t){t=[];for(var a=32;a<256;){var r=a++;t.push(r)}}for(var i=64,s=32,n=t.length,_=new Array(n),o=0,h=_.length;o<h;)_[o++]=new kha_graphics2_truetype_Stbtt_$bakedchar;for(var l=null,c=-1;c<0;)s<i?s*=2:i*=2,l=kha_internal_BytesBlob.alloc(i*s),c=kha_graphics2_truetype_StbTruetype.stbtt_BakeFontBitmap(this.blob,0,e,l,i,s,t,_);var d=new kha_graphics2_truetype_Stbtt_$fontinfo;kha_graphics2_truetype_StbTruetype.stbtt_InitFont(d,this.blob,0);var u=kha_graphics2_truetype_StbTruetype.stbtt_GetFontVMetrics(d),p=kha_graphics2_truetype_StbTruetype.stbtt_ScaleForPixelHeight(d,e),f=Math.round(u.ascent*p),g=Math.round(u.descent*p),m=Math.round(u.lineGap*p),v=new kha_KravurImage(0|e,f,g,m,i,s,_,l);return this.images.h[e]=v,v}return this.images.h[e]},height:function(e){return this._get(e).getHeight()},width:function(e,t){return this._get(e).stringWidth(t)},baseline:function(e){return this._get(e).getBaselinePosition()},unload:function(){this.blob=null,this.images=null},__class__:kha_Kravur};var kha_LoaderImpl=$hxClasses["kha.LoaderImpl"]=function(){};kha_LoaderImpl.__name__=!0,kha_LoaderImpl.getImageFormats=function(){return["png","jpg"]},kha_LoaderImpl.loadImageFromDescription=function(e,t){var a=Object.prototype.hasOwnProperty.call(e,"readable")&&e.readable;t(kha_Image._fromTexture(Krom.loadImage(e.files[0],a)))},kha_LoaderImpl.getSoundFormats=function(){return["wav","ogg"]},kha_LoaderImpl.loadSoundFromDescription=function(e,t){t(new kha_krom_Sound(haxe_io_Bytes.ofData(Krom.loadSound(e.files[0]))))},kha_LoaderImpl.getVideoFormats=function(){return["webm"]},kha_LoaderImpl.loadVideoFromDescription=function(e,t){},kha_LoaderImpl.loadBlobFromDescription=function(e,t){t(new kha_internal_BytesBlob(haxe_io_Bytes.ofData(Krom.loadBlob(e.files[0]))))},kha_LoaderImpl.loadFontFromDescription=function(e,t){kha_LoaderImpl.loadBlobFromDescription(e,function(e){t(new kha_Kravur(e))})};var kha_TimeTask=$hxClasses["kha.TimeTask"]=function(){};kha_TimeTask.__name__=!0,kha_TimeTask.prototype={__class__:kha_TimeTask};var kha_FrameTask=$hxClasses["kha.FrameTask"]=function(e,t,a){this.task=e,this.priority=t,this.id=a,this.active=!0,this.paused=!1};kha_FrameTask.__name__=!0,kha_FrameTask.prototype={__class__:kha_FrameTask};var kha_Scheduler=$hxClasses["kha.Scheduler"]=function(){};kha_Scheduler.__name__=!0,kha_Scheduler.init=function(){kha_Scheduler.deltas=[];for(var e=0,t=kha_Scheduler.DIF_COUNT;e<t;){var a=e++;kha_Scheduler.deltas[a]=0}kha_Scheduler.stopped=!0,kha_Scheduler.frame_tasks_sorted=!0,kha_Scheduler.current=kha_Scheduler.lastTime=kha_Scheduler.realTime(),kha_Scheduler.currentFrameTaskId=0,kha_Scheduler.currentTimeTaskId=0,kha_Scheduler.currentGroupId=0,kha_Scheduler.timeTasks=[],kha_Scheduler.pausedTimeTasks=[],kha_Scheduler.outdatedTimeTasks=[],kha_Scheduler.timeTasksScratchpad=[],kha_Scheduler.frameTasks=[],kha_Scheduler.toDeleteFrame=[]},kha_Scheduler.start=function(e){null==e&&(e=!1),kha_Scheduler.vsync=kha_System.get_vsync();var t=kha_System.get_refreshRate();t>=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<r;){var i=a++;kha_Scheduler.deltas[i]=0}if(e){for(var s=0,n=kha_Scheduler.timeTasks;s<n.length;){var _=n[s];++s,_.paused=!1}for(var o=0,h=kha_Scheduler.frameTasks;o<h.length;){var l=h[o];++o,l.paused=!1}}},kha_Scheduler.stop=function(){kha_Scheduler.stopped=!0},kha_Scheduler.isStopped=function(){return kha_Scheduler.stopped},kha_Scheduler.warpTimeTasks=function(e,t){for(var a=0;a<t.length;){var r=t[a];if(++a,r.start>=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<a.length;){var r=a[t];++t,r.next>=e&&kha_Scheduler.timeTasksScratchpad.push(r)}for(var i=0,s=kha_Scheduler.timeTasksScratchpad;i<s.length;){var n=s[i];++i,HxOverrides.remove(kha_Scheduler.outdatedTimeTasks,n)}for(var _=0,o=kha_Scheduler.timeTasksScratchpad;_<o.length;){var h=o[_];++_,kha_Scheduler.insertSorted(kha_Scheduler.timeTasks,h)}for(;kha_Scheduler.timeTasksScratchpad.length>0;)HxOverrides.remove(kha_Scheduler.timeTasksScratchpad,kha_Scheduler.timeTasksScratchpad[0]);for(var l=0,c=kha_Scheduler.outdatedTimeTasks;l<c.length;){var d=c[l];++l,d.next<e-1&&kha_Scheduler.timeTasksScratchpad.push(d)}for(var u=0,p=kha_Scheduler.timeTasksScratchpad;u<p.length;){var f=p[u];++u,HxOverrides.remove(kha_Scheduler.outdatedTimeTasks,f)}for(;kha_Scheduler.timeTasksScratchpad.length>0;)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;a<e-kha_Scheduler.onedifhz;)a+=kha_Scheduler.onedifhz;e=a;for(var r=0,i=kha_Scheduler.DIF_COUNT-2;r<i;){var s=r++;e+=kha_Scheduler.deltas[s],kha_Scheduler.deltas[s]=kha_Scheduler.deltas[s+1]}e+=kha_Scheduler.deltas[kha_Scheduler.DIF_COUNT-2],e/=kha_Scheduler.DIF_COUNT,kha_Scheduler.deltas[kha_Scheduler.DIF_COUNT-2]=a,t+=e}else{for(var n=0,_=kha_Scheduler.DIF_COUNT-1;n<_;){var o=n++;kha_Scheduler.deltas[o]=kha_Scheduler.deltas[o+1]}kha_Scheduler.deltas[kha_Scheduler.DIF_COUNT-1]=e;for(var h=0,l=0,c=kha_Scheduler.DIF_COUNT;l<c;){var d=l++;h+=kha_Scheduler.deltas[d]}t+=h/=kha_Scheduler.DIF_COUNT}kha_Scheduler.lastTime=t,kha_Scheduler.stopped||(kha_Scheduler.current=t);for(var u=0,p=kha_Scheduler.pausedTimeTasks;u<p.length;){var f=p[u];++u,f.next+=e}if(kha_Scheduler.stopped)for(var g=0,m=kha_Scheduler.timeTasks;g<m.length;){var v=m[g];++g,v.next+=e}for(;kha_Scheduler.timeTasks.length>0&&(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;k<b.length;){var y=b[k];++k,kha_Scheduler.stopped||y.paused||!y.active||y.task()||(y.active=!1)}for(var S=0,x=kha_Scheduler.frameTasks;S<x.length;){var B=x[S];++S,B.active||kha_Scheduler.toDeleteFrame.push(B)}for(;kha_Scheduler.toDeleteFrame.length>0;)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;a<r.length;){var i=r[a];++a,i.start-=t,i.next-=t}for(var s=0,n=kha_Scheduler.DIF_COUNT;s<n;){var _=s++;kha_Scheduler.deltas[_]=0}kha_Scheduler.current=0,kha_Scheduler.lastTime=0},kha_Scheduler.addBreakableFrameTask=function(e,t){return kha_Scheduler.frameTasks.push(new kha_FrameTask(e,t,++kha_Scheduler.currentFrameTaskId)),kha_Scheduler.frame_tasks_sorted=!1,kha_Scheduler.currentFrameTaskId},kha_Scheduler.addFrameTask=function(e,t){return kha_Scheduler.addBreakableFrameTask(function(){return e(),!0},t)},kha_Scheduler.pauseFrameTask=function(e,t){for(var a=0,r=kha_Scheduler.frameTasks;a<r.length;){var i=r[a];if(++a,i.id==e){i.paused=t;break}}},kha_Scheduler.removeFrameTask=function(e){for(var t=0,a=kha_Scheduler.frameTasks;t<a.length;){var r=a[t];if(++t,r.id==e){r.active=!1;break}}},kha_Scheduler.generateGroupId=function(){return++kha_Scheduler.currentGroupId},kha_Scheduler.addBreakableTimeTaskToGroup=function(e,t,a,r,i){null==i&&(i=0),null==r&&(r=0);var s=new kha_TimeTask;return s.active=!0,s.task=t,s.id=++kha_Scheduler.currentTimeTaskId,s.groupId=e,s.start=kha_Scheduler.current+a,s.period=0,0!=r&&(s.period=r),s.duration=0,0!=i&&(s.duration=s.start+i),s.next=s.start,kha_Scheduler.insertSorted(kha_Scheduler.timeTasks,s),s.id},kha_Scheduler.addTimeTaskToGroup=function(e,t,a,r,i){return null==i&&(i=0),null==r&&(r=0),kha_Scheduler.addBreakableTimeTaskToGroup(e,function(){return t(),!0},a,r,i)},kha_Scheduler.addBreakableTimeTask=function(e,t,a,r){return null==r&&(r=0),null==a&&(a=0),kha_Scheduler.addBreakableTimeTaskToGroup(0,e,t,a,r)},kha_Scheduler.addTimeTask=function(e,t,a,r){return null==r&&(r=0),null==a&&(a=0),kha_Scheduler.addTimeTaskToGroup(0,e,t,a,r)},kha_Scheduler.getTimeTask=function(e){if(null!=kha_Scheduler.activeTimeTask&&kha_Scheduler.activeTimeTask.id==e)return kha_Scheduler.activeTimeTask;for(var t=0,a=kha_Scheduler.timeTasks;t<a.length;){var r=a[t];if(++t,r.id==e)return r}for(var i=0,s=kha_Scheduler.pausedTimeTasks;i<s.length;){var n=s[i];if(++i,n.id==e)return n}return null},kha_Scheduler.pauseTimeTask=function(e,t){var a=kha_Scheduler.getTimeTask(e);null!=a&&kha_Scheduler.pauseRunningTimeTask(a,t),null!=kha_Scheduler.activeTimeTask&&kha_Scheduler.activeTimeTask.id==e&&(kha_Scheduler.activeTimeTask.paused=t)},kha_Scheduler.pauseRunningTimeTask=function(e,t){e.paused=t,t?(HxOverrides.remove(kha_Scheduler.timeTasks,e),kha_Scheduler.pausedTimeTasks.push(e)):(kha_Scheduler.insertSorted(kha_Scheduler.timeTasks,e),HxOverrides.remove(kha_Scheduler.pausedTimeTasks,e))},kha_Scheduler.pauseTimeTasks=function(e,t){for(var a=0,r=kha_Scheduler.timeTasks;a<r.length;){var i=r[a];++a,i.groupId==e&&kha_Scheduler.pauseRunningTimeTask(i,t)}null!=kha_Scheduler.activeTimeTask&&kha_Scheduler.activeTimeTask.groupId==e&&(kha_Scheduler.activeTimeTask.paused=t)},kha_Scheduler.removeTimeTask=function(e){var t=kha_Scheduler.getTimeTask(e);null!=t&&(t.active=!1,HxOverrides.remove(kha_Scheduler.timeTasks,t))},kha_Scheduler.removeTimeTasks=function(e){for(var t=0,a=kha_Scheduler.timeTasks;t<a.length;){var r=a[t];++t,r.groupId==e&&(r.active=!1,kha_Scheduler.timeTasksScratchpad.push(r))}for(var i=0,s=kha_Scheduler.timeTasksScratchpad;i<s.length;){var n=s[i];++i,HxOverrides.remove(kha_Scheduler.timeTasks,n)}for(;kha_Scheduler.timeTasksScratchpad.length>0;)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;a<r;){var i=a++;if(e[i].next>t.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<t.priority?-1:0}),kha_Scheduler.frame_tasks_sorted=!0)};var kha_ScreenRotation=$hxClasses["kha.ScreenRotation"]={__ename__:!0,__constructs__:["RotationNone","Rotation90","Rotation180","Rotation270"]};kha_ScreenRotation.RotationNone=["RotationNone",0],kha_ScreenRotation.RotationNone.toString=$estr,kha_ScreenRotation.RotationNone.__enum__=kha_ScreenRotation,kha_ScreenRotation.Rotation90=["Rotation90",1],kha_ScreenRotation.Rotation90.toString=$estr,kha_ScreenRotation.Rotation90.__enum__=kha_ScreenRotation,kha_ScreenRotation.Rotation180=["Rotation180",2],kha_ScreenRotation.Rotation180.toString=$estr,kha_ScreenRotation.Rotation180.__enum__=kha_ScreenRotation,kha_ScreenRotation.Rotation270=["Rotation270",3],kha_ScreenRotation.Rotation270.toString=$estr,kha_ScreenRotation.Rotation270.__enum__=kha_ScreenRotation;var kha_Shaders=$hxClasses["kha.Shaders"]=function(){};kha_Shaders.__name__=!0,kha_Shaders.init=function(){for(var e=[],t=0;t<1;){var a=t++,r=Reflect.field(kha_Shaders,"sdfgen_fragData"+a),i=haxe_Unserializer.run(r);e.push(kha_internal_BytesBlob.fromBytes(i))}kha_Shaders.sdfgen_frag=new kha_graphics4_FragmentShader(e,["sdfgen.frag.glsl"]);for(var s=[],n=0;n<1;){var _=n++,o=Reflect.field(kha_Shaders,"sdfgen_vertData"+_),h=haxe_Unserializer.run(o);s.push(kha_internal_BytesBlob.fromBytes(h))}kha_Shaders.sdfgen_vert=new kha_graphics4_VertexShader(s,["sdfgen.vert.glsl"]);for(var l=[],c=0;c<1;){var d=c++,u=Reflect.field(kha_Shaders,"painter_colored_fragData"+d),p=haxe_Unserializer.run(u);l.push(kha_internal_BytesBlob.fromBytes(p))}kha_Shaders.painter_colored_frag=new kha_graphics4_FragmentShader(l,["painter-colored.frag.glsl"]);for(var f=[],g=0;g<1;){var m=g++,v=Reflect.field(kha_Shaders,"painter_colored_vertData"+m),k=haxe_Unserializer.run(v);f.push(kha_internal_BytesBlob.fromBytes(k))}kha_Shaders.painter_colored_vert=new kha_graphics4_VertexShader(f,["painter-colored.vert.glsl"]);for(var b=[],y=0;y<1;){var S=y++,x=Reflect.field(kha_Shaders,"painter_image_fragData"+S),B=haxe_Unserializer.run(x);b.push(kha_internal_BytesBlob.fromBytes(B))}kha_Shaders.painter_image_frag=new kha_graphics4_FragmentShader(b,["painter-image.frag.glsl"]);for(var w=[],I=0;I<1;){var T=I++,C=Reflect.field(kha_Shaders,"painter_image_vertData"+T),M=haxe_Unserializer.run(C);w.push(kha_internal_BytesBlob.fromBytes(M))}kha_Shaders.painter_image_vert=new kha_graphics4_VertexShader(w,["painter-image.vert.glsl"]);for(var A=[],R=0;R<1;){var V=R++,D=Reflect.field(kha_Shaders,"painter_text_fragData"+V),P=haxe_Unserializer.run(D);A.push(kha_internal_BytesBlob.fromBytes(P))}kha_Shaders.painter_text_frag=new kha_graphics4_FragmentShader(A,["painter-text.frag.glsl"]);for(var F=[],$=0;$<1;){var j=$++,E=Reflect.field(kha_Shaders,"painter_text_vertData"+j),U=haxe_Unserializer.run(E);F.push(kha_internal_BytesBlob.fromBytes(U))}kha_Shaders.painter_text_vert=new kha_graphics4_VertexShader(F,["painter-text.vert.glsl"]);for(var N=[],L=0;L<1;){var z=L++,O=Reflect.field(kha_Shaders,"painter_video_fragData"+z),H=haxe_Unserializer.run(O);N.push(kha_internal_BytesBlob.fromBytes(H))}kha_Shaders.painter_video_frag=new kha_graphics4_FragmentShader(N,["painter-video.frag.glsl"]);for(var G=[],W=0;W<1;){var K=W++,Z=Reflect.field(kha_Shaders,"painter_video_vertData"+K),Q=haxe_Unserializer.run(Z);G.push(kha_internal_BytesBlob.fromBytes(Q))}kha_Shaders.painter_video_vert=new kha_graphics4_VertexShader(G,["painter-video.vert.glsl"])};var kha_Sound=$hxClasses["kha.Sound"]=function(){};kha_Sound.__name__=!0,kha_Sound.__interfaces__=[kha_Resource],kha_Sound.prototype={uncompress:function(e){var t=new haxe_io_BytesOutput,a=kha_audio2_ogg_vorbis_Reader.readAll(this.compressedData,t,!0),r=t.getBytes(),i=r.length/4|0;if(1==a.channel){var s=new Array(2*i);this.uncompressedData=s;for(var n=0,_=i;n<_;){var o=n++;this.uncompressedData[2*o]=r.getFloat(4*o),this.uncompressedData[2*o+1]=r.getFloat(4*o)}}else{var h=new Array(i);this.uncompressedData=h;for(var l=0,c=i;l<c;){var d=l++;this.uncompressedData[d]=r.getFloat(4*d)}}this.compressedData=null,e()},unload:function(){this.compressedData=null,this.uncompressedData=null},__class__:kha_Sound};var kha_System=$hxClasses["kha.System"]=function(){};kha_System.__name__=!0,kha_System.__properties__={get_systemId:"get_systemId",get_refreshRate:"get_refreshRate",get_vsync:"get_vsync",get_screenRotation:"get_screenRotation",get_time:"get_time",get_title:"get_title"},kha_System.init=function(e,t){null==e.title&&(e.title="Kha"),null==e.width&&(e.width=800),null==e.height&&(e.height=600),null==e.samplesPerPixel&&(e.samplesPerPixel=1),null==e.vSync&&(e.vSync=!0),null==e.windowMode&&(e.windowMode=kha_WindowMode.Window),null==e.resizable&&(e.resizable=!1),null==e.maximizable&&(e.maximizable=!1),null==e.minimizable&&(e.minimizable=!0),kha_System.theTitle=e.title,kha_SystemImpl.init(e,t)},kha_System.initEx=function(e,t,a,r){kha_System.theTitle=e,kha_SystemImpl.initEx(e,t,a,r)},kha_System.get_title=function(){return kha_System.theTitle},kha_System.notifyOnRender=function(e,t){for(null==t&&(t=0);t>=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<r.length;){var i=r[a];++a,i(t)}},kha_System.foreground=function(){for(var e=0,t=kha_System.foregroundListeners;e<t.length;){var a=t[e];++e,a()}},kha_System.resume=function(){for(var e=0,t=kha_System.resumeListeners;e<t.length;){var a=t[e];++e,a()}},kha_System.pause=function(){for(var e=0,t=kha_System.pauseListeners;e<t.length;){var a=t[e];++e,a()}},kha_System.background=function(){for(var e=0,t=kha_System.backgroundListeners;e<t.length;){var a=t[e];++e,a()}},kha_System.shutdown=function(){for(var e=0,t=kha_System.shutdownListeners;e<t.length;){var a=t[e];++e,a()}},kha_System.dropFiles=function(e){for(var t=0,a=kha_System.dropFilesListeners;t<a.length;){var r=a[t];++t,r(e)}},kha_System.get_time=function(){return kha_SystemImpl.getTime()},kha_System.windowWidth=function(e){return null==e&&(e=0),kha_SystemImpl.windowWidth(e)},kha_System.windowHeight=function(e){return null==e&&(e=0),kha_SystemImpl.windowHeight(e)},kha_System.screenDpi=function(){return kha_SystemImpl.screenDpi()},kha_System.get_screenRotation=function(){return kha_SystemImpl.getScreenRotation()},kha_System.get_vsync=function(){return kha_SystemImpl.getVsync()},kha_System.get_refreshRate=function(){return kha_SystemImpl.getRefreshRate()},kha_System.get_systemId=function(){return kha_SystemImpl.getSystemId()},kha_System.requestShutdown=function(){kha_SystemImpl.requestShutdown()},kha_System.changeResolution=function(e,t){kha_SystemImpl.changeResolution(e,t)},kha_System.loadUrl=function(e){kha_SystemImpl.loadUrl(e)};var kha_SystemImpl=$hxClasses["kha.SystemImpl"]=function(){};kha_SystemImpl.__name__=!0,kha_SystemImpl.renderCallback=function(){kha_Scheduler.executeFrame(),kha_System.render(0,kha_SystemImpl.framebuffer)},kha_SystemImpl.dropFilesCallback=function(e){kha_System.dropFiles(e)},kha_SystemImpl.keyboardDownCallback=function(e){kha_SystemImpl.keyboard.sendDownEvent(e)},kha_SystemImpl.keyboardUpCallback=function(e){kha_SystemImpl.keyboard.sendUpEvent(e)},kha_SystemImpl.keyboardPressCallback=function(e){kha_SystemImpl.keyboard.sendPressEvent(String.fromCharCode(e))},kha_SystemImpl.mouseDownCallback=function(e,t,a){kha_SystemImpl.mouse.sendDownEvent(0,e,t,a)},kha_SystemImpl.mouseUpCallback=function(e,t,a){kha_SystemImpl.mouse.sendUpEvent(0,e,t,a)},kha_SystemImpl.mouseMoveCallback=function(e,t,a,r){kha_SystemImpl.mouse.sendMoveEvent(0,e,t,a,r)},kha_SystemImpl.mouseWheelCallback=function(e){kha_SystemImpl.mouse.sendWheelEvent(0,e)},kha_SystemImpl.gamepadAxisCallback=function(e,t,a){kha_SystemImpl.gamepads[e].sendAxisEvent(t,a)},kha_SystemImpl.gamepadButtonCallback=function(e,t,a){kha_SystemImpl.gamepads[e].sendButtonEvent(t,a)},kha_SystemImpl.audioCallback=function(e){var t=new Array(e);kha_SystemImpl.audioOutputData=t,kha_audio2_Audio._callCallback(e);for(var a=0,r=e;a<r;){var i=a++,s=kha_audio2_Audio._readSample();kha_SystemImpl.audioOutputData[i]=s}for(var n=0,_=e;n<_;){var o=n++;Krom.writeAudioBuffer(kha_SystemImpl.audioOutputData[o])}},kha_SystemImpl.init=function(e,t){Krom.init(e.title,e.width,e.height,e.samplesPerPixel,e.vSync,kha_SystemImpl.translateWindowMode(e.windowMode),e.resizable,e.maximizable,e.minimizable),kha_SystemImpl.start=Krom.getTime(),haxe_Log.trace=function(e,t){Krom.log(e)},kha_Scheduler.init(),kha_Shaders.init();var a=new kha_krom_Graphics;kha_SystemImpl.framebuffer=new kha_Framebuffer(0,null,null,a),kha_SystemImpl.framebuffer.init(new kha_graphics2_Graphics1(kha_SystemImpl.framebuffer),new kha_graphics4_Graphics2(kha_SystemImpl.framebuffer),a),Krom.setCallback(kha_SystemImpl.renderCallback),Krom.setDropFilesCallback(kha_SystemImpl.dropFilesCallback),kha_SystemImpl.keyboard=new kha_input_Keyboard,kha_SystemImpl.mouse=new kha_input_Mouse,kha_SystemImpl.gamepads=[];for(var r=0,i=kha_SystemImpl.maxGamepads;r<i;){var s=r++;kha_SystemImpl.gamepads[s]=new kha_input_Gamepad(s)}Krom.setKeyboardDownCallback(kha_SystemImpl.keyboardDownCallback),Krom.setKeyboardUpCallback(kha_SystemImpl.keyboardUpCallback),Krom.setKeyboardPressCallback(kha_SystemImpl.keyboardPressCallback),Krom.setMouseDownCallback(kha_SystemImpl.mouseDownCallback),Krom.setMouseUpCallback(kha_SystemImpl.mouseUpCallback),Krom.setMouseMoveCallback(kha_SystemImpl.mouseMoveCallback),Krom.setMouseWheelCallback(kha_SystemImpl.mouseWheelCallback),Krom.setGamepadAxisCallback(kha_SystemImpl.gamepadAxisCallback),Krom.setGamepadButtonCallback(kha_SystemImpl.gamepadButtonCallback),kha_audio2_Audio._init(),kha_audio2_Audio1._init(),Krom.setAudioCallback(kha_SystemImpl.audioCallback),kha_Scheduler.start(),t()},kha_SystemImpl.initEx=function(e,t,a,r){},kha_SystemImpl.translateWindowMode=function(e){if(null==e)return 0;switch(e[1]){case 0:return 0;case 1:return 1;case 2:return 2}},kha_SystemImpl.getScreenRotation=function(){return kha_ScreenRotation.RotationNone},kha_SystemImpl.getTime=function(){return Krom.getTime()-kha_SystemImpl.start},kha_SystemImpl.windowWidth=function(e){return Krom.windowWidth(e)},kha_SystemImpl.windowHeight=function(e){return Krom.windowHeight(e)},kha_SystemImpl.screenDpi=function(){return Krom.screenDpi()},kha_SystemImpl.getVsync=function(){return!0},kha_SystemImpl.getRefreshRate=function(){return 60},kha_SystemImpl.getSystemId=function(){return Krom.systemId()},kha_SystemImpl.requestShutdown=function(){Krom.requestShutdown()},kha_SystemImpl.getMouse=function(e){return kha_SystemImpl.mouse},kha_SystemImpl.getKeyboard=function(e){return kha_SystemImpl.keyboard},kha_SystemImpl.lockMouse=function(){},kha_SystemImpl.unlockMouse=function(){},kha_SystemImpl.canLockMouse=function(){return!1},kha_SystemImpl.isMouseLocked=function(){return!1},kha_SystemImpl.notifyOfMouseLockChange=function(e,t){},kha_SystemImpl.removeFromMouseLockChange=function(e,t){},kha_SystemImpl.unload=function(){},kha_SystemImpl.canSwitchFullscreen=function(){return!1},kha_SystemImpl.isFullscreen=function(){return!1},kha_SystemImpl.requestFullscreen=function(){},kha_SystemImpl.exitFullscreen=function(){},kha_SystemImpl.changeResolution=function(e,t){},kha_SystemImpl.setKeepScreenOn=function(e){},kha_SystemImpl.loadUrl=function(e){},kha_SystemImpl.getGamepadId=function(e){return"unkown"},kha_SystemImpl.prototype={notifyOfFullscreenChange:function(e,t){},removeFromFullscreenChange:function(e,t){},__class__:kha_SystemImpl};var kha_Video=$hxClasses["kha.Video"]=function(){};kha_Video.__name__=!0,kha_Video.__interfaces__=[kha_Resource],kha_Video.prototype={width:function(){return 100},height:function(){return 100},play:function(e){null==e&&(e=!1)},pause:function(){},stop:function(){},getLength:function(){return 0},getCurrentPos:function(){return 0},get_position:function(){return 0},set_position:function(e){return 0},getVolume:function(){return 1},setVolume:function(e){},isFinished:function(){return this.getCurrentPos()>=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<a;){t++;kha_audio2_Audio.buffer.data[kha_audio2_Audio.buffer.writeLocation]=0,kha_audio2_Audio.buffer.writeLocation+=1,kha_audio2_Audio.buffer.writeLocation>=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<t?e:t},kha_audio2_Audio1.mix=function(e,t){if(kha_audio2_Audio1.sampleCache1.length<e){var a=new Array(e);kha_audio2_Audio1.sampleCache1=a;var r=new Array(e);kha_audio2_Audio1.sampleCache2=r}for(var i=0,s=e;i<s;){var n=i++;kha_audio2_Audio1.sampleCache2[n]=0}for(var _=0;_<16;){var o=_++;kha_audio2_Audio1.internalSoundChannels[o]=kha_audio2_Audio1.soundChannels[o]}for(var h=0;h<16;){var l=h++;kha_audio2_Audio1.internalStreamChannels[l]=kha_audio2_Audio1.streamChannels[l]}for(var c=0,d=kha_audio2_Audio1.internalSoundChannels;c<d.length;){var u=d[c];if(++c,null!=u&&!u.get_finished()){u.nextSamples(kha_audio2_Audio1.sampleCache1,e,t.samplesPerSecond);for(var p=0,f=e;p<f;){var g=p++,m=g,v=kha_audio2_Audio1.sampleCache2,k=kha_audio2_Audio1.sampleCache1[g]*u.get_volume();v[m]=v[m]+k}}}for(var b=0,y=kha_audio2_Audio1.internalStreamChannels;b<y.length;){var S=y[b];if(++b,null!=S&&!S.get_finished()){S.nextSamples(kha_audio2_Audio1.sampleCache1,e,t.samplesPerSecond);for(var x=0,B=e;x<B;){var w=x++,I=w,T=kha_audio2_Audio1.sampleCache2,C=kha_audio2_Audio1.sampleCache1[w]*S.get_volume();T[I]=T[I]+C}}}for(var M=0,A=e;M<A;){var R=M++,V=kha_audio2_Audio1.sampleCache2[R],D=V<1?V:1;t.data[t.writeLocation]=D>-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<i;)e[r++]=0;else{for(var s=0,n=0;s<t;){for(var _=this.data.length-this.myPosition,o=_<t?_:t;n<o;)e[s]=this.data[this.myPosition],++this.myPosition,++n,++s;if(!this.looping)break;n=0,this.myPosition>=this.data.length&&(this.myPosition=0)}for(;s<t;)e[s]=0,++s}},play:function(){this.paused=!1,this.get_finished()&&(this.myPosition=0,kha_audio2_Audio1._playAgain(this))},pause:function(){this.paused=!0},stop:function(){this.myPosition=this.data.length},get_length:function(){return this.data.length/44100/2},get_position:function(){return this.myPosition/44100/2},get_volume:function(){return this.myVolume},set_volume:function(e){return this.myVolume=e},get_finished:function(){return this.myPosition>=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<i;)e[r++]=0;else{var s=2*this.reader.read(e,t/2|0,2,a,!0);if(s<t){this.loop?this.reader.set_currentMillisecond(0):this.atend=!0;for(var n=s,_=t;n<_;)e[n++]=0}}},play:function(){this.paused=!1},pause:function(){this.paused=!0},stop:function(){this.atend=!0},get_length:function(){return this.reader.get_totalMillisecond()/1e3},get_position:function(){return this.reader.get_currentMillisecond()/1e3},get_volume:function(){return this.myVolume},set_volume:function(e){return this.myVolume=e},get_finished:function(){return this.atend},__class__:kha_audio2_StreamChannel,__properties__:{get_finished:"get_finished",set_volume:"set_volume",get_volume:"get_volume",get_position:"get_position",get_length:"get_length"}};var kha_audio2_ogg_tools_Crc32=$hxClasses["kha.audio2.ogg.tools.Crc32"]=function(){};kha_audio2_ogg_tools_Crc32.__name__=!0,kha_audio2_ogg_tools_Crc32.init=function(){if(null==kha_audio2_ogg_tools_Crc32.table){var e=new Array(256);kha_audio2_ogg_tools_Crc32.table=e;for(var t=0;t<256;){for(var a=t++,r=a<<24,i=0;i<8;){i++;r=r<<1^(_$UInt_UInt_$Impl_$.gte(r,1<<31)?79764919:0)}kha_audio2_ogg_tools_Crc32.table[a]=r}}},kha_audio2_ogg_tools_Crc32.update=function(e,t){return e<<8^kha_audio2_ogg_tools_Crc32.table[t^e>>>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<aa;)for(var ra=ta++,ia=t>>ra+2,sa=ia>>1,na=0,_a=1<<ra+1;na<_a;)for(var oa=n-1-ia*na++,ha=1<<ra+3,la=0,ca=oa,da=oa+-sa,ua=1+(t>>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<Da;)for(var Pa=Va++,Fa=t>>Pa+2,$a=1<<Pa+3,ja=Fa>>1,Ea=1<<Pa+1,Ua=0,Na=n-1,La=(t>>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<c;){var d=l++;t.writeFloat(o[d])}if(0==h)break;h}return i.header},kha_audio2_ogg_vorbis_Reader.prototype={get_header:function(){return this.decoder.header},get_totalSample:function(){return this.decoder.totalSample},get_totalMillisecond:function(){var e=this.decoder.totalSample,t=this.get_header().sampleRate;return _$UInt_UInt_$Impl_$.toFloat(e)/_$UInt_UInt_$Impl_$.toFloat(t)*1e3},get_currentSample:function(){return this.decoder.currentSample},set_currentSample:function(e){return this.decoder.seek(this.seekFunc,this.inputLength,e),this.decoder.currentSample},get_currentMillisecond:function(){var e=this.get_currentSample(),t=this.get_header().sampleRate;return _$UInt_UInt_$Impl_$.toFloat(e)/_$UInt_UInt_$Impl_$.toFloat(t)*1e3},set_currentMillisecond:function(e){var t=e/1e3,a=this.get_header().sampleRate;return this.set_currentSample(Math.floor(_$UInt_UInt_$Impl_$.toFloat(a)*t)),this.get_currentMillisecond()},read:function(e,t,a,r,i){return null==i&&(i=!1),this.decoder.ensurePosition(this.seekFunc),null==t&&(t=this.decoder.totalSample),null==a&&(a=this.get_header().channel),null==r&&(r=this.get_header().sampleRate),this.decoder.read(e,t,a,r,i)},clone:function(){var e=Type.createEmptyInstance(kha_audio2_ogg_vorbis_Reader);return e.seekFunc=this.seekFunc,e.inputLength=this.inputLength,e.decoder=this.decoder.clone(this.seekFunc),e.loopStart=this.loopStart,e.loopLength=this.loopLength,e},sampleToMillisecond:function(e){var t=this.get_header().sampleRate;return _$UInt_UInt_$Impl_$.toFloat(e)/_$UInt_UInt_$Impl_$.toFloat(t)*1e3},millisecondToSample:function(e){var t=e/1e3,a=this.get_header().sampleRate;return Math.floor(_$UInt_UInt_$Impl_$.toFloat(a)*t)},__class__:kha_audio2_ogg_vorbis_Reader,__properties__:{set_currentMillisecond:"set_currentMillisecond",get_currentMillisecond:"get_currentMillisecond",set_currentSample:"set_currentSample",get_currentSample:"get_currentSample",get_totalMillisecond:"get_totalMillisecond",get_totalSample:"get_totalSample",get_header:"get_header"}};var kha_audio2_ogg_vorbis_VorbisDecodeState=$hxClasses["kha.audio2.ogg.vorbis.VorbisDecodeState"]=function(e){this.nextSeg=0,this.firstDecode=!1,this.bytesInSeg=0,this.validBits=0,this.input=e,this.inputPosition=0,this.page=new kha_audio2_ogg_vorbis_data_Page,kha_audio2_ogg_tools_Crc32.init()};kha_audio2_ogg_vorbis_VorbisDecodeState.__name__=!0,kha_audio2_ogg_vorbis_VorbisDecodeState.prototype={setup:function(e,t){this.inputPosition+=1;var a=this.input.readByte();this.inputPosition+=a;for(var r=new Array(a),i=0,s=a;i<s;)r[i++]=this.input.readByte();if(this.segments=r,this.endSegWithKnownLoc=-2,-1!=e||-1!=t)for(var n=a-1;n>=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<l;){var c=h++;_+=this.segments[c]}_+=27+a,o.pageStart=this.firstAudioPageOffset,o.pageEnd=o.pageStart+_,o.firstDecodedSample=0,o.lastDecodedSample=e,this.pFirst=o}this.nextSeg=0},clone:function(e){var t=Type.createEmptyInstance(kha_audio2_ogg_vorbis_VorbisDecodeState);return e(this.inputPosition),t.input=this.input,t.eof=this.eof,t.validBits=this.validBits,t.discardSamplesDeferred=this.discardSamplesDeferred,t.firstDecode=this.firstDecode,t.nextSeg=this.nextSeg,t.bytesInSeg=this.bytesInSeg,t.acc=t.acc,t.lastSeg=this.lastSeg,t.lastSegWhich=this.lastSegWhich,t.currentLoc=this.currentLoc,t.currentLocValid=this.currentLocValid,t.inputPosition=this.inputPosition,t.firstAudioPageOffset=this.firstAudioPageOffset,t.error=this.error,t.segments=this.segments,t.pFirst=this.pFirst,t.pLast=this.pLast,t.page=this.page.clone(),t},next:function(){if(this.lastSeg)return 0;if(-1==this.nextSeg){this.lastSegWhich=this.segments.length-1;try{this.page.start(this)}catch(e){if(e instanceof js__$Boot_HaxeError&&(e=e.val),js_Boot.__instanceof(e,kha_audio2_ogg_vorbis_data_ReaderError))return this.lastSeg=!0,this.error=e,0;throw e}if(0==(1&this.page.flag))throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.CONTINUED_PACKET_FLAG_INVALID,null,{fileName:"VorbisDecodeState.hx",lineNumber:171,className:"kha.audio2.ogg.vorbis.VorbisDecodeState",methodName:"next"}))}var e=this.segments[this.nextSeg++];if(e<255&&(this.lastSeg=!0,this.lastSegWhich=this.nextSeg-1),this.nextSeg>=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.validBits<e){if(e>24)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()<<this.validBits),this.validBits+=8,!(this.validBits<e))break}if(this.validBits<0)return 0;var t=this.acc&(1<<e)-1;return this.acc=this.acc>>>e,this.validBits-=e,t}var a=this.acc&(1<<e)-1;return this.acc=this.acc>>>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<r;)t[a++]=this.input.readByte()},prepHuffman:function(){if(this.validBits<=24)for(0==this.validBits&&(this.acc=0);;){if(0==this.bytesInSeg&&(this.lastSeg||0==this.next()))return;if(this.bytesInSeg--,this.inputPosition+=1,this.acc=this.acc+(this.input.readByte()<<this.validBits),this.validBits+=8,!(this.validBits<=24))break}},decode:function(e){this.validBits<10&&this.prepHuffman();var t,a=e.fastHuffman[1023&this.acc];if(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(n<this.currentLoc+a.right.end){var _=n<this.currentLoc?0:n-this.currentLoc;return _+=a.left.start,this.currentLoc+=_,{len:_,left:r,right:a.right.start}}}this.currentLoc=this.knownLocForPacket-(s-a.left.start),i=!0}return i&&(this.currentLoc+=a.right.start-a.left.start),{len:a.right.end,left:r,right:a.right.start}},readInt32:function(){return this.inputPosition+=4,this.input.readInt32()},readByte:function(){return this.inputPosition+=1,this.input.readByte()},read:function(e){this.inputPosition+=e;for(var t=new Array(e),a=0,r=e;a<r;)t[a++]=this.input.readByte();return t},readBytes:function(e){return this.inputPosition+=e,this.input.read(e)},readString:function(e){return this.inputPosition+=e,this.input.readString(e)},getSampleNumber:function(e,t){var a=this.inputPosition,r=_$UInt_UInt_$Impl_$.gte(t,65536)&&_$UInt_UInt_$Impl_$.gte(t-65536,this.firstAudioPageOffset)?t-65536:this.firstAudioPageOffset;e(this.inputPosition=r);var i=0,s=!1,n=this.findPage(e,t);switch(n[1]){case 0:var _=n[3];i=n[2],s=_;break;case 1: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:518,className:"kha.audio2.ogg.vorbis.VorbisDecodeState",methodName:"getSampleNumber"}))}var o=this.inputPosition;try{for(;!s;){e(this.inputPosition=i);var h=this.findPage(e,t);switch(h[1]){case 0:var l=h[3];i=h[2],s=l;break;case 1:throw"__break__"}r=o+1,o=this.inputPosition}}catch(e){if("__break__"!=e)throw e}e(this.inputPosition=o),this.inputPosition+=6;for(var c=new Array(6),d=0;d<6;)c[d++]=this.input.readByte();this.inputPosition+=4;var u=this.input.readInt32();this.inputPosition+=4;var p=this.input.readInt32();if(-1==u&&-1==p||p>0)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<f;){p++;this.inputPosition+=1;var g=this.input.readByte();l=l<<8^kha_audio2_ogg_tools_Crc32.table[g^l>>>24],u+=g}for(var m=0,v=u;m<v;){m++;this.inputPosition+=1;var k=this.input.readByte();l=l<<8^kha_audio2_ogg_tools_Crc32.table[k^l>>>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<l;)o[h++]=this.input.readByte();for(var c=o,d=0,u=0,p=n[26];u<p;)d+=c[u++];if(a.pageEnd=a.pageStart+27+n[26]+d,a.lastDecodedSample=n[6]+(n[7]<<8)+(n[8]<<16)+(n[9]<<16),0!=(4&n[5]))return a.firstDecodedSample=null,e(this.inputPosition=a.pageStart),a;for(var f=0,g=0==(1&n[5]),m=t.modes.length,v=0,k=n[26];v<k;){var b=v++;if(g){if(0==c[b])return e(this.inputPosition=a.pageStart),null;this.inputPosition+=1;var y=this.input.readByte();if(0!=(1&y))return e(this.inputPosition=a.pageStart),null;y>>=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;I<T;)w[I++]=this.input.readByte()}else{var C=c[b];this.inputPosition+=C;for(var M=new Array(C),A=0,R=C;A<R;)M[A++]=this.input.readByte()}g=c[b]<255}var V=0;f>1&&(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<c;){var d=l++,u=t[d];if(255!=u&&a[d]==(this.acc&(1<<u)-1))return this.validBits>=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;o<h;){var l=o++,c=this.channelBuffers,d=e.blocksize1,u=new Array(d);c[l]=u;var p=this.previousWindow,f=e.blocksize1/2|0,g=new Array(f);p[l]=g,this.finalY[l]=[]}var m=new Array(2);this.a=m;var v=new Array(2);this.b=v;var k=new Array(2);this.c=k;var b=new Array(2);this.window=b;var y=new Array(2);this.bitReverseData=y,this.initBlocksize(0,e.blocksize0),this.initBlocksize(1,e.blocksize1)};kha_audio2_ogg_vorbis_VorbisDecoder.__name__=!0,kha_audio2_ogg_vorbis_VorbisDecoder.start=function(e){var t=new kha_audio2_ogg_vorbis_VorbisDecodeState(e),a=kha_audio2_ogg_vorbis_data_Header.read(t),r=new kha_audio2_ogg_vorbis_VorbisDecoder(a,t);return t.startFirstDecode(),r.pumpFirstFrame(),r},kha_audio2_ogg_vorbis_VorbisDecoder.prototype={read:function(e,t,a,r,i){var s=this.header.sampleRate;if(0!=(_$UInt_UInt_$Impl_$.toFloat(r)%_$UInt_UInt_$Impl_$.toFloat(s)|0))throw new js__$Boot_HaxeError("Unsupported sampleRate : can't convert "+Std.string(_$UInt_UInt_$Impl_$.toFloat(this.header.sampleRate))+" to "+r);if(a%this.header.channel!=0)throw new js__$Boot_HaxeError("Unsupported channels : can't convert "+this.header.channel+" to "+a);var n=this.header.sampleRate,_=_$UInt_UInt_$Impl_$.toFloat(r)/_$UInt_UInt_$Impl_$.toFloat(n)|0,o=a/this.header.channel|0,h=0,l=Math.floor(t/_);null!=this.totalSample&&l>this.totalSample-this.currentSample&&(l=this.totalSample-this.currentSample);for(var c=0;h<l;){var d=this.channelBufferEnd-this.channelBufferStart;d>=l-h&&(d=l-h);for(var u=this.channelBufferStart,p=this.channelBufferStart+d;u<p;)for(var f=u++,g=0,m=_;g<m;){g++;for(var v=0,k=this.header.channel;v<k;)for(var b=v++,y=0,S=o;y<S;){y++;var x=this.channelBuffers[b][f];x>1?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;B<w;){B++;for(var I=0,T=_;I<T;){I++;for(var C=0,M=this.header.channel;C<M;){C++;for(var A=0,R=o;A<R;){A++;i&&(e[c]=0,++c)}}}}return this.currentSample+=l,l*_},skipSamples:function(e){var t=0;for(null!=this.totalSample&&e>this.totalSample-this.currentSample&&(e=this.totalSample-this.currentSample);t<e;){var a=this.channelBufferEnd-this.channelBufferStart;if(a>=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<r.lastDecodedSample)this.seekFrameFromPage(e,r.pageStart,0,a);else{for(var s=0;r.pageEnd<i.pageStart;){var n=r.pageEnd,_=i.afterPreviousPageStart,o=r.lastDecodedSample,h=i.lastDecodedSample;if(null==o||null==h)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:219,className:"kha.audio2.ogg.vorbis.VorbisDecoder",methodName:"seek"}));_$UInt_UInt_$Impl_$.gt(_,n+4e3)&&(_-=4e3);var l=n+Math.floor(_$UInt_UInt_$Impl_$.toFloat(_-n)/_$UInt_UInt_$Impl_$.toFloat(h-o)*(a-o));if(s>=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<d.lastDecodedSample?i=d:r=d:i=d}if(!(r.lastDecodedSample<=a&&a<i.lastDecodedSample))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:275,className:"kha.audio2.ogg.vorbis.VorbisDecoder",methodName:"seek"}));this.seekFrameFromPage(e,i.pageStart,r.lastDecodedSample,a)}}},seekFrameFromPage:function(e,t,a,r){var i=0,s=a;e(this.decodeState.inputPosition=t),this.decodeState.nextSeg=-1;for(var n=0,_=0,o=null,h=null;;){o=h,h=this.decodeState.clone(e);var l=this.decodeInitial();if(null==l){h=o;break}_=l.left.start,n=l.left.end;var c=0==i?n:_;if(r<s+l.right.start-c)break;for(var d=this.decodeState;0!=d.bytesInSeg||!d.lastSeg&&0!=d.next();)d.bytesInSeg--,d.inputPosition+=1,d.input.readByte();s+=l.right.start-c,++i}this.decodeState=h,e(this.decodeState.inputPosition),this.previousLength=0,this.pumpFirstFrame(),this.currentSample=s,this.skipSamples(r-s)},clone:function(e){var t=Type.createEmptyInstance(kha_audio2_ogg_vorbis_VorbisDecoder);t.currentSample=this.currentSample,t.totalSample=this.totalSample,t.previousLength=this.previousLength,t.channelBufferStart=this.channelBufferStart,t.channelBufferEnd=this.channelBufferEnd,t.a=this.a,t.b=this.b,t.c=this.c,t.window=this.window,t.bitReverseData=this.bitReverseData,t.header=this.header,t.decodeState=this.decodeState.clone(e);var a=this.header.channel,r=new Array(a);t.channelBuffers=r;var i=this.header.channel,s=new Array(i);t.previousWindow=s;var n=this.header.channel,_=new Array(n);t.finalY=_;for(var o=0,h=this.header.channel;o<h;){var l=o++;t.channelBuffers[l]=kha_audio2_ogg_vorbis_VorbisTools.copyVector(this.channelBuffers[l]),t.previousWindow[l]=kha_audio2_ogg_vorbis_VorbisTools.copyVector(this.previousWindow[l]),t.finalY[l]=Lambda.array(this.finalY[l])}return t},ensurePosition:function(e){e(this.decodeState.inputPosition)},getFrameFloat:function(){var e=this.decodePacket();if(null==e)return this.channelBufferStart=this.channelBufferEnd=0,0;var t=this.finishFrame(e);return this.channelBufferStart=e.left,this.channelBufferEnd=e.left+t,t},pumpFirstFrame:function(){this.finishFrame(this.decodePacket())},finishFrame:function(e){var t=e.len,a=e.right,r=e.left;if(0!=this.previousLength)for(var i=this.previousLength,s=this.getWindow(i),n=0,_=this.header.channel;n<_;)for(var o=n++,h=this.channelBuffers[o],l=this.previousWindow[o],c=0,d=i;c<d;){var u=c++;h[r+u]=h[r+u]*s[u]+l[u]*s[i-1-u]}var p=this.previousLength;this.previousLength=t-a;for(var f=0,g=this.header.channel;f<g;)for(var m=f++,v=this.previousWindow[m],k=this.channelBuffers[m],b=0,y=t-a;b<y;){var S=b++;v[S]=k[a+S]}return 0==p?0:(t<a&&(a=t),a-r)},getWindow:function(e){if((e<<=1)==this.header.blocksize0)return this.window[0];if(e==this.header.blocksize1)return this.window[1];throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.OTHER,"",{fileName:"VorbisDecoder.hx",lineNumber:466,className:"kha.audio2.ogg.vorbis.VorbisDecoder",methodName:"getWindow"}))},initBlocksize:function(e,t){var a=t>>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<ia;)for(var sa=ra++,na=t>>sa+2,_a=na>>1,oa=0,ha=1<<sa+1;oa<ha;)for(var la=o-1-na*oa++,ca=1<<sa+3,da=0,ua=la,pa=la+-_a,fa=1+(t>>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<Fa;)for(var $a=Pa++,ja=t>>$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<Er;){var Ur=m[jr]-m[Er+2],Nr=m[jr+1]+m[Er+3],Lr=n[$r+1]*Ur+n[$r]*Nr,zr=n[$r+1]*Nr-n[$r]*Ur,Or=m[jr]+m[Er+2],Hr=m[jr+1]-m[Er+3];m[jr]=Or+Lr,m[jr+1]=Hr+zr,m[Er+2]=Or-Lr,m[Er+3]=zr-Hr,Ur=m[jr+2]-m[Er],Nr=m[jr+3]+m[Er+1],Lr=n[$r+3]*Ur+n[$r+2]*Nr,zr=n[$r+3]*Nr-n[$r+2]*Ur,Or=m[jr+2]+m[Er],Hr=m[jr+3]-m[Er+1],m[jr+2]=Or+Lr,m[jr+3]=Hr+zr,m[Er]=Or-Lr,m[Er+1]=zr-Hr,$r+=4,jr+=4,Er-=4}for(var Gr=o-8,Wr=o-8,Kr=0,Zr=o-4,Qr=o,qr=t-4;Wr>=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()<<t.validBits),t.validBits+=8,!(t.validBits<1))break}if(t.validBits<0)e=0;else{var a=1&t.acc;t.acc=t.acc>>>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(_.validBits<l)if(l>24)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))break}if(_.validBits<0)n=0;else{var c=_.acc&(1<<l)-1;_.acc=_.acc>>>l,_.validBits-=l,n=c}}else{var d=_.acc&(1<<l)-1;_.acc=_.acc>>>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()<<m.validBits),m.validBits+=8,!(m.validBits<1))break}if(m.validBits<0)p=0;else{var v=1&m.acc;m.acc=m.acc>>>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()<<b.validBits),b.validBits+=8,!(b.validBits<1))break}if(b.validBits<0)f=0;else{var y=1&b.acc;b.acc=b.acc>>>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<l;){var c=h++,d=s.chan[c].mux;a[c]=!1;var u=this.header.floorConfig[s.submapFloor[d]];if(0==u.type)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_STREAM,null,{fileName:"VorbisDecoder.hx",lineNumber:581,className:"kha.audio2.ogg.vorbis.VorbisDecoder",methodName:"decodePacketRest"}));var p,f=u.floor1,g=this.decodeState;if(g.validBits<0)p=0;else if(g.validBits<1){for(0==g.validBits&&(g.acc=0);;){if(0==g.bytesInSeg&&(g.lastSeg||0==g.next())){g.validBits=-1;break}if(g.bytesInSeg--,g.inputPosition+=1,g.acc=g.acc+(g.input.readByte()<<g.validBits),g.validBits+=8,!(g.validBits<1))break}if(g.validBits<0)p=0;else{var m=1&g.acc;g.acc=g.acc>>>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.validBits<I)if(I>24)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()<<B.validBits),B.validBits+=8,!(B.validBits<I))break}if(B.validBits<0)x=0;else{var T=B.acc&(1<<I)-1;B.acc=B.acc>>>I,B.validBits-=I,x=T}}else{var C=B.acc&(1<<I)-1;B.acc=B.acc>>>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.validBits<V)if(V>24)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()<<A.validBits),A.validBits+=8,!(A.validBits<V))break}if(A.validBits<0)M=0;else{var D=A.acc&(1<<V)-1;A.acc=A.acc>>>V,A.validBits-=V,M=D}}else{var P=A.acc&(1<<V)-1;A.acc=A.acc>>>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<<N)-1,z=0;if(0!=N){var O=o[f.classMasterbooks[E]],H=this.decodeState;H.validBits<10&&H.prepHuffman();var G,W=O.fastHuffman[1023&H.acc];if(W>=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<q;){Q++;var Y=Z[z&L];z>>=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<oe;){var he=_e++,le=se[he][0],ce=se[he][1],de=ne[le],ue=k[le],pe=k[ce]-ue,fe=ne[ce]-de,ge=Math.abs(pe)*(ne[he]-de)/fe|0,me=pe<0?ue-ge:ue+ge,ve=k[he],ke=y-me,be=ke<me?2*ke:2*me;0!=ve?(b[le]=b[ce]=!0,b[he]=!0,k[he]=ve>=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<Se;){var xe=ye++;b[xe]||(k[xe]=-1)}}else a[c]=!0}for(var Be=0,we=this.header.channel;Be<we;){var Ie=Be++;r[Ie]=a[Ie]}for(var Te=0,Ce=s.couplingSteps;Te<Ce;){var Me=Te++;a[s.chan[Me].magnitude]&&a[s.chan[Me].angle]||(a[s.chan[Me].magnitude]=a[s.chan[Me].angle]=!1)}for(var Ae=0,Re=s.submaps;Ae<Re;){for(var Ve=Ae++,De=this.header.channel,Pe=new Array(De),Fe=new Array(256),$e=0,je=0,Ee=this.header.channel;je<Ee;){var Ue=je++;s.chan[Ue].mux==Ve&&(a[Ue]?(Fe[$e]=!0,Pe[$e]=null):(Fe[$e]=!1,Pe[$e]=this.channelBuffers[Ue]),++$e)}var Ne=s.submapResidue[Ve];this.header.residueConfig[Ne].decode(this.decodeState,this.header,Pe,$e,n,Fe,this.channelBuffers)}for(var Le=s.couplingSteps,ze=i>>1;--Le>=0;)for(var Oe=this.channelBuffers[s.chan[Le].magnitude],He=this.channelBuffers[s.chan[Le].angle],Ge=0,We=ze;Ge<We;){var Ke,Ze,Qe=Ge++;Oe[Qe]>0?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;qe<Ye;){var Xe=qe++;if(r[Xe])for(var Je=0,et=ze;Je<et;){var tt=Je++;this.channelBuffers[Xe][tt]=0}else s.doFloor(this.header.floorConfig,Xe,i,this.channelBuffers[Xe],this.finalY[Xe],null)}for(var at=0,rt=this.header.channel;at<rt;){var it=at++;this.inverseMdct(this.channelBuffers[it],i,t.blockflag)}for(var st=this.decodeState;0!=st.bytesInSeg||!st.lastSeg&&0!=st.next();)st.bytesInSeg--,st.inputPosition+=1,st.input.readByte();return this.decodeState.finishDecodePacket(this.previousLength,i,e)},__class__:kha_audio2_ogg_vorbis_VorbisDecoder};var kha_audio2_ogg_vorbis_VorbisTools=$hxClasses["kha.audio2.ogg.vorbis.VorbisTools"]=function(){};kha_audio2_ogg_vorbis_VorbisTools.__name__=!0,kha_audio2_ogg_vorbis_VorbisTools.assert=function(e,t){if(!e)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.OTHER,"",t))},kha_audio2_ogg_vorbis_VorbisTools.neighbors=function(e,t){for(var a=-1,r=65536,i=0,s=0,n=0,_=t;n<_;){var o=n++;e[o]>a&&e[o]<e[t]&&(i=o,a=e[o]),e[o]<r&&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.x<t.x?-1:e.x>t.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<i;){var s=r++;t[s]=Math.sin(1.5707963267948966*kha_audio2_ogg_vorbis_VorbisTools.square(Math.sin((s+.5)/a*.5*3.141592653589793)))}},kha_audio2_ogg_vorbis_VorbisTools.square=function(e){return e*e},kha_audio2_ogg_vorbis_VorbisTools.computeBitReverse=function(e,t){for(var a=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4],r=(e<16384?e<16?a[e]:e<512?5+a[e>>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<s;){var n=i++,_=n;_=(-16711936&(_=(-252645136&(_=(-858993460&(_=(-1431655766&_)>>>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;l<c;){l++;r[h]=Math.cos(2*(h+1)*3.141592653589793/e),r[h+1]=-Math.sin(2*(h+1)*3.141592653589793/e),h+=2}},kha_audio2_ogg_vorbis_VorbisTools.drawLine=function(e,t,a,r,i,s){if(null==kha_audio2_ogg_vorbis_VorbisTools.integerDivideTable){var n=new Array(32);kha_audio2_ogg_vorbis_VorbisTools.integerDivideTable=n;for(var _=0;_<32;){var o=_++,h=kha_audio2_ogg_vorbis_VorbisTools.integerDivideTable,l=new Array(64);h[o]=l;for(var c=1;c<64;){var d=c++;kha_audio2_ogg_vorbis_VorbisTools.integerDivideTable[o][d]=o/d|0}}}var u,p,f=i-a,g=r-t,m=f<0?-f:f,v=t,k=a,b=0;g<64&&m<32?p=f<0?(u=-kha_audio2_ogg_vorbis_VorbisTools.integerDivideTable[m][g])-1:(u=kha_audio2_ogg_vorbis_VorbisTools.integerDivideTable[m][g])+1:(u=f/g|0,p=f<0?u-1:u+1),m-=(u<0?-u:u)*g,r>s&&(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<B;){var w=x++;(b+=m)>=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<i;){var s=r++;a[s]=e[s]}return a};var kha_audio2_ogg_vorbis_data_Codebook=$hxClasses["kha.audio2.ogg.vorbis.data.Codebook"]=function(){};kha_audio2_ogg_vorbis_data_Codebook.__name__=!0,kha_audio2_ogg_vorbis_data_Codebook.read=function(e){var t,a,r,i=new kha_audio2_ogg_vorbis_data_Codebook;if(e.validBits<0)r=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()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits<0)r=0;else{var s=255&e.acc;e.acc=e.acc>>>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()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits<0)_=0;else{var o=255&e.acc;e.acc=e.acc>>>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()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits<0)l=0;else{var c=255&e.acc;e.acc=e.acc>>>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()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits<0)u=0;else{var p=255&e.acc;e.acc=e.acc>>>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()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits<0)g=0;else{var m=255&e.acc;e.acc=e.acc>>>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()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits<0)k=0;else{var b=255&e.acc;e.acc=e.acc>>>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()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits<0)S=0;else{var x=255&e.acc;e.acc=e.acc>>>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()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits<0)w=0;else{var I=255&e.acc;e.acc=e.acc>>>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()<<e.validBits),e.validBits+=8,!(e.validBits<1))break}if(e.validBits<0)C=0;else{var M=1&e.acc;e.acc=e.acc>>>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()<<e.validBits),e.validBits+=8,!(e.validBits<1))break}if(e.validBits<0)V=0;else{var D=1&e.acc;e.acc=e.acc>>>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()<<e.validBits),e.validBits+=8,!(e.validBits<5))break}if(e.validBits<0)E=0;else{var N=31&e.acc;e.acc=e.acc>>>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<i.entries;){var O,H=i.entries-U,G=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4],W=H<16384?H<16?G[H]:H<512?5+G[H>>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.validBits<W)if(W>24)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()<<e.validBits),e.validBits+=8,!(e.validBits<W))break}if(e.validBits<0)O=0;else{var K=e.acc&(1<<W)-1;e.acc=e.acc>>>W,e.validBits-=W,O=K}}else{var Z=e.acc&(1<<W)-1;e.acc=e.acc>>>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<q;)$[U+Q++]=z;U+=O,++z}}else for(var Y=0,X=i.entries;Y<X;){var J,ee=Y++;if(i.sparse)if(e.validBits<0)J=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()<<e.validBits),e.validBits+=8,!(e.validBits<1))break}if(e.validBits<0)J=0;else{var te=1&e.acc;e.acc=e.acc>>>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()<<e.validBits),e.validBits+=8,!(e.validBits<5))break}if(e.validBits<0)re=0;else{var ie=31&e.acc;e.acc=e.acc>>>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;oe<he;){var le=$[oe++];le>10&&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()<<e.validBits),e.validBits+=8,!(e.validBits<4))break}if(e.validBits<0)ye=0;else{var Se=15&e.acc;e.acc=e.acc>>>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()<<e.validBits),e.validBits+=8,!(e.validBits<4))break}if(e.validBits<0)Pe=0;else{var Fe=15&e.acc;e.acc=e.acc>>>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()<<e.validBits),e.validBits+=8,!(e.validBits<1))break}if(e.validBits<0)je=0;else{var Ee=1&e.acc;e.acc=e.acc>>>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;ze<Oe;){var He,Ge=ze++,We=i.valueBits;if(e.validBits<0)He=0;else if(e.validBits<We)if(We>24)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()<<e.validBits),e.validBits+=8,!(e.validBits<We))break}if(e.validBits<0)He=0;else{var Ke=e.acc&(1<<We)-1;e.acc=e.acc>>>We,e.validBits-=We,He=Ke}}else{var Ze=e.acc&(1<<We)-1;e.acc=e.acc>>>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;Ye<Xe;){var Je=Ye++;i.multiplicands[Je]=Le[Je]*i.deltaValue+i.minimumValue}if(2==i.lookupType&&i.sequenceP){for(var et=1,tt=i.lookupValues;et<tt;){var at=et++;i.multiplicands[at]=i.multiplicands[at-1]}i.sequenceP=!1}}return i},kha_audio2_ogg_vorbis_data_Codebook.prototype={addEntry:function(e,t,a,r,i){this.sparse?(this.codewords[a]=e,this.codewordLengths[a]=r,i[a]=t):this.codewords[t]=e},includeInSort:function(e){if(this.sparse){if(255==e)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.OTHER,"",{fileName:"Codebook.hx",lineNumber:201,className:"kha.audio2.ogg.vorbis.data.Codebook",methodName:"includeInSort"}));return!0}return 255!=e&&e>10},computeCodewords:function(e,t,a){for(var r=new Array(32),i=0;i<32;)r[i++]=0;for(var s=0;s<t&&!(e[s]<255);)++s;if(s==t){if(0!=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:228,className:"kha.audio2.ogg.vorbis.data.Codebook",methodName:"computeCodewords"}));return!0}var n=0,_=n++;this.sparse?(this.codewords[_]=0,this.codewordLengths[_]=e[s],a[_]=s):this.codewords[s]=0;for(var o=0;++o<=e[s];)r[o]=1<<32-o;for(o=s;++o<t;){var h=e[o];if(255!=h){for(;h>0&&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<r;){var i=a++,s=this.codewords[i];s=(-16711936&(s=(-252645136&(s=(-858993460&(s=(-1431655766&s)>>>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;_<o;){var h,l=_++,c=e[l];if(this.sparse){if(255==c)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.OTHER,"",{fileName:"Codebook.hx",lineNumber:201,className:"kha.audio2.ogg.vorbis.data.Codebook",methodName:"includeInSort"}));h=!0}else h=255!=c&&c>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;u<p;){var f,g=u++,m=this.sparse?e[t[g]]:e[g];if(this.sparse){if(255==m)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.OTHER,"",{fileName:"Codebook.hx",lineNumber:201,className:"kha.audio2.ogg.vorbis.data.Codebook",methodName:"includeInSort"}));f=!0}else f=255!=m&&m>10;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<i;){var s=r++;if(this.codewordLengths[s]<=10){var n;if(this.sparse){var _=this.sortedCodewords[s];n=(_=(-16711936&(_=(-252645136&(_=(-858993460&(_=(-1431655766&_)>>>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<<this.codewordLengths[s]}}},codebookDecode:function(e,t,a,r){e.validBits<10&&e.prepHuffman();var i,s=this.fastHuffman[1023&e.acc];if(s>=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<f;){var g=p++,m=l[_$UInt_UInt_$Impl_$.toFloat(_/d|0)%_$UInt_UInt_$Impl_$.toFloat(o)|0]+u,v=a+g,k=t;k[v]=k[v]+m,h&&(u=m+c),d*=o}return!0}if(_*=this.dimensions,h)for(var b=0,y=0,S=r;y<S;){var x=y++,B=l[_+x]+b,w=a+x,I=t;I[w]=I[w]+B,b=B+c}else for(var T=0,C=r;T<C;){var M=T++,A=a+M,R=t;R[A]=R[A]+(l[_+M]+0)}return!0},codebookDecodeStep:function(e,t,a,r,i){e.validBits<10&&e.prepHuffman();var s,n=this.fastHuffman[1023&e.acc];if(n>=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<f;){var g=p++,m=d[_$UInt_UInt_$Impl_$.toFloat(o/u|0)%_$UInt_UInt_$Impl_$.toFloat(l)|0]+h,v=a+g*i,k=t;k[v]=k[v]+m,c&&(h=m),u*=l}return!0}o*=this.dimensions;for(var b=0,y=r;b<y;){var S=b++,x=d[o+S]+h,B=a+S*i,w=t;w[B]=w[B]+x,c&&(h=x)}return!0},decodeStart:function(e){e.validBits<10&&e.prepHuffman();var t,a=this.fastHuffman[1023&e.acc];if(a>=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<v;){m++;var k=o[_$UInt_UInt_$Impl_$.toFloat(f/g|0)%_$UInt_UInt_$Impl_$.toFloat(l)|0]+c,b=i,y=t[r];y[b]=y[b]+k,++r==a&&(r=0,++i),c=k,g*=l}else for(var S=0,x=_;S<x;){S++;var B=o[_$UInt_UInt_$Impl_$.toFloat(f/g|0)%_$UInt_UInt_$Impl_$.toFloat(l)|0]+c,w=i,I=t[r];I[w]=I[w]+B,++r==a&&(r=0,++i),g*=l}}else if(f*=this.dimensions,h)for(var T=0,C=_;T<C;){var M=o[f+T++]+c,A=i,R=t[r];R[A]=R[A]+M,++r==a&&(r=0,++i),c=M}else for(var V=0,D=_;V<D;){var P=o[f+V++]+c,F=i,$=t[r];$[F]=$[F]+P,++r==a&&(r=0,++i)}n-=_}return{cInter:r,pInter:i}},residueDecode:function(e,t,a,r,i){if(0==i)for(var s=r/this.dimensions|0,n=0,_=s;n<_;){var o=n++;if(!this.codebookDecodeStep(e,t,a+o,r-a-o,s))return!1}else for(var h=0;h<r;){if(!this.codebookDecode(e,t,a,r-h))return!1;h+=this.dimensions,a+=this.dimensions}return!0},__class__:kha_audio2_ogg_vorbis_data_Codebook};var kha_audio2_ogg_vorbis_data_Comment=$hxClasses["kha.audio2.ogg.vorbis.data.Comment"]=function(){this.data=new haxe_ds_StringMap};kha_audio2_ogg_vorbis_data_Comment.__name__=!0,kha_audio2_ogg_vorbis_data_Comment.prototype={get_title:function(){return this.getString("title")},get_loopStart:function(){return Std.parseInt(this.getString("loopstart"))},get_loopLength:function(){return Std.parseInt(this.getString("looplength"))},get_version:function(){return this.getString("version")},get_album:function(){return this.getString("album")},get_organization:function(){return this.getString("organization")},get_tracknumber:function(){return this.getString("tracknumber")},get_performer:function(){return this.getString("performer")},get_copyright:function(){return this.getString("copyright")},get_license:function(){return this.getString("license")},get_artist:function(){return this.getString("artist")},get_description:function(){return this.getString("description")},get_genre:function(){return this.getString("genre")},get_date:function(){return this.getString("date")},get_location:function(){return this.getString("location")},get_contact:function(){return this.getString("contact")},get_isrc:function(){return this.getString("isrc")},get_artists:function(){return this.getArray("artist")},add:function(e,t){e=e.toLowerCase();var a=this.data;if(null!=__map_reserved[e]?a.existsReserved(e):a.h.hasOwnProperty(e)){var r=this.data;(null!=__map_reserved[e]?r.getReserved(e):r.h[e]).push(t)}else{var i=[t],s=this.data;null!=__map_reserved[e]?s.setReserved(e,i):s.h[e]=i}},getString:function(e){e=e.toLowerCase();var t=this.data;if(null!=__map_reserved[e]?t.existsReserved(e):t.h.hasOwnProperty(e)){var a=this.data;return(null!=__map_reserved[e]?a.getReserved(e):a.h[e])[0]}return null},getArray:function(e){e=e.toLowerCase();var t=this.data;if(null!=__map_reserved[e]?t.existsReserved(e):t.h.hasOwnProperty(e)){var a=this.data;return null!=__map_reserved[e]?a.getReserved(e):a.h[e]}return null},__class__:kha_audio2_ogg_vorbis_data_Comment,__properties__:{get_artists:"get_artists",get_isrc:"get_isrc",get_contact:"get_contact",get_location:"get_location",get_date:"get_date",get_genre:"get_genre",get_description:"get_description",get_artist:"get_artist",get_license:"get_license",get_copyright:"get_copyright",get_performer:"get_performer",get_tracknumber:"get_tracknumber",get_organization:"get_organization",get_album:"get_album",get_version:"get_version",get_loopLength:"get_loopLength",get_loopStart:"get_loopStart",get_title:"get_title"}};var kha_audio2_ogg_vorbis_data_Floor=$hxClasses["kha.audio2.ogg.vorbis.data.Floor"]=function(){};kha_audio2_ogg_vorbis_data_Floor.__name__=!0,kha_audio2_ogg_vorbis_data_Floor.read=function(e,t){var a,r=new kha_audio2_ogg_vorbis_data_Floor;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()<<e.validBits),e.validBits+=8,!(e.validBits<16))break}if(e.validBits<0)a=0;else{var i=65535&e.acc;e.acc=e.acc>>>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()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits<0)n=0;else{var o=255&e.acc;e.acc=e.acc>>>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()<<e.validBits),e.validBits+=8,!(e.validBits<16))break}if(e.validBits<0)l=0;else{var c=65535&e.acc;e.acc=e.acc>>>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()<<e.validBits),e.validBits+=8,!(e.validBits<16))break}if(e.validBits<0)u=0;else{var p=65535&e.acc;e.acc=e.acc>>>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()<<e.validBits),e.validBits+=8,!(e.validBits<6))break}if(e.validBits<0)g=0;else{var m=63&e.acc;e.acc=e.acc>>>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()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits<0)k=0;else{var b=255&e.acc;e.acc=e.acc>>>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()<<e.validBits),e.validBits+=8,!(e.validBits<4))break}if(e.validBits<0)S=0;else{var x=15&e.acc;e.acc=e.acc>>>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<I;){var T,C=w++,M=_.bookList;if(e.validBits<0)T=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()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits<0)T=0;else{var A=255&e.acc;e.acc=e.acc>>>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()<<e.validBits),e.validBits+=8,!(e.validBits<5))break}if(e.validBits<0)V=0;else{var $=31&e.acc;e.acc=e.acc>>>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<L;){var z,O=N++,H=P.partitionClassList;if(e.validBits<0)z=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()<<e.validBits),e.validBits+=8,!(e.validBits<4))break}if(e.validBits<0)z=0;else{var G=15&e.acc;e.acc=e.acc>>>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<X;){var J,ee=Y++,te=P.classDimensions;if(e.validBits<0)J=0;else if(e.validBits<3){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),e.validBits+=8,!(e.validBits<3))break}if(e.validBits<0)J=0;else{var ae=7&e.acc;e.acc=e.acc>>>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()<<e.validBits),e.validBits+=8,!(e.validBits<2))break}if(e.validBits<0)ie=0;else{var ne=3&e.acc;e.acc=e.acc>>>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()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits<0)oe=0;else{var le=255&e.acc;e.acc=e.acc>>>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<<P.classSubclasses[ee],ue=P.subclassBooks,pe=new Array(de);ue[ee]=pe;for(var fe=0,ge=de;fe<ge;){var me,ve=fe++,ke=P.subclassBooks[ee];if(e.validBits<0)me=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()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits<0)me=0;else{var be=255&e.acc;e.acc=e.acc>>>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()<<e.validBits),e.validBits+=8,!(e.validBits<2))break}if(e.validBits<0)Se=0;else{var xe=3&e.acc;e.acc=e.acc>>>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()<<e.validBits),e.validBits+=8,!(e.validBits<4))break}if(e.validBits<0)we=0;else{var Ie=15&e.acc;e.acc=e.acc>>>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<<P.rangebits,P.values=2;for(var Me=0,Ae=P.partitions;Me<Ae;)for(var Re=Me++,Ve=P.partitionClassList[Re],De=0,Pe=P.classDimensions[Ve];De<Pe;){De++;var Fe,$e=P.xlist,je=P.values,Ee=P.rangebits;if(e.validBits<0)Fe=0;else if(e.validBits<Ee)if(Ee>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()<<e.validBits),e.validBits+=8,!(e.validBits<Ee))break}if(e.validBits<0)Fe=0;else{var Ue=e.acc&(1<<Ee)-1;e.acc=e.acc>>>Ee,e.validBits-=Ee,Fe=Ue}}else{var Ne=e.acc&(1<<Ee)-1;e.acc=e.acc>>>Ee,e.validBits-=Ee,Fe=Ne}$e[je]=Fe,P.values++}for(var Le=0,ze=P.values;Le<ze;){var Oe=Le++;D.push(new kha_audio2_ogg_vorbis_data_IntPoint),D[Oe].x=P.xlist[Oe],D[Oe].y=Oe}D.sort(kha_audio2_ogg_vorbis_VorbisTools.pointCompare);var He=P.values,Ge=new Array(He);P.sortedOrder=Ge;for(var We=0,Ke=P.values;We<Ke;){var Ze=We++;P.sortedOrder[Ze]=D[Ze].y}var Qe=P.values,qe=new Array(Qe);P.neighbors=qe;for(var Ye=2,Xe=P.values;Ye<Xe;){for(var Je,et,tt=Ye++,at=P.xlist,rt=-1,it=65536,st=0,nt=0,_t=0,ot=tt;_t<ot;){var ht=_t++;at[ht]>rt&&at[ht]<at[tt]&&(st=ht,rt=at[ht]),at[ht]<it&&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<<h,_.blocksize1=1<<l,h<6||h>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<m;){g++;var v=p.readInt32(),k=p.readString(v),b=k.indexOf("=");-1!=b&&_.comment.add(k.substring(0,b),k.substring(b+1))}if(0==(1&p.readByte()))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:141,className:"kha.audio2.ogg.vorbis.data.Header",methodName:"read"}));e.startPacket();var y;if(0!=e.bytesInSeg||!e.lastSeg&&0!=e.next()?(e.bytesInSeg--,e.inputPosition+=1,y=e.input.readByte()):y=-1,e.validBits=0,5!=y)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,"setup packet",{fileName:"Header.hx",lineNumber:149,className:"kha.audio2.ogg.vorbis.data.Header",methodName:"read"}));for(var S=new haxe_io_Bytes(new ArrayBuffer(6)),x=0;x<6;){var B,w=x++;0!=e.bytesInSeg||!e.lastSeg&&0!=e.next()?(e.bytesInSeg--,e.inputPosition+=1,B=e.input.readByte()):B=-1,e.validBits=0,S.b[w]=255&B}if("vorbis"!=S.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"}));var I;if(e.validBits<0)I=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()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits<0)I=0;else{var T=255&e.acc;e.acc=e.acc>>>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<V;){var D=R++;_.codebooks[D]=kha_audio2_ogg_vorbis_data_Codebook.read(e)}var P;if(e.validBits<0)P=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()<<e.validBits),e.validBits+=8,!(e.validBits<6))break}if(e.validBits<0)P=0;else{var F=63&e.acc;e.acc=e.acc>>>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<E;){var U;j++;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()<<e.validBits),e.validBits+=8,!(e.validBits<16))break}if(e.validBits<0)U=0;else{var N=65535&e.acc;e.acc=e.acc>>>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()<<e.validBits),e.validBits+=8,!(e.validBits<6))break}if(e.validBits<0)z=0;else{var O=63&e.acc;e.acc=e.acc>>>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<Z;){var Q=K++;_.floorConfig[Q]=kha_audio2_ogg_vorbis_data_Floor.read(e,_.codebooks)}var q;if(e.validBits<0)q=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()<<e.validBits),e.validBits+=8,!(e.validBits<6))break}if(e.validBits<0)q=0;else{var Y=63&e.acc;e.acc=e.acc>>>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<ae;){var re=te++;_.residueConfig[re]=kha_audio2_ogg_vorbis_data_Residue.read(e,_.codebooks)}var ie;if(e.validBits<0)ie=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()<<e.validBits),e.validBits+=8,!(e.validBits<6))break}if(e.validBits<0)ie=0;else{var se=63&e.acc;e.acc=e.acc>>>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<le;){var ce=he++,de=kha_audio2_ogg_vorbis_data_Mapping.read(e,_.channel);_.mapping[ce]=de;for(var ue=0,pe=de.submaps;ue<pe;){var fe=ue++;if(de.submapFloor[fe]>=_.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()<<e.validBits),e.validBits+=8,!(e.validBits<6))break}if(e.validBits<0)ge=0;else{var me=63&e.acc;e.acc=e.acc>>>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<Se;){var xe=ye++,Be=kha_audio2_ogg_vorbis_data_Mode.read(e);if(_.modes[xe]=Be,Be.mapping>=_.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()<<e.validBits),e.validBits+=8,!(e.validBits<16))break}if(e.validBits<0)a=0;else{var i=65535&e.acc;e.acc=e.acc>>>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;_<o;){var h=_++;r.chan[h]=new kha_audio2_ogg_vorbis_data_MappingChannel}var l;if(e.validBits<0)l=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()<<e.validBits),e.validBits+=8,!(e.validBits<1))break}if(e.validBits<0)l=0;else{var c=1&e.acc;e.acc=e.acc>>>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()<<e.validBits),e.validBits+=8,!(e.validBits<4))break}if(e.validBits<0)u=0;else{var p=15&e.acc;e.acc=e.acc>>>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()<<e.validBits),e.validBits+=8,!(e.validBits<1))break}if(e.validBits<0)g=0;else{var m=1&e.acc;e.acc=e.acc>>>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()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits<0)k=0;else{var b=255&e.acc;e.acc=e.acc>>>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<x;){var B,w=S++,I=r.chan[w],T=t-1,C=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4],M=T<16384?T<16?C[T]:T<512?5+C[T>>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.validBits<M)if(M>24)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()<<e.validBits),e.validBits+=8,!(e.validBits<M))break}if(e.validBits<0)B=0;else{var A=e.acc&(1<<M)-1;e.acc=e.acc>>>M,e.validBits-=M,B=A}}else{var R=e.acc&(1<<M)-1;e.acc=e.acc>>>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),e.validBits+=8,!(e.validBits<$))break}if(e.validBits<0)V=0;else{var j=e.acc&(1<<$)-1;e.acc=e.acc>>>$,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()<<e.validBits),e.validBits+=8,!(e.validBits<2))break}if(e.validBits<0)U=0;else{var N=3&e.acc;e.acc=e.acc>>>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<O;){var H,G=z++,W=r.chan[G];if(e.validBits<0)H=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()<<e.validBits),e.validBits+=8,!(e.validBits<4))break}if(e.validBits<0)H=0;else{var K=15&e.acc;e.acc=e.acc>>>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<q;){var Y=Q++;r.chan[Y].mux=0}var X=r.submaps,J=new Array(X);r.submapFloor=J;var ee=r.submaps,te=new Array(ee);r.submapResidue=te;for(var ae=0,re=r.submaps;ae<re;){var ie=ae++;if(e.validBits>=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()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits>=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()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits<0)se=0;else{var _e=255&e.acc;e.acc=e.acc>>>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()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits<0)he=0;else{var ce=255&e.acc;e.acc=e.acc>>>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<u;){var p=d++,f=h.sortedOrder[p];if(i[f]>=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<n)for(var v=l,k=n;v<k;){var b=v++,y=r;y[b]=y[b]*kha_audio2_ogg_vorbis_VorbisTools.INVERSE_DB_TABLE[c]}},__class__:kha_audio2_ogg_vorbis_data_Mapping};var kha_audio2_ogg_vorbis_data_MappingChannel=$hxClasses["kha.audio2.ogg.vorbis.data.MappingChannel"]=function(){};kha_audio2_ogg_vorbis_data_MappingChannel.__name__=!0,kha_audio2_ogg_vorbis_data_MappingChannel.prototype={__class__:kha_audio2_ogg_vorbis_data_MappingChannel};var kha_audio2_ogg_vorbis_data_Mode=$hxClasses["kha.audio2.ogg.vorbis.data.Mode"]=function(){};kha_audio2_ogg_vorbis_data_Mode.__name__=!0,kha_audio2_ogg_vorbis_data_Mode.read=function(e){var t,a=new kha_audio2_ogg_vorbis_data_Mode;if(e.validBits<0)t=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()<<e.validBits),e.validBits+=8,!(e.validBits<1))break}if(e.validBits<0)t=0;else{var r=1&e.acc;e.acc=e.acc>>>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()<<e.validBits),e.validBits+=8,!(e.validBits<16))break}if(e.validBits<0)s=0;else{var n=65535&e.acc;e.acc=e.acc>>>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()<<e.validBits),e.validBits+=8,!(e.validBits<16))break}if(e.validBits<0)o=0;else{var h=65535&e.acc;e.acc=e.acc>>>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()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits<0)c=0;else{var d=255&e.acc;e.acc=e.acc>>>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()<<e.validBits),e.validBits+=8,!(e.validBits<16))break}if(e.validBits<0)a=0;else{var i=65535&e.acc;e.acc=e.acc>>>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()<<e.validBits),e.validBits+=8,!(e.validBits<24))break}if(e.validBits<0)n=0;else{var o=16777215&e.acc;e.acc=e.acc>>>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()<<e.validBits),e.validBits+=8,!(e.validBits<24))break}if(e.validBits<0)l=0;else{var c=16777215&e.acc;e.acc=e.acc>>>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()<<e.validBits),e.validBits+=8,!(e.validBits<24))break}if(e.validBits<0)u=0;else{var p=16777215&e.acc;e.acc=e.acc>>>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()<<e.validBits),e.validBits+=8,!(e.validBits<6))break}if(e.validBits<0)g=0;else{var m=63&e.acc;e.acc=e.acc>>>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()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits<0)k=0;else{var y=255&e.acc;e.acc=e.acc>>>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<B;){var w,I=x++,T=0;if(e.validBits<0)w=0;else if(e.validBits<3){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),e.validBits+=8,!(e.validBits<3))break}if(e.validBits<0)w=0;else{var C=7&e.acc;e.acc=e.acc>>>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()<<e.validBits),e.validBits+=8,!(e.validBits<1))break}if(e.validBits<0)A=0;else{var R=1&e.acc;e.acc=e.acc>>>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()<<e.validBits),e.validBits+=8,!(e.validBits<5))break}if(e.validBits<0)T=0;else{var D=31&e.acc;e.acc=e.acc>>>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<E;){var U=j++,N=r.residueBooks,L=new Array(8);N[U]=L;for(var z=0;z<8;){var O=z++;if(0!=(_[U]&1<<O)){var H,G=r.residueBooks[U];if(e.validBits<0)H=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()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits<0)H=0;else{var W=255&e.acc;e.acc=e.acc>>>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<X;)for(var J=Y++,ee=J,te=Q,ae=r.classdata,re=new Array(Q),ie=ae[J]=re;--te>=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<f;){var g=p++;if(!s[g])for(var m=a[g],v=0,k=m.length;v<k;)m[v++]=0}if(2!=this.type||1==r)for(var b=0;b<8;)for(var y=b++,S=0;S<c;){if(0==y)for(var x=0,B=r;x<B;){var w=x++;if(!s[w]){var I=_[this.classbook];e.validBits<10&&e.prepHuffman();var T,C=I.fastHuffman[1023&e.acc];if(C>=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<D;){V++;if(S>=c)break;for(var P=0,F=r;P<F;){var $=P++;if(!s[$]){var j=u[$*c+S],E=this.residueBooks[j][y];if(E>=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<O;){var H=z++;if(!s[H])break;if(H==r-1)return}for(var G=0;G<8;){var W=G++,K=0;if(2==r)for(;K<c;){var Z=this.begin+K*l,Q=1&Z,q=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<ie;){re++;if(K>=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<c;){var he=0,le=this.begin+K*l;if(0==W){var ce=_[this.classbook];e.validBits<10&&e.prepHuffman();var de,ue=ce.fastHuffman[1023&e.acc];if(ue>=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<ve;){me++;if(K>=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<c;){var Se=this.begin+K*l,xe=_$UInt_UInt_$Impl_$.toFloat(Se)%_$UInt_UInt_$Impl_$.toFloat(r)|0,Be=_$UInt_UInt_$Impl_$.toFloat(Se)/_$UInt_UInt_$Impl_$.toFloat(r)|0;if(0==W){var we=_[this.classbook];e.validBits<10&&e.prepHuffman();var Ie,Te=we.fastHuffman[1023&e.acc];if(Te>=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<Ve;){Re++;if(K>=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<d;){var u=r+4+8*c++,p=t.readU8(u);switch(t.readU8(u+1)|p<<8){case 0:var f=u+4,g=t.readU8(f),m=t.readU8(f+1),v=t.readU8(f+2),k=t.readU8(f+3);e.index_map=r+(k|v<<8|m<<16|g<<24);break;case 3:var b=u+2,y=t.readU8(b);switch(t.readU8(b+1)|y<<8){case 1:case 10:var S=u+4,x=t.readU8(S),B=t.readU8(S+1),w=t.readU8(S+2),I=t.readU8(S+3);e.index_map=r+(I|w<<8|B<<16|x<<24)}}}if(0==e.index_map)return!1;var T=e.head+50,C=t.readU8(T),M=t.readU8(T+1);return e.indexToLocFormat=M|C<<8,!0},kha_graphics2_truetype_StbTruetype.stbtt_FindGlyphIndex=function(e,t){var a=e.data,r=e.index_map,i=a.readU8(r),s=a.readU8(r+1)|i<<8;if(0==s){var n=r+2,_=a.readU8(n);return t<(a.readU8(n+1)|_<<8)-6?a.readU8(r+6+t):0}if(6==s){var o=r+6,h=a.readU8(o),l=a.readU8(o+1)|h<<8,c=r+8,d=a.readU8(c),u=a.readU8(c+1)|d<<8;if(t>=l&&t<l+u){var p=r+10+2*(t-l),f=a.readU8(p);return a.readU8(p+1)|f<<8}return 0}if(2==s)throw new js__$Boot_HaxeError("Error");if(4==s){var g=r+6,m=a.readU8(g),v=(a.readU8(g+1)|m<<8)>>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<F)return 0;var L=r+14+6*v+2+2*$,z=a.readU8(L);if(0==(P=a.readU8(L+1)|z<<8)){var O=r+14+4*v+2+2*$,H=a.readU8(O),G=a.readU8(O+1)|H<<8;return t+(0!=(32768&G)?G-65536:G)}var W=P+2*(t-F)+r+14+6*v+2+2*$,K=a.readU8(W);return a.readU8(W+1)|K<<8}if(12==s||13==s){var Z,Q,q=r+12,Y=a.readU8(q),X=a.readU8(q+1),J=a.readU8(q+2);for(Z=0,Q=a.readU8(q+3)|J<<8|X<<16|Y<<24;Z<Q;){var ee=Z+(Q-Z>>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(t<se)Q=ee;else{if(!(t>le)){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;i<s;){var n=i++;t[a+n]=e[n]}},kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphShape=function(e,t){var a,r,i=e.data,s=null,n=0,_=kha_graphics2_truetype_StbTruetype.stbtt__GetGlyfOffset(e,t);if(_<0)return null;var o=i.readU8(_),h=i.readU8(_+1)|o<<8;if((a=0!=(32768&h)?h-65536:h)>0){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<F;)s[P++]=new kha_graphics2_truetype_Stbtt_$vertex;w=0,l=0,I=d-u;for(var $=0,j=u;$<j;){var E=$++;0==l?0!=(8&(x=S.readU8(M++)))&&(l=S.readU8(M++)):--l,s[I+E].type=x}p=0;for(var U=0,N=u;U<N;){var L=U++;if(0!=(2&(x=s[I+L].type))){var z=S.readU8(M++);p+=0!=(16&x)?z:-z}else if(0==(16&x)){var O=S.readU8(M),H=S.readU8(M+1)|O<<8;p+=0!=(32768&H)?H-65536:H,M+=2}s[I+L].x=p}f=0;for(var G=0,W=u;G<W;){var K=G++;if(0!=(4&(x=s[I+K].type))){var Z=S.readU8(M++);f+=0!=(32&x)?Z:-Z}else if(0==(32&x)){var Q=S.readU8(M),q=S.readU8(M+1)|Q<<8;f+=0!=(32768&q)?q-65536:q,M+=2}s[I+K].y=f}n=0,v=k=g=m=b=y=0;for(var Y=0;Y<u;){if(x=s[I+Y].type,p=s[I+Y].x,f=s[I+Y].y,w==Y){0!=Y&&(n=kha_graphics2_truetype_StbTruetype.stbtt__close_shape(s,n,T,C,v,k,b,y,g,m)),(C=0==(1&x))?(b=p,y=f,0==(1&s[I+Y+1].type)?(v=p+s[I+Y+1].x>>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;Ne<Le;){var ze,Oe,He=oe[Ne++];ze=He.x,Oe=He.y,He.x=se*(le*ze+de*Oe+pe)|0,He.y=ne*(ce*ze+ue*Oe+fe)|0,ze=He.cx,Oe=He.cy,He.cx=se*(le*ze+de*Oe+pe)|0,He.cy=ne*(ce*ze+ue*Oe+fe)|0}if(null==(he=new Array(n+_e)))return null;n>0&&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<n)throw new js__$Boot_HaxeError("Error");if(n<s.length){var Ge=new Array(n);return kha_graphics2_truetype_StbTruetype.copyVertices(s,Ge,0,n),Ge}return s},kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphHMetrics=function(e,t){var a=e.data,r=e.hhea+34,i=a.readU8(r),s=a.readU8(r+1)|i<<8,n=new kha_graphics2_truetype_Stbtt_$temp_$glyph_$h_$metrics;if(t<s){var _=e.data,o=e.hmtx+4*t,h=_.readU8(o),l=_.readU8(o+1)|h<<8;n.advanceWidth=0!=(32768&l)?l-65536:l;var c=e.data,d=e.hmtx+4*t+2,u=c.readU8(d),p=c.readU8(d+1)|u<<8;n.leftSideBearing=0!=(32768&p)?p-65536:p}else{var f=e.data,g=e.hmtx+4*(s-1),m=f.readU8(g),v=f.readU8(g+1)|m<<8;n.advanceWidth=0!=(32768&v)?v-65536:v;var k=e.data,b=e.hmtx+4*s+2*(t-s),y=k.readU8(b),S=k.readU8(b+1)|y<<8;n.leftSideBearing=0!=(32768&S)?S-65536:S}return n},kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphKernAdvance=function(e,t,a){var r,i,s,n,_,o=e.data.sub(e.kern,e.data.get_length()-e.kern);if(0==e.kern)return 0;var h=o.readU8(2);if((o.readU8(3)|h<<8)<1)return 0;var l=o.readU8(8);if(1!=(o.readU8(9)|l<<8))return 0;s=0;var c=o.readU8(10);for(n=(o.readU8(11)|c<<8)-1,r=t<<16|a;s<=n;){var d=18+6*(_=s+n>>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,r<i)n=_-1;else{if(!(r>i)){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.sy)){if(s<r.sy&&(i+=(n-i)*(r.sy-s)/(_-s),s=r.sy),_>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;_<r&&(_>=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<n?(h=d+u*(i.ey-s),c=i.ey):(h=p,c=n),o>=0&&h>=0&&o<r&&h<r)if((0|o)==(0|h)){var g,m=0|o;if(g=c-l,!(m>=0&&m<r))throw new js__$Boot_HaxeError("Error");var v=m,k=e;k[v]=k[v]+i.direction*(1-(o-m+(h-m))/2)*g;var b=a+m,y=t;y[b]=y[b]+i.direction*g}else{var S,x,B,w,I,T;if(o>h){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;R<V;){var D=R++,P=e;P[D]=P[D]+(T+w/2),T+=w}if(B+=f*(x-(S+1)),!(Math.abs(T)<=1.01))throw new js__$Boot_HaxeError("Error");var F=x,$=e;$[F]=$[F]+(T+I*(1-(x-x+(h-x))/2)*(c-B));var j=a+x,E=t;E[j]=E[j]+I*(c-l)}else for(var U=0,N=r;U<N;){var L,z,O=U++,H=s,G=O,W=O+1,K=p,Z=n;L=(O-d)/u+s,z=(O+1-d)/u+s,d<G&&K>W?(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)):K<G&&d>W?(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)):d<G&&K>G?(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)):K<G&&d>G?(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)):d<W&&K>W?(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)):K<W&&d>W?(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<e.h;){var p,f,g=n+0,m=n+1;p=h,f=null;for(var v=0,k=e.w;v<k;)_[v++]=0;for(var b=0,y=e.w+1;b<y;)o[c+b++]=0;for(;null!=p;){var S=p;if(S.ey<=g){if(null==f?(h=S.next,p=S.next):(f.next=S.next,p=S.next),0==S.direction)throw new js__$Boot_HaxeError("Error");S.direction=0}else f=p,p=p.next}for(;t[d].y0<=m;){if(t[d].y0!=t[d].y1){var x=kha_graphics2_truetype_StbTruetype.stbtt__new_active(t,d,i,g);if(!(x.ey>=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;w<I;){var T,C,M=w++;B+=o[c+M],T=_[M]+B,(C=0|(T=255*Math.abs(T)+.5))>255&&(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.y0<t.y0},kha_graphics2_truetype_StbTruetype.stbtt__sort_edges_ins_sort=function(e,t){for(var a,r=1,i=t;r<i;){var s=r++,n=e[s],_=n;for(a=s;a>0;){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}o<a-_?(kha_graphics2_truetype_StbTruetype.stbtt__sort_edges_quicksort(e,t,o),t+=_,a-=_):(kha_graphics2_truetype_StbTruetype.stbtt__sort_edges_quicksort(e,t+_,a-_),a=o)}},kha_graphics2_truetype_StbTruetype.stbtt__sort_edges=function(e,t){kha_graphics2_truetype_StbTruetype.stbtt__sort_edges_quicksort(e,0,t),kha_graphics2_truetype_StbTruetype.stbtt__sort_edges_ins_sort(e,t)},kha_graphics2_truetype_StbTruetype.stbtt__rasterize=function(e,t,a,r,i,s,n,_,o,h,l){var c,d,u,p,f=l?-s:s;d=0;for(var g=0,m=r;g<m;)d+=a[g++];if(null!=(c=new Array(d+1))){for(var v=0,k=c.length;v<k;)c[v++]=new kha_graphics2_truetype_Stbtt_$_$edge;d=0,p=0;for(var b=0,y=r;b<y;){var S=b++,x=t,B=0+p;p+=a[S],u=a[S]-1;for(var w=0,I=a[S];w<I;){var T=w++,C=T,M=u;x[B+u].y!=x[B+T].y?(c[d].invert=!1,(l?x[B+u].y>x[B+T].y:x[B+u].y<x[B+T].y)&&(c[d].invert=!0,C=u,M=T),c[d].x0=x[B+C].x*i+n,c[d].y0=1*(x[B+C].y*f+_),c[d].x1=x[B+M].x*i+n,c[d].y1=1*(x[B+M].y*f+_),++d,u=T):u=T}}kha_graphics2_truetype_StbTruetype.stbtt__sort_edges(c,d),kha_graphics2_truetype_StbTruetype.stbtt__rasterize_sorted_edges(e,c,d,1,o,h)}},kha_graphics2_truetype_StbTruetype.stbtt__add_point=function(e,t,a,r){null!=e&&(e[t].x=a,e[t].y=r)},kha_graphics2_truetype_StbTruetype.stbtt__tesselate_curve=function(e,t,a,r,i,s,n,_,o,h){var l=(a+2*i+n)/4,c=(r+2*s+_)/4,d=(a+n)/2-l,u=(r+_)/2-c;return h>16?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<c;)1==e[l++].type&&++o;if(i.value=o,0==o)return null;var d=new Array(o);if(r.value=d,null==r.value)return i.value=0,null;for(var u=0;u<2;){var p=0,f=0;if(1==u++){if(null==(s=new Array(n)))return r.value=null,i.value=0,null;for(var g=0,m=s.length;g<m;)s[g++]=new kha_graphics2_truetype_Stbtt_$_$point}n=0,o=-1;for(var v=0,k=t;v<k;){var b=v++;switch(e[b].type){case 1:o>=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<p;){var f=u++;r.writeU8(f,0)}h=l=1,c=1,o=kha_graphics2_truetype_StbTruetype.stbtt_ScaleForPixelHeight(d,a);for(var g=0,m=0;m<n.length;){var v=n[m];++m;var k,b,y,S,x,B,w,I=kha_graphics2_truetype_StbTruetype.stbtt_FindGlyphIndex(d,v),T=kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphHMetrics(d,I);k=T.advanceWidth,T.leftSideBearing;var C=kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphBitmapBox(d,I,o,o);if(b=C.x0,y=C.y0,S=C.x1,x=C.y1,B=S-b,w=x-y,h+B+1>=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<a;){var r=t++;e[3*r*2]=4*r,e[3*r*2+1]=4*r+1,e[3*r*2+2]=4*r+2,e[3*r*2+3]=4*r,e[3*r*2+4]=4*r+2,e[3*r*2+5]=4*r+3}this.indexBuffer.unlock()},setRectVertices:function(e,t,a,r,i,s,n,_){var o=this.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;this.rectVertices[o]=e,this.rectVertices[o+1]=t,this.rectVertices[o+2]=-5,this.rectVertices[o+9]=a,this.rectVertices[o+10]=r,this.rectVertices[o+11]=-5,this.rectVertices[o+18]=i,this.rectVertices[o+19]=s,this.rectVertices[o+20]=-5,this.rectVertices[o+27]=n,this.rectVertices[o+28]=_,this.rectVertices[o+29]=-5},setRectTexCoords:function(e,t,a,r){var i=this.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;this.rectVertices[i+3]=e,this.rectVertices[i+4]=r,this.rectVertices[i+12]=e,this.rectVertices[i+13]=t,this.rectVertices[i+21]=a,this.rectVertices[i+22]=t,this.rectVertices[i+30]=a,this.rectVertices[i+31]=r},setRectColor:function(e,t,a,r){var i=this.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;this.rectVertices[i+5]=e,this.rectVertices[i+6]=t,this.rectVertices[i+7]=a,this.rectVertices[i+8]=r,this.rectVertices[i+14]=e,this.rectVertices[i+15]=t,this.rectVertices[i+16]=a,this.rectVertices[i+17]=r,this.rectVertices[i+23]=e,this.rectVertices[i+24]=t,this.rectVertices[i+25]=a,this.rectVertices[i+26]=r,this.rectVertices[i+32]=e,this.rectVertices[i+33]=t,this.rectVertices[i+34]=a,this.rectVertices[i+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_ImageShaderPainter.shaderPipeline:this.get_pipeline()),this.g.setTexture(this.textureLocation,this.lastTexture),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,this.bilinearMipmaps?kha_graphics4_MipMapFilter.LinearMipFilter:kha_graphics4_MipMapFilter.NoMipFilter),this.g.setMatrix(this.projectionLocation,this.projectionMatrix),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},setBilinearMipmapFilter:function(e){this.end(),this.bilinearMipmaps=e},drawImage: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=.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<a;){var r=t++;e[3*r*2]=4*r,e[3*r*2+1]=4*r+1,e[3*r*2+2]=4*r+2,e[3*r*2+3]=4*r,e[3*r*2+4]=4*r+2,e[3*r*2+5]=4*r+3}this.indexBuffer.unlock(),this.triangleVertexBuffer=new kha_graphics4_VertexBuffer(3*kha_graphics4_ColoredShaderPainter.triangleBufferSize,kha_graphics4_ColoredShaderPainter.structure,kha_graphics4_Usage.DynamicUsage),this.triangleVertices=this.triangleVertexBuffer.lock(),this.triangleIndexBuffer=new kha_graphics4_IndexBuffer(3*kha_graphics4_ColoredShaderPainter.triangleBufferSize,kha_graphics4_Usage.StaticUsage);for(var i=this.triangleIndexBuffer.lock(),s=0,n=kha_graphics4_ColoredShaderPainter.bufferSize;s<n;){var _=s++;i[3*_]=3*_,i[3*_+1]=3*_+1,i[3*_+2]=3*_+2}this.triangleIndexBuffer.unlock()},setRectVertices:function(e,t,a,r,i,s,n,_){var o=7*this.bufferIndex*4;this.rectVertices[o]=e,this.rectVertices[o+1]=t,this.rectVertices[o+2]=-5,this.rectVertices[o+7]=a,this.rectVertices[o+8]=r,this.rectVertices[o+9]=-5,this.rectVertices[o+14]=i,this.rectVertices[o+15]=s,this.rectVertices[o+16]=-5,this.rectVertices[o+21]=n,this.rectVertices[o+22]=_,this.rectVertices[o+23]=-5},setRectColors:function(e,t){var a=7*this.bufferIndex*4,r=e*(.00392156862745098*(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<r;){var i=a++;if(t[i]==e)return i}return 0},kha_graphics4_TextShaderPainter.prototype={get_pipeline:function(){return this.myPipeline},set_pipeline:function(e){return null==e?(this.projectionLocation=kha_graphics4_TextShaderPainter.shaderPipeline.getConstantLocation("projectionMatrix"),this.textureLocation=kha_graphics4_TextShaderPainter.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_TextShaderPainter.bufferSize,kha_graphics4_TextShaderPainter.structure,kha_graphics4_Usage.DynamicUsage),this.rectVertices=this.rectVertexBuffer.lock(),this.indexBuffer=new kha_graphics4_IndexBuffer(3*kha_graphics4_TextShaderPainter.bufferSize*2,kha_graphics4_Usage.StaticUsage);for(var e=this.indexBuffer.lock(),t=0,a=kha_graphics4_TextShaderPainter.bufferSize;t<a;){var r=t++;e[3*r*2]=4*r,e[3*r*2+1]=4*r+1,e[3*r*2+2]=4*r+2,e[3*r*2+3]=4*r,e[3*r*2+4]=4*r+2,e[3*r*2+5]=4*r+3}this.indexBuffer.unlock()},setRectVertices:function(e,t,a,r,i,s,n,_){var o=9*this.bufferIndex*4;this.rectVertices[o]=e,this.rectVertices[o+1]=t,this.rectVertices[o+2]=-5,this.rectVertices[o+9]=a,this.rectVertices[o+10]=r,this.rectVertices[o+11]=-5,this.rectVertices[o+18]=i,this.rectVertices[o+19]=s,this.rectVertices[o+20]=-5,this.rectVertices[o+27]=n,this.rectVertices[o+28]=_,this.rectVertices[o+29]=-5},setRectTexCoords:function(e,t,a,r){var i=9*this.bufferIndex*4;this.rectVertices[i+3]=e,this.rectVertices[i+4]=r,this.rectVertices[i+12]=e,this.rectVertices[i+13]=t,this.rectVertices[i+21]=a,this.rectVertices[i+22]=t,this.rectVertices[i+30]=a,this.rectVertices[i+31]=r},setRectColors:function(e,t){var a=9*this.bufferIndex*4,r=e*(.00392156862745098*(t>>>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<d;){var u=c++,p=_.getBakedQuad(kha_graphics4_TextShaderPainter.findIndex(this.charCodeAt(u),n),h,l);if(null!=p){this.bufferIndex+1>=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<a;){var r=t++;e+=this.dataByteSize(this.elements[r].data)}return e},dataByteSize:function(e){switch(e[1]){case 0:return 4;case 1:return 8;case 2:return 12;case 3:return 16;case 4:return 64}},get:function(e){return this.elements[e]},__class__:kha_graphics4_VertexStructure};var kha_input_Gamepad=$hxClasses["kha.input.Gamepad"]=$hx_exports.kha.input.Gamepad=function(e,t){null==t&&(t="unknown"),null==e&&(e=0),this.index=e,this.axisListeners=[],this.buttonListeners=[],kha_input_Gamepad.instances[e]=this};kha_input_Gamepad.__name__=!0,kha_input_Gamepad.get=function(e){return null==e&&(e=0),e>=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<r.length;){var i=r[a];++a,i(e,t)}},sendButtonEvent:function(e,t){for(var a=0,r=this.buttonListeners;a<r.length;){var i=r[a];++a,i(e,t)}},__class__:kha_input_Gamepad,__properties__:{get_id:"get_id"}};var kha_network_Controller=$hxClasses["kha.network.Controller"]=function(){this.__id=kha_network_ControllerBuilder.nextId++,this._inputBuffer=new haxe_io_Bytes(new ArrayBuffer(1))};kha_network_Controller.__name__=!0,kha_network_Controller.prototype={_id:function(){return this.__id},_receive:function(e){},__class__:kha_network_Controller};var kha_input_Keyboard=$hxClasses["kha.input.Keyboard"]=$hx_exports.kha.input.Keyboard=function(){kha_network_Controller.call(this),this.downListeners=[],this.upListeners=[],this.pressListeners=[],kha_input_Keyboard.instance=this};kha_input_Keyboard.__name__=!0,kha_input_Keyboard.get=function(e){return null==e&&(e=0),kha_SystemImpl.getKeyboard(e)},kha_input_Keyboard.__super__=kha_network_Controller,kha_input_Keyboard.prototype=$extend(kha_network_Controller.prototype,{notify:function(e,t,a){null!=e&&this.downListeners.push(e),null!=t&&this.upListeners.push(t),null!=a&&this.pressListeners.push(a)},remove:function(e,t,a){null!=e&&HxOverrides.remove(this.downListeners,e),null!=t&&HxOverrides.remove(this.upListeners,t),null!=a&&HxOverrides.remove(this.pressListeners,a)},show:function(){},hide:function(){},sendDownEvent:function(e){for(var t=0,a=this.downListeners;t<a.length;){var r=a[t];++t,r(e)}},sendUpEvent:function(e){for(var t=0,a=this.upListeners;t<a.length;){var r=a[t];++t,r(e)}},sendPressEvent:function(e){for(var t=0,a=this.pressListeners;t<a.length;){var r=a[t];++t,r(e)}},_receive:function(e){},__class__:kha_input_Keyboard});var kha_input_Mouse=$hxClasses["kha.input.Mouse"]=$hx_exports.kha.input.Mouse=function(){kha_network_Controller.call(this),kha_input_Mouse.instance=this};kha_input_Mouse.__name__=!0,kha_input_Mouse.get=function(e){return null==e&&(e=0),kha_SystemImpl.getMouse(e)},kha_input_Mouse.__super__=kha_network_Controller,kha_input_Mouse.prototype=$extend(kha_network_Controller.prototype,{notify:function(e,t,a,r,i){this.notifyWindowed(0,e,t,a,r,i)},remove:function(e,t,a,r,i){this.removeWindowed(0,e,t,a,r,i)},notifyWindowed:function(e,t,a,r,i,s){if(null!=t){for(null==this.windowDownListeners&&(this.windowDownListeners=[]);this.windowDownListeners.length<=e;)this.windowDownListeners.push([]);this.windowDownListeners[e].push(t)}if(null!=a){for(null==this.windowUpListeners&&(this.windowUpListeners=[]);this.windowUpListeners.length<=e;)this.windowUpListeners.push([]);this.windowUpListeners[e].push(a)}if(null!=r){for(null==this.windowMoveListeners&&(this.windowMoveListeners=[]);this.windowMoveListeners.length<=e;)this.windowMoveListeners.push([]);this.windowMoveListeners[e].push(r)}if(null!=i){for(null==this.windowWheelListeners&&(this.windowWheelListeners=[]);this.windowWheelListeners.length<=e;)this.windowWheelListeners.push([]);this.windowWheelListeners[e].push(i)}if(null!=s){for(null==this.windowLeaveListeners&&(this.windowLeaveListeners=[]);this.windowLeaveListeners.length<=e;)this.windowLeaveListeners.push([]);this.windowLeaveListeners[e].push(s)}},removeWindowed:function(e,t,a,r,i,s){null!=t&&(null!=this.windowDownListeners?e<this.windowDownListeners.length?HxOverrides.remove(this.windowDownListeners[e],t):haxe_Log.trace('no downListeners for window "'+e+'" are registered',{fileName:"Mouse.hx",lineNumber:88,className:"kha.input.Mouse",methodName:"removeWindowed"}):haxe_Log.trace("no downListeners were ever registered",{fileName:"Mouse.hx",lineNumber:91,className:"kha.input.Mouse",methodName:"removeWindowed"})),null!=a&&(null!=this.windowUpListeners?e<this.windowUpListeners.length?HxOverrides.remove(this.windowUpListeners[e],a):haxe_Log.trace('no upListeners for window "'+e+'" are registered',{fileName:"Mouse.hx",lineNumber:100,className:"kha.input.Mouse",methodName:"removeWindowed"}):haxe_Log.trace("no upListeners were ever registered",{fileName:"Mouse.hx",lineNumber:103,className:"kha.input.Mouse",methodName:"removeWindowed"})),null!=r&&(null!=this.windowMoveListeners?e<this.windowMoveListeners.length?HxOverrides.remove(this.windowMoveListeners[e],r):haxe_Log.trace('no moveListeners for window "'+e+'" are registered',{fileName:"Mouse.hx",lineNumber:112,className:"kha.input.Mouse",methodName:"removeWindowed"}):haxe_Log.trace("no moveListeners were ever registered",{fileName:"Mouse.hx",lineNumber:115,className:"kha.input.Mouse",methodName:"removeWindowed"})),null!=i&&(null!=this.windowWheelListeners?e<this.windowWheelListeners.length?HxOverrides.remove(this.windowWheelListeners[e],i):haxe_Log.trace('no wheelListeners for window "'+e+'" are registered',{fileName:"Mouse.hx",lineNumber:124,className:"kha.input.Mouse",methodName:"removeWindowed"}):haxe_Log.trace("no wheelListeners were ever registered",{fileName:"Mouse.hx",lineNumber:127,className:"kha.input.Mouse",methodName:"removeWindowed"})),null!=s&&(null!=this.windowLeaveListeners?e<this.windowLeaveListeners.length?HxOverrides.remove(this.windowLeaveListeners[e],s):haxe_Log.trace('no leaveListeners for window "'+e+'" are registered',{fileName:"Mouse.hx",lineNumber:136,className:"kha.input.Mouse",methodName:"removeWindowed"}):haxe_Log.trace("no leaveListeners were ever registered",{fileName:"Mouse.hx",lineNumber:139,className:"kha.input.Mouse",methodName:"removeWindowed"}))},lock:function(){},unlock:function(){},canLock:function(){return!1},isLocked:function(){return!1},notifyOnLockChange:function(e,t){},removeFromLockChange:function(e,t){},hideSystemCursor:function(){},showSystemCursor:function(){},sendLeaveEvent:function(e){if(null!=this.windowLeaveListeners)for(var t=0,a=this.windowLeaveListeners[e];t<a.length;){var r=a[t];++t,r()}},sendDownEvent:function(e,t,a,r){if(null!=this.windowDownListeners)for(var i=0,s=this.windowDownListeners[e];i<s.length;){var n=s[i];++i,n(t,a,r)}},sendUpEvent:function(e,t,a,r){if(null!=this.windowUpListeners)for(var i=0,s=this.windowUpListeners[e];i<s.length;){var n=s[i];++i,n(t,a,r)}},sendMoveEvent:function(e,t,a,r,i){if(null!=this.windowMoveListeners)for(var s=0,n=this.windowMoveListeners[e];s<n.length;){var _=n[s];++s,_(t,a,r,i)}},sendWheelEvent:function(e,t){if(null!=this.windowWheelListeners)for(var a=0,r=this.windowWheelListeners[e];a<r.length;){var i=r[a];++a,i(t)}},_receive:function(e){},__class__:kha_input_Mouse});var kha_input_MouseImpl=$hxClasses["kha.input.MouseImpl"]=function(){kha_input_Mouse.call(this)};kha_input_MouseImpl.__name__=!0,kha_input_MouseImpl.__super__=kha_input_Mouse,kha_input_MouseImpl.prototype=$extend(kha_input_Mouse.prototype,{_receive:function(e){},__class__:kha_input_MouseImpl});var kha_input_Sensor=$hxClasses["kha.input.Sensor"]=function(){};kha_input_Sensor.__name__=!0,kha_input_Sensor.get=function(e){return null},kha_input_Sensor.prototype={notify:function(e){},__class__:kha_input_Sensor};var kha_input_SensorType=$hxClasses["kha.input.SensorType"]={__ename__:!0,__constructs__:["Accelerometer","Gyroscope"]};kha_input_SensorType.Accelerometer=["Accelerometer",0],kha_input_SensorType.Accelerometer.toString=$estr,kha_input_SensorType.Accelerometer.__enum__=kha_input_SensorType,kha_input_SensorType.Gyroscope=["Gyroscope",1],kha_input_SensorType.Gyroscope.toString=$estr,kha_input_SensorType.Gyroscope.__enum__=kha_input_SensorType;var kha_input_Surface=$hxClasses["kha.input.Surface"]=$hx_exports.kha.input.Surface=function(){this.touchStartListeners=[],this.touchEndListeners=[],this.moveListeners=[],kha_input_Surface.instance=this};kha_input_Surface.__name__=!0,kha_input_Surface.get=function(e){return null==e&&(e=0),0!=e?null:kha_input_Surface.instance},kha_input_Surface.prototype={notify:function(e,t,a){null!=e&&this.touchStartListeners.push(e),null!=t&&this.touchEndListeners.push(t),null!=a&&this.moveListeners.push(a)},remove:function(e,t,a){null!=e&&HxOverrides.remove(this.touchStartListeners,e),null!=t&&HxOverrides.remove(this.touchEndListeners,t),null!=a&&this.moveListeners.push(a)},sendTouchStartEvent:function(e,t,a){for(var r=0,i=this.touchStartListeners;r<i.length;){var s=i[r];++r,s(e,t,a)}},sendTouchEndEvent:function(e,t,a){for(var r=0,i=this.touchEndListeners;r<i.length;){var s=i[r];++r,s(e,t,a)}},sendMoveEvent:function(e,t,a){for(var r=0,i=this.moveListeners;r<i.length;){var s=i[r];++r,s(e,t,a)}},__class__:kha_input_Surface};var kha_internal_BytesBlob=$hxClasses["kha.internal.BytesBlob"]=function(e){this.myFirstLine=!0,this.bytes=e,this.buffer=[]};kha_internal_BytesBlob.__name__=!0,kha_internal_BytesBlob.__interfaces__=[kha_Resource],kha_internal_BytesBlob.fromBytes=function(e){return new kha_internal_BytesBlob(e)},kha_internal_BytesBlob.alloc=function(e){return new kha_internal_BytesBlob(new haxe_io_Bytes(new ArrayBuffer(e)))},kha_internal_BytesBlob.readF32=function(e){var t=0==(-2147483648&e)?1:-1,a=e>>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<s;){var n=i++;r[n-3]=this.buffer[n]}return this.toText(r,t-3)}for(var _=[],o=0,h=t;o<h;){var l=o++;_[l]=this.buffer[l]}return this.toText(_,t)},toText:function(e,t){for(var a="",r=0,i=t;r<i;){var s=r++;a+=String.fromCharCode(e[s])}return a},readUtf8String:function(){for(var e="",t={value:0};t.value<this.get_length();)e+=this.readUtf8Block(t);return e},toBytes:function(){return this.bytes},unload:function(){this.bytes=null},__class__:kha_internal_BytesBlob,__properties__:{get_length:"get_length"}};var kha_krom_Graphics=$hxClasses["kha.krom.Graphics"]=function(e){this.renderTarget=e};kha_krom_Graphics.__name__=!0,kha_krom_Graphics.__interfaces__=[kha_graphics4_Graphics],kha_krom_Graphics.prototype={begin:function(e){Krom.begin(this.renderTarget,e)},beginFace:function(e){Krom.beginFace(this.renderTarget,e)},beginEye:function(e){},end:function(){Krom.end()},flush:function(){},vsynced:function(){return!0},refreshRate:function(){return 60},clear:function(e,t,a){var r=0;null!=e&&(r|=1),null!=t&&(r|=2),null!=a&&(r|=4),Krom.clear(r,null==e?0:e,t,a)},viewport:function(e,t,a,r){Krom.viewport(e,t,a,r)},setVertexBuffer:function(e){e.set(0)},setVertexBuffers:function(e){Krom.setVertexBuffers(e)},setIndexBuffer:function(e){e.set()},setCubeMap:function(e,t){Krom.setTexture(e,t)},setCubeMapDepth:function(e,t){Krom.setTextureDepth(e,t)},setTexture:function(e,t){Krom.setTexture(e,t)},setTextureDepth:function(e,t){Krom.setTextureDepth(e,t)},setVideoTexture:function(e,t){},setImageTexture:function(e,t){Krom.setImageTexture(e,t)},setTextureParameters:function(e,t,a,r,i,s){Krom.setTextureParameters(e,t[1],a[1],r[1],i[1],s[1])},setTexture3DParameters:function(e,t,a,r,i,s,n){Krom.setTexture3DParameters(e,t[1],a[1],r[1],i[1],s[1],n[1])},setPipeline:function(e){e.set()},setBool:function(e,t){Krom.setBool(e,t)},setInt:function(e,t){Krom.setInt(e,t)},setFloat:function(e,t){Krom.setFloat(e,t)},setFloat2:function(e,t,a){Krom.setFloat2(e,t,a)},setFloat3:function(e,t,a,r){Krom.setFloat3(e,t,a,r)},setFloat4:function(e,t,a,r,i){Krom.setFloat4(e,t,a,r,i)},setFloats:function(e,t){for(var a=new Float32Array(t.length),r=0,i=t.length;r<i;){var s=r++;a[s]=t[s]}Krom.setFloats(e,a)},setVector2:function(e,t){Krom.setFloat2(e,t.x,t.y)},setVector3:function(e,t){Krom.setFloat3(e,t.x,t.y,t.z)},setVector4:function(e,t){Krom.setFloat4(e,t.x,t.y,t.z,t.w)},setMatrix:function(e,t){Krom.setMatrix(e,t)},setMatrix3:function(e,t){Krom.setMatrix3(e,t)},drawIndexedVertices:function(e,t){null==t&&(t=-1),null==e&&(e=0),Krom.drawIndexedVertices(e,t)},drawIndexedVerticesInstanced:function(e,t,a){null==a&&(a=-1),null==t&&(t=0),Krom.drawIndexedVerticesInstanced(e,t,a)},instancedRenderingAvailable:function(){return!1},scissor:function(e,t,a,r){Krom.scissor(e,t,a,r)},disableScissor:function(){Krom.disableScissor()},renderTargetsInvertedY:function(){return Krom.renderTargetsInvertedY()},__class__:kha_krom_Graphics};var kha_krom_Sound=$hxClasses["kha.krom.Sound"]=function(e){kha_Sound.call(this),this.compressedData=e,this.uncompressedData=null};kha_krom_Sound.__name__=!0,kha_krom_Sound.__super__=kha_Sound,kha_krom_Sound.prototype=$extend(kha_Sound.prototype,{uncompress:function(e){if(null==this.uncompressedData){var t=this.compressedData,a=t.length/4|0,r=new Array(a);this.uncompressedData=r;for(var i=0,s=a;i<s;){var n=i++;this.uncompressedData[n]=t.getFloat(4*n)}this.compressedData=null,e()}else e()},unload:function(){kha_Sound.prototype.unload.call(this)},__class__:kha_krom_Sound});var kha_math_FastVector2=$hxClasses["kha.math.FastVector2"]=function(e,t){null==t&&(t=0),null==e&&(e=0),this.x=e,this.y=t};kha_math_FastVector2.__name__=!0,kha_math_FastVector2.fromVector2=function(e){return new kha_math_FastVector2(e.x,e.y)},kha_math_FastVector2.prototype={get_length:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},set_length:function(e){var t=this.get_length();if(0==t)return 0;var a=e/t;return this.x*=a,this.y*=a,e},toString:function(){return"FastVector2("+this.x+", "+this.y+")"},__class__:kha_math_FastVector2,__properties__:{set_length:"set_length",get_length:"get_length"}};var kha_math_FastVector3=$hxClasses["kha.math.FastVector3"]=function(e,t,a){null==a&&(a=0),null==t&&(t=0),null==e&&(e=0),this.x=e,this.y=t,this.z=a};kha_math_FastVector3.__name__=!0,kha_math_FastVector3.fromVector3=function(e){return new kha_math_FastVector3(e.x,e.y,e.z)},kha_math_FastVector3.prototype={get_length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},set_length:function(e){var t=this.get_length();if(0==t)return 0;var a=e/t;return this.x*=a,this.y*=a,this.z*=a,e},toString:function(){return"FastVector3("+this.x+", "+this.y+", "+this.z+")"},__class__:kha_math_FastVector3,__properties__:{set_length:"set_length",get_length:"get_length"}};var kha_math_FastVector4=$hxClasses["kha.math.FastVector4"]=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};kha_math_FastVector4.__name__=!0,kha_math_FastVector4.fromVector4=function(e){return new kha_math_FastVector4(e.x,e.y,e.z,e.w)},kha_math_FastVector4.prototype={get_length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},set_length:function(e){var t=this.get_length();if(0==t)return 0;var a=e/t;return this.x*=a,this.y*=a,this.z*=a,this.w*=a,e},toString:function(){return"FastVector4("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},__class__:kha_math_FastVector4,__properties__:{set_length:"set_length",get_length:"get_length"}};var kha_math_Matrix3=$hxClasses["kha.math.Matrix3"]=function(e,t,a,r,i,s,n,_,o){this._00=e,this._10=t,this._20=a,this._01=r,this._11=i,this._21=s,this._02=n,this._12=_,this._22=o};kha_math_Matrix3.__name__=!0,kha_math_Matrix3.prototype={__class__:kha_math_Matrix3};var kha_math_Matrix4=$hxClasses["kha.math.Matrix4"]=function(e,t,a,r,i,s,n,_,o,h,l,c,d,u,p,f){this._00=e,this._10=t,this._20=a,this._30=r,this._01=i,this._11=s,this._21=n,this._31=_,this._02=o,this._12=h,this._22=l,this._32=c,this._03=d,this._13=u,this._23=p,this._33=f};kha_math_Matrix4.__name__=!0,kha_math_Matrix4.orthogonalProjection=function(e,t,a,r,i,s){return new kha_math_Matrix4(2/(t-e),0,0,-(t+e)/(t-e),0,2/(r-a),0,-(r+a)/(r-a),0,0,-2/(s-i),-(s+i)/(s-i),0,0,0,1)},kha_math_Matrix4.perspectiveProjection=function(e,t,a,r){var i=1/Math.tan(e/2);return new kha_math_Matrix4(i/t,0,0,0,0,i,0,0,0,0,(r+a)/(a-r),2*r*a/(a-r),0,0,-1,0)},kha_math_Matrix4.lookAt=function(e,t,a){var r=new kha_math_Vector3(t.x-e.x,t.y-e.y,t.z-e.z);r.set_length(1);var i=r.y*a.z-r.z*a.y,s=r.z*a.x-r.x*a.z,n=r.x*a.y-r.y*a.x,_=new kha_math_Vector3(i,s,n);_.set_length(1);var o,h,l;return l=_.y*r.z-_.z*r.y,h=_.z*r.x-_.x*r.z,o=_.x*r.y-_.y*r.x,new kha_math_Matrix4(_.x,_.y,_.z,-(_.x*e.x+_.y*e.y+_.z*e.z),l,h,o,-(l*e.x+h*e.y+o*e.z),-r.x,-r.y,-r.z,r.x*e.x+r.y*e.y+r.z*e.z,0,0,0,1)},kha_math_Matrix4.prototype={__class__:kha_math_Matrix4};var kha_math_Vector2=$hxClasses["kha.math.Vector2"]=function(e,t){null==t&&(t=0),null==e&&(e=0),this.x=e,this.y=t};kha_math_Vector2.__name__=!0,kha_math_Vector2.prototype={get_length:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},set_length:function(e){var t=this.get_length();if(0==t)return 0;var a=e/t;return this.x*=a,this.y*=a,e},__class__:kha_math_Vector2,__properties__:{set_length:"set_length",get_length:"get_length"}};var kha_math_Vector3=$hxClasses["kha.math.Vector3"]=function(e,t,a){null==a&&(a=0),null==t&&(t=0),null==e&&(e=0),this.x=e,this.y=t,this.z=a};kha_math_Vector3.__name__=!0,kha_math_Vector3.prototype={get_length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},set_length:function(e){var t=this.get_length();if(0==t)return 0;var a=e/t;return this.x*=a,this.y*=a,this.z*=a,e},__class__:kha_math_Vector3,__properties__:{set_length:"set_length",get_length:"get_length"}};var kha_math_Vector4=$hxClasses["kha.math.Vector4"]=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};kha_math_Vector4.__name__=!0,kha_math_Vector4.prototype={get_length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},set_length:function(e){var t=this.get_length();if(0==t)return 0;var a=e/t;return this.x*=a,this.y*=a,this.z*=a,this.w*=a,e},__class__:kha_math_Vector4,__properties__:{set_length:"set_length",get_length:"get_length"}};var kha_network_ControllerBuilder=$hxClasses["kha.network.ControllerBuilder"]=function(){};kha_network_ControllerBuilder.__name__=!0;var kha_simd_Float32x4=$hxClasses["kha.simd.Float32x4"]=function(e,t,a,r){this._0=e,this._1=t,this._2=a,this._3=r};kha_simd_Float32x4.__name__=!0,kha_simd_Float32x4.create=function(){return new kha_simd_Float32x4(0,0,0,0)},kha_simd_Float32x4.loadAllFast=function(e){return new kha_simd_Float32x4(e,e,e,e)},kha_simd_Float32x4.load=function(e,t,a,r){return new kha_simd_Float32x4(e,t,a,r)},kha_simd_Float32x4.loadFast=function(e,t,a,r){return new kha_simd_Float32x4(e,t,a,r)},kha_simd_Float32x4.get=function(e,t){var a=0;switch(t){case 0:a=e._0;break;case 1:a=e._1;break;case 2:a=e._2;break;case 3:a=e._3}return a},kha_simd_Float32x4.getFast=function(e,t){switch(t){case 0:return e._0;case 1:return e._1;case 2:return e._2;case 3:return e._3}return 0},kha_simd_Float32x4.abs=function(e){return new kha_simd_Float32x4(Math.abs(e._0),Math.abs(e._1),Math.abs(e._2),Math.abs(e._3))},kha_simd_Float32x4.add=function(e,t){return new kha_simd_Float32x4(e._0+t._0,e._1+t._1,e._2+t._2,e._3+t._3)},kha_simd_Float32x4.div=function(e,t){return new kha_simd_Float32x4(e._0/t._0,e._1/t._1,e._2/t._2,e._3/t._3)},kha_simd_Float32x4.mul=function(e,t){return new kha_simd_Float32x4(e._0*t._0,e._1*t._1,e._2*t._2,e._3*t._3)},kha_simd_Float32x4.neg=function(e){return new kha_simd_Float32x4(-e._0,-e._1,-e._2,-e._3)},kha_simd_Float32x4.reciprocalApproximation=function(e){return new kha_simd_Float32x4(0,0,0,0)},kha_simd_Float32x4.reciprocalSqrtApproximation=function(e){return new kha_simd_Float32x4(0,0,0,0)},kha_simd_Float32x4.sub=function(e,t){return new kha_simd_Float32x4(e._0-t._0,e._1-t._1,e._2-t._2,e._3-t._3)},kha_simd_Float32x4.sqrt=function(e){return new kha_simd_Float32x4(Math.sqrt(e._0),Math.sqrt(e._1),Math.sqrt(e._2),Math.sqrt(e._3))},kha_simd_Float32x4.prototype={__class__:kha_simd_Float32x4};var $_,$fid=0;$hxClasses.Math=Math,String.prototype.__class__=$hxClasses.String=String,String.__name__=!0,$hxClasses.Array=Array,Array.__name__=!0,Date.prototype.__class__=$hxClasses.Date=Date,Date.__name__=["Date"];var Int=$hxClasses.Int={__name__:["Int"]},Dynamic=$hxClasses.Dynamic={__name__:["Dynamic"]},Float=$hxClasses.Float=Number;Float.__name__=["Float"];var Bool=$hxClasses.Bool=Boolean;Bool.__ename__=["Bool"];var Class=$hxClasses.Class={__name__:["Class"]},Enum={},__map_reserved={},ArrayBuffer=$global.ArrayBuffer||js_html_compat_ArrayBuffer;null==ArrayBuffer.prototype.slice&&(ArrayBuffer.prototype.slice=js_html_compat_ArrayBuffer.sliceImpl);var DataView=$global.DataView||js_html_compat_DataView,Float32Array=$global.Float32Array||js_html_compat_Float32Array._new,Uint8Array=$global.Uint8Array||js_html_compat_Uint8Array._new;Main.numverts=0,Main.startTime=0,haxe_Unserializer.DEFAULT_RESOLVER=new haxe__$Unserializer_DefaultResolver,haxe_Unserializer.BASE64="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789%:",haxe_ds_ObjectMap.count=0,haxe_io_FPHelper.i64tmp=new haxe__$Int64__$_$_$Int64(0,0),haxe_zip_InflateImpl.LEN_EXTRA_BITS_TBL=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,-1,-1],haxe_zip_InflateImpl.LEN_BASE_VAL_TBL=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258],haxe_zip_InflateImpl.DIST_EXTRA_BITS_TBL=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,-1,-1],haxe_zip_InflateImpl.DIST_BASE_VAL_TBL=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],haxe_zip_InflateImpl.CODE_LENGTHS_POS=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],iron_App.traitInits=[],iron_App.traitUpdates=[],iron_App.traitLateUpdates=[],iron_App.traitRenders=[],iron_App.traitRenders2D=[],iron_data_Data.cachedSceneRaws=new haxe_ds_StringMap,iron_data_Data.cachedMeshes=new haxe_ds_StringMap,iron_data_Data.cachedLamps=new haxe_ds_StringMap,iron_data_Data.cachedCameras=new haxe_ds_StringMap,iron_data_Data.cachedRenderPaths=new haxe_ds_StringMap,iron_data_Data.cachedMaterials=new haxe_ds_StringMap,iron_data_Data.cachedParticles=new haxe_ds_StringMap,iron_data_Data.cachedWorlds=new haxe_ds_StringMap,iron_data_Data.cachedGreasePencils=new haxe_ds_StringMap,iron_data_Data.cachedShaders=new haxe_ds_StringMap,iron_data_Data.cachedBlobs=new haxe_ds_StringMap,iron_data_Data.cachedImages=new haxe_ds_StringMap,iron_data_Data.cachedSounds=new haxe_ds_StringMap,iron_data_Data.cachedVideos=new haxe_ds_StringMap,iron_data_Data.cachedFonts=new haxe_ds_StringMap,iron_data_Data.loadingMeshes=new haxe_ds_StringMap,iron_data_Data.loadingLamps=new haxe_ds_StringMap,iron_data_Data.loadingCameras=new haxe_ds_StringMap,iron_data_Data.loadingRenderPaths=new haxe_ds_StringMap,iron_data_Data.loadingMaterials=new haxe_ds_StringMap,iron_data_Data.loadingParticles=new haxe_ds_StringMap,iron_data_Data.loadingWorlds=new haxe_ds_StringMap,iron_data_Data.loadingGreasePencils=new haxe_ds_StringMap,iron_data_Data.loadingShaders=new haxe_ds_StringMap,iron_data_Data.loadingSceneRaws=new haxe_ds_StringMap,iron_data_Data.assetsLoaded=0,iron_data_Data.loadingBlobs=new haxe_ds_StringMap,iron_data_Data.loadingImages=new haxe_ds_StringMap,iron_data_Data.loadingSounds=new haxe_ds_StringMap,iron_data_Data.loadingVideos=new haxe_ds_StringMap,iron_data_Data.loadingFonts=new haxe_ds_StringMap,iron_data_ConstData.skydomeIndices=[0,1,2,0,3,4,3,5,6,5,7,8,7,9,10,9,11,12,13,14,15,11,16,17,13,18,2,14,2,19,2,1,20,1,4,21,4,6,22,6,8,23,8,10,24,10,12,25,14,26,15,17,27,25,22,23,28,24,29,28,24,25,30,26,31,15,25,27,32,26,19,33,19,20,34,20,21,35,21,22,36,33,34,37,34,35,38,35,36,39,36,28,40,28,29,41,30,42,41,31,43,15,30,32,44,31,33,45,40,41,46,42,47,46,43,48,15,42,44,49,43,45,50,45,37,51,37,38,52,39,53,52,39,40,54,50,51,55,51,52,56,53,57,56,53,54,58,46,59,58,46,47,60,48,61,15,47,49,62,48,50,63,59,64,65,59,60,66,61,67,15,60,62,68,61,63,69,63,55,70,56,71,70,56,57,72,57,58,65,70,71,73,71,72,74,72,65,75,64,76,75,64,66,77,67,78,15,68,79,77,67,69,80,69,70,81,76,77,82,78,83,15,77,79,84,80,85,83,80,81,86,81,73,87,74,88,87,74,75,89,76,90,89,87,88,91,88,89,92,90,93,92,90,82,94,83,95,15,82,84,96,83,85,97,86,98,97,86,87,99,95,100,15,96,101,102,95,97,103,97,98,104,98,99,105,91,106,105,91,92,107,93,108,107,93,94,102,105,106,109,106,107,110,108,111,110,108,102,112,100,113,15,102,101,114,100,103,115,103,104,116,104,105,117,114,118,119,113,115,120,115,116,121,117,122,121,109,123,122,109,110,124,111,125,124,111,112,119,113,126,15,123,124,127,125,128,127,125,119,129,126,130,15,119,118,131,126,120,132,121,133,132,121,122,134,122,123,135,130,132,136,132,133,137,133,134,138,134,135,139,135,127,140,128,141,140,128,129,142,130,143,15,129,131,144,139,140,145,141,146,145,141,142,147,143,148,15,142,144,149,143,136,150,137,151,150,138,152,151,138,139,153,150,151,154,152,155,154,153,156,155,153,145,157,146,158,157,146,147,159,148,160,15,147,149,161,148,150,162,158,163,164,158,159,165,160,166,15,161,167,165,160,162,168,162,154,169,155,170,169,156,171,170,156,157,164,169,170,172,171,173,172,171,164,174,163,175,174,163,165,176,166,177,15,165,167,178,166,168,179,168,169,180,176,181,182,177,183,15,176,178,184,177,179,185,179,180,186,172,187,186,173,188,187,173,174,189,175,182,189,187,190,191,188,192,190,188,189,193,182,194,193,182,181,195,183,196,15,181,184,197,183,185,198,185,186,191,194,195,199,196,200,15,195,197,201,196,198,202,198,191,203,190,204,203,192,205,204,192,193,206,194,207,206,205,208,209,205,206,210,207,211,210,207,199,212,200,213,15,199,201,214,202,215,213,202,203,216,204,209,216,213,217,15,214,218,219,215,220,217,215,216,221,209,222,221,209,208,223,208,210,224,211,225,224,211,212,219,223,226,227,223,224,228,225,229,228,225,219,230,217,231,15,218,232,230,220,233,231,220,221,234,222,227,234,230,232,235,231,233,236,233,234,237,227,238,237,227,226,239,226,228,240,229,241,240,229,230,242,231,243,15,239,240,244,241,245,244,241,242,246,243,247,15,235,248,246,243,236,249,237,250,249,238,251,250,239,252,251,249,250,253,250,251,254,252,255,254,252,244,256,245,257,256,245,246,258,247,259,15,248,260,258,247,249,261,257,262,263,258,264,262,259,265,15,258,260,266,259,261,267,261,253,268,253,254,269,255,270,269,255,256,263,268,271,272,269,273,271,270,274,273,270,263,275,262,276,275,262,264,277,265,278,15,264,266,279,267,272,278,276,280,281,276,277,282,278,283,15,277,279,284,278,272,285,272,271,286,271,273,287,274,288,287,274,275,281,287,3,0,288,5,3,281,7,5,280,9,7,282,11,9,283,13,15,282,284,16,285,18,13,286,0,18,0,2,18,0,4,1,3,6,4,5,8,6,7,10,8,9,12,10,11,17,12,13,2,14,14,19,26,2,20,19,1,21,20,4,22,21,6,23,22,8,24,23,10,25,24,17,25,12,22,28,36,24,28,23,24,30,29,25,32,30,26,33,31,19,34,33,20,35,34,21,36,35,33,37,45,34,38,37,35,39,38,36,40,39,28,41,40,30,41,29,30,44,42,31,45,43,40,46,54,42,46,41,42,49,47,43,50,48,45,51,50,37,52,51,39,52,38,39,54,53,50,55,63,51,56,55,53,56,52,53,58,57,46,58,54,46,60,59,47,62,60,48,63,61,59,65,58,59,66,64,60,68,66,61,69,67,63,70,69,56,70,55,56,72,71,57,65,72,70,73,81,71,74,73,72,75,74,64,75,65,64,77,76,68,77,66,67,80,78,69,81,80,76,82,90,77,84,82,80,83,78,80,86,85,81,87,86,74,87,73,74,89,88,76,89,75,87,91,99,88,92,91,90,92,89,90,94,93,82,96,94,83,97,95,86,97,85,86,99,98,96,102,94,95,103,100,97,104,103,98,105,104,91,105,99,91,107,106,93,107,92,93,102,108,105,109,117,106,110,109,108,110,107,108,112,111,102,114,112,100,115,113,103,116,115,104,117,116,114,119,112,113,120,126,115,121,120,117,121,116,109,122,117,109,124,123,111,124,110,111,119,125,123,127,135,125,127,124,125,129,128,119,131,129,126,132,130,121,132,120,121,134,133,122,135,134,130,136,143,132,137,136,133,138,137,134,139,138,135,140,139,128,140,127,128,142,141,129,144,142,139,145,153,141,145,140,141,147,146,142,149,147,143,150,148,137,150,136,138,151,137,138,153,152,150,154,162,152,154,151,153,155,152,153,157,156,146,157,145,146,159,158,147,161,159,148,162,160,158,164,157,158,165,163,161,165,159,160,168,166,162,169,168,155,169,154,156,170,155,156,164,171,169,172,180,171,172,170,171,174,173,163,174,164,163,176,175,165,178,176,166,179,177,168,180,179,176,182,175,176,184,181,177,185,183,179,186,185,172,186,180,173,187,172,173,189,188,175,189,174,187,191,186,188,190,187,188,193,192,182,193,189,182,195,194,181,197,195,183,198,196,185,191,198,194,199,207,195,201,199,196,202,200,198,203,202,190,203,191,192,204,190,192,206,205,194,206,193,205,209,204,205,210,208,207,210,206,207,212,211,199,214,212,202,213,200,202,216,215,204,216,203,214,219,212,215,217,213,215,221,220,209,221,216,209,223,222,208,224,223,211,224,210,211,219,225,223,227,222,223,228,226,225,228,224,225,230,229,218,230,219,220,231,217,220,234,233,222,234,221,230,235,242,231,236,243,233,237,236,227,237,234,227,239,238,226,240,239,229,240,228,229,242,241,239,244,252,241,244,240,241,246,245,235,246,242,243,249,247,237,249,236,238,250,237,239,251,238,249,253,261,250,254,253,252,254,251,252,256,255,245,256,244,245,258,257,248,258,246,247,261,259,257,263,256,258,262,257,258,266,264,259,267,265,261,268,267,253,269,268,255,269,254,255,263,270,268,272,267,269,271,268,270,273,269,270,275,274,262,275,263,262,277,276,264,279,277,267,278,265,276,281,275,276,282,280,277,284,282,278,285,283,272,286,285,271,287,286,274,287,273,274,281,288,287,0,286,288,3,287,281,5,288,280,7,281,282,9,280,282,16,11,285,13,283,286,18,285,84,289,96,96,289,101,101,289,114,114,289,118,118,289,131,144,131,289,149,144,289,149,289,161,161,289,167,167,289,178,178,289,184,184,289,197,197,289,201,201,289,214,214,289,218,218,289,232,232,289,235,235,289,248,260,248,289,260,289,266,266,289,279,279,289,284,284,289,16,16,289,17,27,17,289,27,289,32,44,32,289,44,289,49,49,289,62,62,289,68,68,289,79,79,289,84],iron_data_ConstData.skydomePos=[-.5555702447891235,0,.8314695954322815,-.5448951125144958,.10838644951581955,.8314695954322815,-.3753302991390228,.07465790957212448,.9238795042037964,-.7071067690849304,0,.7071067690849304,-.6935198903083801,.13794974982738495,.7071067690849304,-.8314696550369263,0,.5555701851844788,-.8154931664466858,.16221174597740173,.5555701851844788,-.9238795042037964,0,.3826834261417389,-.906127393245697,.18024000525474548,.3826834261417389,-.9807852506637573,0,.19509035348892212,-.9619396924972534,.19134177267551422,.19509035348892212,-1,0,7.549790126404332e-8,-.9807852506637573,.1950903832912445,7.549790126404332e-8,-.19509032368659973,0,.9807852506637573,-.19134171307086945,.03806029632687569,.9807852506637573,2.4803494369507462e-8,-1.246939973498229e-7,1,-.9807853102684021,0,-.282339870929718,-.9619397521018982,.19134178757667542,-.282339870929718,-.3826834559440613,0,.9238795042037964,-.3535534143447876,.14644673466682434,.9238795042037964,-.513279914855957,.21260765194892883,.8314695954322815,-.6532813906669617,.2705981731414795,.7071067690849304,-.7681776881217957,.3181897699832916,.5555701851844788,-.853553295135498,.3535534739494324,.3826834261417389,-.9061273336410522,.37533038854599,.19509035348892212,-.9238794445991516,.38268354535102844,7.549790126404332e-8,-.1802399456501007,.07465796172618866,.9807852506637573,-.9061273336410522,.37533038854599,-.282339870929718,-.7681776285171509,.5132800936698914,.3826834261417389,-.8154929876327515,.5448952317237854,.19509035348892212,-.8314694762229919,.5555704236030579,7.549790126404332e-8,-.16221162676811218,.1083865687251091,.9807852506637573,-.8154929876327515,.5448952317237854,-.282339870929718,-.3181896209716797,.2126077115535736,.9238795042037964,-.4619396924972534,.3086584508419037,.8314695954322815,-.5879377126693726,.3928476572036743,.7071067690849304,-.6913416385650635,.4619399309158325,.5555701851844788,-.39284735918045044,.3928476870059967,.8314695954322815,-.49999988079071045,.5000001788139343,.7071067690849304,-.5879376530647278,.5879380106925964,.5555701851844788,-.6532813310623169,.6532816290855408,.3826834261417389,-.6935197114944458,.6935200691223145,.19509035348892212,-.7071065902709961,.7071070075035095,7.549790126404332e-8,-.137949600815773,.13794992864131927,.9807852506637573,-.6935197114944458,.6935200691223145,-.282339870929718,-.2705979645252228,.27059829235076904,.9238795042037964,-.544894814491272,.8154932856559753,.19509035348892212,-.5555700063705444,.8314698338508606,7.549790126404332e-8,-.10838623344898224,.16221193969249725,.9807852506637573,-.544894814491272,.8154932856559753,-.282339870929718,-.21260739862918854,.31818991899490356,.9238795042037964,-.3086581230163574,.4619399905204773,.8314695954322815,-.39284729957580566,.5879380106925964,.7071067690849304,-.46193957328796387,.6913419365882874,.5555701851844788,-.5132797956466675,.7681779265403748,.3826834261417389,-.21260732412338257,.5132802128791809,.8314695954322815,-.27059781551361084,.6532816886901855,.7071067690849304,-.3181893825531006,.7681779861450195,.5555701851844788,-.3535531759262085,.8535535335540771,.3826834261417389,-.3753299117088318,.9061275124549866,.19509035348892212,-.3826831579208374,.9238797426223755,7.549790126404332e-8,-.0746576264500618,.18024024367332458,.9807852506637573,-.3753299117088318,.9061275124549866,-.282339870929718,-.14644642174243927,.3535536825656891,.9238795042037964,-.1913413405418396,.961939811706543,.19509035348892212,-.1802397072315216,.9061275720596313,.3826834261417389,-.19508999586105347,.9807854890823364,7.549790126404332e-8,-.038059964776039124,.19134201109409332,.9807852506637573,-.1913413405418396,.961939811706543,-.282339870929718,-.07465757429599762,.3753305673599243,.9238795042037964,-.10838611423969269,.544895350933075,.8314695954322815,-.13794942200183868,.6935201287269592,.7071067690849304,-.1622113734483719,.8154933452606201,.5555701851844788,3.191853465978056e-7,.7071069478988647,.7071067690849304,3.340865077916533e-7,.8314697742462158,.5555701851844788,2.7448186301626265e-7,.9238796830177307,.3826834261417389,3.936911525670439e-7,.9807852506637573,.19509035348892212,3.7878999137319624e-7,1.000000238418579,7.549790126404332e-8,3.2663592719472945e-7,.19509060680866241,.9807852506637573,3.936911525670439e-7,.9807852506637573,-.282339870929718,3.191853465978056e-7,.3826836943626404,.9238795042037964,3.117347660008818e-7,.5555704832077026,.8314695954322815,.19509074091911316,.9807854890823364,7.549790126404332e-8,.038060616701841354,.19134199619293213,.9807852506637573,.19134210050106049,.9619396924972534,-.282339870929718,.07465820759534836,.37533053755760193,.9238795042037964,.10838674008846283,.544895350933075,.8314695954322815,.13795003294944763,.6935200691223145,.7071067690849304,.16221202909946442,.8154932856559753,.5555701851844788,.18024025857448578,.9061275720596313,.3826834261417389,.19134210050106049,.9619396924972534,.19509035348892212,.3181900382041931,.7681778073310852,.5555701851844788,.3535537123680115,.8535535335540771,.3826834261417389,.3753306269645691,.9061273336410522,.19509035348892212,.3826838731765747,.9238796830177307,7.549790126404332e-8,.07465826719999313,.180240198969841,.9807852506637573,.3753306269645691,.9061273336410522,-.282339870929718,.14644701778888702,.3535536229610443,.9238795042037964,.21260792016983032,.5132801532745361,.8314695954322815,.2705984115600586,.6532816290855408,.7071067690849304,.10838685184717178,.16221188008785248,.9807852506637573,.5448954105377197,.8154930472373962,-.282339870929718,.555570662021637,.831469714641571,7.549790126404332e-8,.2126079499721527,.3181898593902588,.9238795042037964,.3086586892604828,.4619399309158325,.8314695954322815,.39284783601760864,.5879379510879517,.7071067690849304,.4619401693344116,.691341757774353,.5555701851844788,.5132802724838257,.76817786693573,.3826834261417389,.5448954105377197,.8154930472373962,.19509035348892212,.5879381895065308,.5879377722740173,.5555701851844788,.6532818078994751,.6532816290855408,.3826834261417389,.693520188331604,.6935198307037354,.19509035348892212,.7071072459220886,.7071068286895752,7.549790126404332e-8,.13795019686222076,.1379498541355133,.9807852506637573,.693520188331604,.6935198307037354,-.282339870929718,.27059850096702576,.27059823274612427,.9238795042037964,.3928478956222534,.39284759759902954,.8314695954322815,.5000003576278687,.5000000596046448,.7071067690849304,.8154934048652649,.5448949933052063,-.282339870929718,.8314700722694397,.5555702447891235,7.549790126404332e-8,.3181900978088379,.21260765194892883,.9238795042037964,.4619401693344116,.3086583614349365,.8314695954322815,.5879381895065308,.3928475081920624,.7071067690849304,.6913420557975769,.4619397222995758,.5555701851844788,.7681781053543091,.5132800936698914,.3826834261417389,.8154934048652649,.5448949933052063,.19509035348892212,.16221219301223755,.10838649421930313,.9807852506637573,.8535537123680115,.3535534739494324,.3826834261417389,.9061276316642761,.3753301501274109,.19509035348892212,.9238799810409546,.3826833963394165,7.549790126404332e-8,.1802404820919037,.07465791702270508,.9807852506637573,.9061276316642761,.3753301501274109,-.282339870929718,.353553831577301,.14644670486450195,.9238795042037964,.5132803916931152,.21260759234428406,.8314695954322815,.6532818078994751,.27059802412986755,.7071067690849304,.7681780457496643,.3181895613670349,.5555701851844788,.37533071637153625,.07465790212154388,.9238795042037964,.5448955297470093,.10838642716407776,.8314695954322815,.6935202479362488,.13794966042041779,.7071067690849304,.8154933452606201,.1622115671634674,.5555701851844788,.9061277508735657,.18024002015590668,.3826834261417389,.9619399309158325,.1913416087627411,.19509035348892212,.9807857275009155,.19509024918079376,7.549790126404332e-8,.19134224951267242,.0380602702498436,.9807852506637573,.9619399309158325,.1913416087627411,-.282339870929718,.923879861831665,6.356849979738399e-8,.3826834261417389,.9807853698730469,-8.544311214109257e-8,.19509035348892212,1.0000003576278687,-1.0034427333494023e-7,7.549790126404332e-8,.19509084522724152,-7.2120158733923745e-9,.9807852506637573,.9807853698730469,-8.544311214109257e-8,-.282339870929718,.3826838433742523,4.121675800661251e-8,.9238795042037964,.555570662021637,2.6315596812764852e-8,.8314695954322815,.7071070671081543,-2.5838467365701945e-8,.7071067690849304,.831469714641571,-8.544311214109257e-8,.5555701851844788,.5448955297470093,-.10838636755943298,.8314695954322815,.693520188331604,-.13794972002506256,.7071067690849304,.8154932260513306,-.16221173107624054,.5555701851844788,.9061277508735657,-.18023990094661713,.3826834261417389,.961939811706543,-.19134175777435303,.19509035348892212,.980785608291626,-.19509044289588928,7.549790126404332e-8,.19134221971035004,-.03806028142571449,.9807852506637573,.961939811706543,-.19134175777435303,-.282339870929718,.3753306567668915,-.07465781271457672,.9238795042037964,.9061274528503418,-.37533026933670044,.19509035348892212,.8535537123680115,-.35355332493782043,.3826834261417389,.9238798022270203,-.38268357515335083,7.549790126404332e-8,.1802404373884201,-.07465790957212448,.9807852506637573,.9061274528503418,-.37533026933670044,-.282339870929718,.35355374217033386,-.1464466005563736,.9238795042037964,.5132803916931152,-.21260753273963928,.8314695954322815,.6532817482948303,-.27059805393218994,.7071067690849304,.7681777477264404,-.3181896507740021,.5555701851844788,.5879380702972412,-.39284747838974,.7071067690849304,.6913416981697083,-.4619396924972534,.5555701851844788,.7681780457496643,-.513279914855957,.3826834261417389,.8154931664466858,-.5448950529098511,.19509035348892212,.8314698338508606,-.5555703639984131,7.549790126404332e-8,.16221213340759277,-.10838647186756134,.9807852506637573,.8154931664466858,-.5448950529098511,-.282339870929718,.31818997859954834,-.2126075178384781,.9238795042037964,.4619401693344116,-.30865830183029175,.8314695954322815,.7071069478988647,-.70710688829422,7.549790126404332e-8,.6935198903083801,-.6935197710990906,.19509035348892212,.1379501223564148,-.13794980943202972,.9807852506637573,.6935198903083801,-.6935197710990906,-.282339870929718,.2705983519554138,-.27059805393218994,.9238795042037964,.39284786581993103,-.3928475081920624,.8314695954322815,.5000002384185791,-.5,.7071067690849304,.5879377722740173,-.5879376530647278,.5555701851844788,.6532817482948303,-.6532813906669617,.3826834261417389,.3928477168083191,-.5879377722740173,.7071067690849304,.308658629655838,-.4619397819042206,.8314695954322815,.4619397819042206,-.6913415193557739,.5555701851844788,.5132802724838257,-.7681776881217957,.3826834261417389,.5448950529098511,-.8154929280281067,.19509035348892212,.5555703639984131,-.8314696550369263,7.549790126404332e-8,.10838677734136581,-.1622118055820465,.9807852506637573,.5448950529098511,-.8154929280281067,-.282339870929718,.21260780096054077,-.3181896507740021,.9238795042037964,.38268354535102844,-.9238795042037964,7.549790126404332e-8,.07465820759534836,-.18024009466171265,.9807852506637573,.37533023953437805,-.9061271548271179,-.282339870929718,.14644686877727509,-.3535533547401428,.9238795042037964,.21260783076286316,-.5132799744606018,.8314695954322815,.27059826254844666,-.6532814502716064,.7071067690849304,.31818968057632446,-.7681774497032166,.5555701851844788,.3535537123680115,-.8535533547401428,.3826834261417389,.37533023953437805,-.9061271548271179,.19509035348892212,.16221174597740173,-.8154928088188171,.5555701851844788,.1379498839378357,-.6935198903083801,.7071067690849304,.18024027347564697,-.906127393245697,.3826834261417389,.19134174287319183,-.9619393944740295,.19509035348892212,.19509044289588928,-.9807851910591125,7.549790126404332e-8,.03806057572364807,-.19134186208248138,.9807852506637573,.19134174287319183,-.9619393944740295,-.282339870929718,.07465810328722,-.37533020973205566,.9238795042037964,.10838666558265686,-.5448951125144958,.8314695954322815,3.117347660008818e-7,-.19509045779705048,.9807852506637573,9.566792869009078e-8,-.9807848334312439,-.282339870929718,1.4037141227163374e-7,-.9999998211860657,7.549790126404332e-8,2.819324436131865e-7,-.3826833665370941,.9238795042037964,2.819324436131865e-7,-.5555701851844788,.8314695954322815,1.850748958531767e-7,-.7071067094802856,.7071067690849304,1.4037141227163374e-7,-.8314692378044128,.5555701851844788,3.191853465978056e-7,-.9238794445991516,.3826834261417389,9.566792869009078e-8,-.9807848334312439,.19509035348892212,-.16221146285533905,-.8154926896095276,.5555701851844788,-.13794949650764465,-.6935198307037354,.7071067690849304,-.18023963272571564,-.9061273336410522,.3826834261417389,-.19134153425693512,-.9619392156600952,.19509035348892212,-.1950901597738266,-.9807850122451782,7.549790126404332e-8,-.03805994614958763,-.1913418471813202,.9807852506637573,-.19134153425693512,-.9619392156600952,-.282339870929718,-.07465753704309464,-.37533020973205566,.9238795042037964,-.1083860844373703,-.5448950529098511,.8314695954322815,-.37532997131347656,-.906126856803894,-.282339870929718,-.14644630253314972,-.35355332493782043,.9238795042037964,-.2126072347164154,-.5132798552513123,.8314695954322815,-.2705978453159332,-.6532813310623169,.7071067690849304,-.3181893527507782,-.7681772708892822,.5555701851844788,-.35355305671691895,-.853553295135498,.3826834261417389,-.37532997131347656,-.906126856803894,.19509035348892212,-.3826832175254822,-.9238792061805725,7.549790126404332e-8,-.07465756684541702,-.18024007976055145,.9807852506637573,-.5132796168327332,-.7681776285171509,.3826834261417389,-.5448946952819824,-.815492570400238,.19509035348892212,-.5555699467658997,-.8314692378044128,7.549790126404332e-8,-.10838612914085388,-.16221177577972412,.9807852506637573,-.5448946952819824,-.815492570400238,-.282339870929718,-.21260720491409302,-.3181895613670349,.9238795042037964,-.3086579740047455,-.46193963289260864,.8314695954322815,-.3928472399711609,-.5879376530647278,.7071067690849304,-.46193939447402954,-.69134122133255,.5555701851844788,-.3928471505641937,-.39284732937812805,.8314695954322815,-.4999997317790985,-.49999985098838806,.7071067690849304,-.5879373550415039,-.5879372954368591,.5555701851844788,-.6532810926437378,-.6532813906669617,.3826834261417389,-.6935193538665771,-.6935193538665771,.19509035348892212,-.7071064114570618,-.707106351852417,7.549790126404332e-8,-.13794946670532227,-.13794976472854614,.9807852506637573,-.6935193538665771,-.6935193538665771,-.282339870929718,-.2705976963043213,-.2705979347229004,.9238795042037964,-.8154924511909485,-.5448945760726929,.19509035348892212,-.768177330493927,-.5132798552513123,.3826834261417389,-.8314691185951233,-.5555698275566101,7.549790126404332e-8,-.16221146285533905,-.10838642716407776,.9807852506637573,-.8154924511909485,-.5448945760726929,-.282339870929718,-.31818926334381104,-.21260741353034973,.9238795042037964,-.46193939447402954,-.3086581230163574,.8314695954322815,-.5879374742507935,-.39284729957580566,.7071067690849304,-.6913411617279053,-.4619393050670624,.5555701851844788,-.5132795572280884,-.21260738372802734,.8314695954322815,-.35355299711227417,-.14644651114940643,.9238795042037964,-.6532811522483826,-.2705978751182556,.7071067690849304,-.7681770920753479,-.31818920373916626,.5555701851844788,-.8535529375076294,-.35355329513549805,.3826834261417389,-.9061266183853149,-.37532979249954224,.19509035348892212,-.9238789081573486,-.38268303871154785,7.549790126404332e-8,-.18023976683616638,-.0746578574180603,.9807852506637573,-.9061266183853149,-.37532979249954224,-.282339870929718,-.9619388580322266,-.1913413405418396,.19509035348892212,-.9061269760131836,-.18023987114429474,.3826834261417389,-.98078453540802,-.19508998095989227,7.549790126404332e-8,-.19134151935577393,-.038060225546360016,.9807852506637573,-.9619388580322266,-.1913413405418396,-.282339870929718,-.375329852104187,-.07465773820877075,.9238795042037964,-.5448946356773376,-.10838624089956284,.8314695954322815,-.6935195326805115,-.13794952630996704,.7071067690849304,-.8154923915863037,-.1622113138437271,.5555701851844788,5.960464477539063e-8,-4.2721556070546285e-8,-.8600426912307739],iron_data_ConstData.skydomeNor=[.5597705245018005,0,-.8286385536193848,.5489974617958069,-.10919522494077682,-.8286385536193848,.3804132342338562,-.07565538585186005,-.921689510345459,.7101352214813232,0,-.7040314674377441,.6964934468269348,-.13852351903915405,-.7040314674377441,.8333384394645691,0,-.5527512431144714,.8173161745071411,-.16257210075855255,-.5527512431144714,.9247413277626038,0,-.3805353045463562,.9069795608520508,-.18039490282535553,-.3805353045463562,.9809869527816772,0,-.19391460716724396,.9621570706367493,-.191381573677063,-.19391460716724396,.9998779296875,0,-.01501510664820671,.9806512594223022,-.19504378736019135,-.01501510664820671,.20096439123153687,0,-.9795831441879272,.19708853960037231,-.039185766130685806,-.9795831441879272,0,0,-1,.8584856986999512,0,.5128025412559509,.8419751524925232,-.1674550622701645,.5128025412559509,.3878597319126129,0,-.921689510345459,.3583483397960663,-.14841151237487793,-.921689510345459,.5171361565589905,-.2142094224691391,-.8286385536193848,.6560564041137695,-.2717368006706238,-.7040314674377441,.7698904275894165,-.3188879191875458,-.5527512431144714,.8543656468391418,-.35386210680007935,-.3805353045463562,.9063386917114258,-.3754081726074219,-.19391460716724396,.9237647652626038,-.382610559463501,-.01501510664820671,.18564409017562866,-.07690664380788803,-.9795831441879272,.7931455373764038,-.32853174209594727,.5128025412559509,.7689138650894165,-.5137485861778259,-.3805353045463562,.8156682252883911,-.5449995398521423,-.19391460716724396,.8313547372817993,-.5554978847503662,-.01501510664820671,.1670888364315033,-.1116367056965828,-.9795831441879272,.713797390460968,-.4769432544708252,.5128025412559509,.32248908281326294,-.2154911905527115,-.921689510345459,.46540728211402893,-.3109835982322693,-.8286385536193848,.5904415845870972,-.39451277256011963,-.7040314674377441,.6928922533988953,-.46296578645706177,-.5527512431144714,.395794540643692,-.395794540643692,-.8286385536193848,.5021210312843323,-.5021210312843323,-.7040314674377441,.5892513990402222,-.5892513990402222,-.5527512431144714,.6538895964622498,-.6538895964622498,-.3805353045463562,.6936551928520203,-.6936551928520203,-.19391460716724396,.7070223093032837,-.7070223093032837,-.01501510664820671,.1420941799879074,-.1420941799879074,-.9795831441879272,.6070436835289001,-.6070436835289001,.5128025412559509,.27426984906196594,-.27426984906196594,-.921689510345459,.5449995398521423,-.8156682252883911,-.19391460716724396,.5554978847503662,-.8313547372817993,-.01501510664820671,.1116367056965828,-.1670888364315033,-.9795831441879272,.4769432544708252,-.713797390460968,.5128025412559509,.2154911905527115,-.32248908281326294,-.921689510345459,.3109835982322693,-.46540728211402893,-.8286385536193848,.39451277256011963,-.5904415845870972,-.7040314674377441,.46296578645706177,-.6928922533988953,-.5527512431144714,.5137485861778259,-.7689138650894165,-.3805353045463562,.2142094224691391,-.5171361565589905,-.8286385536193848,.2717368006706238,-.6560564041137695,-.7040314674377441,.3188879191875458,-.7698904275894165,-.5527512431144714,.35386210680007935,-.8543656468391418,-.3805353045463562,.3754081726074219,-.9063386917114258,-.19391460716724396,.382610559463501,-.9237647652626038,-.01501510664820671,.07690664380788803,-.18564409017562866,-.9795831441879272,.32853174209594727,-.7931455373764038,.5128025412559509,.14841151237487793,-.3583483397960663,-.921689510345459,.191381573677063,-.9621570706367493,-.19391460716724396,.18039490282535553,-.9069795608520508,-.3805353045463562,.19504378736019135,-.9806512594223022,-.01501510664820671,.039185766130685806,-.19708853960037231,-.9795831441879272,.1674550622701645,-.8419751524925232,.5128025412559509,.07565538585186005,-.3804132342338562,-.921689510345459,.10919522494077682,-.5489974617958069,-.8286385536193848,.13852351903915405,-.6964934468269348,-.7040314674377441,.16257210075855255,-.8173161745071411,-.5527512431144714,0,-.7101352214813232,-.7040314674377441,0,-.8333384394645691,-.5527512431144714,0,-.9247413277626038,-.3805353045463562,0,-.9809869527816772,-.19391460716724396,0,-.9998779296875,-.01501510664820671,0,-.20096439123153687,-.9795831441879272,0,-.8584856986999512,.5128025412559509,0,-.3878597319126129,-.921689510345459,0,-.5597705245018005,-.8286385536193848,-.19504378736019135,-.9806512594223022,-.01501510664820671,-.039185766130685806,-.19708853960037231,-.9795831441879272,-.1674550622701645,-.8419751524925232,.5128025412559509,-.07565538585186005,-.3804132342338562,-.921689510345459,-.10919522494077682,-.5489974617958069,-.8286385536193848,-.13852351903915405,-.6964934468269348,-.7040314674377441,-.16257210075855255,-.8173161745071411,-.5527512431144714,-.18039490282535553,-.9069795608520508,-.3805353045463562,-.191381573677063,-.9621570706367493,-.19391460716724396,-.3188879191875458,-.7698904275894165,-.5527512431144714,-.35386210680007935,-.8543656468391418,-.3805353045463562,-.3754081726074219,-.9063386917114258,-.19391460716724396,-.382610559463501,-.9237647652626038,-.01501510664820671,-.07690664380788803,-.18564409017562866,-.9795831441879272,-.32853174209594727,-.7931455373764038,.5128025412559509,-.14841151237487793,-.3583483397960663,-.921689510345459,-.2142094224691391,-.5171361565589905,-.8286385536193848,-.2717368006706238,-.6560564041137695,-.7040314674377441,-.1116367056965828,-.1670888364315033,-.9795831441879272,-.4769432544708252,-.713797390460968,.5128025412559509,-.5554978847503662,-.8313547372817993,-.01501510664820671,-.2154911905527115,-.32248908281326294,-.921689510345459,-.3109835982322693,-.46540728211402893,-.8286385536193848,-.39451277256011963,-.5904415845870972,-.7040314674377441,-.46296578645706177,-.6928922533988953,-.5527512431144714,-.5137485861778259,-.7689138650894165,-.3805353045463562,-.5449995398521423,-.8156682252883911,-.19391460716724396,-.5892513990402222,-.5892513990402222,-.5527512431144714,-.6538895964622498,-.6538895964622498,-.3805353045463562,-.6936551928520203,-.6936551928520203,-.19391460716724396,-.7070223093032837,-.7070223093032837,-.01501510664820671,-.1420941799879074,-.1420941799879074,-.9795831441879272,-.6070436835289001,-.6070436835289001,.5128025412559509,-.27426984906196594,-.27426984906196594,-.921689510345459,-.395794540643692,-.395794540643692,-.8286385536193848,-.5021210312843323,-.5021210312843323,-.7040314674377441,-.713797390460968,-.4769432544708252,.5128025412559509,-.8313547372817993,-.5554978847503662,-.01501510664820671,-.32248908281326294,-.2154911905527115,-.921689510345459,-.46540728211402893,-.3109835982322693,-.8286385536193848,-.5904415845870972,-.39451277256011963,-.7040314674377441,-.6928922533988953,-.46296578645706177,-.5527512431144714,-.7689138650894165,-.5137485861778259,-.3805353045463562,-.8156682252883911,-.5449995398521423,-.19391460716724396,-.1670888364315033,-.1116367056965828,-.9795831441879272,-.8543656468391418,-.35386210680007935,-.3805353045463562,-.9063386917114258,-.3754081726074219,-.19391460716724396,-.9237647652626038,-.382610559463501,-.01501510664820671,-.18564409017562866,-.07690664380788803,-.9795831441879272,-.7931455373764038,-.32853174209594727,.5128025412559509,-.3583483397960663,-.14841151237487793,-.921689510345459,-.5171361565589905,-.2142094224691391,-.8286385536193848,-.6560564041137695,-.2717368006706238,-.7040314674377441,-.7698904275894165,-.3188879191875458,-.5527512431144714,-.3804132342338562,-.07565538585186005,-.921689510345459,-.5489974617958069,-.10919522494077682,-.8286385536193848,-.6964934468269348,-.13852351903915405,-.7040314674377441,-.8173161745071411,-.16257210075855255,-.5527512431144714,-.9069795608520508,-.18039490282535553,-.3805353045463562,-.9621570706367493,-.191381573677063,-.19391460716724396,-.9806512594223022,-.19504378736019135,-.01501510664820671,-.19708853960037231,-.039185766130685806,-.9795831441879272,-.8419751524925232,-.1674550622701645,.5128025412559509,-.9247413277626038,0,-.3805353045463562,-.9809869527816772,0,-.19391460716724396,-.9998779296875,0,-.01501510664820671,-.20096439123153687,0,-.9795831441879272,-.8584856986999512,0,.5128025412559509,-.3878597319126129,0,-.921689510345459,-.5597705245018005,0,-.8286385536193848,-.7101352214813232,0,-.7040314674377441,-.8333384394645691,0,-.5527512431144714,-.5489974617958069,.10919522494077682,-.8286385536193848,-.6964934468269348,.13852351903915405,-.7040314674377441,-.8173161745071411,.16257210075855255,-.5527512431144714,-.9069795608520508,.18039490282535553,-.3805353045463562,-.9621570706367493,.191381573677063,-.19391460716724396,-.9806512594223022,.19504378736019135,-.01501510664820671,-.19708853960037231,.039185766130685806,-.9795831441879272,-.8419751524925232,.1674550622701645,.5128025412559509,-.3804132342338562,.07565538585186005,-.921689510345459,-.9063386917114258,.3754081726074219,-.19391460716724396,-.8543656468391418,.35386210680007935,-.3805353045463562,-.9237647652626038,.382610559463501,-.01501510664820671,-.18564409017562866,.07690664380788803,-.9795831441879272,-.7931455373764038,.32853174209594727,.5128025412559509,-.3583483397960663,.14841151237487793,-.921689510345459,-.5171361565589905,.2142094224691391,-.8286385536193848,-.6560564041137695,.2717368006706238,-.7040314674377441,-.7698904275894165,.3188879191875458,-.5527512431144714,-.5904415845870972,.39451277256011963,-.7040314674377441,-.6928922533988953,.46296578645706177,-.5527512431144714,-.7689138650894165,.5137485861778259,-.3805353045463562,-.8156682252883911,.5449995398521423,-.19391460716724396,-.8313547372817993,.5554978847503662,-.01501510664820671,-.1670888364315033,.1116367056965828,-.9795831441879272,-.713797390460968,.4769432544708252,.5128025412559509,-.32248908281326294,.2154911905527115,-.921689510345459,-.46540728211402893,.3109835982322693,-.8286385536193848,-.7070223093032837,.7070223093032837,-.01501510664820671,-.6936551928520203,.6936551928520203,-.19391460716724396,-.1420941799879074,.1420941799879074,-.9795831441879272,-.6070436835289001,.6070436835289001,.5128025412559509,-.27426984906196594,.27426984906196594,-.921689510345459,-.395794540643692,.395794540643692,-.8286385536193848,-.5021210312843323,.5021210312843323,-.7040314674377441,-.5892513990402222,.5892513990402222,-.5527512431144714,-.6538895964622498,.6538895964622498,-.3805353045463562,-.39451277256011963,.5904415845870972,-.7040314674377441,-.3109835982322693,.46540728211402893,-.8286385536193848,-.46296578645706177,.6928922533988953,-.5527512431144714,-.5137485861778259,.7689138650894165,-.3805353045463562,-.5449995398521423,.8156682252883911,-.19391460716724396,-.5554978847503662,.8313547372817993,-.01501510664820671,-.1116367056965828,.1670888364315033,-.9795831441879272,-.4769432544708252,.713797390460968,.5128025412559509,-.2154911905527115,.32248908281326294,-.921689510345459,-.382610559463501,.9237647652626038,-.01501510664820671,-.07690664380788803,.18564409017562866,-.9795831441879272,-.32853174209594727,.7931455373764038,.5128025412559509,-.14841151237487793,.3583483397960663,-.921689510345459,-.2142094224691391,.5171361565589905,-.8286385536193848,-.2717368006706238,.6560564041137695,-.7040314674377441,-.3188879191875458,.7698904275894165,-.5527512431144714,-.35386210680007935,.8543656468391418,-.3805353045463562,-.3754081726074219,.9063386917114258,-.19391460716724396,-.16257210075855255,.8173161745071411,-.5527512431144714,-.13852351903915405,.6964934468269348,-.7040314674377441,-.18039490282535553,.9069795608520508,-.3805353045463562,-.191381573677063,.9621570706367493,-.19391460716724396,-.19504378736019135,.9806512594223022,-.01501510664820671,-.039185766130685806,.19708853960037231,-.9795831441879272,-.1674550622701645,.8419751524925232,.5128025412559509,-.07565538585186005,.3804132342338562,-.921689510345459,-.10919522494077682,.5489974617958069,-.8286385536193848,0,.20096439123153687,-.9795831441879272,0,.8584856986999512,.5128025412559509,0,.9998779296875,-.01501510664820671,0,.3878597319126129,-.921689510345459,0,.5597705245018005,-.8286385536193848,0,.7101352214813232,-.7040314674377441,0,.8333384394645691,-.5527512431144714,0,.9247413277626038,-.3805353045463562,0,.9809869527816772,-.19391460716724396,.16257210075855255,.8173161745071411,-.5527512431144714,.13852351903915405,.6964934468269348,-.7040314674377441,.18039490282535553,.9069795608520508,-.3805353045463562,.191381573677063,.9621570706367493,-.19391460716724396,.19504378736019135,.9806512594223022,-.01501510664820671,.039185766130685806,.19708853960037231,-.9795831441879272,.1674550622701645,.8419751524925232,.5128025412559509,.07565538585186005,.3804132342338562,-.921689510345459,.10919522494077682,.5489974617958069,-.8286385536193848,.32853174209594727,.7931455373764038,.5128025412559509,.14841151237487793,.3583483397960663,-.921689510345459,.2142094224691391,.5171361565589905,-.8286385536193848,.2717368006706238,.6560564041137695,-.7040314674377441,.3188879191875458,.7698904275894165,-.5527512431144714,.35386210680007935,.8543656468391418,-.3805353045463562,.3754081726074219,.9063386917114258,-.19391460716724396,.382610559463501,.9237647652626038,-.01501510664820671,.07690664380788803,.18564409017562866,-.9795831441879272,.5137485861778259,.7689138650894165,-.3805353045463562,.5449995398521423,.8156682252883911,-.19391460716724396,.5554978847503662,.8313547372817993,-.01501510664820671,.1116367056965828,.1670888364315033,-.9795831441879272,.4769432544708252,.713797390460968,.5128025412559509,.2154911905527115,.32248908281326294,-.921689510345459,.3109835982322693,.46540728211402893,-.8286385536193848,.39451277256011963,.5904415845870972,-.7040314674377441,.46296578645706177,.6928922533988953,-.5527512431144714,.395794540643692,.395794540643692,-.8286385536193848,.5021210312843323,.5021210312843323,-.7040314674377441,.5892513990402222,.5892513990402222,-.5527512431144714,.6538895964622498,.6538895964622498,-.3805353045463562,.6936551928520203,.6936551928520203,-.19391460716724396,.7070223093032837,.7070223093032837,-.01501510664820671,.1420941799879074,.1420941799879074,-.9795831441879272,.6070436835289001,.6070436835289001,.5128025412559509,.27426984906196594,.27426984906196594,-.921689510345459,.8156682252883911,.5449995398521423,-.19391460716724396,.7689138650894165,.5137485861778259,-.3805353045463562,.8313547372817993,.5554978847503662,-.01501510664820671,.1670888364315033,.1116367056965828,-.9795831441879272,.713797390460968,.4769432544708252,.5128025412559509,.32248908281326294,.2154911905527115,-.921689510345459,.46540728211402893,.3109835982322693,-.8286385536193848,.5904415845870972,.39451277256011963,-.7040314674377441,.6928922533988953,.46296578645706177,-.5527512431144714,.5171361565589905,.2142094224691391,-.8286385536193848,.3583483397960663,.14841151237487793,-.921689510345459,.6560564041137695,.2717368006706238,-.7040314674377441,.7698904275894165,.3188879191875458,-.5527512431144714,.8543656468391418,.35386210680007935,-.3805353045463562,.9063386917114258,.3754081726074219,-.19391460716724396,.9237647652626038,.382610559463501,-.01501510664820671,.18564409017562866,.07690664380788803,-.9795831441879272,.7931455373764038,.32853174209594727,.5128025412559509,.9621570706367493,.191381573677063,-.19391460716724396,.9069795608520508,.18039490282535553,-.3805353045463562,.9806512594223022,.19504378736019135,-.01501510664820671,.19708853960037231,.039185766130685806,-.9795831441879272,.8419751524925232,.1674855798482895,.5128025412559509,.3804132342338562,.07565538585186005,-.921689510345459,.5489974617958069,.10919522494077682,-.8286385536193848,.6964934468269348,.13852351903915405,-.7040314674377441,.8173161745071411,.16257210075855255,-.5527512431144714,0,0,.999969482421875],iron_data_ConstData.sphereIndices=[0,1,2,0,2,3,4,5,6,4,6,7,8,9,10,11,12,13,14,15,16,14,16,17,18,19,20,18,20,21,22,23,24,22,24,25,26,27,28,26,28,29,30,31,32,33,34,35,33,35,36,37,38,39,37,39,40,41,42,43,41,43,44,45,46,47,45,47,48,49,50,51,49,51,52,53,54,55,53,55,56,57,58,59,60,61,62,60,62,63,64,65,66,64,66,67,68,69,70,68,70,71,72,73,74,72,74,75,76,77,78,79,80,81,82,83,84,82,84,85,86,87,88,86,88,89,90,91,92,90,92,93,94,95,96,94,96,97,98,99,100,98,100,101,102,103,104,105,106,107,108,109,110,108,110,111,112,113,114,112,114,115,116,117,118,116,118,119,120,121,122,123,124,125,126,127,128,126,128,129,130,131,132,130,132,133,134,135,136,134,136,137,138,139,140,138,140,141,142,143,144,142,144,145,146,147,148,146,148,149,150,151,152,150,152,153,154,155,156,154,156,157,158,159,160,158,160,161,162,163,164,162,164,165,166,167,168,166,168,169,170,171,172,170,172,173,174,175,176,177,178,179,180,181,182,180,182,183,184,185,186,184,186,187,188,189,190,188,190,191,192,193,194,195,196,197,198,199,200,198,200,201,202,203,204,202,204,205,206,207,208,206,208,209,210,211,212,210,212,213,214,215,216,214,216,217,218,219,220,221,222,223,224,225,226,224,226,227,228,229,230,228,230,231,232,233,234,232,234,235,236,237,238,236,238,239,240,241,242,243,244,245,243,245,246,247,248,249,247,249,250,251,252,253,251,253,254,255,256,257,255,257,258,259,260,261,259,261,262,263,264,265,263,265,266,267,268,269,270,271,272,270,272,273,274,275,276,274,276,277,278,279,280,278,280,281,282,283,284,282,284,285,286,287,288,286,288,289,290,291,292,293,294,295,296,297,298,296,298,299,300,301,302,300,302,303,304,305,306,304,306,307,308,309,310,308,310,311,312,313,314,315,316,317,318,319,320,318,320,321,322,323,324,322,324,325,326,327,328,326,328,329,330,331,332,330,332,333,334,335,336,337,338,339,340,341,342,340,342,343,344,345,346,344,346,347,348,349,350,348,350,351,352,353,354,352,354,355,356,357,358,356,358,359,360,361,362,363,364,365,363,365,366,367,368,369,367,369,370,371,372,373,371,373,374,375,376,377,375,377,378,379,380,381,379,381,382,383,384,385,383,385,386,387,388,389,390,391,392,390,392,393,394,395,396,394,396,397,398,399,400,398,400,401,402,403,404,402,404,405,406,407,408,409,410,411,412,413,414,412,414,415,416,417,418,416,418,419,420,421,422,420,422,423,424,425,426,424,426,427,428,429,430,428,430,431,432,433,434,435,436,437,438,439,440,438,440,441,442,443,444,442,444,445,446,447,448,446,448,449,450,451,452,453,454,455,456,457,458,456,458,459,460,461,462,460,462,463,464,465,466,464,466,467,468,469,470,468,470,471,472,473,474,472,474,475,476,477,478,476,478,479],iron_data_ConstData.spherePos=[0,.4619397521018982,-.19134175777435303,0,.5,-2.1855694143368964e-8,.19134169816970825,.4619397521018982,-2.1855694143368964e-8,.1767766773700714,.4267766773700714,-.19134175777435303,0,.4619397521018982,.19134171307086945,0,.3535533845424652,.3535533845424652,.13529899716377258,.3266407251358032,.3535533845424652,.1767766773700714,.4267766773700714,.19134171307086945,0,.19134172797203064,.4619397521018982,-6.975096056294205e-8,4.660612162865618e-8,.5,.0732232853770256,.1767767071723938,.4619397521018982,0,7.549790126404332e-8,-.5,0,.19134174287319183,-.4619397521018982,.0732232928276062,.1767767071723938,-.4619397521018982,0,.3535533845424652,-.3535533845424652,0,.4619397521018982,-.19134175777435303,.1767766773700714,.4267766773700714,-.19134175777435303,.13529899716377258,.3266407251358032,-.3535533845424652,0,.5,-2.1855694143368964e-8,0,.4619397521018982,.19134171307086945,.1767766773700714,.4267766773700714,.19134171307086945,.19134169816970825,.4619397521018982,-2.1855694143368964e-8,0,.3535533845424652,.3535533845424652,0,.19134172797203064,.4619397521018982,.0732232853770256,.1767767071723938,.4619397521018982,.13529899716377258,.3266407251358032,.3535533845424652,0,.19134174287319183,-.4619397521018982,0,.3535533845424652,-.3535533845424652,.13529899716377258,.3266407251358032,-.3535533845424652,.0732232928276062,.1767767071723938,-.4619397521018982,0,7.549790126404332e-8,-.5,.0732232928276062,.1767767071723938,-.4619397521018982,.13529899716377258,.13529902696609497,-.4619397521018982,.13529899716377258,.3266407251358032,-.3535533845424652,.1767766773700714,.4267766773700714,-.19134175777435303,.32664069533348083,.3266407251358032,-.19134175777435303,.24999994039535522,.2499999850988388,-.3535533845424652,.19134169816970825,.4619397521018982,-2.1855694143368964e-8,.1767766773700714,.4267766773700714,.19134171307086945,.32664069533348083,.3266407251358032,.19134171307086945,.3535533547401428,.3535533845424652,-2.1855694143368964e-8,.13529899716377258,.3266407251358032,.3535533845424652,.0732232853770256,.1767767071723938,.4619397521018982,.1352989822626114,.13529904186725616,.4619397521018982,.24999994039535522,.2499999850988388,.3535533845424652,.0732232928276062,.1767767071723938,-.4619397521018982,.13529899716377258,.3266407251358032,-.3535533845424652,.24999994039535522,.2499999850988388,-.3535533845424652,.13529899716377258,.13529902696609497,-.4619397521018982,.1767766773700714,.4267766773700714,-.19134175777435303,.19134169816970825,.4619397521018982,-2.1855694143368964e-8,.3535533547401428,.3535533845424652,-2.1855694143368964e-8,.32664069533348083,.3266407251358032,-.19134175777435303,.1767766773700714,.4267766773700714,.19134171307086945,.13529899716377258,.3266407251358032,.3535533845424652,.24999994039535522,.2499999850988388,.3535533845424652,.32664069533348083,.3266407251358032,.19134171307086945,.0732232853770256,.1767767071723938,.4619397521018982,-6.975096056294205e-8,4.660612162865618e-8,.5,.1352989822626114,.13529904186725616,.4619397521018982,.24999994039535522,.2499999850988388,.3535533845424652,.1352989822626114,.13529904186725616,.4619397521018982,.17677663266658783,.07322334498167038,.4619397521018982,.32664063572883606,.13529902696609497,.3535533845424652,.13529899716377258,.13529902696609497,-.4619397521018982,.24999994039535522,.2499999850988388,-.3535533845424652,.32664063572883606,.13529902696609497,-.3535533845424652,.17677664756774902,.07322331517934799,-.4619397521018982,.32664069533348083,.3266407251358032,-.19134175777435303,.3535533547401428,.3535533845424652,-2.1855694143368964e-8,.4619396924972534,.19134169816970825,-2.1855694143368964e-8,.42677661776542664,.1767766773700714,-.19134175777435303,.32664069533348083,.3266407251358032,.19134171307086945,.24999994039535522,.2499999850988388,.3535533845424652,.32664063572883606,.13529902696609497,.3535533845424652,.42677661776542664,.1767766773700714,.19134171307086945,.1352989822626114,.13529904186725616,.4619397521018982,-6.975096056294205e-8,4.660612162865618e-8,.5,.17677663266658783,.07322334498167038,.4619397521018982,0,7.549790126404332e-8,-.5,.13529899716377258,.13529902696609497,-.4619397521018982,.17677664756774902,.07322331517934799,-.4619397521018982,.24999994039535522,.2499999850988388,-.3535533845424652,.32664069533348083,.3266407251358032,-.19134175777435303,.42677661776542664,.1767766773700714,-.19134175777435303,.32664063572883606,.13529902696609497,-.3535533845424652,.3535533547401428,.3535533845424652,-2.1855694143368964e-8,.32664069533348083,.3266407251358032,.19134171307086945,.42677661776542664,.1767766773700714,.19134171307086945,.4619396924972534,.19134169816970825,-2.1855694143368964e-8,.17677664756774902,.07322331517934799,-.4619397521018982,.32664063572883606,.13529902696609497,-.3535533845424652,.35355326533317566,3.554926308879658e-8,-.3535533845424652,.19134163856506348,2.809868249187275e-8,-.4619397521018982,.42677661776542664,.1767766773700714,-.19134175777435303,.4619396924972534,.19134169816970825,-2.1855694143368964e-8,.49999988079071045,5.746940701101266e-9,-2.1855694143368964e-8,.46193966269493103,5.746940701101266e-9,-.19134175777435303,.42677661776542664,.1767766773700714,.19134171307086945,.32664063572883606,.13529902696609497,.3535533845424652,.35355326533317566,3.554926308879658e-8,.3535533845424652,.46193966269493103,5.746940701101266e-9,.19134171307086945,.17677663266658783,.07322334498167038,.4619397521018982,-6.975096056294205e-8,4.660612162865618e-8,.5,.19134163856506348,6.535158547649189e-8,.4619397521018982,0,7.549790126404332e-8,-.5,.17677664756774902,.07322331517934799,-.4619397521018982,.19134163856506348,2.809868249187275e-8,-.4619397521018982,.32664063572883606,.13529902696609497,-.3535533845424652,.42677661776542664,.1767766773700714,-.19134175777435303,.46193966269493103,5.746940701101266e-9,-.19134175777435303,.35355326533317566,3.554926308879658e-8,-.3535533845424652,.4619396924972534,.19134169816970825,-2.1855694143368964e-8,.42677661776542664,.1767766773700714,.19134171307086945,.46193966269493103,5.746940701101266e-9,.19134171307086945,.49999988079071045,5.746940701101266e-9,-2.1855694143368964e-8,.32664063572883606,.13529902696609497,.3535533845424652,.17677663266658783,.07322334498167038,.4619397521018982,.19134163856506348,6.535158547649189e-8,.4619397521018982,.35355326533317566,3.554926308879658e-8,.3535533845424652,.19134163856506348,6.535158547649189e-8,.4619397521018982,-6.975096056294205e-8,4.660612162865618e-8,.5,.17677661776542664,-.07322321087121964,.4619397521018982,0,7.549790126404332e-8,-.5,.19134163856506348,2.809868249187275e-8,-.4619397521018982,.17677660286426544,-.07322324812412262,-.4619397521018982,.35355326533317566,3.554926308879658e-8,-.3535533845424652,.46193966269493103,5.746940701101266e-9,-.19134175777435303,.42677655816078186,-.17677666246891022,-.19134175777435303,.3266405761241913,-.135298952460289,-.3535533845424652,.49999988079071045,5.746940701101266e-9,-2.1855694143368964e-8,.46193966269493103,5.746940701101266e-9,.19134171307086945,.42677655816078186,-.17677666246891022,.19134171307086945,.46193960309028625,-.19134168326854706,-2.1855694143368964e-8,.35355326533317566,3.554926308879658e-8,.3535533845424652,.19134163856506348,6.535158547649189e-8,.4619397521018982,.17677661776542664,-.07322321087121964,.4619397521018982,.3266405761241913,-.135298952460289,.3535533845424652,.19134163856506348,2.809868249187275e-8,-.4619397521018982,.35355326533317566,3.554926308879658e-8,-.3535533845424652,.3266405761241913,-.135298952460289,-.3535533845424652,.17677660286426544,-.07322324812412262,-.4619397521018982,.46193966269493103,5.746940701101266e-9,-.19134175777435303,.49999988079071045,5.746940701101266e-9,-2.1855694143368964e-8,.46193960309028625,-.19134168326854706,-2.1855694143368964e-8,.42677655816078186,-.17677666246891022,-.19134175777435303,.46193966269493103,5.746940701101266e-9,.19134171307086945,.35355326533317566,3.554926308879658e-8,.3535533845424652,.3266405761241913,-.135298952460289,.3535533845424652,.42677655816078186,-.17677666246891022,.19134171307086945,.3266405761241913,-.135298952460289,-.3535533845424652,.42677655816078186,-.17677666246891022,-.19134175777435303,.3266405761241913,-.32664066553115845,-.19134175777435303,.24999982118606567,-.24999988079071045,-.3535533845424652,.46193960309028625,-.19134168326854706,-2.1855694143368964e-8,.42677655816078186,-.17677666246891022,.19134171307086945,.3266405761241913,-.32664066553115845,.19134171307086945,.3535532057285309,-.35355329513549805,-2.1855694143368964e-8,.3266405761241913,-.135298952460289,.3535533845424652,.17677661776542664,-.07322321087121964,.4619397521018982,.135298952460289,-.13529890775680542,.4619397521018982,.24999982118606567,-.24999988079071045,.3535533845424652,.17677660286426544,-.07322324812412262,-.4619397521018982,.3266405761241913,-.135298952460289,-.3535533845424652,.24999982118606567,-.24999988079071045,-.3535533845424652,.1352989226579666,-.1352989375591278,-.4619397521018982,.42677655816078186,-.17677666246891022,-.19134175777435303,.46193960309028625,-.19134168326854706,-2.1855694143368964e-8,.3535532057285309,-.35355329513549805,-2.1855694143368964e-8,.3266405761241913,-.32664066553115845,-.19134175777435303,.42677655816078186,-.17677666246891022,.19134171307086945,.3266405761241913,-.135298952460289,.3535533845424652,.24999982118606567,-.24999988079071045,.3535533845424652,.3266405761241913,-.32664066553115845,.19134171307086945,.17677661776542664,-.07322321087121964,.4619397521018982,-6.975096056294205e-8,4.660612162865618e-8,.5,.135298952460289,-.13529890775680542,.4619397521018982,0,7.549790126404332e-8,-.5,.17677660286426544,-.07322324812412262,-.4619397521018982,.1352989226579666,-.1352989375591278,-.4619397521018982,.1352989226579666,-.1352989375591278,-.4619397521018982,.24999982118606567,-.24999988079071045,-.3535533845424652,.13529886305332184,-.3266405761241913,-.3535533845424652,.07322320342063904,-.17677657306194305,-.4619397521018982,.3266405761241913,-.32664066553115845,-.19134175777435303,.3535532057285309,-.35355329513549805,-2.1855694143368964e-8,.19134151935577393,-.46193960309028625,-2.1855694143368964e-8,.17677652835845947,-.42677655816078186,-.19134175777435303,.3266405761241913,-.32664066553115845,.19134171307086945,.24999982118606567,-.24999988079071045,.3535533845424652,.13529886305332184,-.3266405761241913,.3535533845424652,.17677652835845947,-.42677655816078186,.19134171307086945,.135298952460289,-.13529890775680542,.4619397521018982,-6.975096056294205e-8,4.660612162865618e-8,.5,.07322324067354202,-.17677655816078186,.4619397521018982,0,7.549790126404332e-8,-.5,.1352989226579666,-.1352989375591278,-.4619397521018982,.07322320342063904,-.17677657306194305,-.4619397521018982,.24999982118606567,-.24999988079071045,-.3535533845424652,.3266405761241913,-.32664066553115845,-.19134175777435303,.17677652835845947,-.42677655816078186,-.19134175777435303,.13529886305332184,-.3266405761241913,-.3535533845424652,.3535532057285309,-.35355329513549805,-2.1855694143368964e-8,.3266405761241913,-.32664066553115845,.19134171307086945,.17677652835845947,-.42677655816078186,.19134171307086945,.19134151935577393,-.46193960309028625,-2.1855694143368964e-8,.24999982118606567,-.24999988079071045,.3535533845424652,.135298952460289,-.13529890775680542,.4619397521018982,.07322324067354202,-.17677655816078186,.4619397521018982,.13529886305332184,-.3266405761241913,.3535533845424652,.17677652835845947,-.42677655816078186,-.19134175777435303,.19134151935577393,-.46193960309028625,-2.1855694143368964e-8,-1.630022552490118e-7,-.4999997615814209,-2.1855694143368964e-8,-1.4810109405516414e-7,-.46193957328796387,-.19134175777435303,.17677652835845947,-.42677655816078186,.19134171307086945,.13529886305332184,-.3266405761241913,.3535533845424652,-1.3319993286131648e-7,-.3535531759262085,.3535533845424652,-1.4810109405516414e-7,-.46193957328796387,.19134171307086945,.07322324067354202,-.17677655816078186,.4619397521018982,-6.975096056294205e-8,4.660612162865618e-8,.5,-3.634237799587936e-8,-.1913415640592575,.4619397521018982,0,7.549790126404332e-8,-.5,.07322320342063904,-.17677657306194305,-.4619397521018982,-8.104586157742233e-8,-.1913415640592575,-.4619397521018982,.13529886305332184,-.3266405761241913,-.3535533845424652,.17677652835845947,-.42677655816078186,-.19134175777435303,-1.4810109405516414e-7,-.46193957328796387,-.19134175777435303,-1.3319993286131648e-7,-.3535531759262085,-.3535533845424652,.19134151935577393,-.46193960309028625,-2.1855694143368964e-8,.17677652835845947,-.42677655816078186,.19134171307086945,-1.4810109405516414e-7,-.46193957328796387,.19134171307086945,-1.630022552490118e-7,-.4999997615814209,-2.1855694143368964e-8,.13529886305332184,-.3266405761241913,.3535533845424652,.07322324067354202,-.17677655816078186,.4619397521018982,-3.634237799587936e-8,-.1913415640592575,.4619397521018982,-1.3319993286131648e-7,-.3535531759262085,.3535533845424652,.07322320342063904,-.17677657306194305,-.4619397521018982,.13529886305332184,-.3266405761241913,-.3535533845424652,-1.3319993286131648e-7,-.3535531759262085,-.3535533845424652,-8.104586157742233e-8,-.1913415640592575,-.4619397521018982,0,7.549790126404332e-8,-.5,-8.104586157742233e-8,-.1913415640592575,-.4619397521018982,-.07322335243225098,-.17677651345729828,-.4619397521018982,-1.3319993286131648e-7,-.3535531759262085,-.3535533845424652,-1.4810109405516414e-7,-.46193957328796387,-.19134175777435303,-.17677679657936096,-.4267764389514923,-.19134175777435303,-.13529910147190094,-.3266404867172241,-.3535533845424652,-1.630022552490118e-7,-.4999997615814209,-2.1855694143368964e-8,-1.4810109405516414e-7,-.46193957328796387,.19134171307086945,-.17677679657936096,-.4267764389514923,.19134171307086945,-.1913418173789978,-.4619394838809967,-2.1855694143368964e-8,-1.3319993286131648e-7,-.3535531759262085,.3535533845424652,-3.634237799587936e-8,-.1913415640592575,.4619397521018982,-.07322331517934799,-.17677652835845947,.4619397521018982,-.13529910147190094,-.3266404867172241,.3535533845424652,-8.104586157742233e-8,-.1913415640592575,-.4619397521018982,-1.3319993286131648e-7,-.3535531759262085,-.3535533845424652,-.13529910147190094,-.3266404867172241,-.3535533845424652,-.07322335243225098,-.17677651345729828,-.4619397521018982,-1.4810109405516414e-7,-.46193957328796387,-.19134175777435303,-1.630022552490118e-7,-.4999997615814209,-2.1855694143368964e-8,-.1913418173789978,-.4619394838809967,-2.1855694143368964e-8,-.17677679657936096,-.4267764389514923,-.19134175777435303,-1.4810109405516414e-7,-.46193957328796387,.19134171307086945,-1.3319993286131648e-7,-.3535531759262085,.3535533845424652,-.13529910147190094,-.3266404867172241,.3535533845424652,-.17677679657936096,-.4267764389514923,.19134171307086945,-3.634237799587936e-8,-.1913415640592575,.4619397521018982,-6.975096056294205e-8,4.660612162865618e-8,.5,-.07322331517934799,-.17677652835845947,.4619397521018982,-.1913418173789978,-.4619394838809967,-2.1855694143368964e-8,-.17677679657936096,-.4267764389514923,.19134171307086945,-.3266407549381256,-.32664042711257935,.19134171307086945,-.3535534143447876,-.35355305671691895,-2.1855694143368964e-8,-.13529910147190094,-.3266404867172241,.3535533845424652,-.07322331517934799,-.17677652835845947,.4619397521018982,-.13529899716377258,-.13529886305332184,.4619397521018982,-.25,-.24999970197677612,.3535533845424652,-.07322335243225098,-.17677651345729828,-.4619397521018982,-.13529910147190094,-.3266404867172241,-.3535533845424652,-.25,-.24999970197677612,-.3535533845424652,-.13529902696609497,-.13529883325099945,-.4619397521018982,-.17677679657936096,-.4267764389514923,-.19134175777435303,-.1913418173789978,-.4619394838809967,-2.1855694143368964e-8,-.3535534143447876,-.35355305671691895,-2.1855694143368964e-8,-.3266407549381256,-.32664042711257935,-.19134175777435303,-.17677679657936096,-.4267764389514923,.19134171307086945,-.13529910147190094,-.3266404867172241,.3535533845424652,-.25,-.24999970197677612,.3535533845424652,-.3266407549381256,-.32664042711257935,.19134171307086945,-.07322331517934799,-.17677652835845947,.4619397521018982,-6.975096056294205e-8,4.660612162865618e-8,.5,-.13529899716377258,-.13529886305332184,.4619397521018982,0,7.549790126404332e-8,-.5,-.07322335243225098,-.17677651345729828,-.4619397521018982,-.13529902696609497,-.13529883325099945,-.4619397521018982,-.13529910147190094,-.3266404867172241,-.3535533845424652,-.17677679657936096,-.4267764389514923,-.19134175777435303,-.3266407549381256,-.32664042711257935,-.19134175777435303,-.25,-.24999970197677612,-.3535533845424652,-.13529902696609497,-.13529883325099945,-.4619397521018982,-.25,-.24999970197677612,-.3535533845424652,-.32664066553115845,-.1352987438440323,-.3535533845424652,-.17677664756774902,-.07322311401367188,-.4619397521018982,-.3266407549381256,-.32664042711257935,-.19134175777435303,-.3535534143447876,-.35355305671691895,-2.1855694143368964e-8,-.4619396924972534,-.19134138524532318,-2.1855694143368964e-8,-.42677661776542664,-.17677639424800873,-.19134175777435303,-.3266407549381256,-.32664042711257935,.19134171307086945,-.25,-.24999970197677612,.3535533845424652,-.32664066553115845,-.1352987438440323,.3535533845424652,-.42677661776542664,-.17677639424800873,.19134171307086945,-.13529899716377258,-.13529886305332184,.4619397521018982,-6.975096056294205e-8,4.660612162865618e-8,.5,-.17677663266658783,-.07322315126657486,.4619397521018982,0,7.549790126404332e-8,-.5,-.13529902696609497,-.13529883325099945,-.4619397521018982,-.17677664756774902,-.07322311401367188,-.4619397521018982,-.25,-.24999970197677612,-.3535533845424652,-.3266407549381256,-.32664042711257935,-.19134175777435303,-.42677661776542664,-.17677639424800873,-.19134175777435303,-.32664066553115845,-.1352987438440323,-.3535533845424652,-.3535534143447876,-.35355305671691895,-2.1855694143368964e-8,-.3266407549381256,-.32664042711257935,.19134171307086945,-.42677661776542664,-.17677639424800873,.19134171307086945,-.4619396924972534,-.19134138524532318,-2.1855694143368964e-8,-.25,-.24999970197677612,.3535533845424652,-.13529899716377258,-.13529886305332184,.4619397521018982,-.17677663266658783,-.07322315126657486,.4619397521018982,-.32664066553115845,-.1352987438440323,.3535533845424652,-.42677661776542664,-.17677639424800873,.19134171307086945,-.32664066553115845,-.1352987438440323,.3535533845424652,-.35355323553085327,2.4416550559180905e-7,.3535533845424652,-.46193960309028625,2.590666667856567e-7,.19134171307086945,-.17677663266658783,-.07322315126657486,.4619397521018982,-6.975096056294205e-8,4.660612162865618e-8,.5,-.19134162366390228,1.2495623025188252e-7,.4619397521018982,0,7.549790126404332e-8,-.5,-.17677664756774902,-.07322311401367188,-.4619397521018982,-.19134162366390228,1.6965971383342549e-7,-.4619397521018982,-.32664066553115845,-.1352987438440323,-.3535533845424652,-.42677661776542664,-.17677639424800873,-.19134175777435303,-.46193960309028625,2.590666667856567e-7,-.19134175777435303,-.35355323553085327,2.4416550559180905e-7,-.3535533845424652,-.4619396924972534,-.19134138524532318,-2.1855694143368964e-8,-.42677661776542664,-.17677639424800873,.19134171307086945,-.46193960309028625,2.590666667856567e-7,.19134171307086945,-.4999998211860657,3.037701503671997e-7,-2.1855694143368964e-8,-.32664066553115845,-.1352987438440323,.3535533845424652,-.17677663266658783,-.07322315126657486,.4619397521018982,-.19134162366390228,1.2495623025188252e-7,.4619397521018982,-.35355323553085327,2.4416550559180905e-7,.3535533845424652,-.17677664756774902,-.07322311401367188,-.4619397521018982,-.32664066553115845,-.1352987438440323,-.3535533845424652,-.35355323553085327,2.4416550559180905e-7,-.3535533845424652,-.19134162366390228,1.6965971383342549e-7,-.4619397521018982,-.42677661776542664,-.17677639424800873,-.19134175777435303,-.4619396924972534,-.19134138524532318,-2.1855694143368964e-8,-.4999998211860657,3.037701503671997e-7,-2.1855694143368964e-8,-.46193960309028625,2.590666667856567e-7,-.19134175777435303,0,7.549790126404332e-8,-.5,-.19134162366390228,1.6965971383342549e-7,-.4619397521018982,-.17677657306194305,.07322343438863754,-.4619397521018982,-.35355323553085327,2.4416550559180905e-7,-.3535533845424652,-.46193960309028625,2.590666667856567e-7,-.19134175777435303,-.4267764687538147,.17677688598632812,-.19134175777435303,-.3266405165195465,.1352991908788681,-.3535533845424652,-.4999998211860657,3.037701503671997e-7,-2.1855694143368964e-8,-.46193960309028625,2.590666667856567e-7,.19134171307086945,-.4267764687538147,.17677688598632812,.19134171307086945,-.4619394838809967,.19134193658828735,-2.1855694143368964e-8,-.35355323553085327,2.4416550559180905e-7,.3535533845424652,-.19134162366390228,1.2495623025188252e-7,.4619397521018982,-.17677658796310425,.07322338968515396,.4619397521018982,-.3266405165195465,.1352991908788681,.3535533845424652,-.19134162366390228,1.6965971383342549e-7,-.4619397521018982,-.35355323553085327,2.4416550559180905e-7,-.3535533845424652,-.3266405165195465,.1352991908788681,-.3535533845424652,-.17677657306194305,.07322343438863754,-.4619397521018982,-.46193960309028625,2.590666667856567e-7,-.19134175777435303,-.4999998211860657,3.037701503671997e-7,-2.1855694143368964e-8,-.4619394838809967,.19134193658828735,-2.1855694143368964e-8,-.4267764687538147,.17677688598632812,-.19134175777435303,-.46193960309028625,2.590666667856567e-7,.19134171307086945,-.35355323553085327,2.4416550559180905e-7,.3535533845424652,-.3266405165195465,.1352991908788681,.3535533845424652,-.4267764687538147,.17677688598632812,.19134171307086945,-.19134162366390228,1.2495623025188252e-7,.4619397521018982,-6.975096056294205e-8,4.660612162865618e-8,.5,-.17677658796310425,.07322338968515396,.4619397521018982,-.3266405165195465,.1352991908788681,.3535533845424652,-.17677658796310425,.07322338968515396,.4619397521018982,-.1352989226579666,.13529905676841736,.4619397521018982,-.2499997317790985,.2500000596046448,.3535533845424652,-.17677657306194305,.07322343438863754,-.4619397521018982,-.3266405165195465,.1352991908788681,-.3535533845424652,-.2499997317790985,.2500000596046448,-.3535533845424652,-.13529889285564423,.13529910147190094,-.4619397521018982,-.4267764687538147,.17677688598632812,-.19134175777435303,-.4619394838809967,.19134193658828735,-2.1855694143368964e-8,-.35355302691459656,.35355350375175476,-2.1855694143368964e-8,-.32664045691490173,.3266408443450928,-.19134175777435303,-.4267764687538147,.17677688598632812,.19134171307086945,-.3266405165195465,.1352991908788681,.3535533845424652,-.2499997317790985,.2500000596046448,.3535533845424652,-.32664045691490173,.3266408443450928,.19134171307086945,-.17677658796310425,.07322338968515396,.4619397521018982,-6.975096056294205e-8,4.660612162865618e-8,.5,-.1352989226579666,.13529905676841736,.4619397521018982,0,7.549790126404332e-8,-.5,-.17677657306194305,.07322343438863754,-.4619397521018982,-.13529889285564423,.13529910147190094,-.4619397521018982,-.3266405165195465,.1352991908788681,-.3535533845424652,-.4267764687538147,.17677688598632812,-.19134175777435303,-.32664045691490173,.3266408443450928,-.19134175777435303,-.2499997317790985,.2500000596046448,-.3535533845424652,-.4619394838809967,.19134193658828735,-2.1855694143368964e-8,-.4267764687538147,.17677688598632812,.19134171307086945,-.32664045691490173,.3266408443450928,.19134171307086945,-.35355302691459656,.35355350375175476,-2.1855694143368964e-8,-.13529889285564423,.13529910147190094,-.4619397521018982,-.2499997317790985,.2500000596046448,-.3535533845424652,-.13529875874519348,.32664069533348083,-.3535533845424652,-.07322317361831665,.1767767071723938,-.4619397521018982,-.32664045691490173,.3266408443450928,-.19134175777435303,-.35355302691459656,.35355350375175476,-2.1855694143368964e-8,-.1913413554430008,.4619397521018982,-2.1855694143368964e-8,-.17677639424800873,.426776647567749,-.19134175777435303,-.32664045691490173,.3266408443450928,.19134171307086945,-.2499997317790985,.2500000596046448,.3535533845424652,-.13529875874519348,.32664069533348083,.3535533845424652,-.17677639424800873,.426776647567749,.19134171307086945,-.1352989226579666,.13529905676841736,.4619397521018982,-6.975096056294205e-8,4.660612162865618e-8,.5,-.07322321832180023,.1767766922712326,.4619397521018982,0,7.549790126404332e-8,-.5,-.13529889285564423,.13529910147190094,-.4619397521018982,-.07322317361831665,.1767767071723938,-.4619397521018982,-.2499997317790985,.2500000596046448,-.3535533845424652,-.32664045691490173,.3266408443450928,-.19134175777435303,-.17677639424800873,.426776647567749,-.19134175777435303,-.13529875874519348,.32664069533348083,-.3535533845424652,-.35355302691459656,.35355350375175476,-2.1855694143368964e-8,-.32664045691490173,.3266408443450928,.19134171307086945,-.17677639424800873,.426776647567749,.19134171307086945,-.1913413554430008,.4619397521018982,-2.1855694143368964e-8,-.2499997317790985,.2500000596046448,.3535533845424652,-.1352989226579666,.13529905676841736,.4619397521018982,-.07322321832180023,.1767766922712326,.4619397521018982,-.13529875874519348,.32664069533348083,.3535533845424652,-.07322321832180023,.1767766922712326,.4619397521018982,-6.975096056294205e-8,4.660612162865618e-8,.5,0,.19134172797203064,.4619397521018982,0,7.549790126404332e-8,-.5,-.07322317361831665,.1767767071723938,-.4619397521018982,0,.19134174287319183,-.4619397521018982,-.13529875874519348,.32664069533348083,-.3535533845424652,-.17677639424800873,.426776647567749,-.19134175777435303,0,.4619397521018982,-.19134175777435303,0,.3535533845424652,-.3535533845424652,-.1913413554430008,.4619397521018982,-2.1855694143368964e-8,-.17677639424800873,.426776647567749,.19134171307086945,0,.4619397521018982,.19134171307086945,0,.5,-2.1855694143368964e-8,0,.19134172797203064,.4619397521018982,0,.3535533845424652,.3535533845424652,-.13529875874519348,.32664069533348083,.3535533845424652,-.07322321832180023,.1767766922712326,.4619397521018982,-.07322317361831665,.1767767071723938,-.4619397521018982,-.13529875874519348,.32664069533348083,-.3535533845424652,0,.3535533845424652,-.3535533845424652,0,.19134174287319183,-.4619397521018982,-.17677639424800873,.426776647567749,-.19134175777435303,-.1913413554430008,.4619397521018982,-2.1855694143368964e-8,0,.5,-2.1855694143368964e-8,0,.4619397521018982,-.19134175777435303,-.17677639424800873,.426776647567749,.19134171307086945,-.13529875874519348,.32664069533348083,.3535533845424652,0,.3535533845424652,.3535533845424652,0,.4619397521018982,.19134171307086945],iron_data_ConstData.coneIndices=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,50,51,52,52,53,54,54,55,56,57,58,59,60,61,62,62,63,64,64,65,48,48,50,52,52,54,56,56,60,62,62,64,48,48,52,56,56,62,48],iron_data_ConstData.conePos=[0,.5,-1,0,0,0,.19134172797203064,.4619397521018982,-1,.19134172797203064,.4619397521018982,-1,0,0,0,.3535533845424652,.3535533845424652,-1,.3535533845424652,.3535533845424652,-1,0,0,0,.4619397521018982,.19134171307086945,-1,.4619397521018982,.19134171307086945,-1,0,0,0,.5,-2.1855694143368964e-8,-1,.5,-2.1855694143368964e-8,-1,0,0,0,.4619397521018982,-.19134175777435303,-1,.4619397521018982,-.19134175777435303,-1,0,0,0,.3535533845424652,-.3535533845424652,-1,.3535533845424652,-.3535533845424652,-1,0,0,0,.19134174287319183,-.4619397521018982,-1,.19134174287319183,-.4619397521018982,-1,0,0,0,7.549790126404332e-8,-.5,-1,7.549790126404332e-8,-.5,-1,0,0,0,-.1913416087627411,-.46193981170654297,-1,-.1913416087627411,-.46193981170654297,-1,0,0,0,-.35355329513549805,-.35355350375175476,-1,-.35355329513549805,-.35355350375175476,-1,0,0,0,-.4619397521018982,-.19134178757667542,-1,-.4619397521018982,-.19134178757667542,-1,0,0,0,-.5,5.962440319251527e-9,-1,-.5,5.962440319251527e-9,-1,0,0,0,-.4619397222995758,.1913418024778366,-1,-.4619397222995758,.1913418024778366,-1,0,0,0,-.35355326533317566,.35355350375175476,-1,-.35355326533317566,.35355350375175476,-1,0,0,0,-.19134148955345154,.46193987131118774,-1,-.19134148955345154,.46193987131118774,-1,0,0,0,0,.5,-1,-.19134148955345154,.46193987131118774,-1,0,.5,-1,.19134172797203064,.4619397521018982,-1,.3535533845424652,.3535533845424652,-1,.4619397521018982,.19134171307086945,-1,.5,-2.1855694143368964e-8,-1,.4619397521018982,-.19134175777435303,-1,.3535533845424652,-.3535533845424652,-1,.19134174287319183,-.4619397521018982,-1,.19134174287319183,-.4619397521018982,-1,7.549790126404332e-8,-.5,-1,-.1913416087627411,-.46193981170654297,-1,-.1913416087627411,-.46193981170654297,-1,-.35355329513549805,-.35355350375175476,-1,-.4619397521018982,-.19134178757667542,-1,-.5,5.962440319251527e-9,-1,-.4619397222995758,.1913418024778366,-1,-.35355326533317566,.35355350375175476,-1],iron_data_GreasePencilData.frameEnd=0,iron_data_GreasePencilData.first=!0,iron_data_MaterialData.uidCounter=0,iron_data_MaterialContext.num=0,iron_data_MeshData.ForceCpuSkinning=!1,iron_data_RenderPath.voxelized=0,iron_data_RenderPath.gpFrame=0,kha_math_FastMatrix4.width=4,kha_math_FastMatrix4.height=4,iron_math_Mat4.helpVec=new iron_math_Vec4,iron_math_Mat4.helpMat=iron_math_Mat4.identity(),iron_math_Quat.helpVec0=new iron_math_Vec4,iron_math_Quat.helpVec1=new iron_math_Vec4,iron_math_Quat.helpVec2=new iron_math_Vec4,iron_object_Animation.m1=iron_math_Mat4.identity(),iron_object_Animation.m2=iron_math_Mat4.identity(),iron_object_Animation.vpos=new iron_math_Vec4,iron_object_Animation.vpos2=new iron_math_Vec4,iron_object_Animation.vscl=new iron_math_Vec4,iron_object_Animation.vscl2=new iron_math_Vec4,iron_object_Animation.q1=new iron_math_Quat,iron_object_Animation.q2=new iron_math_Quat,iron_object_BoneAnimation.m1=iron_math_Mat4.identity(),iron_object_BoneAnimation.vpos=new iron_math_Vec4,iron_object_BoneAnimation.vscl=new iron_math_Vec4,iron_object_BoneAnimation.q1=new iron_math_Quat,iron_object_BoneAnimation.q2=new iron_math_Quat,iron_object_Object.uidCounter=0,iron_object_Object.seed=1,iron_object_CameraObject.temp=new iron_math_Vec4,iron_object_CameraObject.sphereCenter=new iron_math_Vec4,iron_object_CameraObject.q=new iron_math_Quat,iron_object_LampObject.m=iron_math_Mat4.identity(),iron_object_LampObject.p1=new iron_math_Vec4,iron_object_LampObject.p2=new iron_math_Vec4,iron_object_LampObject.p3=new iron_math_Vec4,iron_object_Transform.temp=iron_math_Mat4.identity(),kha_math_FastMatrix3.width=3,kha_math_FastMatrix3.height=3,iron_object_Uniforms.biasMat=new iron_math_Mat4(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1),iron_object_Uniforms.helpMat=iron_math_Mat4.identity(),iron_object_Uniforms.helpMat2=iron_math_Mat4.identity(),iron_object_Uniforms.helpMat3=iron_math_Mat3.identity(),iron_object_Uniforms.helpVec=new iron_math_Vec4,iron_object_Uniforms.helpVec2=new iron_math_Vec4,iron_object_Uniforms.helpQuat=new iron_math_Quat,iron_system_Input.occupied=!1,iron_system_Input.gamepads=[],iron_system_Mouse.buttons=["left","right","middle"],iron_system_Keyboard.keys=["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9",".",",","space","backspace","tab","enter","shift","ctrl","alt","esc","del","back","up","right","left","down"],iron_system_Gamepad.buttonsPS=["cross","circle","square","triangle","l1","r1","l2","r2","share","options","l3","r3","up","down","left","right","home","touchpad"],iron_system_Time.step=.016666666666666666,iron_system_Time.delta=.016666666666666666,iron_system_Time.last=0,iron_system_Time.realDelta=0,iron_system_Tween.eases=[iron_system_Tween.easeLinear,iron_system_Tween.easeExpoOut],iron_system_Tween.anims=[],iron_system_Tween.map=new haxe_ds_ObjectMap,iron_system_Tween.comps=["x","y","z","w"],js_Boot.__toStr={}.toString,js_html_compat_Float32Array.BYTES_PER_ELEMENT=4,js_html_compat_Uint8Array.BYTES_PER_ELEMENT=1,kha__$Color_Color_$Impl_$.Black=-16777216,kha__$Color_Color_$Impl_$.White=-1,kha__$Color_Color_$Impl_$.Red=-65536,kha__$Color_Color_$Impl_$.Blue=-16776961,kha__$Color_Color_$Impl_$.Green=-16711936,kha__$Color_Color_$Impl_$.Magenta=-65281,kha__$Color_Color_$Impl_$.Yellow=-256,kha__$Color_Color_$Impl_$.Cyan=-16711681,kha__$Color_Color_$Impl_$.Purple=-8388480,kha__$Color_Color_$Impl_$.Pink=-16181,kha__$Color_Color_$Impl_$.Orange=-23296,kha__$Color_Color_$Impl_$.Transparent=0,kha__$Color_Color_$Impl_$.invMaxChannelValue=.00392156862745098,kha_FontStyle.Default=new kha_FontStyle(!1,!1,!1),kha_Scheduler.timeWarpSaveTime=1,kha_Scheduler.DIF_COUNT=3,kha_Scheduler.maxframetime=.5,kha_Scheduler.startTime=0,kha_Shaders.sdfgen_fragData0="s3284:I3ZlcnNpb24gMzMwCiNpZmRlZiBHTF9BUkJfc2hhZGluZ19sYW5ndWFnZV80MjBwYWNrCiNleHRlbnNpb24gR0xfQVJCX3NoYWRpbmdfbGFuZ3VhZ2VfNDIwcGFjayA6IHJlcXVpcmUKI2VuZGlmCgp1bmlmb3JtIGludCBtZXNodmVydHM7CnVuaWZvcm0gc2FtcGxlcjJEIG1lc2h0ZXg7CgppbiB2ZWMyIHRleENvb3JkOwpvdXQgdmVjNCBmcmFnQ29sb3I7CgppdmVjMiBnZXRjbyhpbnQgaSkKewogICAgcmV0dXJuIGl2ZWMyKGkgJSAxNjM4NCwgaSAvIDE2Mzg0KTsKfQoKZmxvYXQgZG90Mih2ZWMzIHYpCnsKICAgIHJldHVybiBkb3Qodiwgdik7Cn0KCmZsb2F0IHVkVHJpYW5nbGUodmVjMyBwLCB2ZWMzIGEsIHZlYzMgYiwgdmVjMyBjKQp7CiAgICB2ZWMzIGJhID0gYiAtIGE7CiAgICB2ZWMzIHBhID0gcCAtIGE7CiAgICB2ZWMzIGNiID0gYyAtIGI7CiAgICB2ZWMzIHBiID0gcCAtIGI7CiAgICB2ZWMzIGFjID0gYSAtIGM7CiAgICB2ZWMzIHBjID0gcCAtIGM7CiAgICB2ZWMzIG5vciA9IGNyb3NzKGJhLCBhYyk7CiAgICBmbG9hdCBfNTQ7CiAgICBpZiAoKChzaWduKGRvdChjcm9zcyhiYSwgbm9yKSwgcGEpKSArIHNpZ24oZG90KGNyb3NzKGNiLCBub3IpLCBwYikpKSArIHNpZ24oZG90KGNyb3NzKGFjLCBub3IpLCBwYykpKSA8IDIuMCkKICAgIHsKICAgICAgICBfNTQgPSBtaW4obWluKGRvdDIoKGJhICogY2xhbXAoZG90KGJhLCBwYSkgLyBkb3QyKGJhKSwgMC4wLCAxLjApKSAtIHBhKSwgZG90MigoY2IgKiBjbGFtcChkb3QoY2IsIHBiKSAvIGRvdDIoY2IpLCAwLjAsIDEuMCkpIC0gcGIpKSwgZG90MigoYWMgKiBjbGFtcChkb3QoYWMsIHBjKSAvIGRvdDIoYWMpLCAwLjAsIDEuMCkpIC0gcGMpKTsKICAgIH0KICAgIGVsc2UKICAgIHsKICAgICAgICBfNTQgPSAoZG90KG5vciwgcGEpICogZG90KG5vciwgcGEpKSAvIGRvdDIobm9yKTsKICAgIH0KICAgIHJldHVybiBzcXJ0KF81NCk7Cn0KCmludCBoaXRUcmlhbmdsZSh2ZWMzIG9yaWcsIHZlYzMgZGlyLCB2ZWMzIHYwLCB2ZWMzIHYxLCB2ZWMzIHYyKQp7CiAgICB2ZWMzIGUxID0gdjEgLSB2MDsKICAgIHZlYzMgZTIgPSB2MiAtIHYwOwogICAgdmVjMyBwdmVjID0gY3Jvc3MoZGlyLCBlMik7CiAgICBmbG9hdCBkZXQgPSBkb3QoZTEsIHB2ZWMpOwogICAgaWYgKChkZXQgPCA5Ljk5OTk5OTkzOTIyNTI5MDI5MDc3ODUwMjgyMTkyMjNlLTA5KSAmJiAoZGV0ID4gLTkuOTk5OTk5OTM5MjI1MjkwMjkwNzc4NTAyODIxOTIyM2UtMDkpKQogICAgewogICAgICAgIHJldHVybiAwOwogICAgfQogICAgZmxvYXQgaW52X2RldCA9IDEuMCAvIGRldDsKICAgIHZlYzMgdHZlYyA9IG9yaWcgLSB2MDsKICAgIGZsb2F0IHUgPSBkb3QodHZlYywgcHZlYykgKiBpbnZfZGV0OwogICAgaWYgKCh1IDwgMC4wKSB8fCAodSA%IDEuMCkpCiAgICB7CiAgICAgICAgcmV0dXJuIDA7CiAgICB9CiAgICB2ZWMzIHF2ZWMgPSBjcm9zcyh0dmVjLCBlMSk7CiAgICBmbG9hdCB2ID0gZG90KGRpciwgcXZlYykgKiBpbnZfZGV0OwogICAgZmxvYXQgXzE4NSA9IHY7CiAgICBib29sIF8xODYgPSBfMTg1IDwgMC4wOwogICAgYm9vbCBfMTk0OwogICAgaWYgKCFfMTg2KQogICAgewogICAgICAgIF8xOTQgPSAodSArIHYpID4gMS4wOwogICAgfQogICAgZWxzZQogICAgewogICAgICAgIF8xOTQgPSBfMTg2OwogICAgfQogICAgaWYgKF8xOTQpCiAgICB7CiAgICAgICAgcmV0dXJuIDA7CiAgICB9CiAgICByZXR1cm4gMTsKfQoKdm9pZCBtYWluKCkKewogICAgdmVjMiBjbyA9IHRleENvb3JkICogdmVjMig1MC4wLCAyNTAwLjApOwogICAgdmVjMyBwb3MgPSB2ZWMzKGZsb2F0KGludChjby54KSAlIDUwKSwgZmxvYXQoaW50KGNvLnkpICUgNTApLCAoZmxvYXQoaW50KGNvLnggLyA1MC4wKSkgKiA1MC4wKSArIGZsb2F0KGludChjby55IC8gNTAuMCkpKTsKICAgIHBvcyA9ICgocG9zIC8gdmVjMyg1MC4wKSkgKiAyLjApIC0gdmVjMygxLjApOwogICAgZmxvYXQgZGlzdCA9IDEwMDAwLjA7CiAgICB2ZWMzIGNvbCA9IHZlYzMoMC4wKTsKICAgIGludCBoaXRzID0gMDsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbWVzaHZlcnRzOyBpICs9IDMpCiAgICB7CiAgICAgICAgdmVjMyBhID0gdGV4ZWxGZXRjaChtZXNodGV4LCBnZXRjbyhpKSwgMCkueHl6OwogICAgICAgIHZlYzMgYiA9IHRleGVsRmV0Y2gobWVzaHRleCwgZ2V0Y28oaSArIDEpLCAwKS54eXo7CiAgICAgICAgdmVjMyBjID0gdGV4ZWxGZXRjaChtZXNodGV4LCBnZXRjbyhpICsgMiksIDApLnh5ejsKICAgICAgICBmbG9hdCBkID0gdWRUcmlhbmdsZShwb3MsIGEsIGIsIGMpOwogICAgICAgIGRpc3QgPSBtaW4oZGlzdCwgZCk7CiAgICAgICAgaGl0cyArPSBoaXRUcmlhbmdsZShwb3MsIHZlYzMoMS4wLCAwLjAsIDAuMCksIGEsIGIsIGMpOwogICAgfQogICAgZmxvYXQgZGlzdG91dCA9IGFicyhkaXN0KTsKICAgIGZyYWdDb2xvci54ID0gZGlzdG91dDsKfQoK",kha_Shaders.sdfgen_vertData0="s331:I3ZlcnNpb24gMzMwCiNpZmRlZiBHTF9BUkJfc2hhZGluZ19sYW5ndWFnZV80MjBwYWNrCiNleHRlbnNpb24gR0xfQVJCX3NoYWRpbmdfbGFuZ3VhZ2VfNDIwcGFjayA6IHJlcXVpcmUKI2VuZGlmCgpvdXQgdmVjMiB0ZXhDb29yZDsKaW4gdmVjMiBwb3M7Cgp2b2lkIG1haW4oKQp7CiAgICB0ZXhDb29yZCA9IChwb3MgKiB2ZWMyKDAuNSkpICsgdmVjMigwLjUpOwogICAgZ2xfUG9zaXRpb24gPSB2ZWM0KHBvcywgMC4wLCAxLjApOwp9Cgo",kha_Shaders.painter_colored_fragData0="s274:I3ZlcnNpb24gMzMwCiNpZmRlZiBHTF9BUkJfc2hhZGluZ19sYW5ndWFnZV80MjBwYWNrCiNleHRlbnNpb24gR0xfQVJCX3NoYWRpbmdfbGFuZ3VhZ2VfNDIwcGFjayA6IHJlcXVpcmUKI2VuZGlmCgpvdXQgdmVjNCBGcmFnQ29sb3I7CmluIHZlYzQgZnJhZ21lbnRDb2xvcjsKCnZvaWQgbWFpbigpCnsKICAgIEZyYWdDb2xvciA9IGZyYWdtZW50Q29sb3I7Cn0KCg",kha_Shaders.painter_colored_vertData0="s439:I3ZlcnNpb24gMzMwCiNpZmRlZiBHTF9BUkJfc2hhZGluZ19sYW5ndWFnZV80MjBwYWNrCiNleHRlbnNpb24gR0xfQVJCX3NoYWRpbmdfbGFuZ3VhZ2VfNDIwcGFjayA6IHJlcXVpcmUKI2VuZGlmCgp1bmlmb3JtIG1hdDQgcHJvamVjdGlvbk1hdHJpeDsKCmluIHZlYzMgdmVydGV4UG9zaXRpb247Cm91dCB2ZWM0IGZyYWdtZW50Q29sb3I7CmluIHZlYzQgdmVydGV4Q29sb3I7Cgp2b2lkIG1haW4oKQp7CiAgICBnbF9Qb3NpdGlvbiA9IHByb2plY3Rpb25NYXRyaXggKiB2ZWM0KHZlcnRleFBvc2l0aW9uLCAxLjApOwogICAgZnJhZ21lbnRDb2xvciA9IHZlcnRleENvbG9yOwp9Cgo",kha_Shaders.painter_image_fragData0="s506:I3ZlcnNpb24gMzMwCiNpZmRlZiBHTF9BUkJfc2hhZGluZ19sYW5ndWFnZV80MjBwYWNrCiNleHRlbnNpb24gR0xfQVJCX3NoYWRpbmdfbGFuZ3VhZ2VfNDIwcGFjayA6IHJlcXVpcmUKI2VuZGlmCgp1bmlmb3JtIHNhbXBsZXIyRCB0ZXg7CgppbiB2ZWMyIHRleENvb3JkOwppbiB2ZWM0IGNvbG9yOwpvdXQgdmVjNCBGcmFnQ29sb3I7Cgp2b2lkIG1haW4oKQp7CiAgICB2ZWM0IHRleGNvbG9yID0gdGV4dHVyZSh0ZXgsIHRleENvb3JkKSAqIGNvbG9yOwogICAgdmVjMyBfMzIgPSB0ZXhjb2xvci54eXogKiBjb2xvci53OwogICAgdGV4Y29sb3IgPSB2ZWM0KF8zMi54LCBfMzIueSwgXzMyLnosIHRleGNvbG9yLncpOwogICAgRnJhZ0NvbG9yID0gdGV4Y29sb3I7Cn0KCg",kha_Shaders.painter_image_vertData0="s508:I3ZlcnNpb24gMzMwCiNpZmRlZiBHTF9BUkJfc2hhZGluZ19sYW5ndWFnZV80MjBwYWNrCiNleHRlbnNpb24gR0xfQVJCX3NoYWRpbmdfbGFuZ3VhZ2VfNDIwcGFjayA6IHJlcXVpcmUKI2VuZGlmCgp1bmlmb3JtIG1hdDQgcHJvamVjdGlvbk1hdHJpeDsKCmluIHZlYzMgdmVydGV4UG9zaXRpb247Cm91dCB2ZWMyIHRleENvb3JkOwppbiB2ZWMyIHRleFBvc2l0aW9uOwpvdXQgdmVjNCBjb2xvcjsKaW4gdmVjNCB2ZXJ0ZXhDb2xvcjsKCnZvaWQgbWFpbigpCnsKICAgIGdsX1Bvc2l0aW9uID0gcHJvamVjdGlvbk1hdHJpeCAqIHZlYzQodmVydGV4UG9zaXRpb24sIDEuMCk7CiAgICB0ZXhDb29yZCA9IHRleFBvc2l0aW9uOwogICAgY29sb3IgPSB2ZXJ0ZXhDb2xvcjsKfQoK",kha_Shaders.painter_text_fragData0="s402:I3ZlcnNpb24gMzMwCiNpZmRlZiBHTF9BUkJfc2hhZGluZ19sYW5ndWFnZV80MjBwYWNrCiNleHRlbnNpb24gR0xfQVJCX3NoYWRpbmdfbGFuZ3VhZ2VfNDIwcGFjayA6IHJlcXVpcmUKI2VuZGlmCgp1bmlmb3JtIHNhbXBsZXIyRCB0ZXg7CgpvdXQgdmVjNCBGcmFnQ29sb3I7CmluIHZlYzQgZnJhZ21lbnRDb2xvcjsKaW4gdmVjMiB0ZXhDb29yZDsKCnZvaWQgbWFpbigpCnsKICAgIEZyYWdDb2xvciA9IHZlYzQoZnJhZ21lbnRDb2xvci54eXosIHRleHR1cmUodGV4LCB0ZXhDb29yZCkueCAqIGZyYWdtZW50Q29sb3Iudyk7Cn0KCg",kha_Shaders.painter_text_vertData0="s530:I3ZlcnNpb24gMzMwCiNpZmRlZiBHTF9BUkJfc2hhZGluZ19sYW5ndWFnZV80MjBwYWNrCiNleHRlbnNpb24gR0xfQVJCX3NoYWRpbmdfbGFuZ3VhZ2VfNDIwcGFjayA6IHJlcXVpcmUKI2VuZGlmCgp1bmlmb3JtIG1hdDQgcHJvamVjdGlvbk1hdHJpeDsKCmluIHZlYzMgdmVydGV4UG9zaXRpb247Cm91dCB2ZWMyIHRleENvb3JkOwppbiB2ZWMyIHRleFBvc2l0aW9uOwpvdXQgdmVjNCBmcmFnbWVudENvbG9yOwppbiB2ZWM0IHZlcnRleENvbG9yOwoKdm9pZCBtYWluKCkKewogICAgZ2xfUG9zaXRpb24gPSBwcm9qZWN0aW9uTWF0cml4ICogdmVjNCh2ZXJ0ZXhQb3NpdGlvbiwgMS4wKTsKICAgIHRleENvb3JkID0gdGV4UG9zaXRpb247CiAgICBmcmFnbWVudENvbG9yID0gdmVydGV4Q29sb3I7Cn0KCg",kha_Shaders.painter_video_fragData0="s506:I3ZlcnNpb24gMzMwCiNpZmRlZiBHTF9BUkJfc2hhZGluZ19sYW5ndWFnZV80MjBwYWNrCiNleHRlbnNpb24gR0xfQVJCX3NoYWRpbmdfbGFuZ3VhZ2VfNDIwcGFjayA6IHJlcXVpcmUKI2VuZGlmCgp1bmlmb3JtIHNhbXBsZXIyRCB0ZXg7CgppbiB2ZWMyIHRleENvb3JkOwppbiB2ZWM0IGNvbG9yOwpvdXQgdmVjNCBGcmFnQ29sb3I7Cgp2b2lkIG1haW4oKQp7CiAgICB2ZWM0IHRleGNvbG9yID0gdGV4dHVyZSh0ZXgsIHRleENvb3JkKSAqIGNvbG9yOwogICAgdmVjMyBfMzIgPSB0ZXhjb2xvci54eXogKiBjb2xvci53OwogICAgdGV4Y29sb3IgPSB2ZWM0KF8zMi54LCBfMzIueSwgXzMyLnosIHRleGNvbG9yLncpOwogICAgRnJhZ0NvbG9yID0gdGV4Y29sb3I7Cn0KCg",kha_Shaders.painter_video_vertData0="s508:I3ZlcnNpb24gMzMwCiNpZmRlZiBHTF9BUkJfc2hhZGluZ19sYW5ndWFnZV80MjBwYWNrCiNleHRlbnNpb24gR0xfQVJCX3NoYWRpbmdfbGFuZ3VhZ2VfNDIwcGFjayA6IHJlcXVpcmUKI2VuZGlmCgp1bmlmb3JtIG1hdDQgcHJvamVjdGlvbk1hdHJpeDsKCmluIHZlYzMgdmVydGV4UG9zaXRpb247Cm91dCB2ZWMyIHRleENvb3JkOwppbiB2ZWMyIHRleFBvc2l0aW9uOwpvdXQgdmVjNCBjb2xvcjsKaW4gdmVjNCB2ZXJ0ZXhDb2xvcjsKCnZvaWQgbWFpbigpCnsKICAgIGdsX1Bvc2l0aW9uID0gcHJvamVjdGlvbk1hdHJpeCAqIHZlYzQodmVydGV4UG9zaXRpb24sIDEuMCk7CiAgICB0ZXhDb29yZCA9IHRleFBvc2l0aW9uOwogICAgY29sb3IgPSB2ZXJ0ZXhDb2xvcjsKfQoK",kha_System.renderListeners=[],kha_System.foregroundListeners=[],kha_System.resumeListeners=[],kha_System.pauseListeners=[],kha_System.backgroundListeners=[],kha_System.shutdownListeners=[],kha_System.dropFilesListeners=[],kha_SystemImpl.maxGamepads=4,kha_audio2_Audio1.channelCount=16,kha_audio2_ogg_tools_Crc32.POLY=79764919,kha_audio2_ogg_vorbis_VorbisDecodeState.INVALID_BITS=-1,kha_audio2_ogg_vorbis_VorbisTools.EOP=-1,kha_audio2_ogg_vorbis_VorbisTools.M__PI=3.141592653589793,kha_audio2_ogg_vorbis_VorbisTools.DIVTAB_NUMER=32,kha_audio2_ogg_vorbis_VorbisTools.DIVTAB_DENOM=64,kha_audio2_ogg_vorbis_VorbisTools.INVERSE_DB_TABLE=[1.0649863e-7,1.1341951e-7,1.2079015e-7,1.2863978e-7,1.3699951e-7,1.4590251e-7,1.5538408e-7,1.6548181e-7,1.7623575e-7,1.8768855e-7,1.9988561e-7,2.128753e-7,2.2670913e-7,2.4144197e-7,2.5713223e-7,2.7384213e-7,2.9163793e-7,3.1059021e-7,3.3077411e-7,3.5226968e-7,3.7516214e-7,3.9954229e-7,4.255068e-7,4.5315863e-7,4.8260743e-7,5.1396998e-7,5.4737065e-7,5.8294187e-7,6.2082472e-7,6.6116941e-7,7.0413592e-7,7.4989464e-7,7.9862701e-7,8.505263e-7,9.0579828e-7,9.6466216e-7,10273513e-13,10941144e-13,11652161e-13,12409384e-13,13215816e-13,14074654e-13,14989305e-13,15963394e-13,17000785e-13,18105592e-13,19282195e-13,20535261e-13,21869758e-13,23290978e-13,24804557e-13,26416497e-13,2813319e-12,29961443e-13,31908506e-13,33982101e-13,36190449e-13,38542308e-13,41047004e-13,4371447e-12,46555282e-13,49580707e-13,5280274e-12,5623416e-12,59888572e-13,63780469e-13,67925283e-13,72339451e-13,77040476e-13,82047e-10,87378876e-13,93057248e-13,99104632e-13,10554501e-12,11240392e-12,11970856e-12,12748789e-12,13577278e-12,14459606e-12,15399272e-12,16400004e-12,17465768e-12,18600792e-12,19809576e-12,21096914e-12,22467911e-12,23928002e-12,25482978e-12,27139006e-12,28902651e-12,30780908e-12,32781225e-12,34911534e-12,37180282e-12,39596466e-12,42169667e-12,4491009e-11,47828601e-12,50936773e-12,54246931e-12,57772202e-12,61526565e-12,65524908e-12,69783085e-12,74317983e-12,79147585e-12,8429104e-11,89768747e-12,95602426e-12,.00010181521,.00010843174,.00011547824,.00012298267,.00013097477,.00013948625,.00014855085,.00015820453,.00016848555,.00017943469,.00019109536,.00020351382,.00021673929,.00023082423,.00024582449,.00026179955,.00027881276,.00029693158,.00031622787,.00033677814,.00035866388,.00038197188,.00040679456,.00043323036,.00046138411,.00049136745,.00052329927,.00055730621,.00059352311,.00063209358,.00067317058,716917e-9,.0007635063,.00081312324,.00086596457,.00092223983,.00098217216,.0010459992,.0011139742,.0011863665,.0012634633,.0013455702,.0014330129,.0015261382,.0016253153,.0017309374,.0018434235,.0019632195,.0020908006,.0022266726,.0023713743,.0025254795,.0026895994,.0028643847,.0030505286,.0032487691,.0034598925,.0036847358,.0039241906,.0041792066,.004450795,.0047400328,.0050480668,.0053761186,.0057254891,.0060975636,.0064938176,.0069158225,.0073652516,.0078438871,.0083536271,.0088964928,.009474637,.010090352,.01074608,.011444421,.012188144,.012980198,.013823725,.014722068,.015678791,.016697687,.017782797,.018938423,.020169149,.021479854,.022875735,.02436233,.025945531,.027631618,.029427276,.031339626,.033376252,.035545228,.037855157,.040315199,.042935108,.045725273,.048696758,.051861348,.055231591,.05882085,.062643361,.066714279,.071049749,.075666962,.080584227,.085821044,.091398179,.097337747,.1036633,.11039993,.11757434,.12521498,.13335215,.14201813,.15124727,.16107617,.1715438,.18269168,.19456402,.20720788,.22067342,.23501402,.25028656,.26655159,.28387361,.30232132,.32196786,.34289114,.36517414,.38890521,.41417847,.44109412,.4697589,.50028648,.53279791,.56742212,.6042964,.64356699,.68538959,.72993007,.77736504,.8278826,.88168307,.9389798,1],kha_audio2_ogg_vorbis_data_Codebook.NO_CODE=255,kha_audio2_ogg_vorbis_data_Codebook.delay=0,kha_audio2_ogg_vorbis_data_Header.PACKET_ID=1,kha_audio2_ogg_vorbis_data_Header.PACKET_COMMENT=3,kha_audio2_ogg_vorbis_data_Header.PACKET_SETUP=5,kha_audio2_ogg_vorbis_data_PageFlag.CONTINUED_PACKET=1,kha_audio2_ogg_vorbis_data_PageFlag.FIRST_PAGE=2,kha_audio2_ogg_vorbis_data_PageFlag.LAST_PAGE=4,kha_audio2_ogg_vorbis_data_Setting.MAX_CHANNELS=16,kha_audio2_ogg_vorbis_data_Setting.PUSHDATA_CRC_COUNT=4,kha_audio2_ogg_vorbis_data_Setting.FAST_HUFFMAN_LENGTH=10,kha_audio2_ogg_vorbis_data_Setting.FAST_HUFFMAN_TABLE_SIZE=1024,kha_audio2_ogg_vorbis_data_Setting.FAST_HUFFMAN_TABLE_MASK=1023,kha_graphics2_truetype_StbTruetype.STBTT_vmove=1,kha_graphics2_truetype_StbTruetype.STBTT_vline=2,kha_graphics2_truetype_StbTruetype.STBTT_vcurve=3,kha_graphics2_truetype_StbTruetype.STBTT_MACSTYLE_DONTCARE=0,kha_graphics2_truetype_StbTruetype.STBTT_MACSTYLE_BOLD=1,kha_graphics2_truetype_StbTruetype.STBTT_MACSTYLE_ITALIC=2,kha_graphics2_truetype_StbTruetype.STBTT_MACSTYLE_UNDERSCORE=4,kha_graphics2_truetype_StbTruetype.STBTT_MACSTYLE_NONE=8,kha_graphics2_truetype_StbTruetype.STBTT_PLATFORM_ID_UNICODE=0,kha_graphics2_truetype_StbTruetype.STBTT_PLATFORM_ID_MAC=1,kha_graphics2_truetype_StbTruetype.STBTT_PLATFORM_ID_ISO=2,kha_graphics2_truetype_StbTruetype.STBTT_PLATFORM_ID_MICROSOFT=3,kha_graphics2_truetype_StbTruetype.STBTT_UNICODE_EID_UNICODE_1_0=0,kha_graphics2_truetype_StbTruetype.STBTT_UNICODE_EID_UNICODE_1_1=1,kha_graphics2_truetype_StbTruetype.STBTT_UNICODE_EID_ISO_10646=2,kha_graphics2_truetype_StbTruetype.STBTT_UNICODE_EID_UNICODE_2_0_BMP=3,kha_graphics2_truetype_StbTruetype.STBTT_UNICODE_EID_UNICODE_2_0_FULL=4,kha_graphics2_truetype_StbTruetype.STBTT_MS_EID_SYMBOL=0,kha_graphics2_truetype_StbTruetype.STBTT_MS_EID_UNICODE_BMP=1,kha_graphics2_truetype_StbTruetype.STBTT_MS_EID_SHIFTJIS=2,kha_graphics2_truetype_StbTruetype.STBTT_MS_EID_UNICODE_FULL=10,kha_graphics2_truetype_StbTruetype.STBTT_MAC_EID_ROMAN=0,kha_graphics2_truetype_StbTruetype.STBTT_MAC_EID_ARABIC=4,kha_graphics2_truetype_StbTruetype.STBTT_MAC_EID_JAPANESE=1,kha_graphics2_truetype_StbTruetype.STBTT_MAC_EID_HEBREW=5,kha_graphics2_truetype_StbTruetype.STBTT_MAC_EID_CHINESE_TRAD=2,kha_graphics2_truetype_StbTruetype.STBTT_MAC_EID_GREEK=6,kha_graphics2_truetype_StbTruetype.STBTT_MAC_EID_KOREAN=3,kha_graphics2_truetype_StbTruetype.STBTT_MAC_EID_RUSSIAN=7,kha_graphics2_truetype_StbTruetype.STBTT_MS_LANG_ENGLISH=1033,kha_graphics2_truetype_StbTruetype.STBTT_MS_LANG_ITALIAN=1040,kha_graphics2_truetype_StbTruetype.STBTT_MS_LANG_CHINESE=2052,kha_graphics2_truetype_StbTruetype.STBTT_MS_LANG_JAPANESE=1041,kha_graphics2_truetype_StbTruetype.STBTT_MS_LANG_DUTCH=1043,kha_graphics2_truetype_StbTruetype.STBTT_MS_LANG_KOREAN=1042,kha_graphics2_truetype_StbTruetype.STBTT_MS_LANG_FRENCH=1036,kha_graphics2_truetype_StbTruetype.STBTT_MS_LANG_RUSSIAN=1049,kha_graphics2_truetype_StbTruetype.STBTT_MS_LANG_GERMAN=1031,kha_graphics2_truetype_StbTruetype.STBTT_MS_LANG_SPANISH=1033,kha_graphics2_truetype_StbTruetype.STBTT_MS_LANG_HEBREW=1037,kha_graphics2_truetype_StbTruetype.STBTT_MS_LANG_SWEDISH=1053,kha_graphics2_truetype_StbTruetype.STBTT_MAC_LANG_ENGLISH=0,kha_graphics2_truetype_StbTruetype.STBTT_MAC_LANG_JAPANESE=11,kha_graphics2_truetype_StbTruetype.STBTT_MAC_LANG_ARABIC=12,kha_graphics2_truetype_StbTruetype.STBTT_MAC_LANG_KOREAN=23,kha_graphics2_truetype_StbTruetype.STBTT_MAC_LANG_DUTCH=4,kha_graphics2_truetype_StbTruetype.STBTT_MAC_LANG_RUSSIAN=32,kha_graphics2_truetype_StbTruetype.STBTT_MAC_LANG_FRENCH=1,kha_graphics2_truetype_StbTruetype.STBTT_MAC_LANG_SPANISH=6,kha_graphics2_truetype_StbTruetype.STBTT_MAC_LANG_GERMAN=2,kha_graphics2_truetype_StbTruetype.STBTT_MAC_LANG_SWEDISH=5,kha_graphics2_truetype_StbTruetype.STBTT_MAC_LANG_HEBREW=10,kha_graphics2_truetype_StbTruetype.STBTT_MAC_LANG_CHINESE_SIMPLIFIED=33,kha_graphics2_truetype_StbTruetype.STBTT_MAC_LANG_ITALIAN=3,kha_graphics2_truetype_StbTruetype.STBTT_MAC_LANG_CHINESE_TRAD=19,kha_graphics2_truetype_StbTruetype.STBTT_MAX_OVERSAMPLE=8,kha_graphics2_truetype_StbTruetype.STBTT_RASTERIZER_VERSION=2,kha_graphics4_ImageShaderPainter.bufferSize=1500,kha_graphics4_ImageShaderPainter.vertexSize=9,kha_graphics4_ColoredShaderPainter.bufferSize=100,kha_graphics4_ColoredShaderPainter.triangleBufferSize=100,kha_graphics4_TextShaderPainter.bufferSize=100,kha_input_Gamepad.__meta__={fields:{sendAxisEvent:{input:null},sendButtonEvent:{input:null}}},kha_input_Gamepad.instances=[],kha_input_Keyboard.__meta__={fields:{sendDownEvent:{input:null},sendUpEvent:{input:null},sendPressEvent:{input:null}}},kha_input_Mouse.__meta__={fields:{sendLeaveEvent:{input:null},sendDownEvent:{input:null},sendUpEvent:{input:null},sendMoveEvent:{input:null},sendWheelEvent:{input:null}}},kha_math_Matrix3.width=3,kha_math_Matrix3.height=3,kha_math_Matrix4.width=4,kha_math_Matrix4.height=4,kha_network_ControllerBuilder.nextId=0,Main.main();