text: !function($hx_exports,$global){"use strict";function $extend(a,b){function c(){}c.prototype=a;var d=new c;for(var e in b)d[e]=b[e];return b.toString!==Object.prototype.toString&&(d.toString=b.toString),d}function $bind(a,b){if(null==b)return null;null==b.__id__&&(b.__id__=$fid++);var c;return null==a.hx__closures__?a.hx__closures__={}:c=a.hx__closures__[b.__id__],null==c&&(c=function(){return c.method.apply(c.scope,arguments)},c.scope=a,c.method=b,a.hx__closures__[b.__id__]=c),c}$hx_exports.kha=$hx_exports.kha||{},$hx_exports.kha.input=$hx_exports.kha.input||{},$hx_exports.kha._Color=$hx_exports.kha._Color||{};var $hxClasses={},$estr=function(){return js_Boot.__string_rec(this,"")},EReg=function(a,b){this.r=new RegExp(a,b.split("u").join(""))};$hxClasses.EReg=EReg,EReg.__name__=["EReg"],EReg.prototype={match:function(a){return this.r.global&&(this.r.lastIndex=0),this.r.m=this.r.exec(a),this.r.s=a,null!=this.r.m},matched:function(a){if(null!=this.r.m&&a>=0&&a<this.r.m.length)return this.r.m[a];throw new js__$Boot_HaxeError("EReg::matched")},__class__:EReg};var HxOverrides=function(){};$hxClasses.HxOverrides=HxOverrides,HxOverrides.__name__=["HxOverrides"],HxOverrides.strDate=function(a){switch(a.length){case 8:var c=a.split(":"),d=new Date;return d.setTime(0),d.setUTCHours(c[0]),d.setUTCMinutes(c[1]),d.setUTCSeconds(c[2]),d;case 10:var e=a.split("-");return new Date(e[0],e[1]-1,e[2],0,0,0);case 19:var f=a.split(" "),g=f[0].split("-"),h=f[1].split(":");return new Date(g[0],g[1]-1,g[2],h[0],h[1],h[2]);default:throw new js__$Boot_HaxeError("Invalid date format : "+a)}},HxOverrides.cca=function(a,b){var c=a.charCodeAt(b);if(c==c)return c},HxOverrides.substr=function(a,b,c){if(null==c)c=a.length;else if(c<0){if(0!=b)return"";c=a.length+c}return a.substr(b,c)},HxOverrides.remove=function(a,b){var c=a.indexOf(b);return-1!=c&&(a.splice(c,1),!0)},HxOverrides.iter=function(a){return{cur:0,arr:a,hasNext:function(){return this.cur<this.arr.length},next:function(){return this.arr[this.cur++]}}};var List=function(){this.length=0};$hxClasses.List=List,List.__name__=["List"],List.prototype={add:function(a){var b=new _$List_ListNode(a,null);null==this.h?this.h=b:this.q.next=b,this.q=b,this.length++},push:function(a){var b=new _$List_ListNode(a,this.h);this.h=b,null==this.q&&(this.q=b),this.length++},first:function(){return null==this.h?null:this.h.item},remove:function(a){for(var b=null,c=this.h;null!=c;){if(c.item==a)return null==b?this.h=c.next:b.next=c.next,this.q==c&&(this.q=b),this.length--,!0;b=c,c=c.next}return!1},iterator:function(){return new _$List_ListIterator(this.h)},__class__:List};var _$List_ListNode=function(a,b){this.item=a,this.next=b};$hxClasses["_List.ListNode"]=_$List_ListNode,_$List_ListNode.__name__=["_List","ListNode"],_$List_ListNode.prototype={__class__:_$List_ListNode};var _$List_ListIterator=function(a){this.head=a};$hxClasses["_List.ListIterator"]=_$List_ListIterator,_$List_ListIterator.__name__=["_List","ListIterator"],_$List_ListIterator.prototype={hasNext:function(){return null!=this.head},next:function(){var a=this.head.item;return this.head=this.head.next,a},__class__:_$List_ListIterator};var Main=function(){};$hxClasses.Main=Main,Main.__name__=["Main"],Main.main=function(){Main.state=1,Main.state--,Main.start()},Main.start=function(){Main.state>0||(armory_object_Uniforms.register(),kha_System.init({title:"vrisland",width:960,height:540,samplesPerPixel:4},function(){iron_App.init(function(){iron_App.notifyOnRender2D(armory_trait_internal_LoadBar.render),iron_Scene.setActive("Scene",function(a){})})}))},Math.__name__=["Math"];var Reflect=function(){};$hxClasses.Reflect=Reflect,Reflect.__name__=["Reflect"],Reflect.field=function(a,b){try{return a[b]}catch(a){return null}},Reflect.getProperty=function(a,b){var c;if(null==a)return null;var d;return a.__properties__?(c=a.__properties__["get_"+b],d=c):d=!1,d?a[c]():a[b]},Reflect.setProperty=function(a,b,c){var d,e;a.__properties__?(d=a.__properties__["set_"+b],e=d):e=!1,e?a[d](c):a[b]=c},Reflect.fields=function(a){var b=[];if(null!=a){var c=Object.prototype.hasOwnProperty;for(var d in a)"__id__"!=d&&"hx__closures__"!=d&&c.call(a,d)&&b.push(d)}return b},Reflect.isFunction=function(a){return"function"==typeof a&&!(a.__name__||a.__ename__)};var Std=function(){};$hxClasses.Std=Std,Std.__name__=["Std"],Std.string=function(a){return js_Boot.__string_rec(a,"")},Std.parseInt=function(a){var b=parseInt(a,10);return 0!=b||120!=HxOverrides.cca(a,1)&&88!=HxOverrides.cca(a,1)||(b=parseInt(a)),isNaN(b)?null:b},Std.random=function(a){return a<=0?0:Math.floor(Math.random()*a)};var StringTools=function(){};$hxClasses.StringTools=StringTools,StringTools.__name__=["StringTools"],StringTools.endsWith=function(a,b){var c=b.length,d=a.length;return d>=c&&HxOverrides.substr(a,d-c,c)==b},StringTools.replace=function(a,b,c){return a.split(b).join(c)};var ValueType=$hxClasses.ValueType={__ename__:!0,__constructs__:["TNull","TInt","TFloat","TBool","TObject","TFunction","TClass","TEnum","TUnknown"]};ValueType.TNull=["TNull",0],ValueType.TNull.toString=$estr,ValueType.TNull.__enum__=ValueType,ValueType.TInt=["TInt",1],ValueType.TInt.toString=$estr,ValueType.TInt.__enum__=ValueType,ValueType.TFloat=["TFloat",2],ValueType.TFloat.toString=$estr,ValueType.TFloat.__enum__=ValueType,ValueType.TBool=["TBool",3],ValueType.TBool.toString=$estr,ValueType.TBool.__enum__=ValueType,ValueType.TObject=["TObject",4],ValueType.TObject.toString=$estr,ValueType.TObject.__enum__=ValueType,ValueType.TFunction=["TFunction",5],ValueType.TFunction.toString=$estr,ValueType.TFunction.__enum__=ValueType,ValueType.TClass=function(a){var b=["TClass",6,a];return b.__enum__=ValueType,b.toString=$estr,b},ValueType.TEnum=function(a){var b=["TEnum",7,a];return b.__enum__=ValueType,b.toString=$estr,b},ValueType.TUnknown=["TUnknown",8],ValueType.TUnknown.toString=$estr,ValueType.TUnknown.__enum__=ValueType;var Type=function(){};$hxClasses.Type=Type,Type.__name__=["Type"],Type.getClassName=function(a){var b=a.__name__;return null==b?null:b.join(".")},Type.resolveClass=function(a){var b=$hxClasses[a];return null!=b&&b.__name__?b:null},Type.resolveEnum=function(a){var b=$hxClasses[a];return null!=b&&b.__ename__?b:null},Type.createInstance=function(a,b){switch(b.length){case 0:return new a;case 1:return new a(b[0]);case 2:return new a(b[0],b[1]);case 3:return new a(b[0],b[1],b[2]);case 4:return new a(b[0],b[1],b[2],b[3]);case 5:return new a(b[0],b[1],b[2],b[3],b[4]);case 6:return new a(b[0],b[1],b[2],b[3],b[4],b[5]);case 7:return new a(b[0],b[1],b[2],b[3],b[4],b[5],b[6]);case 8:return new a(b[0],b[1],b[2],b[3],b[4],b[5],b[6],b[7]);case 9:return new a(b[0],b[1],b[2],b[3],b[4],b[5],b[6],b[7],b[8]);case 10:return new a(b[0],b[1],b[2],b[3],b[4],b[5],b[6],b[7],b[8],b[9]);case 11:return new a(b[0],b[1],b[2],b[3],b[4],b[5],b[6],b[7],b[8],b[9],b[10]);case 12:return new a(b[0],b[1],b[2],b[3],b[4],b[5],b[6],b[7],b[8],b[9],b[10],b[11]);case 13:return new a(b[0],b[1],b[2],b[3],b[4],b[5],b[6],b[7],b[8],b[9],b[10],b[11],b[12]);case 14:return new a(b[0],b[1],b[2],b[3],b[4],b[5],b[6],b[7],b[8],b[9],b[10],b[11],b[12],b[13]);default:throw new js__$Boot_HaxeError("Too many arguments")}},Type.createEmptyInstance=function(a){function b(){}return b.prototype=a.prototype,new b},Type.createEnum=function(a,b,c){var d=Reflect.field(a,b);if(null==d)throw new js__$Boot_HaxeError("No such constructor "+b);if(Reflect.isFunction(d)){if(null==c)throw new js__$Boot_HaxeError("Constructor "+b+" need parameters");return d.apply(a,c)}if(null!=c&&0!=c.length)throw new js__$Boot_HaxeError("Constructor "+b+" does not need parameters");return d},Type.typeof=function(a){switch(typeof a){case"boolean":return ValueType.TBool;case"function":return a.__name__||a.__ename__?ValueType.TObject:ValueType.TFunction;case"number":return Math.ceil(a)==a%2147483648?ValueType.TInt:ValueType.TFloat;case"object":if(null==a)return ValueType.TNull;var c=a.__enum__;if(null!=c)return ValueType.TEnum(c);var d=js_Boot.getClass(a);return null!=d?ValueType.TClass(d):ValueType.TObject;case"string":return ValueType.TClass(String);case"undefined":return ValueType.TNull;default:return ValueType.TUnknown}};var _$UInt_UInt_$Impl_$={};$hxClasses["_UInt.UInt_Impl_"]=_$UInt_UInt_$Impl_$,_$UInt_UInt_$Impl_$.__name__=["_UInt","UInt_Impl_"],_$UInt_UInt_$Impl_$.gt=function(a,b){var c=a<0;return c!=b<0?c:a>b},_$UInt_UInt_$Impl_$.gte=function(a,b){var c=a<0;return c!=b<0?c:a>=b},_$UInt_UInt_$Impl_$.toFloat=function(a){var b=a;return b<0?4294967296+b:b+0};var armory_data_ConstData=function(){};$hxClasses["armory.data.ConstData"]=armory_data_ConstData,armory_data_ConstData.__name__=["armory","data","ConstData"],armory_data_ConstData.initLTC=function(){armory_data_ConstData.ltcMatTex=kha_Image.fromBytes(haxe_io_Bytes.ofData(haxe_io__$Float32Array_Float32Array_$Impl_$.fromArray(armory_data_ConstData.ltc_mat).buffer),64,64,kha_graphics4_TextureFormat.RGBA128),armory_data_ConstData.ltcMagTex=kha_Image.fromBytes(haxe_io_Bytes.ofData(haxe_io__$Float32Array_Float32Array_$Impl_$.fromArray(armory_data_ConstData.ltc_mag).buffer),64,64,kha_graphics4_TextureFormat.A32)};var armory_object_Uniforms=function(){};$hxClasses["armory.object.Uniforms"]=armory_object_Uniforms,armory_object_Uniforms.__name__=["armory","object","Uniforms"],armory_object_Uniforms.register=function(){iron_object_Uniforms.externalTextureLinks=[armory_object_Uniforms.externalTextureLink],iron_object_Uniforms.externalVec3Links=[armory_object_Uniforms.externalVec3Link],iron_object_Uniforms.externalFloatLinks=[armory_object_Uniforms.externalFloatLink]},armory_object_Uniforms.externalTextureLink=function(a){if("_smaaSearch"==a){var b=iron_Scene.active.embedded;return null!=__map_reserved["smaa_search.png"]?b.getReserved("smaa_search.png"):b.h["smaa_search.png"]}if("_smaaArea"==a){var c=iron_Scene.active.embedded;return null!=__map_reserved["smaa_area.png"]?c.getReserved("smaa_area.png"):c.h["smaa_area.png"]}return"_ltcMat"==a?(null==armory_data_ConstData.ltcMatTex&&armory_data_ConstData.initLTC(),armory_data_ConstData.ltcMatTex):"_ltcMag"==a?(null==armory_data_ConstData.ltcMagTex&&armory_data_ConstData.initLTC(),armory_data_ConstData.ltcMagTex):null},armory_object_Uniforms.externalVec3Link=function(a){var b=null;return"_hosekA"==a?(null==armory_renderpath_HosekWilkie.data&&armory_renderpath_HosekWilkie.init(iron_Scene.active.world),b=iron_object_Uniforms.helpVec,b.x=armory_renderpath_HosekWilkie.data.A.x,b.y=armory_renderpath_HosekWilkie.data.A.y,b.z=armory_renderpath_HosekWilkie.data.A.z):"_hosekB"==a?(null==armory_renderpath_HosekWilkie.data&&armory_renderpath_HosekWilkie.init(iron_Scene.active.world),b=iron_object_Uniforms.helpVec,b.x=armory_renderpath_HosekWilkie.data.B.x,b.y=armory_renderpath_HosekWilkie.data.B.y,b.z=armory_renderpath_HosekWilkie.data.B.z):"_hosekC"==a?(null==armory_renderpath_HosekWilkie.data&&armory_renderpath_HosekWilkie.init(iron_Scene.active.world),b=iron_object_Uniforms.helpVec,b.x=armory_renderpath_HosekWilkie.data.C.x,b.y=armory_renderpath_HosekWilkie.data.C.y,b.z=armory_renderpath_HosekWilkie.data.C.z):"_hosekD"==a?(null==armory_renderpath_HosekWilkie.data&&armory_renderpath_HosekWilkie.init(iron_Scene.active.world),b=iron_object_Uniforms.helpVec,b.x=armory_renderpath_HosekWilkie.data.D.x,b.y=armory_renderpath_HosekWilkie.data.D.y,b.z=armory_renderpath_HosekWilkie.data.D.z):"_hosekE"==a?(null==armory_renderpath_HosekWilkie.data&&armory_renderpath_HosekWilkie.init(iron_Scene.active.world),b=iron_object_Uniforms.helpVec,b.x=armory_renderpath_HosekWilkie.data.E.x,b.y=armory_renderpath_HosekWilkie.data.E.y,b.z=armory_renderpath_HosekWilkie.data.E.z):"_hosekF"==a?(null==armory_renderpath_HosekWilkie.data&&armory_renderpath_HosekWilkie.init(iron_Scene.active.world),b=iron_object_Uniforms.helpVec,b.x=armory_renderpath_HosekWilkie.data.F.x,b.y=armory_renderpath_HosekWilkie.data.F.y,b.z=armory_renderpath_HosekWilkie.data.F.z):"_hosekG"==a?(null==armory_renderpath_HosekWilkie.data&&armory_renderpath_HosekWilkie.init(iron_Scene.active.world),b=iron_object_Uniforms.helpVec,b.x=armory_renderpath_HosekWilkie.data.G.x,b.y=armory_renderpath_HosekWilkie.data.G.y,b.z=armory_renderpath_HosekWilkie.data.G.z):"_hosekH"==a?(null==armory_renderpath_HosekWilkie.data&&armory_renderpath_HosekWilkie.init(iron_Scene.active.world),b=iron_object_Uniforms.helpVec,b.x=armory_renderpath_HosekWilkie.data.H.x,b.y=armory_renderpath_HosekWilkie.data.H.y,b.z=armory_renderpath_HosekWilkie.data.H.z):"_hosekI"==a?(null==armory_renderpath_HosekWilkie.data&&armory_renderpath_HosekWilkie.init(iron_Scene.active.world),b=iron_object_Uniforms.helpVec,b.x=armory_renderpath_HosekWilkie.data.I.x,b.y=armory_renderpath_HosekWilkie.data.I.y,b.z=armory_renderpath_HosekWilkie.data.I.z):"_hosekZ"==a&&(null==armory_renderpath_HosekWilkie.data&&armory_renderpath_HosekWilkie.init(iron_Scene.active.world),b=iron_object_Uniforms.helpVec,b.x=armory_renderpath_HosekWilkie.data.Z.x,b.y=armory_renderpath_HosekWilkie.data.Z.y,b.z=armory_renderpath_HosekWilkie.data.Z.z),b},armory_object_Uniforms.externalFloatLink=function(a){return"_dynamicScale"==a?armory_renderpath_DynamicResolutionScale.dynamicScale:0};var armory_renderpath_DynamicResolutionScale=function(){};$hxClasses["armory.renderpath.DynamicResolutionScale"]=armory_renderpath_DynamicResolutionScale,armory_renderpath_DynamicResolutionScale.__name__=["armory","renderpath","DynamicResolutionScale"];var armory_renderpath_HosekWilkieRadianceData=function(a,b,c,d){this.Z=new kha_math_FastVector3,this.I=new kha_math_FastVector3,this.H=new kha_math_FastVector3,this.G=new kha_math_FastVector3,this.F=new kha_math_FastVector3,this.E=new kha_math_FastVector3,this.D=new kha_math_FastVector3,this.C=new kha_math_FastVector3,this.B=new kha_math_FastVector3,this.A=new kha_math_FastVector3;for(var e=0;e<3;){var f=e++;this.setVector(this.A,f,this.evaluate(armory_renderpath_HosekWilkieData.datasetsRGB[f],0,9,b,c,a)),this.setVector(this.B,f,this.evaluate(armory_renderpath_HosekWilkieData.datasetsRGB[f],1,9,b,c,a)),this.setVector(this.C,f,this.evaluate(armory_renderpath_HosekWilkieData.datasetsRGB[f],2,9,b,c,a)),this.setVector(this.D,f,this.evaluate(armory_renderpath_HosekWilkieData.datasetsRGB[f],3,9,b,c,a)),this.setVector(this.E,f,this.evaluate(armory_renderpath_HosekWilkieData.datasetsRGB[f],4,9,b,c,a)),this.setVector(this.F,f,this.evaluate(armory_renderpath_HosekWilkieData.datasetsRGB[f],5,9,b,c,a)),this.setVector(this.G,f,this.evaluate(armory_renderpath_HosekWilkieData.datasetsRGB[f],6,9,b,c,a)),this.setVector(this.H,f,this.evaluate(armory_renderpath_HosekWilkieData.datasetsRGB[f],8,9,b,c,a)),this.setVector(this.I,f,this.evaluate(armory_renderpath_HosekWilkieData.datasetsRGB[f],7,9,b,c,a)),this.setVector(this.Z,f,this.evaluate(armory_renderpath_HosekWilkieData.datasetsRGBRad[f],0,1,b,c,a))}if(0!=d){var g=this.hosek_wilkie(Math.cos(a),0,1,this.A,this.B,this.C,this.D,this.E,this.F,this.G,this.H,this.I);g.x*=this.Z.x,g.y*=this.Z.y,g.z*=this.Z.z;var h,i,j=.2126;i=.7152,h=.0722;var k=g.x*j+g.y*i+g.z*h;this.Z.x/=k,this.Z.y/=k,this.Z.z/=k;var l=this.Z;this.Z=new kha_math_FastVector3(l.x*d,l.y*d,l.z*d)}};$hxClasses["armory.renderpath.HosekWilkieRadianceData"]=armory_renderpath_HosekWilkieRadianceData,armory_renderpath_HosekWilkieRadianceData.__name__=["armory","renderpath","HosekWilkieRadianceData"],armory_renderpath_HosekWilkieRadianceData.prototype={evaluateSpline:function(a,b,c,d){return Math.pow(1-d,5)*a[b+0*c]+5*Math.pow(1-d,4)*Math.pow(d,1)*a[b+c]+10*Math.pow(1-d,3)*Math.pow(d,2)*a[b+2*c]+10*Math.pow(1-d,2)*Math.pow(d,3)*a[b+3*c]+5*Math.pow(1-d,1)*Math.pow(d,4)*a[b+4*c]+Math.pow(d,5)*a[b+5*c]},clamp:function(a,b,c){return a<=b?b:a>=c?c:a},clampF:function(a,b,c){return a<=b?b:a>=c?c:a},evaluate:function(a,b,c,d,e,f){var g=Math.pow(Math.max(0,1-f/(Math.PI/2)),.3333333333333333),h=this.clamp(0|d,1,10),i=0|Math.min(h+1,10),j=this.clampF(d-h,0,1),k=b,l=b+6*c*10;return this.evaluateSpline(a,k+6*c*(h-1),c,g)*(1-e)*(1-j)+this.evaluateSpline(a,l+6*c*(h-1),c,g)*e*(1-j)+this.evaluateSpline(a,k+6*c*(i-1),c,g)*(1-e)*j+this.evaluateSpline(a,l+6*c*(i-1),c,g)*e*j},hosek_wilkie:function(a,b,c,d,e,f,g,h,i,j,k,l){var q,r,m=1+c*c,n=m/Math.pow(1+k.x*k.x-2*c*k.x,1.5),o=m/Math.pow(1+k.y*k.y-2*c*k.y,1.5),p=m/Math.pow(1+k.z*k.z-2*c*k.z,1.5),s=n;r=o,q=p;var t=(1+d.x*Math.exp(e.x/(a+.01)))*(f.x+g.x*Math.exp(h.x*b)+i.x*(c*c)+j.x*s+l.x*Math.sqrt(Math.max(0,a))),u=(1+d.y*Math.exp(e.y/(a+.01)))*(f.y+g.y*Math.exp(h.y*b)+i.y*(c*c)+j.y*r+l.y*Math.sqrt(Math.max(0,a))),v=(1+d.z*Math.exp(e.z/(a+.01)))*(f.z+g.z*Math.exp(h.z*b)+i.z*(c*c)+j.z*q+l.z*Math.sqrt(Math.max(0,a)));return new kha_math_FastVector3(t,u,v)},setVector:function(a,b,c){0==b?a.x=c:1==b?a.y=c:a.z=c},__class__:armory_renderpath_HosekWilkieRadianceData};var armory_renderpath_HosekWilkie=function(){};$hxClasses["armory.renderpath.HosekWilkie"]=armory_renderpath_HosekWilkie,armory_renderpath_HosekWilkie.__name__=["armory","renderpath","HosekWilkie"],armory_renderpath_HosekWilkie.recompute=function(a,b,c,d){armory_renderpath_HosekWilkie.data=new armory_renderpath_HosekWilkieRadianceData(a,b,c,d)},armory_renderpath_HosekWilkie.init=function(a){var b=a.getGlobalProbe(),c=b.raw.sun_direction;armory_renderpath_HosekWilkie.sunDirection=new kha_math_FastVector3(c[0],c[1],c[2]);var d=Math.acos(armory_renderpath_HosekWilkie.sunDirection.z),e=b.raw.turbidity,f=b.raw.ground_albedo;armory_renderpath_HosekWilkie.recompute(d,e,f,1.15)};var armory_renderpath_HosekWilkieData=function(){};$hxClasses["armory.renderpath.HosekWilkieData"]=armory_renderpath_HosekWilkieData,armory_renderpath_HosekWilkieData.__name__=["armory","renderpath","HosekWilkieData"];var iron_Trait=function(){this._render2D=null,this._render=null,this._lateUpdate=null,this._update=null,this._remove=null,this._init=null,this._add=null};$hxClasses["iron.Trait"]=iron_Trait,iron_Trait.__name__=["iron","Trait"],iron_Trait.prototype={remove:function(){this.object.removeTrait(this)},notifyOnInit:function(a){null==this._init&&(this._init=[]),this._init.push(a),iron_App.notifyOnInit(a)},notifyOnUpdate:function(a){null==this._update&&(this._update=[]),this._update.push(a),iron_App.notifyOnUpdate(a)},removeUpdate:function(a){HxOverrides.remove(this._update,a),iron_App.removeUpdate(a)},notifyOnRender2D:function(a){null==this._render2D&&(this._render2D=[]),this._render2D.push(a),iron_App.notifyOnRender2D(a)},__class__:iron_Trait};var armory_trait_ArcBall=function(){iron_Trait.call(this),this.notifyOnUpdate($bind(this,this.update))};$hxClasses["armory.trait.ArcBall"]=armory_trait_ArcBall,armory_trait_ArcBall.__name__=["armory","trait","ArcBall"],armory_trait_ArcBall.__super__=iron_Trait,armory_trait_ArcBall.prototype=$extend(iron_Trait.prototype,{update:function(){if(!iron_system_Input.occupied){var a=iron_system_Input.getMouse();if(a.down()){this.object.transform.rotate(new iron_math_Vec4(0,0,1),-a.movementX/100),this.object.transform.buildMatrix();var b=this.object.transform.matrix;this.object.transform.rotate(new iron_math_Vec4(b.self._00,b.self._01,b.self._02),-a.movementY/100),this.object.transform.buildMatrix()}}},__class__:armory_trait_ArcBall});var armory_trait_Character=function(a,b){this.state=0,this.lastLoc=null,this.loc=new iron_math_Vec4,this.speed=0,iron_Trait.call(this),this.animIdle=a,this.animMove=b,this.notifyOnUpdate($bind(this,this.update))};$hxClasses["armory.trait.Character"]=armory_trait_Character,armory_trait_Character.__name__=["armory","trait","Character"],armory_trait_Character.__super__=iron_Trait,armory_trait_Character.prototype=$extend(iron_Trait.prototype,{update:function(){var a=this.object.transform;this.loc.set(a.matrix.self._30,a.matrix.self._31,a.matrix.self._32),null==this.lastLoc&&(this.lastLoc=new iron_math_Vec4(this.loc.x,this.loc.y,this.loc.z));var b=this.loc,c=this.lastLoc,d=b.x-c.x,e=b.y-c.y,f=b.z-c.z;this.speed=Math.sqrt(d*d+e*e+f*f),this.lastLoc.setFrom(this.loc),0==this.state&&this.speed>0?(this.state=1,this.object.animation.player.play(this.animMove)):1==this.state&&0==this.speed&&(this.state=0,this.object.animation.player.pause())},__class__:armory_trait_Character});var armory_trait_internal_CameraController=function(){iron_Trait.call(this)};$hxClasses["armory.trait.internal.CameraController"]=armory_trait_internal_CameraController,armory_trait_internal_CameraController.__name__=["armory","trait","internal","CameraController"],armory_trait_internal_CameraController.__super__=iron_Trait,armory_trait_internal_CameraController.prototype=$extend(iron_Trait.prototype,{__class__:armory_trait_internal_CameraController});var armory_trait_FirstPersonController=function(){armory_trait_internal_CameraController.call(this)};$hxClasses["armory.trait.FirstPersonController"]=armory_trait_FirstPersonController,armory_trait_FirstPersonController.__name__=["armory","trait","FirstPersonController"],armory_trait_FirstPersonController.__super__=armory_trait_internal_CameraController,armory_trait_FirstPersonController.prototype=$extend(armory_trait_internal_CameraController.prototype,{__class__:armory_trait_FirstPersonController});var armory_trait_GunController=function(){iron_Trait.call(this)};$hxClasses["armory.trait.GunController"]=armory_trait_GunController,armory_trait_GunController.__name__=["armory","trait","GunController"],armory_trait_GunController.__super__=iron_Trait,armory_trait_GunController.prototype=$extend(iron_Trait.prototype,{__class__:armory_trait_GunController});var armory_trait_MirrorTexture=function(a){iron_Trait.call(this),this.cameraName=a,this.notifyOnInit($bind(this,this.init))};$hxClasses["armory.trait.MirrorTexture"]=armory_trait_MirrorTexture,armory_trait_MirrorTexture.__name__=["armory","trait","MirrorTexture"],armory_trait_MirrorTexture.__super__=iron_Trait,armory_trait_MirrorTexture.prototype=$extend(iron_Trait.prototype,{init:function(){var a=iron_Scene.active.getCamera(this.cameraName).data.mirror;js_Boot.__cast(this.object,iron_object_MeshObject).materials[0].contexts[0].textures[0]=a},__class__:armory_trait_MirrorTexture});var armory_trait_NavAgent=function(){this.orient=new iron_math_Vec4,this.index=0,this.path=null,iron_Trait.call(this)};$hxClasses["armory.trait.NavAgent"]=armory_trait_NavAgent,armory_trait_NavAgent.__name__=["armory","trait","NavAgent"],armory_trait_NavAgent.__super__=iron_Trait,armory_trait_NavAgent.prototype=$extend(iron_Trait.prototype,{setPath:function(a){iron_system_Tween.stop(this.object.transform.loc),this.path=a,this.index=1,this.notifyOnUpdate($bind(this,this.update)),this.go()},shortAngle:function(a,b){a<0&&(a+=2*Math.PI),b<0&&(b+=2*Math.PI);var c=Math.abs(a-b);return c>Math.PI&&(b=2*Math.PI-c),b},go:function(){var a=this;if(!(null==this.path||this.index>=this.path.length)){var b=this.path[this.index],c=this.object.transform.loc,d=c.x-b.x,e=c.y-b.y,f=c.z-b.z,g=Math.sqrt(d*d+e*e+f*f),h=.2;this.orient.subvecs(b,this.object.transform.loc);var i=Math.atan2(this.orient.y,this.orient.x)+Math.PI/2,j=this.object.transform.rot.toAxisAngle(iron_math_Vec4.zAxis());this.angle=j,iron_system_Tween.to(this,.4,{angle:i},null,0,0),iron_system_Tween.to(this.object.transform.loc,g*h,{x:b.x,y:b.y},function(){a.index++,a.index<a.path.length?a.go():a.removeUpdate($bind(a,a.update))},0,0)}},update:function(){this.object.transform.rot.fromAxisAngle(iron_math_Vec4.zAxis(),this.angle),this.object.transform.buildMatrix()},__class__:armory_trait_NavAgent});var armory_trait_NavCrowd=function(){iron_Trait.call(this)};$hxClasses["armory.trait.NavCrowd"]=armory_trait_NavCrowd,armory_trait_NavCrowd.__name__=["armory","trait","NavCrowd"],armory_trait_NavCrowd.__super__=iron_Trait,armory_trait_NavCrowd.prototype=$extend(iron_Trait.prototype,{__class__:armory_trait_NavCrowd});var armory_trait_NavMesh=function(){iron_Trait.call(this)};$hxClasses["armory.trait.NavMesh"]=armory_trait_NavMesh,armory_trait_NavMesh.__name__=["armory","trait","NavMesh"],armory_trait_NavMesh.__super__=iron_Trait,armory_trait_NavMesh.prototype=$extend(iron_Trait.prototype,{__class__:armory_trait_NavMesh});var armory_trait_PhysicsDrag=function(){iron_Trait.call(this)};$hxClasses["armory.trait.PhysicsDrag"]=armory_trait_PhysicsDrag,armory_trait_PhysicsDrag.__name__=["armory","trait","PhysicsDrag"],armory_trait_PhysicsDrag.__super__=iron_Trait,armory_trait_PhysicsDrag.prototype=$extend(iron_Trait.prototype,{__class__:armory_trait_PhysicsDrag});var armory_trait_SceneInstance=function(a){var b=this;iron_Trait.call(this),this.notifyOnInit(function(){iron_Scene.active.addScene(b.safeFilename(a),b.object,function(a){})})};$hxClasses["armory.trait.SceneInstance"]=armory_trait_SceneInstance,armory_trait_SceneInstance.__name__=["armory","trait","SceneInstance"],armory_trait_SceneInstance.__super__=iron_Trait,armory_trait_SceneInstance.prototype=$extend(iron_Trait.prototype,{safeFilename:function(a){return a=StringTools.replace(a,".","_"),a=StringTools.replace(a,"-","_"),a=StringTools.replace(a," ","_"),null!=Std.parseInt(a.charAt(0))&&(a="_"+a),a},__class__:armory_trait_SceneInstance});var armory_trait_SidescrollerController=function(){armory_trait_internal_CameraController.call(this)};$hxClasses["armory.trait.SidescrollerController"]=armory_trait_SidescrollerController,armory_trait_SidescrollerController.__name__=["armory","trait","SidescrollerController"],armory_trait_SidescrollerController.__super__=armory_trait_internal_CameraController,armory_trait_SidescrollerController.prototype=$extend(armory_trait_internal_CameraController.prototype,{__class__:armory_trait_SidescrollerController});var armory_trait_ThirdPersonController=function(){armory_trait_internal_CameraController.call(this)};$hxClasses["armory.trait.ThirdPersonController"]=armory_trait_ThirdPersonController,armory_trait_ThirdPersonController.__name__=["armory","trait","ThirdPersonController"],armory_trait_ThirdPersonController.__super__=armory_trait_internal_CameraController,armory_trait_ThirdPersonController.prototype=$extend(armory_trait_internal_CameraController.prototype,{__class__:armory_trait_ThirdPersonController});var armory_trait_VRNavigation=function(){this.look=new iron_math_Vec4,iron_Trait.call(this),this.notifyOnInit($bind(this,this.init)),this.notifyOnUpdate($bind(this,this.update))};$hxClasses["armory.trait.VRNavigation"]=armory_trait_VRNavigation,armory_trait_VRNavigation.__name__=["armory","trait","VRNavigation"],armory_trait_VRNavigation.__super__=iron_Trait,armory_trait_VRNavigation.prototype=$extend(iron_Trait.prototype,{init:function(){this.mouse=iron_system_Input.getMouse(),this.camera=js_Boot.__cast(this.object,iron_object_CameraObject)},update:function(){if(this.mouse.down()){var a=kha_vr_VrInterface.instance,b=null!=a&&a.IsPresenting()?this.camera.leftV:this.camera.V;this.look.set(-b.self._02,-b.self._12,-b.self._22),this.camera.move(this.look,.08333333333333333)}},__class__:armory_trait_VRNavigation});var armory_trait_VehicleBody=function(){iron_Trait.call(this)};$hxClasses["armory.trait.VehicleBody"]=armory_trait_VehicleBody,armory_trait_VehicleBody.__name__=["armory","trait","VehicleBody"],armory_trait_VehicleBody.__super__=iron_Trait,armory_trait_VehicleBody.prototype=$extend(iron_Trait.prototype,{__class__:armory_trait_VehicleBody});var armory_trait_WalkNavigation=function(a){null==a&&(a=!0),this.ease=1,this.easing=!0,this.yvec=new iron_math_Vec4,this.xvec=new iron_math_Vec4,this.dir=new iron_math_Vec4,iron_Trait.call(this),this.easing=a,this.notifyOnInit($bind(this,this.init)),this.notifyOnUpdate($bind(this,this.update))};$hxClasses["armory.trait.WalkNavigation"]=armory_trait_WalkNavigation,armory_trait_WalkNavigation.__name__=["armory","trait","WalkNavigation"],armory_trait_WalkNavigation.__super__=iron_Trait,armory_trait_WalkNavigation.prototype=$extend(iron_Trait.prototype,{init:function(){this.keyboard=iron_system_Input.getKeyboard(),this.gamepad=iron_system_Input.getGamepad(),this.mouse=iron_system_Input.getMouse(),this.camera=js_Boot.__cast(this.object,iron_object_CameraObject)},update:function(){if(!iron_system_Input.occupied){var a=this.keyboard.down("w")||this.keyboard.down("up"),b=this.keyboard.down("s")||this.keyboard.down("down"),c=this.keyboard.down("a")||this.keyboard.down("left"),d=this.keyboard.down("d")||this.keyboard.down("right"),e=this.keyboard.down("e"),f=this.keyboard.down("q"),g=this.keyboard.down("shift")?2:this.keyboard.down("alt")?.5:1;if(null!=this.gamepad){var h=Math.abs(this.gamepad.leftStick.y)>.05,i=Math.abs(this.gamepad.leftStick.x)>.05,j=this.gamepad.down("r1")>0,k=this.gamepad.down("l1")>0,l=Math.abs(this.gamepad.rightStick.x)>.1,m=Math.abs(this.gamepad.rightStick.y)>.1;if(h||i||j||k||l||m){if(this.dir.set(0,0,0),h){var n=this.camera;this.yvec.setFrom(new iron_math_Vec4(-n.transform.local.self._20,-n.transform.local.self._21,-n.transform.local.self._22)),this.yvec.mult(this.gamepad.leftStick.y),this.dir.add(this.yvec)}if(i){var o=this.camera;this.xvec.setFrom(new iron_math_Vec4(o.transform.local.self._00,o.transform.local.self._01,o.transform.local.self._02)),this.xvec.mult(this.gamepad.leftStick.x),this.dir.add(this.xvec)}j&&this.dir.addf(0,0,1),k&&this.dir.addf(0,0,-1);var p=.08333333333333333*g;if(this.camera.move(this.dir,p),l&&this.camera.rotate(iron_math_Vec4.zAxis(),-this.gamepad.rightStick.x/15),m){var q=this.camera;this.camera.rotate(new iron_math_Vec4(q.transform.local.self._00,q.transform.local.self._01,q.transform.local.self._02),this.gamepad.rightStick.y/15)}}}if(a||b||d||c||e||f){if(this.easing?(this.ease+=.25,this.ease>1&&(this.ease=1)):this.ease=1,this.dir.set(0,0,0),a){var r=this.dir,s=this.camera,t=new iron_math_Vec4(-s.transform.local.self._20,-s.transform.local.self._21,-s.transform.local.self._22).x,u=this.camera,v=new iron_math_Vec4(-u.transform.local.self._20,-u.transform.local.self._21,-u.transform.local.self._22).y,w=this.camera;r.addf(t,v,new iron_math_Vec4(-w.transform.local.self._20,-w.transform.local.self._21,-w.transform.local.self._22).z)}if(b){var x=this.dir,y=this.camera,z=-new iron_math_Vec4(-y.transform.local.self._20,-y.transform.local.self._21,-y.transform.local.self._22).x,A=this.camera,B=-new iron_math_Vec4(-A.transform.local.self._20,-A.transform.local.self._21,-A.transform.local.self._22).y,C=this.camera;x.addf(z,B,-new iron_math_Vec4(-C.transform.local.self._20,-C.transform.local.self._21,-C.transform.local.self._22).z)}if(d){var D=this.dir,E=this.camera,F=new iron_math_Vec4(E.transform.local.self._00,E.transform.local.self._01,E.transform.local.self._02).x,G=this.camera,H=new iron_math_Vec4(G.transform.local.self._00,G.transform.local.self._01,G.transform.local.self._02).y,I=this.camera;D.addf(F,H,new iron_math_Vec4(I.transform.local.self._00,I.transform.local.self._01,I.transform.local.self._02).z)}if(c){var J=this.dir,K=this.camera,L=-new iron_math_Vec4(K.transform.local.self._00,K.transform.local.self._01,K.transform.local.self._02).x,M=this.camera,N=-new iron_math_Vec4(M.transform.local.self._00,M.transform.local.self._01,M.transform.local.self._02).y,O=this.camera;J.addf(L,N,-new iron_math_Vec4(O.transform.local.self._00,O.transform.local.self._01,O.transform.local.self._02).z)}e&&this.dir.addf(0,0,1),f&&this.dir.addf(0,0,-1)}else this.easing?(this.ease-=.3333333333333333*this.ease,this.ease<0&&(this.ease=0)):this.ease=0;var P=.08333333333333333*g*this.ease;if(P>0&&this.camera.move(this.dir,P),this.mouse.down()){this.camera.rotate(iron_math_Vec4.zAxis(),-this.mouse.movementX/200);var Q=this.camera;this.camera.rotate(new iron_math_Vec4(Q.transform.local.self._00,Q.transform.local.self._01,Q.transform.local.self._02),-this.mouse.movementY/200)}}},__class__:armory_trait_WalkNavigation});var armory_trait_internal_Console=function(){iron_Trait.call(this)};$hxClasses["armory.trait.internal.Console"]=armory_trait_internal_Console,armory_trait_internal_Console.__name__=["armory","trait","internal","Console"],armory_trait_internal_Console.__super__=iron_Trait,armory_trait_internal_Console.prototype=$extend(iron_Trait.prototype,{__class__:armory_trait_internal_Console});var armory_trait_internal_JSScript=function(scriptBlob){var _gthis=this;iron_Trait.call(this),this.notifyOnInit(function(){iron_data_Data.getBlob(scriptBlob+".js",function(blob){var header="var App = armory.App;\n\t\t\t\t\t\t  var Scene = armory.Scene;\n\t\t\t\t\t\t  var Data = armory.Data;\n\t\t\t\t\t\t  var Quat = armory.math.Quat;\n\t\t\t\t\t\t  var Mat4 = armory.math.Mat4;\n\t\t\t\t\t\t  var Vec4 = armory.math.Vec4;",src=header+blob.toString();null==armory_trait_internal_JSScript.api&&(armory_trait_internal_JSScript.api=new armory_trait_internal_JSScriptAPI);var self=_gthis.object,window=this;eval(src)})})};$hxClasses["armory.trait.internal.JSScript"]=armory_trait_internal_JSScript,armory_trait_internal_JSScript.__name__=["armory","trait","internal","JSScript"],armory_trait_internal_JSScript.__super__=iron_Trait,armory_trait_internal_JSScript.prototype=$extend(iron_Trait.prototype,{__class__:armory_trait_internal_JSScript});var iron_App=function(a){a(),kha_System.notifyOnRender(iron_App.render),kha_Scheduler.addTimeTask(iron_App.update,0,.016666666666666666)};$hxClasses["iron.App"]=iron_App,iron_App.__name__=["iron","App"],iron_App.w=function(){return kha_System.windowWidth()},iron_App.h=function(){return kha_System.windowHeight()},iron_App.init=function(a){new iron_App(a)},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 a=0,b=iron_App.traitInits;a<b.length;){var c=b[a];if(++a,0==iron_App.traitInits.length)break;c(),c=null}iron_App.traitInits.splice(0,iron_App.traitInits.length)}for(var d=0,e=iron_App.traitUpdates;d<e.length;){var f=e[d];if(++d,0==iron_App.traitUpdates.length)break;f()}for(var g=0,h=iron_App.traitLateUpdates;g<h.length;){var i=h[g];if(++g,0==iron_App.traitLateUpdates.length)break;i()}iron_system_Input.endFrame()},iron_App.render=function(a){if(iron_App.traitInits.length>0){for(var b=0,c=iron_App.traitInits;b<c.length;){var d=c[b];if(++b,0==iron_App.traitInits.length)break;d(),d=null}iron_App.traitInits.splice(0,iron_App.traitInits.length)}null!=iron_Scene.active&&iron_Scene.active.renderFrame(a.get_g4());for(var e=0,f=iron_App.traitRenders;e<f.length;){var g=f[e];if(++e,0==iron_App.traitRenders.length)break;g(a.get_g4())}a.get_g2().begin(!1);for(var h=0,i=iron_App.traitRenders2D;h<i.length;){var j=i[h];if(++h,0==iron_App.traitRenders2D.length)break;j(a.get_g2())}a.get_g2().end()},iron_App.notifyOnInit=function(a){iron_App.traitInits.push(a)},iron_App.removeInit=function(a){HxOverrides.remove(iron_App.traitInits,a)},iron_App.notifyOnUpdate=function(a){iron_App.traitUpdates.push(a)},iron_App.removeUpdate=function(a){HxOverrides.remove(iron_App.traitUpdates,a)},iron_App.notifyOnLateUpdate=function(a){iron_App.traitLateUpdates.push(a)},iron_App.removeLateUpdate=function(a){HxOverrides.remove(iron_App.traitLateUpdates,a)},iron_App.notifyOnRender=function(a){iron_App.traitRenders.push(a)},iron_App.removeRender=function(a){HxOverrides.remove(iron_App.traitRenders,a)},iron_App.notifyOnRender2D=function(a){iron_App.traitRenders2D.push(a)},iron_App.removeRender2D=function(a){HxOverrides.remove(iron_App.traitRenders2D,a)},iron_App.prototype={__class__:iron_App};var iron_data_Data=function(){};$hxClasses["iron.data.Data"]=iron_data_Data,iron_data_Data.__name__=["iron","data","Data"],iron_data_Data.deleteAll=function(){for(var a=iron_data_Data.cachedMeshes,b=new haxe_ds__$StringMap_StringMapIterator(a,a.arrayKeys());b.hasNext();){b.next().delete()}iron_data_Data.cachedMeshes=new haxe_ds_StringMap;for(var d=iron_data_Data.cachedShaders,e=new haxe_ds__$StringMap_StringMapIterator(d,d.arrayKeys());e.hasNext();){e.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 g=iron_data_Data.cachedRenderPaths,h=new haxe_ds__$StringMap_StringMapIterator(g,g.arrayKeys());h.hasNext();){h.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 j=iron_data_Data.cachedBlobs,k=new haxe_ds__$StringMap_StringMapIterator(j,j.arrayKeys());k.hasNext();){k.next().unload()}iron_data_Data.cachedBlobs=new haxe_ds_StringMap;for(var m=iron_data_Data.cachedImages,n=new haxe_ds__$StringMap_StringMapIterator(m,m.arrayKeys());n.hasNext();){n.next().unload()}iron_data_Data.cachedImages=new haxe_ds_StringMap;for(var p=iron_data_Data.cachedSounds,q=new haxe_ds__$StringMap_StringMapIterator(p,p.arrayKeys());q.hasNext();){q.next().unload()}iron_data_Data.cachedSounds=new haxe_ds_StringMap;for(var s=iron_data_Data.cachedVideos,t=new haxe_ds__$StringMap_StringMapIterator(s,s.arrayKeys());t.hasNext();){t.next().unload()}iron_data_Data.cachedVideos=new haxe_ds_StringMap;for(var v=iron_data_Data.cachedFonts,w=new haxe_ds__$StringMap_StringMapIterator(v,v.arrayKeys());w.hasNext();){w.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.cachedBlobs=new haxe_ds_StringMap},iron_data_Data.getMesh=function(a,b,c,d){var e=iron_data_Data.cachedMeshes,f=a+b,g=null!=__map_reserved[f]?e.getReserved(f):e.h[f];if(null!=g)return void d(g);var h=iron_data_Data.loadingMeshes,i=a+b,j=null!=__map_reserved[i]?h.getReserved(i):h.h[i];if(null!=j)return void j.push(d);var k=iron_data_Data.loadingMeshes,l=a+b,m=[d];null!=__map_reserved[l]?k.setReserved(l,m):k.h[l]=m,iron_data_MeshData.parse(a,b,c,function(c){var d=iron_data_Data.cachedMeshes,e=a+b;null!=__map_reserved[e]?d.setReserved(e,c):d.h[e]=c;for(var f=0,g=iron_data_Data.loadingMeshes,h=a+b,i=null!=__map_reserved[h]?g.getReserved(h):g.h[h];f<i.length;){var j=i[f];++f,j(c)}iron_data_Data.loadingMeshes.remove(a+b)})},iron_data_Data.getLamp=function(a,b,c){var d=iron_data_Data.cachedLamps,e=a+b,f=null!=__map_reserved[e]?d.getReserved(e):d.h[e];if(null!=f)return void c(f);var g=iron_data_Data.loadingLamps,h=a+b,i=null!=__map_reserved[h]?g.getReserved(h):g.h[h];if(null!=i)return void i.push(c);var j=iron_data_Data.loadingLamps,k=a+b,l=[c];null!=__map_reserved[k]?j.setReserved(k,l):j.h[k]=l,iron_data_LampData.parse(a,b,function(c){var d=iron_data_Data.cachedLamps,e=a+b;null!=__map_reserved[e]?d.setReserved(e,c):d.h[e]=c;for(var f=0,g=iron_data_Data.loadingLamps,h=a+b,i=null!=__map_reserved[h]?g.getReserved(h):g.h[h];f<i.length;){var j=i[f];++f,j(c)}iron_data_Data.loadingLamps.remove(a+b)})},iron_data_Data.getCamera=function(a,b,c){var d=iron_data_Data.cachedCameras,e=a+b,f=null!=__map_reserved[e]?d.getReserved(e):d.h[e];if(null!=f)return void c(f);var g=iron_data_Data.loadingCameras,h=a+b,i=null!=__map_reserved[h]?g.getReserved(h):g.h[h];if(null!=i)return void i.push(c);var j=iron_data_Data.loadingCameras,k=a+b,l=[c];null!=__map_reserved[k]?j.setReserved(k,l):j.h[k]=l,iron_data_CameraData.parse(a,b,function(c){var d=iron_data_Data.cachedCameras,e=a+b;null!=__map_reserved[e]?d.setReserved(e,c):d.h[e]=c;for(var f=0,g=iron_data_Data.loadingCameras,h=a+b,i=null!=__map_reserved[h]?g.getReserved(h):g.h[h];f<i.length;){var j=i[f];++f,j(c)}iron_data_Data.loadingCameras.remove(a+b)})},iron_data_Data.getRenderPath=function(a,b,c){var d=iron_data_Data.cachedRenderPaths,e=a+b,f=null!=__map_reserved[e]?d.getReserved(e):d.h[e];if(null!=f)return void c(f);var g=iron_data_Data.loadingRenderPaths,h=a+b,i=null!=__map_reserved[h]?g.getReserved(h):g.h[h];if(null!=i)return void i.push(c);var j=iron_data_Data.loadingRenderPaths,k=a+b,l=[c];null!=__map_reserved[k]?j.setReserved(k,l):j.h[k]=l,iron_data_RenderPathData.parse(a,b,function(c){var d=iron_data_Data.cachedRenderPaths,e=a+b;null!=__map_reserved[e]?d.setReserved(e,c):d.h[e]=c;for(var f=0,g=iron_data_Data.loadingRenderPaths,h=a+b,i=null!=__map_reserved[h]?g.getReserved(h):g.h[h];f<i.length;){var j=i[f];++f,j(c)}iron_data_Data.loadingRenderPaths.remove(a+b)})},iron_data_Data.getMaterial=function(a,b,c){var d=iron_data_Data.cachedMaterials,e=a+b,f=null!=__map_reserved[e]?d.getReserved(e):d.h[e];if(null!=f)return void c(f);var g=iron_data_Data.loadingMaterials,h=a+b,i=null!=__map_reserved[h]?g.getReserved(h):g.h[h];if(null!=i)return void i.push(c);var j=iron_data_Data.loadingMaterials,k=a+b,l=[c];null!=__map_reserved[k]?j.setReserved(k,l):j.h[k]=l,iron_data_MaterialData.parse(a,b,function(c){var d=iron_data_Data.cachedMaterials,e=a+b;null!=__map_reserved[e]?d.setReserved(e,c):d.h[e]=c;for(var f=0,g=iron_data_Data.loadingMaterials,h=a+b,i=null!=__map_reserved[h]?g.getReserved(h):g.h[h];f<i.length;){var j=i[f];++f,j(c)}iron_data_Data.loadingMaterials.remove(a+b)})},iron_data_Data.getParticle=function(a,b,c){var d=iron_data_Data.cachedParticles,e=a+b,f=null!=__map_reserved[e]?d.getReserved(e):d.h[e];if(null!=f)return void c(f);var g=iron_data_Data.loadingParticles,h=a+b,i=null!=__map_reserved[h]?g.getReserved(h):g.h[h];if(null!=i)return void i.push(c);var j=iron_data_Data.loadingParticles,k=a+b,l=[c];null!=__map_reserved[k]?j.setReserved(k,l):j.h[k]=l,iron_data_ParticleData.parse(a,b,function(c){var d=iron_data_Data.cachedParticles,e=a+b;null!=__map_reserved[e]?d.setReserved(e,c):d.h[e]=c;for(var f=0,g=iron_data_Data.loadingParticles,h=a+b,i=null!=__map_reserved[h]?g.getReserved(h):g.h[h];f<i.length;){var j=i[f];++f,j(c)}iron_data_Data.loadingParticles.remove(a+b)})},iron_data_Data.getWorld=function(a,b,c){if(null==b)return void c(null);var d=iron_data_Data.cachedWorlds,e=a+b,f=null!=__map_reserved[e]?d.getReserved(e):d.h[e];if(null!=f)return void c(f);var g=iron_data_Data.loadingWorlds,h=a+b,i=null!=__map_reserved[h]?g.getReserved(h):g.h[h];if(null!=i)return void i.push(c);var j=iron_data_Data.loadingWorlds,k=a+b,l=[c];null!=__map_reserved[k]?j.setReserved(k,l):j.h[k]=l,iron_data_WorldData.parse(a,b,function(c){var d=iron_data_Data.cachedWorlds,e=a+b;null!=__map_reserved[e]?d.setReserved(e,c):d.h[e]=c;for(var f=0,g=iron_data_Data.loadingWorlds,h=a+b,i=null!=__map_reserved[h]?g.getReserved(h):g.h[h];f<i.length;){var j=i[f];++f,j(c)}iron_data_Data.loadingWorlds.remove(a+b)})},iron_data_Data.getGreasePencil=function(a,b,c){var d=iron_data_Data.cachedGreasePencils,e=a+b,f=null!=__map_reserved[e]?d.getReserved(e):d.h[e];if(null!=f)return void c(f);var g=iron_data_Data.loadingGreasePencils,h=a+b,i=null!=__map_reserved[h]?g.getReserved(h):g.h[h];if(null!=i)return void i.push(c);var j=iron_data_Data.loadingGreasePencils,k=a+b,l=[c];null!=__map_reserved[k]?j.setReserved(k,l):j.h[k]=l,iron_data_GreasePencilData.parse(a,b,function(c){var d=iron_data_Data.cachedGreasePencils,e=a+b;null!=__map_reserved[e]?d.setReserved(e,c):d.h[e]=c;for(var f=0,g=iron_data_Data.loadingGreasePencils,h=a+b,i=null!=__map_reserved[h]?g.getReserved(h):g.h[h];f<i.length;){var j=i[f];++f,j(c)}iron_data_Data.loadingGreasePencils.remove(a+b)})},iron_data_Data.getShader=function(a,b,c,d){var e=b;null!=c&&(e+="2");var f=iron_data_Data.cachedShaders,g=null!=__map_reserved[e]?f.getReserved(e):f.h[e];if(null!=g)return void d(g);var h=iron_data_Data.loadingShaders,i=null!=__map_reserved[e]?h.getReserved(e):h.h[e];if(null!=i)return void i.push(d);var j=iron_data_Data.loadingShaders,k=[d];null!=__map_reserved[e]?j.setReserved(e,k):j.h[e]=k,iron_data_ShaderData.parse(a,b,c,function(a){var b=iron_data_Data.cachedShaders;null!=__map_reserved[e]?b.setReserved(e,a):b.h[e]=a;for(var c=0,d=iron_data_Data.loadingShaders,f=null!=__map_reserved[e]?d.getReserved(e):d.h[e];c<f.length;){var g=f[c];++c,g(a)}iron_data_Data.loadingShaders.remove(e)})},iron_data_Data.getSceneRaw=function(a,b){var c=iron_data_Data.cachedSceneRaws,d=null!=__map_reserved[a]?c.getReserved(a):c.h[a];if(null!=d)return void b(d);var e=iron_data_Data.loadingSceneRaws,f=null!=__map_reserved[a]?e.getReserved(a):e.h[a];if(null!=f)return void f.push(b);var g=iron_data_Data.loadingSceneRaws,h=[b];null!=__map_reserved[a]?g.setReserved(a,h):g.h[a]=h;var i=StringTools.endsWith(a,".zip"),j=i||StringTools.endsWith(a,".arm")?"":".arm";iron_data_Data.getBlob(a+j,function(b){if(i){var c=new haxe_io_BytesInput(b.toBytes()),d=haxe_zip_Reader.readZip(c).first();if(null==d)return void haxe_Log.trace("Failed to uncompress "+a,{fileName:"Data.hx",lineNumber:251,className:"iron.data.Data",methodName:"getSceneRaw"});b=d.compressed?kha_internal_BytesBlob.fromBytes(haxe_zip_Reader.unzip(d)):kha_internal_BytesBlob.fromBytes(d.data)}var e=b.toBytes(),f=null;null==f&&(f=iron_system_msgpack_DecodeOption.AsObject);var g=new iron_system_msgpack_Decoder(e,f).o,h=iron_data_Data.cachedSceneRaws;null!=__map_reserved[a]?h.setReserved(a,g):h.h[a]=g;for(var j=0,k=iron_data_Data.loadingSceneRaws,l=null!=__map_reserved[a]?k.getReserved(a):k.h[a];j<l.length;){var m=l[j];++j,m(g)}iron_data_Data.loadingSceneRaws.remove(a)})},iron_data_Data.getMeshRawByName=function(a,b){if(""==b)return a[0];for(var c=0;c<a.length;){var d=a[c];if(++c,d.name==b)return d}return null},iron_data_Data.getLampRawByName=function(a,b){if(""==b)return a[0];for(var c=0;c<a.length;){var d=a[c];if(++c,d.name==b)return d}return null},iron_data_Data.getCameraRawByName=function(a,b){if(""==b)return a[0];for(var c=0;c<a.length;){var d=a[c];if(++c,d.name==b)return d}return null},iron_data_Data.getRenderPathRawByName=function(a,b){if(""==b)return a[0];for(var c=0;c<a.length;){var d=a[c];if(++c,d.name==b)return d}return null},iron_data_Data.getMaterialRawByName=function(a,b){if(""==b)return a[0];for(var c=0;c<a.length;){var d=a[c];if(++c,d.name==b)return d}return null},iron_data_Data.getParticleRawByName=function(a,b){if(""==b)return a[0];for(var c=0;c<a.length;){var d=a[c];if(++c,d.name==b)return d}return null},iron_data_Data.getWorldRawByName=function(a,b){if(""==b)return a[0];for(var c=0;c<a.length;){var d=a[c];if(++c,d.name==b)return d}return null},iron_data_Data.getGreasePencilRawByName=function(a,b){if(""==b)return a[0];for(var c=0;c<a.length;){var d=a[c];if(++c,d.name==b)return d}return null},iron_data_Data.getShaderRawByName=function(a,b){if(""==b)return a[0];for(var c=0;c<a.length;){var d=a[c];if(++c,d.name==b)return d}return null},iron_data_Data.getSpeakerRawByName=function(a,b){if(""==b)return a[0];for(var c=0;c<a.length;){var d=a[c];if(++c,d.name==b)return d}return null},iron_data_Data.getBlob=function(a,b){var c=iron_data_Data.cachedBlobs,d=null!=__map_reserved[a]?c.getReserved(a):c.h[a];if(null!=d)return void b(d);var e=iron_data_Data.loadingBlobs,f=null!=__map_reserved[a]?e.getReserved(a):e.h[a];if(null!=f)return void f.push(b);var g=iron_data_Data.loadingBlobs,h=[b];null!=__map_reserved[a]?g.setReserved(a,h):g.h[a]=h;var i={files:[a]};kha_LoaderImpl.loadBlobFromDescription(i,function(b){var c=iron_data_Data.cachedBlobs;null!=__map_reserved[a]?c.setReserved(a,b):c.h[a]=b;for(var d=0,e=iron_data_Data.loadingBlobs,f=null!=__map_reserved[a]?e.getReserved(a):e.h[a];d<f.length;){var g=f[d];++d,g(b)}iron_data_Data.loadingBlobs.remove(a),iron_data_Data.assetsLoaded++})},iron_data_Data.getImage=function(a,b,c,d){null==d&&(d="RGBA32"),null==c&&(c=!1);var e=iron_data_Data.cachedImages,f=null!=__map_reserved[a]?e.getReserved(a):e.h[a];if(null!=f)return void b(f);var g=iron_data_Data.loadingImages,h=null!=__map_reserved[a]?g.getReserved(a):g.h[a];if(null!=h)return void h.push(b);var i=iron_data_Data.loadingImages,j=[b];null!=__map_reserved[a]?i.setReserved(a,j):i.h[a]=j;var k={files:[a],readable:c,format:d};kha_LoaderImpl.loadImageFromDescription(k,function(b){var c=iron_data_Data.cachedImages;null!=__map_reserved[a]?c.setReserved(a,b):c.h[a]=b;for(var d=0,e=iron_data_Data.loadingImages,f=null!=__map_reserved[a]?e.getReserved(a):e.h[a];d<f.length;){var g=f[d];++d,g(b)}iron_data_Data.loadingImages.remove(a),iron_data_Data.assetsLoaded++})},iron_data_Data.getSound=function(a,b){StringTools.endsWith(a,".wav")&&(a=a.substring(0,a.length-4)+".ogg");var c=iron_data_Data.cachedSounds,d=null!=__map_reserved[a]?c.getReserved(a):c.h[a];if(null!=d)return void b(d);var e=iron_data_Data.loadingSounds,f=null!=__map_reserved[a]?e.getReserved(a):e.h[a];if(null!=f)return void f.push(b);var g=iron_data_Data.loadingSounds,h=[b];null!=__map_reserved[a]?g.setReserved(a,h):g.h[a]=h;var i={files:[a]};kha_LoaderImpl.loadSoundFromDescription(i,function(b){b.uncompress(function(){var c=iron_data_Data.cachedSounds;null!=__map_reserved[a]?c.setReserved(a,b):c.h[a]=b;for(var d=0,e=iron_data_Data.loadingSounds,f=null!=__map_reserved[a]?e.getReserved(a):e.h[a];d<f.length;){var g=f[d];++d,g(b)}iron_data_Data.loadingSounds.remove(a),iron_data_Data.assetsLoaded++})})},iron_data_Data.getVideo=function(a,b){var c=iron_data_Data.cachedVideos,d=null!=__map_reserved[a]?c.getReserved(a):c.h[a];if(null!=d)return void b(d);var e=iron_data_Data.loadingVideos,f=null!=__map_reserved[a]?e.getReserved(a):e.h[a];if(null!=f)return void f.push(b);var g=iron_data_Data.loadingVideos,h=[b];null!=__map_reserved[a]?g.setReserved(a,h):g.h[a]=h;var i={files:[a]};kha_LoaderImpl.loadVideoFromDescription(i,function(b){var c=iron_data_Data.cachedVideos;null!=__map_reserved[a]?c.setReserved(a,b):c.h[a]=b;for(var d=0,e=iron_data_Data.loadingVideos,f=null!=__map_reserved[a]?e.getReserved(a):e.h[a];d<f.length;){var g=f[d];++d,g(b)}iron_data_Data.loadingVideos.remove(a),iron_data_Data.assetsLoaded++})},iron_data_Data.getFont=function(a,b){var c=iron_data_Data.cachedFonts,d=null!=__map_reserved[a]?c.getReserved(a):c.h[a];if(null!=d)return void b(d);var e=iron_data_Data.loadingFonts,f=null!=__map_reserved[a]?e.getReserved(a):e.h[a];if(null!=f)return void f.push(b);var g=iron_data_Data.loadingFonts,h=[b];null!=__map_reserved[a]?g.setReserved(a,h):g.h[a]=h;var i={files:[a]};kha_LoaderImpl.loadFontFromDescription(i,function(b){var c=iron_data_Data.cachedFonts;null!=__map_reserved[a]?c.setReserved(a,b):c.h[a]=b;for(var d=0,e=iron_data_Data.loadingFonts,f=null!=__map_reserved[a]?e.getReserved(a):e.h[a];d<f.length;){var g=f[d];++d,g(b)}iron_data_Data.loadingFonts.remove(a),iron_data_Data.assetsLoaded++})},iron_data_Data.prototype={__class__:iron_data_Data};var iron_object_Object=function(){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)};$hxClasses["iron.object.Object"]=iron_object_Object,iron_object_Object.__name__=["iron","object","Object"],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(a){this.children.push(a),a.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(a){if(this.name==a)return this;for(var b=0,c=this.children;b<c.length;){var d=c[b];++b;var e=d.getChild(a);if(null!=e)return e}return null},addTrait:function(a){if(this.traits.push(a),a.object=this,null!=a._add){for(var b=0,c=a._add;b<c.length;){var d=c[b];++b,d()}a._add=null}},removeTrait:function(a){if(null!=a._init){for(var b=0,c=a._init;b<c.length;){var d=c[b];++b,iron_App.removeInit(d)}a._init=null}if(null!=a._update){for(var e=0,f=a._update;e<f.length;){var g=f[e];++e,iron_App.removeUpdate(g)}a._update=null}if(null!=a._lateUpdate){for(var h=0,i=a._lateUpdate;h<i.length;){var j=i[h];++h,iron_App.removeLateUpdate(j)}a._lateUpdate=null}if(null!=a._render){for(var k=0,l=a._render;k<l.length;){var m=l[k];++k,iron_App.removeRender(m)}a._render=null}if(null!=a._render2D){for(var n=0,o=a._render2D;n<o.length;){var p=o[n];++n,iron_App.removeRender2D(p)}a._render2D=null}if(null!=a._remove){for(var q=0,r=a._remove;q<r.length;){var s=r[q];++q,s()}a._remove=null}HxOverrides.remove(this.traits,a),a.object=null},setupAnimation:function(a){this.animation=new iron_object_ObjectAnimation(this,a)},__class__:iron_object_Object};var iron_Scene=function(){this.traitInits=[],this.meshBatch=null,this.greasePencil=null,this.meshBatch=new iron_data_MeshBatch,this.meshes=[],this.lamps=[],this.cameras=[],this.speakers=[],this.decals=[],this.animations=[],this.embedded=new haxe_ds_StringMap,this.root=new iron_object_Object,this.traitInits=[]};$hxClasses["iron.Scene"]=iron_Scene,iron_Scene.__name__=["iron","Scene"],iron_Scene.create=function(a,b){iron_Scene.active=new iron_Scene,iron_Scene.active.ready=!1,iron_Scene.active.raw=a,iron_data_Data.getWorld(a.name,a.world_ref,function(c){iron_Scene.active.world=c,iron_Scene.active.addScene(a.name,null,function(c){0==iron_Scene.active.cameras.length&&(haxe_Log.trace('No camera found for scene "'+Std.string(a)+'.name"!',{fileName:"Scene.hx",lineNumber:75,className:"iron.Scene",methodName:"create"}),b(null)),iron_Scene.active.camera=iron_Scene.active.getCamera(a.camera_ref),b(c);for(var d=0,e=iron_Scene.active.traitInits;d<e.length;){var f=e[d];++d,f()}iron_Scene.active.traitInits=[]})})},iron_Scene.patch=function(){var a=iron_Scene.active.camera.transform;iron_data_Data.clearSceneData(),iron_Scene.setActive(iron_Scene.active.raw.name,function(b){iron_Scene.active.camera.transform=a})},iron_Scene.setActive=function(a,b){null!=iron_Scene.active&&iron_Scene.active.remove(),iron_data_Data.getSceneRaw(a,function(a){iron_Scene.create(a,function(a){null!=b&&b(a),iron_Scene.active.ready=!0})})},iron_Scene.generateTranform=function(a,b){b.matrix=iron_math_Mat4.fromArray(a.transform.values),b.matrix.decompose(b.loc,b.rot,b.scale),null!=a.local_transform_only&&(b.localOnly=a.local_transform_only),null==b.object.parent||b.object.parent.visible||b.update()},iron_Scene.setupAnimation=function(a,b){null!=a&&b.setupAnimation(a)},iron_Scene.createTraits=function(a,b){if(null!=a)for(var c=0;c<a.length;){var d=a[c];if(++c,"Script"==d.type){var e=[];null!=d.parameters&&(e=d.parameters);var f=iron_Scene.createTraitClassInstance(d.class_name,e);if(null==f){haxe_Log.trace("Error: Trait '"+d.class_name+"' referenced in object '"+b.name+"' not found",{fileName:"Scene.hx",lineNumber:443,className:"iron.Scene",methodName:"createTraits"});continue}b.addTrait(f)}}},iron_Scene.createConstraints=function(a,b){if(null!=a){b.constraints=[];for(var c=0;c<a.length;){var d=a[c];++c;var e=new iron_object_Constraint(d);b.constraints.push(e)}}},iron_Scene.createTraitClassInstance=function(a,b){var c=Type.resolveClass(a);return null==c?null:Type.createInstance(c,b)},iron_Scene.prototype={remove:function(){this.meshBatch.remove();for(var a=0,b=this.meshes;a<b.length;){var c=b[a];++a,c.remove()}for(var d=0,e=this.lamps;d<e.length;){var f=e[d];++d,f.remove()}for(var g=0,h=this.cameras;g<h.length;){var i=h[g];++g,i.remove()}for(var j=0,k=this.speakers;j<k.length;){var l=k[j];++j,l.remove()}for(var m=0,n=this.decals;m<n.length;){var o=n[m];++m,o.remove()}this.root.remove()},updateFrame:function(){for(var a=0,b=this.animations;a<b.length;){var c=b[a];++a,c.update(.016666666666666666)}},renderFrame:function(a){if(this.ready){for(var b=this.camera,c=0,d=this.cameras;c<d.length;){var e=d[c];++c,null!=e.data.mirror&&(this.camera=e,this.camera.renderFrame(a,this.root,this.lamps))}this.camera=b,this.camera.renderFrame(a,this.root,this.lamps)}},addObject:function(a){var b=new iron_object_Object;return null!=a?a.addChild(b):this.root.addChild(b),b},getChild:function(a){return this.root.getChild(a)},getCamera:function(a){for(var b=0,c=this.cameras;b<c.length;){var d=c[b];if(++b,d.name==a)return d}return null},addMeshObject:function(a,b,c){var d=new iron_object_MeshObject(a,b);return null!=c?c.addChild(d):this.root.addChild(d),d},addLampObject:function(a,b){var c=new iron_object_LampObject(a);return null!=b?b.addChild(c):this.root.addChild(c),c},addCameraObject:function(a,b){var c=new iron_object_CameraObject(a);return null!=b?b.addChild(c):this.root.addChild(c),c},addSpeakerObject:function(a,b){var c=new iron_object_SpeakerObject(a);return null!=b?b.addChild(c):this.root.addChild(c),c},addDecalObject:function(a,b){var c=new iron_object_DecalObject(a);return null!=b?b.addChild(c):this.root.addChild(c),c},addScene:function(a,b,c){var d=this;null==b&&(b=this.addObject()),iron_data_Data.getSceneRaw(a,function(e){iron_Scene.createTraits(e.traits,b),d.loadEmbeddedData(e.embedded_datas,function(){if(null!=e.grease_pencil_ref){var f=e.grease_pencil_ref.split("/"),g="",h="";2==f.length?(g=f[0],h=f[1]):(g=a,h=e.grease_pencil_ref),iron_data_Data.getGreasePencil(g,h,function(a){d.greasePencil=a})}d.objectsTraversed=0;var i=[],j=e.objects,k=d.getObjectsCount(e.objects);d.traverseObjects(e,b,j,null,i,function(){for(var a=0;a<i.length;){var f=i[a];++a,d.setupGroup(f,e)}c(b)},k)})})},getObjectsCount:function(a){for(var b=a.length,c=0;c<a.length;){var d=a[c];++c,null!=d.spawn&&0==d.spawn||null!=d.children&&(b+=this.getObjectsCount(d.children))}return b},traverseObjects:function(a,b,c,d,e,f,g){var h=this;if(null!=c)for(var i=0,j=c.length;i<j;){var k=i++,l=[c[k]];if(null==l[0].spawn||0!=l[0].spawn){var m=l[0],n=function(b){return function(c){null!=b[0].group_ref&&e.push(c),null!=c&&h.traverseObjects(a,c,b[0].children,b[0],e,f,g),++h.objectsTraversed==g&&f()}}(l);this.createObject(m,a,b,d,n)}else++this.objectsTraversed==g&&f()}},createObject:function(a,b,c,d,e){var f=this,g=b.name;if("camera_object"==a.type)iron_data_Data.getCamera(g,a.data_ref,function(b){var d=f.addCameraObject(b,c);f.returnObject(d,a,e)});else if("lamp_object"==a.type)iron_data_Data.getLamp(g,a.data_ref,function(b){var d=f.addLampObject(b,c);f.returnObject(d,a,e)});else if("mesh_object"==a.type)if(0==a.material_refs.length){var h=this.addObject(c);null!=a.dimensions&&h.transform.setDimensions(a.dimensions[0],a.dimensions[1],a.dimensions[2]),this.returnObject(h,a,e)}else for(var i=a.material_refs.length,j=new Array(i),k=j,l=0,m=0,n=a.material_refs.length;m<n;){var o=[m++],p=a.material_refs[o[0]],q=function(b){return function(h){if(k[b[0]]=h,(l+=1)==a.material_refs.length){var i=a.data_ref.split("/"),j="",m="";2==i.length?(j=i[0],m=i[1]):(j=g,m=a.data_ref),null!=d&&null!=d.bones_ref?iron_data_Data.getSceneRaw(d.bones_ref,function(){return function(b){var d=b.objects;f.returnMeshObject(j,m,g,d,k,c,a,e)}}()):f.returnMeshObject(j,m,g,null,k,c,a,e)}}}(o);iron_data_Data.getMaterial(g,p,q)}else if("speaker_object"==a.type){var r=this.addSpeakerObject(iron_data_Data.getSpeakerRawByName(b.speaker_datas,a.data_ref),c);this.returnObject(r,a,e)}else if("decal_object"==a.type)if(null!=a.material_refs&&a.material_refs.length>0)iron_data_Data.getMaterial(g,a.material_refs[0],function(b){var d=f.addDecalObject(b,c);f.returnObject(d,a,e)});else{var s=this.addDecalObject(null,c);this.returnObject(s,a,e)}else if("object"==a.type){var t=this.addObject(c);this.returnObject(t,a,e)}else e(null)},returnMeshObject:function(a,b,c,d,e,f,g,h){var i=this;iron_data_Data.getMesh(a,b,d,function(a){var b=i.addMeshObject(a,e,f);null!=g.particle_refs&&g.particle_refs.length>0&&js_Boot.__cast(b,iron_object_MeshObject).setupParticleSystem(c,g.particle_refs[0]),null!=g.dimensions&&b.transform.setDimensions(g.dimensions[0],g.dimensions[1],g.dimensions[2]),i.returnObject(b,g,h)})},returnObject:function(a,b,c){if(null!=a){if(a.raw=b,a.name=b.name,null!=b.visible&&(a.visible=b.visible),null!=b.visible_mesh&&(a.visibleMesh=b.visible_mesh),null!=b.visible_shadow&&(a.visibleShadow=b.visible_shadow),iron_Scene.createConstraints(b.constraints,a),iron_Scene.generateTranform(b,a.transform),iron_Scene.setupAnimation(b.animation_setup,a),null==b.dimensions){var d=a.transform.scale;a.transform.setDimensions(2*d.x,2*d.y,2*d.z)}iron_Scene.createTraits(b.traits,a)}c(a)},setupGroup:function(a,b){var c=a.raw;if(null!=c.group_ref)for(var d=0,e=b.groups;d<e.length;){var f=e[d];if(++d,f.name==c.group_ref){a.group=[];for(var g=0,h=f.object_refs;g<h.length;){var i=h[g];++g,a.group.push(this.getChild(i))}break}}},loadEmbeddedData:function(a,b){var c=this;if(null==a)return void b();for(var d=0,e=0;e<a.length;){var f=[a[e]];++e,iron_data_Data.getImage(f[0],function(e){return function(f){var g=c.embedded;null!=__map_reserved[e[0]]?g.setReserved(e[0],f):g.h[e[0]]=f,(d+=1)==a.length&&b()}}(f))}},notifyOnInit:function(a){this.ready?a():this.traitInits.push(a)},__class__:iron_Scene};var iron_system_Time=function(){};$hxClasses["iron.system.Time"]=iron_system_Time,iron_system_Time.__name__=["iron","system","Time"],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 armory_trait_internal_JSScriptAPI=$hx_exports.armory=function(){};$hxClasses["armory.trait.internal.JSScriptAPI"]=armory_trait_internal_JSScriptAPI,armory_trait_internal_JSScriptAPI.__name__=["armory","trait","internal","JSScriptAPI"],armory_trait_internal_JSScriptAPI.prototype={__class__:armory_trait_internal_JSScriptAPI};var kha_math_FastMatrix4=function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){this._00=a,this._10=b,this._20=c,this._30=d,this._01=e,this._11=f,this._21=g,this._31=h,this._02=i,this._12=j,this._22=k,this._32=l,this._03=m,this._13=n,this._23=o,this._33=p};$hxClasses["kha.math.FastMatrix4"]=kha_math_FastMatrix4,kha_math_FastMatrix4.__name__=["kha","math","FastMatrix4"],kha_math_FastMatrix4.orthogonalProjection=function(a,b,c,d,e,f){return new kha_math_FastMatrix4(2/(b-a),0,0,-(b+a)/(b-a),0,2/(d-c),0,-(d+c)/(d-c),0,0,-2/(f-e),-(f+e)/(f-e),0,0,0,1)},kha_math_FastMatrix4.prototype={__class__:kha_math_FastMatrix4};var iron_math_Vec4=function(a,b,c,d){null==d&&(d=1),null==c&&(c=0),null==b&&(b=0),null==a&&(a=0),this.x=a,this.y=b,this.z=c,this.w=d};$hxClasses["iron.math.Vec4"]=iron_math_Vec4,iron_math_Vec4.__name__=["iron","math","Vec4"],iron_math_Vec4.lerp=function(a,b,c){var d=new iron_math_Vec4;return d.x=b.x+(a.x-b.x)*c,d.y=b.y+(a.y-b.y)*c,d.z=b.z+(a.z-b.z)*c,d},iron_math_Vec4.distance3d=function(a,b){var c=a.x-b.x,d=a.y-b.y,e=a.z-b.z;return Math.sqrt(c*c+d*d+e*e)},iron_math_Vec4.distance3df=function(a,b,c,d,e,f){var g=a-d,h=b-e,i=c-f;return Math.sqrt(g*g+h*h+i*i)},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={set:function(a,b,c,d){return null==d&&(d=1),this.x=a,this.y=b,this.z=c,this.w=d,this},add:function(a){return this.x+=a.x,this.y+=a.y,this.z+=a.z,this},addf:function(a,b,c){return this.x+=a,this.y+=b,this.z+=c,this},subvecs:function(a,b){return this.x=a.x-b.x,this.y=a.y-b.y,this.z=a.z-b.z,this},normalize:function(){var a=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z);if(a>0){var b=1/a;this.x*=b,this.y*=b,this.z*=b}return this},mult:function(a){return this.x*=a,this.y*=a,this.z*=a,this},dot:function(a){return this.x*a.x+this.y*a.y+this.z*a.z},setFrom:function(a){return this.x=a.x,this.y=a.y,this.z=a.z,this},applyproj:function(a){var b=this.x,c=this.y,d=this.z,e=1/(a.self._03*b+a.self._13*c+a.self._23*d+a.self._33);return this.x=(a.self._00*b+a.self._10*c+a.self._20*d+a.self._30)*e,this.y=(a.self._01*b+a.self._11*c+a.self._21*d+a.self._31)*e,this.z=(a.self._02*b+a.self._12*c+a.self._22*d+a.self._32)*e,this},applymat:function(a){var b=this.x,c=this.y,d=this.z;return this.x=a.self._00*b+a.self._10*c+a.self._20*d+a.self._30,this.y=a.self._01*b+a.self._11*c+a.self._21*d+a.self._31,this.z=a.self._02*b+a.self._12*c+a.self._22*d+a.self._32,this},applymat4:function(a){var b=this.x,c=this.y,d=this.z,e=this.w;return this.x=a.self._00*b+a.self._10*c+a.self._20*d+a.self._30*e,this.y=a.self._01*b+a.self._11*c+a.self._21*d+a.self._31*e,this.z=a.self._02*b+a.self._12*c+a.self._22*d+a.self._32*e,this.w=a.self._03*b+a.self._13*c+a.self._23*d+a.self._33*e,this},sub:function(a){return this.x-=a.x,this.y-=a.y,this.z-=a.z,this},unproject:function(a,b){var c=iron_math_Mat4.identity(),d=iron_math_Mat4.identity(),e=iron_math_Mat4.identity();return d.getInverse(a),e.getInverse(b),c.multmats(e,d),this.applyproj(c)},__class__:iron_math_Vec4};var iron_math_Mat4=function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p){this.self=new kha_math_FastMatrix4(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p)};$hxClasses["iron.math.Mat4"]=iron_math_Mat4,iron_math_Mat4.__name__=["iron","math","Mat4"],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(a,b){return null==b&&(b=0),new iron_math_Mat4(a[b],a[1+b],a[2+b],a[3+b],a[4+b],a[5+b],a[6+b],a[7+b],a[8+b],a[9+b],a[10+b],a[11+b],a[12+b],a[13+b],a[14+b],a[15+b])},iron_math_Mat4.perspective=function(a,b,c,d){var e=1/Math.tan(a/2);return new iron_math_Mat4(e/b,0,0,0,0,e,0,0,0,0,(d+c)/(c-d),2*d*c/(c-d),0,0,-1,0)},iron_math_Mat4.orthogonal=function(a,b,c,d,e,f,g){null==g&&(g=2);var h=b-a,i=d-c,j=f-e;return new iron_math_Mat4(g/h,0,0,-(b+a)/h,0,g/i,0,-(d+c)/i,0,0,-g/j,-(f+e)/j,0,0,0,1)},iron_math_Mat4.lookAt=function(a,b,c){return iron_math_Mat4.identity().setLookAt(a,b,c)},iron_math_Mat4.prototype={compose:function(a,b,c){return this.fromQuaternion(b),this.scale(c),this.setLocation(a),this},decompose:function(a,b,c){iron_math_Mat4.helpVec.w=0;var d=iron_math_Mat4.helpVec.set(this.self._00,this.self._01,this.self._02),e=Math.sqrt(d.x*d.x+d.y*d.y+d.z*d.z),f=iron_math_Mat4.helpVec.set(this.self._10,this.self._11,this.self._12),g=Math.sqrt(f.x*f.x+f.y*f.y+f.z*f.z),h=iron_math_Mat4.helpVec.set(this.self._20,this.self._21,this.self._22),i=Math.sqrt(h.x*h.x+h.y*h.y+h.z*h.z),j=this.self,k=j._12,l=j._22,m=j._32,n=j._13,o=j._23,p=j._33,q=j._11*(l*p-m*o)-j._21*(k*p-m*n)+j._31*(k*o-l*n),r=j._12,s=j._22,t=j._32,u=j._13,v=j._23,w=j._33,x=j._10*(s*w-t*v)-j._20*(r*w-t*u)+j._30*(r*v-s*u),y=j._11,z=j._21,A=j._31,B=j._13,C=j._23,D=j._33,E=j._10*(z*D-A*C)-j._20*(y*D-A*B)+j._30*(y*C-z*B),F=j._11,G=j._21,H=j._31,I=j._12,J=j._22,K=j._32,L=j._10*(G*K-H*J)-j._20*(F*K-H*I)+j._30*(F*J-G*I);j._00*q-j._01*x+j._02*E-j._03*L<0&&(e=-e),a.x=this.self._30,a.y=this.self._31,a.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 N=1/e,O=1/g,P=1/i;return iron_math_Mat4.helpMat.self._00*=N,iron_math_Mat4.helpMat.self._01*=N,iron_math_Mat4.helpMat.self._02*=N,iron_math_Mat4.helpMat.self._03=0,iron_math_Mat4.helpMat.self._10*=O,iron_math_Mat4.helpMat.self._11*=O,iron_math_Mat4.helpMat.self._12*=O,iron_math_Mat4.helpMat.self._13=0,iron_math_Mat4.helpMat.self._20*=P,iron_math_Mat4.helpMat.self._21*=P,iron_math_Mat4.helpMat.self._22*=P,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,b.fromRotationMat(iron_math_Mat4.helpMat),c.x=e,c.y=g,c.z=i,this},setLocation:function(a){return this.self._30=a.x,this.self._31=a.y,this.self._32=a.z,this},fromQuaternion:function(a){var b=a.x,c=a.y,d=a.z,e=a.w,f=b+b,g=c+c,h=d+d,i=b*f,j=b*g,k=b*h,l=c*g,m=c*h,n=d*h,o=e*f,p=e*g,q=e*h;return this.self._00=1-(l+n),this.self._10=j-q,this.self._20=k+p,this.self._01=j+q,this.self._11=1-(i+n),this.self._21=m-o,this.self._02=k-p,this.self._12=m+o,this.self._22=1-(i+l),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},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},scale:function(a){this.self._00*=a.x,this.self._01*=a.x,this.self._02*=a.x,this.self._03*=a.x,this.self._10*=a.y,this.self._11*=a.y,this.self._12*=a.y,this.self._13*=a.y,this.self._20*=a.z,this.self._21*=a.z,this.self._22*=a.z,this.self._23*=a.z},multmat3x4:function(a,b){var c=a.self._00,d=a.self._01,e=a.self._02,f=a.self._10,g=a.self._11,h=a.self._12,i=a.self._20,j=a.self._21,k=a.self._22,l=a.self._30,m=a.self._31,n=a.self._32,o=b.self._00,p=b.self._01,q=b.self._02,r=b.self._10,s=b.self._11,t=b.self._12,u=b.self._20,v=b.self._21,w=b.self._22,x=b.self._30,y=b.self._31,z=b.self._32;this.self._00=c*o+d*r+e*u,this.self._01=c*p+d*s+e*v,this.self._02=c*q+d*t+e*w,this.self._03=0,this.self._10=f*o+g*r+h*u,this.self._11=f*p+g*s+h*v,this.self._12=f*q+g*t+h*w,this.self._13=0,this.self._20=i*o+j*r+k*u,this.self._21=i*p+j*s+k*v,this.self._22=i*q+j*t+k*w,this.self._23=0,this.self._30=l*o+m*r+n*u+x,this.self._31=l*p+m*s+n*v+y,this.self._32=l*q+m*t+n*w+z,this.self._33=1},multmat2:function(a){var b=this.self._00,c=this.self._01,d=this.self._02,e=this.self._03,f=this.self._10,g=this.self._11,h=this.self._12,i=this.self._13,j=this.self._20,k=this.self._21,l=this.self._22,m=this.self._23,n=this.self._30,o=this.self._31,p=this.self._32,q=this.self._33,r=a.self._00,s=a.self._01,t=a.self._02,u=a.self._03,v=a.self._10,w=a.self._11,x=a.self._12,y=a.self._13,z=a.self._20,A=a.self._21,B=a.self._22,C=a.self._23,D=a.self._30,E=a.self._31,F=a.self._32,G=a.self._33;return this.self._00=b*r+c*v+d*z+e*D,this.self._01=b*s+c*w+d*A+e*E,this.self._02=b*t+c*x+d*B+e*F,this.self._03=b*u+c*y+d*C+e*G,this.self._10=f*r+g*v+h*z+i*D,this.self._11=f*s+g*w+h*A+i*E,this.self._12=f*t+g*x+h*B+i*F,this.self._13=f*u+g*y+h*C+i*G,this.self._20=j*r+k*v+l*z+m*D,this.self._21=j*s+k*w+l*A+m*E,this.self._22=j*t+k*x+l*B+m*F,this.self._23=j*u+k*y+l*C+m*G,this.self._30=n*r+o*v+p*z+q*D,this.self._31=n*s+o*w+p*A+q*E,this.self._32=n*t+o*x+p*B+q*F,this.self._33=n*u+o*y+p*C+q*G,this},multmats:function(a,b){var c=a.self._00,d=a.self._10,e=a.self._20,f=a.self._30,g=a.self._01,h=a.self._11,i=a.self._21,j=a.self._31,k=a.self._02,l=a.self._12,m=a.self._22,n=a.self._32,o=a.self._03,p=a.self._13,q=a.self._23,r=a.self._33,s=b.self._00,t=b.self._10,u=b.self._20,v=b.self._30,w=b.self._01,x=b.self._11,y=b.self._21,z=b.self._31,A=b.self._02,B=b.self._12,C=b.self._22,D=b.self._32,E=b.self._03,F=b.self._13,G=b.self._23,H=b.self._33;return this.self._00=c*s+d*w+e*A+f*E,this.self._10=c*t+d*x+e*B+f*F,this.self._20=c*u+d*y+e*C+f*G,this.self._30=c*v+d*z+e*D+f*H,this.self._01=g*s+h*w+i*A+j*E,this.self._11=g*t+h*x+i*B+j*F,this.self._21=g*u+h*y+i*C+j*G,this.self._31=g*v+h*z+i*D+j*H,this.self._02=k*s+l*w+m*A+n*E,this.self._12=k*t+l*x+m*B+n*F,this.self._22=k*u+l*y+m*C+n*G,this.self._32=k*v+l*z+m*D+n*H,this.self._03=o*s+p*w+q*A+r*E,this.self._13=o*t+p*x+q*B+r*F,this.self._23=o*u+p*y+q*C+r*G,this.self._33=o*v+p*z+q*D+r*H,this},getInverse:function(a){var b=a.self._00,c=a.self._10,d=a.self._20,e=a.self._30,f=a.self._01,g=a.self._11,h=a.self._21,i=a.self._31,j=a.self._02,k=a.self._12,l=a.self._22,m=a.self._32,n=a.self._03,o=a.self._13,p=a.self._23,q=a.self._33;this.self._00=h*m*o-i*l*o+i*k*p-g*m*p-h*k*q+g*l*q,this.self._10=e*l*o-d*m*o-e*k*p+c*m*p+d*k*q-c*l*q,this.self._20=d*i*o-e*h*o+e*g*p-c*i*p-d*g*q+c*h*q,this.self._30=e*h*k-d*i*k-e*g*l+c*i*l+d*g*m-c*h*m,this.self._01=i*l*n-h*m*n-i*j*p+f*m*p+h*j*q-f*l*q,this.self._11=d*m*n-e*l*n+e*j*p-b*m*p-d*j*q+b*l*q,this.self._21=e*h*n-d*i*n-e*f*p+b*i*p+d*f*q-b*h*q,this.self._31=d*i*j-e*h*j+e*f*l-b*i*l-d*f*m+b*h*m,this.self._02=g*m*n-i*k*n+i*j*o-f*m*o-g*j*q+f*k*q,this.self._12=e*k*n-c*m*n-e*j*o+b*m*o+c*j*q-b*k*q,this.self._22=c*i*n-e*g*n+e*f*o-b*i*o-c*f*q+b*g*q,this.self._32=e*g*j-c*i*j-e*f*k+b*i*k+c*f*m-b*g*m,this.self._03=h*k*n-g*l*n-h*j*o+f*l*o+g*j*p-f*k*p,this.self._13=c*l*n-d*k*n+d*j*o-b*l*o-c*j*p+b*k*p,this.self._23=d*g*n-c*h*n-d*f*o+b*h*o+c*f*p-b*g*p,this.self._33=c*h*j-d*g*j+d*f*k-b*h*k-c*f*l+b*g*l;var r=b*this.self._00+f*this.self._10+j*this.self._20+n*this.self._30;return 0==r?this.setIdentity():(this.mult(1/r),this)},transpose:function(){var a=this.self._01;this.self._01=this.self._10,this.self._10=a,a=this.self._02,this.self._02=this.self._20,this.self._20=a,a=this.self._03,this.self._03=this.self._30,this.self._30=a,a=this.self._12,this.self._12=this.self._21,this.self._21=a,a=this.self._13,this.self._13=this.self._31,this.self._31=a,a=this.self._23,this.self._23=this.self._32,this.self._32=a},transpose3x3:function(){var a=this.self._01;this.self._01=this.self._10,this.self._10=a,a=this.self._02,this.self._02=this.self._20,this.self._20=a,a=this.self._12,this.self._12=this.self._21,this.self._21=a},set:function(a,b){null==b&&(b=0),this.self._00=a[b],this.self._10=a[1+b],this.self._20=a[2+b],this.self._30=a[3+b],this.self._01=a[4+b],this.self._11=a[5+b],this.self._21=a[6+b],this.self._31=a[7+b],this.self._02=a[8+b],this.self._12=a[9+b],this.self._22=a[10+b],this.self._32=a[11+b],this.self._03=a[12+b],this.self._13=a[13+b],this.self._23=a[14+b],this.self._33=a[15+b]},setFrom:function(a){this.self._00=a.self._00,this.self._01=a.self._01,this.self._02=a.self._02,this.self._03=a.self._03,this.self._10=a.self._10,this.self._11=a.self._11,this.self._12=a.self._12,this.self._13=a.self._13,this.self._20=a.self._20,this.self._21=a.self._21,this.self._22=a.self._22,this.self._23=a.self._23,this.self._30=a.self._30,this.self._31=a.self._31,this.self._32=a.self._32,this.self._33=a.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(a){return this.self._00*=a,this.self._10*=a,this.self._20*=a,this.self._30*=a,this.self._01*=a,this.self._11*=a,this.self._21*=a,this.self._31*=a,this.self._02*=a,this.self._12*=a,this.self._22*=a,this.self._32*=a,this.self._03*=a,this.self._13*=a,this.self._23*=a,this.self._33*=a,this},toRotation:function(){var a=new iron_math_Vec4,b=a.set(this.self._00,this.self._01,this.self._02),c=1/Math.sqrt(b.x*b.x+b.y*b.y+b.z*b.z),d=a.set(this.self._10,this.self._11,this.self._12),e=1/Math.sqrt(d.x*d.x+d.y*d.y+d.z*d.z),f=a.set(this.self._20,this.self._21,this.self._22),g=1/Math.sqrt(f.x*f.x+f.y*f.y+f.z*f.z);return this.self._00*=c,this.self._01*=c,this.self._02*=c,this.self._03=0,this.self._10*=e,this.self._11*=e,this.self._12*=e,this.self._13=0,this.self._20*=g,this.self._21*=g,this.self._22*=g,this.self._23=0,this.self._30=0,this.self._31=0,this.self._32=0,this.self._33=1,this},setLookAt:function(a,b,c){var d=b.x-a.x,e=b.y-a.y,f=b.z-a.z,g=1/Math.sqrt(d*d+e*e+f*f);d*=g,e*=g,f*=g;var h=e*c.z-f*c.y,i=f*c.x-d*c.z,j=d*c.y-e*c.x;g=1/Math.sqrt(h*h+i*i+j*j),h*=g,i*=g,j*=g;var k=i*f-j*e,l=j*d-h*f,m=h*e-i*d,n=-a.x*h-a.y*i-a.z*j,o=-a.x*k-a.y*l-a.z*m,p=a.x*d+a.y*e+a.z*f;return this.self._00=h,this.self._10=i,this.self._20=j,this.self._30=n,this.self._01=k,this.self._11=l,this.self._21=m,this.self._31=o,this.self._02=-d,this.self._12=-e,this.self._22=-f,this.self._32=p,this.self._03=0,this.self._13=0,this.self._23=0,this.self._33=1,this},__class__:iron_math_Mat4};var iron_math_Quat=function(a,b,c,d){null==d&&(d=1),null==c&&(c=0),null==b&&(b=0),null==a&&(a=0),this.x=a,this.y=b,this.z=c,this.w=d};$hxClasses["iron.math.Quat"]=iron_math_Quat,iron_math_Quat.__name__=["iron","math","Quat"],iron_math_Quat.lerp=function(a,b,c){var d=new iron_math_Quat,e=new iron_math_Quat;return e.setFrom(a),a.dot(b)<0&&(e.w=-e.w,e.x=-e.x,e.y=-e.y,e.z=-e.z),d.x=e.x+(b.x-e.x)*c,d.y=e.y+(b.y-e.y)*c,d.z=e.z+(b.z-e.z)*c,d.w=e.w+(b.w-e.w)*c,d.normalize(),d},iron_math_Quat.prototype={set:function(a,b,c,d){this.x=a,this.y=b,this.z=c,this.w=d},fromAxisAngle:function(a,b){var c=Math.sin(.5*b);this.x=a.x*c,this.y=a.y*c,this.z=a.z*c,this.w=Math.cos(.5*b)},toAxisAngle:function(a){this.normalize();var b=2*Math.acos(this.w),c=Math.sqrt(1-this.w*this.w);return c<.001?(a.x=this.x,a.y=this.y,a.z=this.z):(a.x=this.x/c,a.y=this.y/c,a.z=this.z/c),b},fromRotationMat:function(a){var b=a.self._00,c=a.self._10,d=a.self._20,e=a.self._01,f=a.self._11,g=a.self._21,h=a.self._02,i=a.self._12,j=a.self._22,k=b+f+j,l=0;return k>0?(l=.5/Math.sqrt(k+1),this.w=.25/l,this.x=(i-g)*l,this.y=(d-h)*l,this.z=(e-c)*l):b>f&&b>j?(l=2*Math.sqrt(1+b-f-j),this.w=(i-g)/l,this.x=.25*l,this.y=(c+e)/l,this.z=(d+h)/l):f>j?(l=2*Math.sqrt(1+f-b-j),this.w=(d-h)/l,this.x=(c+e)/l,this.y=.25*l,this.z=(g+i)/l):(l=2*Math.sqrt(1+j-b-f),this.w=(e-c)/l,this.x=(d+h)/l,this.y=(g+i)/l,this.z=.25*l),this},multquats:function(a,b){var c=a.x*b.w+a.w*b.x+a.y*b.z-a.z*b.y,d=a.w*b.y-a.x*b.z+a.y*b.w+a.z*b.x,e=a.w*b.z+a.x*b.y-a.y*b.x+a.z*b.w,f=a.w*b.w-a.x*b.x-a.y*b.y-a.z*b.z;this.x=c,this.y=d,this.z=e,this.w=f},normalize:function(){var a=Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w);0==a?(this.x=0,this.y=0,this.z=0,this.w=0):(a=1/a,this.x*=a,this.y*=a,this.z*=a,this.w*=a)},setFrom:function(a){this.x=a.x,this.y=a.y,this.z=a.z,this.w=a.w},fromEuler:function(a,b,c){var d=Math.cos(a/2),e=Math.cos(b/2),f=Math.cos(c/2),g=Math.sin(a/2),h=Math.sin(b/2),i=Math.sin(c/2);return this.x=g*e*f+d*h*i,this.y=d*h*f+g*e*i,this.z=d*e*i-g*h*f,this.w=d*e*f-g*h*i,this},toMat:function(a){var b=this.x+this.x,c=this.y+this.y,d=this.z+this.z,e=this.x*b,f=this.x*c,g=this.x*d,h=this.y*c,i=this.y*d,j=this.z*d,k=this.w*b,l=this.w*c,m=this.w*d;return a.self._00=1-(h+j),a.self._10=f-m,a.self._20=g+l,a.self._01=f+m,a.self._11=1-(e+j),a.self._21=i-k,a.self._02=g-l,a.self._12=i+k,a.self._22=1-(e+h),a.self._03=0,a.self._13=0,a.self._23=0,a.self._30=0,a.self._31=0,a.self._32=0,a.self._33=1,a},dot:function(a){return this.x*a.x+this.y*a.y+this.z*a.z+this.w*a.w},__class__:iron_math_Quat};var armory_trait_internal_LoadBar=function(){};$hxClasses["armory.trait.internal.LoadBar"]=armory_trait_internal_LoadBar,armory_trait_internal_LoadBar.__name__=["armory","trait","internal","LoadBar"],armory_trait_internal_LoadBar.render=function(a){if(null!=iron_Scene.active&&iron_Scene.active.ready)return void iron_App.removeRender2D(armory_trait_internal_LoadBar.render);a.set_color(-3200189),a.fillRect(0,kha_System.windowHeight()-4,kha_System.windowWidth()/13*iron_data_Data.assetsLoaded,4)};var armory_trait_internal_MovieTexture=function(a){iron_Trait.call(this),this.videoName=a,armory_trait_internal_MovieTexture.created||(armory_trait_internal_MovieTexture.created=!0,this.notifyOnInit($bind(this,this.init)),this.notifyOnRender2D($bind(this,this.render)))};$hxClasses["armory.trait.internal.MovieTexture"]=armory_trait_internal_MovieTexture,armory_trait_internal_MovieTexture.__name__=["armory","trait","internal","MovieTexture"],armory_trait_internal_MovieTexture.__super__=iron_Trait,armory_trait_internal_MovieTexture.prototype=$extend(iron_Trait.prototype,{pow:function(a){for(var b=1,c=0,d=a;c<d;){c++;b*=2}return b},getPower2:function(a){for(var b=0;;){var c=this.pow(b);if(c>=a)return c;++b}},init:function(){var a=this;iron_data_Data.getVideo(this.videoName,function(b){a.video=b,a.video.play(!0);var c=a.video.width(),d=a.getPower2(c),e=a.video.height();armory_trait_internal_MovieTexture.image=kha_Image.createRenderTarget(d,a.getPower2(e)),js_Boot.__cast(a.object,iron_object_MeshObject).materials[0].contexts[0].textures[0]=armory_trait_internal_MovieTexture.image})},render:function(a){if(null!=this.video){a.end();var b=armory_trait_internal_MovieTexture.image.get_g2();b.begin(!0,-16777216),b.set_color(-1),b.drawVideo(this.video,0,0,1024,512),b.end(),a.begin(!1)}},__class__:armory_trait_internal_MovieTexture});var armory_trait_internal_Navigation=function(){iron_Trait.call(this)};$hxClasses["armory.trait.internal.Navigation"]=armory_trait_internal_Navigation,armory_trait_internal_Navigation.__name__=["armory","trait","internal","Navigation"],armory_trait_internal_Navigation.__super__=iron_Trait,armory_trait_internal_Navigation.prototype=$extend(iron_Trait.prototype,{__class__:armory_trait_internal_Navigation});var armory_trait_internal_PathTracer=function(){iron_Trait.call(this),this.notifyOnInit($bind(this,this.init))};$hxClasses["armory.trait.internal.PathTracer"]=armory_trait_internal_PathTracer,armory_trait_internal_PathTracer.__name__=["armory","trait","internal","PathTracer"],armory_trait_internal_PathTracer.__super__=iron_Trait,armory_trait_internal_PathTracer.prototype=$extend(iron_Trait.prototype,{getColorFromNode:function(a){for(var b=0,c=a.materials[0].contexts[0].raw.bind_constants;b<c.length;){var d=c[b];if(++b,"baseCol"==d.name)return d.vec4}return null},init:function(){var a=this;iron_data_Data.getMaterial("pt_material","",function(b){a.context=b.getContext("pt_trace_pass"),a.context.raw.bind_constants.push({name:"glossiness",float:.6}),a.context.raw.bind_constants.push({name:"ray00",vec3:[0,0,0]}),a.ray00Location=a.context.raw.bind_constants.length-1,a.context.raw.bind_constants.push({name:"ray01",vec3:[0,0,0]}),a.ray01Location=a.context.raw.bind_constants.length-1,a.context.raw.bind_constants.push({name:"ray10",vec3:[0,0,0]}),a.ray10Location=a.context.raw.bind_constants.length-1,a.context.raw.bind_constants.push({name:"ray11",vec3:[0,0,0]}),a.ray11Location=a.context.raw.bind_constants.length-1,a.objectLocations=[],a.transformMap=new haxe_ds_IntMap;for(var c=0,d=0,e=0,f=iron_Scene.active.meshes;e<f.length;){var g=f[e];if(++e,"Sphere"==g.name.split(".")[0]){a.context.raw.bind_constants.push({name:"sphereCenter"+c,vec3:[0,0,0]});var h=a.context.raw.bind_constants.length-1;a.objectLocations.push(h),a.transformMap.h[h]=g.transform,a.context.raw.bind_constants.push({name:"sphereRadius"+c,float:g.transform.size.x/2-.02});var i=a.getColorFromNode(g);a.context.raw.bind_constants.push({name:"sphereColor"+c,vec3:[i[0],i[1],i[2]]}),++c}else if("Cube"==g.name.split(".")[0]){a.context.raw.bind_constants.push({name:"cubeCenter"+d,vec3:[0,0,0]});var j=a.context.raw.bind_constants.length-1;a.objectLocations.push(j),a.transformMap.h[j]=g.transform,a.context.raw.bind_constants.push({name:"cubeSize"+d,vec3:[g.transform.size.x/2,g.transform.size.y/2,g.transform.size.z/2]});var k=a.getColorFromNode(g);a.context.raw.bind_constants.push({name:"cubeColor"+d,vec3:[k[0],k[1],k[2]]}),++d}}a.notifyOnUpdate($bind(a,a.update))})},update:function(){var a=iron_Scene.active.camera,b=a.transform.loc,c=iron_math_Mat4.identity();c.multmat2(a.V),c.multmat2(a.P);var d=iron_math_Mat4.identity(),e=d,f=this.getEyeRay(e,-1,-1,b);this.context.raw.bind_constants[this.ray00Location].vec3=[f.x,f.y,f.z];var g=this.getEyeRay(e,-1,1,b);this.context.raw.bind_constants[this.ray01Location].vec3=[g.x,g.y,g.z];var h=this.getEyeRay(e,1,-1,b);this.context.raw.bind_constants[this.ray10Location].vec3=[h.x,h.y,h.z];var i=this.getEyeRay(e,1,1,b);this.context.raw.bind_constants[this.ray11Location].vec3=[i.x,i.y,i.z];for(var j=0,k=this.objectLocations;j<k.length;){var l=k[j];++j;var m=this.transformMap.h[l];m.buildMatrix();var n=this.context.raw.bind_constants[l];n.vec3[0]=m.matrix.self._30,n.vec3[1]=m.matrix.self._31,n.vec3[2]=m.matrix.self._32}},getEyeRay:function(a,b,c,d){var e=new iron_math_Vec4,f=new kha_math_FastVector4(b,c,0,1),g=a.self,h=new kha_math_FastVector4;return h.x=g._00*f.x+g._10*f.y+g._20*f.z+g._30*f.w,h.y=g._01*f.x+g._11*f.y+g._21*f.z+g._31*f.w,h.z=g._02*f.x+g._12*f.y+g._22*f.z+g._32*f.w,h.w=g._03*f.x+g._13*f.y+g._23*f.z+g._33*f.w,f=h,e.x=f.x,e.y=f.y,e.z=f.z,e.w=f.w,e.x/=e.w,e.y/=e.w,e.z/=e.w,e.w/=e.w,e.sub(d),e},__class__:armory_trait_internal_PathTracer});var armory_trait_internal_PhysicsHook=function(){iron_Trait.call(this)};$hxClasses["armory.trait.internal.PhysicsHook"]=armory_trait_internal_PhysicsHook,armory_trait_internal_PhysicsHook.__name__=["armory","trait","internal","PhysicsHook"],armory_trait_internal_PhysicsHook.__super__=iron_Trait,armory_trait_internal_PhysicsHook.prototype=$extend(iron_Trait.prototype,{__class__:armory_trait_internal_PhysicsHook});var armory_trait_internal_PhysicsWorld=function(){iron_Trait.call(this)};$hxClasses["armory.trait.internal.PhysicsWorld"]=armory_trait_internal_PhysicsWorld,armory_trait_internal_PhysicsWorld.__name__=["armory","trait","internal","PhysicsWorld"],armory_trait_internal_PhysicsWorld.__super__=iron_Trait,armory_trait_internal_PhysicsWorld.prototype=$extend(iron_Trait.prototype,{__class__:armory_trait_internal_PhysicsWorld});var armory_trait_internal_RigidBody=function(){iron_Trait.call(this)};$hxClasses["armory.trait.internal.RigidBody"]=armory_trait_internal_RigidBody,armory_trait_internal_RigidBody.__name__=["armory","trait","internal","RigidBody"],armory_trait_internal_RigidBody.__super__=iron_Trait,armory_trait_internal_RigidBody.prototype=$extend(iron_Trait.prototype,{__class__:armory_trait_internal_RigidBody});var armory_trait_internal_SoftBody=function(){iron_Trait.call(this)};$hxClasses["armory.trait.internal.SoftBody"]=armory_trait_internal_SoftBody,armory_trait_internal_SoftBody.__name__=["armory","trait","internal","SoftBody"],armory_trait_internal_SoftBody.__super__=iron_Trait,armory_trait_internal_SoftBody.prototype=$extend(iron_Trait.prototype,{__class__:armory_trait_internal_SoftBody});var armory_trait_internal_SpaceArmory=function(){this.moveZ=!1,this.moveY=!1,this.moveX=!1,this.selected=null,iron_Trait.call(this),this.notifyOnInit($bind(this,this.init))};$hxClasses["armory.trait.internal.SpaceArmory"]=armory_trait_internal_SpaceArmory,armory_trait_internal_SpaceArmory.__name__=["armory","trait","internal","SpaceArmory"],armory_trait_internal_SpaceArmory.__super__=iron_Trait,armory_trait_internal_SpaceArmory.prototype=$extend(iron_Trait.prototype,{init:function(){this.notifyOnUpdate($bind(this,this.update)),armory_trait_internal_SpaceArmory.first&&(armory_trait_internal_SpaceArmory.first=!1)},update:function(){iron_system_Input.getKeyboard().started("esc")&&haxe_Log.trace("__arm|quit",{fileName:"SpaceArmory.hx",lineNumber:55,className:"armory.trait.internal.SpaceArmory",methodName:"update"});var b=iron_system_Input.getMouse();if(b.started("right")){for(var c=[],d=0,e=iron_Scene.active.meshes;d<e.length;){var f=e[d];++d,c.push(f.transform)}var g=iron_math_RayCaster.getClosestBoxIntersect(c,b.x,b.y,iron_Scene.active.camera);if(null!=g){g.loc;this.selected=g,haxe_Log.trace("__arm|select|"+this.selected.object.name,{fileName:"SpaceArmory.hx",lineNumber:67,className:"armory.trait.internal.SpaceArmory",methodName:"update"})}}},__class__:armory_trait_internal_SpaceArmory});var haxe_IMap=function(){};$hxClasses["haxe.IMap"]=haxe_IMap,haxe_IMap.__name__=["haxe","IMap"];var haxe__$Int64__$_$_$Int64=function(a,b){this.high=a,this.low=b};$hxClasses["haxe._Int64.___Int64"]=haxe__$Int64__$_$_$Int64,haxe__$Int64__$_$_$Int64.__name__=["haxe","_Int64","___Int64"],haxe__$Int64__$_$_$Int64.prototype={__class__:haxe__$Int64__$_$_$Int64};var haxe_Log=function(){};$hxClasses["haxe.Log"]=haxe_Log,haxe_Log.__name__=["haxe","Log"],haxe_Log.trace=function(a,b){js_Boot.__trace(a,b)};var haxe__$Unserializer_DefaultResolver=function(){};$hxClasses["haxe._Unserializer.DefaultResolver"]=haxe__$Unserializer_DefaultResolver,haxe__$Unserializer_DefaultResolver.__name__=["haxe","_Unserializer","DefaultResolver"],haxe__$Unserializer_DefaultResolver.prototype={resolveClass:function(a){return Type.resolveClass(a)},resolveEnum:function(a){return Type.resolveEnum(a)},__class__:haxe__$Unserializer_DefaultResolver};var haxe_Unserializer=function(a){this.buf=a,this.length=a.length,this.pos=0,this.scache=[],this.cache=[];var b=haxe_Unserializer.DEFAULT_RESOLVER;null==b&&(b=new haxe__$Unserializer_DefaultResolver,haxe_Unserializer.DEFAULT_RESOLVER=b),this.resolver=b};$hxClasses["haxe.Unserializer"]=haxe_Unserializer,haxe_Unserializer.__name__=["haxe","Unserializer"],haxe_Unserializer.initCodes=function(){for(var a=[],b=0,c=haxe_Unserializer.BASE64.length;b<c;){var d=b++;a[haxe_Unserializer.BASE64.charCodeAt(d)]=d}return a},haxe_Unserializer.run=function(a){return new haxe_Unserializer(a).unserialize()},haxe_Unserializer.prototype={readDigits:function(){for(var a=0,b=!1,c=this.pos;;){var d=this.buf.charCodeAt(this.pos);if(d!=d)break;if(45!=d){if(d<48||d>57)break;a=10*a+(d-48),this.pos++}else{if(this.pos!=c)break;b=!0,this.pos++}}return b&&(a*=-1),a},readFloat:function(){for(var a=this.pos;;){var b=this.buf.charCodeAt(this.pos);if(b!=b)break;if(!(b>=43&&b<58||101==b||69==b))break;this.pos++}return parseFloat(HxOverrides.substr(this.buf,a,this.pos-a))},unserializeObject:function(a){for(;;){if(this.pos>=this.length)throw new js__$Boot_HaxeError("Invalid object");if(103==this.buf.charCodeAt(this.pos))break;var b=this.unserialize();if("string"!=typeof b)throw new js__$Boot_HaxeError("Invalid object key");var c=this.unserialize();a[b]=c}this.pos++},unserializeEnum:function(a,b){if(58!=this.buf.charCodeAt(this.pos++))throw new js__$Boot_HaxeError("Invalid enum format");var c=this.readDigits();if(0==c)return Type.createEnum(a,b);for(var d=[];c-- >0;)d.push(this.unserialize());return Type.createEnum(a,b,d)},unserialize:function(){switch(this.buf.charCodeAt(this.pos++)){case 65:var b=this.unserialize(),c=this.resolver.resolveClass(b);if(null==c)throw new js__$Boot_HaxeError("Class not found "+b);return c;case 66:var d=this.unserialize(),e=this.resolver.resolveEnum(d);if(null==e)throw new js__$Boot_HaxeError("Enum not found "+d);return e;case 67:var f=this.unserialize(),g=this.resolver.resolveClass(f);if(null==g)throw new js__$Boot_HaxeError("Class not found "+f);var h=Type.createEmptyInstance(g);if(this.cache.push(h),h.hxUnserialize(this),103!=this.buf.charCodeAt(this.pos++))throw new js__$Boot_HaxeError("Invalid custom data");return h;case 77:var i=new haxe_ds_ObjectMap;for(this.cache.push(i),this.buf;104!=this.buf.charCodeAt(this.pos);){var k=this.unserialize();i.set(k,this.unserialize())}return this.pos++,i;case 82:var l=this.readDigits();if(l<0||l>=this.scache.length)throw new js__$Boot_HaxeError("Invalid string reference");return this.scache[l];case 97:var n=(this.buf,[]);for(this.cache.push(n);;){var o=this.buf.charCodeAt(this.pos);if(104==o){this.pos++;break}if(117==o){this.pos++;var p=this.readDigits();n[n.length+p-1]=null}else n.push(this.unserialize())}return n;case 98:var q=new haxe_ds_StringMap;for(this.cache.push(q),this.buf;104!=this.buf.charCodeAt(this.pos);){var s=this.unserialize(),t=this.unserialize();null!=__map_reserved[s]?q.setReserved(s,t):q.h[s]=t}return this.pos++,q;case 99:var u=this.unserialize(),v=this.resolver.resolveClass(u);if(null==v)throw new js__$Boot_HaxeError("Class not found "+u);var w=Type.createEmptyInstance(v);return this.cache.push(w),this.unserializeObject(w),w;case 100:return this.readFloat();case 102:return!1;case 105:return this.readDigits();case 106:var x=this.unserialize(),y=this.resolver.resolveEnum(x);if(null==y)throw new js__$Boot_HaxeError("Enum not found "+x);this.pos++;var z=this.readDigits(),A=y.__constructs__.slice()[z];if(null==A)throw new js__$Boot_HaxeError("Unknown enum index "+x+"@"+z);var B=this.unserializeEnum(y,A);return this.cache.push(B),B;case 107:return NaN;case 108:var C=new List;for(this.cache.push(C),this.buf;104!=this.buf.charCodeAt(this.pos);)C.add(this.unserialize());return this.pos++,C;case 109:return-1/0;case 110:return null;case 111:var E={};return this.cache.push(E),this.unserializeObject(E),E;case 112:return 1/0;case 113:var F=new haxe_ds_IntMap;this.cache.push(F);for(var H=(this.buf,this.buf.charCodeAt(this.pos++));58==H;){var I=this.readDigits(),J=this.unserialize();F.h[I]=J,H=this.buf.charCodeAt(this.pos++)}if(104!=H)throw new js__$Boot_HaxeError("Invalid IntMap format");return F;case 114:var K=this.readDigits();if(K<0||K>=this.cache.length)throw new js__$Boot_HaxeError("Invalid reference");return this.cache[K];case 115:var L=this.readDigits(),M=this.buf;if(58!=this.buf.charCodeAt(this.pos++)||this.length-this.pos<L)throw new js__$Boot_HaxeError("Invalid bytes length");var N=haxe_Unserializer.CODES;null==N&&(N=haxe_Unserializer.initCodes(),haxe_Unserializer.CODES=N);for(var O=this.pos,P=3&L,Q=3*(L>>2)+(P>=2?P-1:0),R=O+(L-P),S=new haxe_io_Bytes(new ArrayBuffer(Q)),T=0;O<R;){var U=N[M.charCodeAt(O++)],V=N[M.charCodeAt(O++)];S.b[T++]=255&(U<<2|V>>4);var W=N[M.charCodeAt(O++)];S.b[T++]=255&(V<<4|W>>2);var X=N[M.charCodeAt(O++)];S.b[T++]=255&(W<<6|X)}if(P>=2){var Y=N[M.charCodeAt(O++)],Z=N[M.charCodeAt(O++)];if(S.b[T++]=255&(Y<<2|Z>>4),3==P){var $=N[M.charCodeAt(O++)];S.b[T++]=255&(Z<<4|$>>2)}}return this.pos+=L,this.cache.push(S),S;case 116:return!0;case 118:var _;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))_=HxOverrides.strDate(HxOverrides.substr(this.buf,this.pos,19)),this.pos+=19;else{var aa=this.readFloat();_=new Date(aa)}return this.cache.push(_),_;case 119:var ba=this.unserialize(),ca=this.resolver.resolveEnum(ba);if(null==ca)throw new js__$Boot_HaxeError("Enum not found "+ba);var da=this.unserializeEnum(ca,this.unserialize());return this.cache.push(da),da;case 120:throw js__$Boot_HaxeError.wrap(this.unserialize());case 121:var ea=this.readDigits();if(58!=this.buf.charCodeAt(this.pos++)||this.length-this.pos<ea)throw new js__$Boot_HaxeError("Invalid string length");var fa=HxOverrides.substr(this.buf,this.pos,ea);return this.pos+=ea,fa=decodeURIComponent(fa.split("+").join(" ")),this.scache.push(fa),fa;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=function(){this.a1=1,this.a2=0};$hxClasses["haxe.crypto.Adler32"]=haxe_crypto_Adler32,haxe_crypto_Adler32.__name__=["haxe","crypto","Adler32"],haxe_crypto_Adler32.read=function(a){var b=new haxe_crypto_Adler32,c=a.readByte(),d=a.readByte(),e=a.readByte(),f=a.readByte();return b.a1=e<<8|f,b.a2=c<<8|d,b},haxe_crypto_Adler32.prototype={update:function(a,b,c){for(var d=this.a1,e=this.a2,f=b,g=b+c;f<g;){var h=f++;d=(d+a.b[h])%65521,e=(e+d)%65521}this.a1=d,this.a2=e},equals:function(a){return a.a1==this.a1&&a.a2==this.a2},__class__:haxe_crypto_Adler32};var haxe_io_Bytes=function(a){this.length=a.byteLength,this.b=new Uint8Array(a),this.b.bufferValue=a,a.hxBytes=this,a.bytes=this.b};$hxClasses["haxe.io.Bytes"]=haxe_io_Bytes,haxe_io_Bytes.__name__=["haxe","io","Bytes"],haxe_io_Bytes.ofData=function(a){var b=a.hxBytes;return null!=b?b:new haxe_io_Bytes(a)},haxe_io_Bytes.prototype={blit:function(a,b,c,d){if(a<0||c<0||d<0||a+d>this.length||c+d>b.length)throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds);0==c&&d==b.b.byteLength?this.b.set(b.b,a):this.b.set(b.b.subarray(c,c+d),a)},getFloat:function(a){return null==this.data&&(this.data=new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength)),this.data.getFloat32(a,!0)},setInt32:function(a,b){null==this.data&&(this.data=new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength)),this.data.setInt32(a,b,!0)},getString:function(a,b){if(a<0||b<0||a+b>this.length)throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds);for(var c="",d=this.b,e=String.fromCharCode,f=a,g=a+b;f<g;){var h=d[f++];if(h<128){if(0==h)break;c+=e(h)}else if(h<224)c+=e((63&h)<<6|127&d[f++]);else if(h<240){var i=d[f++];c+=e((31&h)<<12|(127&i)<<6|127&d[f++])}else{var j=d[f++],k=d[f++],l=(15&h)<<18|(127&j)<<12|(127&k)<<6|127&d[f++];c+=e(55232+(l>>10)),c+=e(1023&l|56320)}}return c},toString:function(){return this.getString(0,this.length)},__class__:haxe_io_Bytes};var haxe_ds_IntMap=function(){this.h={}};$hxClasses["haxe.ds.IntMap"]=haxe_ds_IntMap,haxe_ds_IntMap.__name__=["haxe","ds","IntMap"],haxe_ds_IntMap.__interfaces__=[haxe_IMap],haxe_ds_IntMap.prototype={__class__:haxe_ds_IntMap};var haxe_ds_ObjectMap=function(){this.h={__keys__:{}}};$hxClasses["haxe.ds.ObjectMap"]=haxe_ds_ObjectMap,haxe_ds_ObjectMap.__name__=["haxe","ds","ObjectMap"],haxe_ds_ObjectMap.__interfaces__=[haxe_IMap],haxe_ds_ObjectMap.prototype={set:function(a,b){var c=a.__id__||(a.__id__=++haxe_ds_ObjectMap.count);this.h[c]=b,this.h.__keys__[c]=a},keys:function(){var a=[];for(var b in this.h.__keys__)this.h.hasOwnProperty(b)&&a.push(this.h.__keys__[b]);return HxOverrides.iter(a)},iterator:function(){return{ref:this.h,it:this.keys(),hasNext:function(){return this.it.hasNext()},next:function(){var a=this.it.next();return this.ref[a.__id__]}}},__class__:haxe_ds_ObjectMap};var haxe_ds__$StringMap_StringMapIterator=function(a,b){this.map=a,this.keys=b,this.index=0,this.count=b.length};$hxClasses["haxe.ds._StringMap.StringMapIterator"]=haxe_ds__$StringMap_StringMapIterator,haxe_ds__$StringMap_StringMapIterator.__name__=["haxe","ds","_StringMap","StringMapIterator"],haxe_ds__$StringMap_StringMapIterator.prototype={hasNext:function(){return this.index<this.count},next:function(){var a=this.map,b=this.keys[this.index++];return null!=__map_reserved[b]?a.getReserved(b):a.h[b]},__class__:haxe_ds__$StringMap_StringMapIterator};var haxe_ds_StringMap=function(){this.h={}};$hxClasses["haxe.ds.StringMap"]=haxe_ds_StringMap,haxe_ds_StringMap.__name__=["haxe","ds","StringMap"],haxe_ds_StringMap.__interfaces__=[haxe_IMap],haxe_ds_StringMap.prototype={setReserved:function(a,b){null==this.rh&&(this.rh={}),this.rh["$"+a]=b},getReserved:function(a){return null==this.rh?null:this.rh["$"+a]},existsReserved:function(a){return null!=this.rh&&this.rh.hasOwnProperty("$"+a)},remove:function(a){return null!=__map_reserved[a]?(a="$"+a,!(null==this.rh||!this.rh.hasOwnProperty(a))&&(delete this.rh[a],!0)):!!this.h.hasOwnProperty(a)&&(delete this.h[a],!0)},arrayKeys:function(){var a=[];for(var b in this.h)this.h.hasOwnProperty(b)&&a.push(b);if(null!=this.rh)for(var b in this.rh)36==b.charCodeAt(0)&&a.push(b.substr(1));return a},__class__:haxe_ds_StringMap};var haxe_io_BytesBuffer=function(){this.b=[]};$hxClasses["haxe.io.BytesBuffer"]=haxe_io_BytesBuffer,haxe_io_BytesBuffer.__name__=["haxe","io","BytesBuffer"],haxe_io_BytesBuffer.prototype={getBytes:function(){var a=new haxe_io_Bytes(new Uint8Array(this.b).buffer);return this.b=null,a},__class__:haxe_io_BytesBuffer};var haxe_io_Input=function(){};$hxClasses["haxe.io.Input"]=haxe_io_Input,haxe_io_Input.__name__=["haxe","io","Input"],haxe_io_Input.prototype={readByte:function(){throw new js__$Boot_HaxeError("Not implemented")},readBytes:function(a,b,c){var d=c,e=a.b;if(b<0||c<0||b+c>a.length)throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds);try{for(;d>0;)e[b]=this.readByte(),++b,--d}catch(a){if(a instanceof js__$Boot_HaxeError&&(a=a.val),!js_Boot.__instanceof(a,haxe_io_Eof))throw a}return c-d},set_bigEndian:function(a){return this.bigEndian=a,a},readFullBytes:function(a,b,c){for(;c>0;){var d=this.readBytes(a,b,c);if(0==d)throw new js__$Boot_HaxeError(haxe_io_Error.Blocked);b+=d,c-=d}},read:function(a){for(var b=new haxe_io_Bytes(new ArrayBuffer(a)),c=0;a>0;){var d=this.readBytes(b,c,a);if(0==d)throw new js__$Boot_HaxeError(haxe_io_Error.Blocked);c+=d,a-=d}return b},readFloat:function(){return haxe_io_FPHelper.i32ToFloat(this.readInt32())},readDouble:function(){var a=this.readInt32(),b=this.readInt32();return this.bigEndian?haxe_io_FPHelper.i64ToDouble(b,a):haxe_io_FPHelper.i64ToDouble(a,b)},readInt8:function(){var a=this.readByte();return a>=128?a-256:a},readInt16:function(){var a=this.readByte(),b=this.readByte(),c=this.bigEndian?b|a<<8:a|b<<8;return 0!=(32768&c)?c-65536:c},readUInt16:function(){var a=this.readByte(),b=this.readByte();return this.bigEndian?b|a<<8:a|b<<8},readInt32:function(){var a=this.readByte(),b=this.readByte(),c=this.readByte(),d=this.readByte();return this.bigEndian?d|c<<8|b<<16|a<<24:a|b<<8|c<<16|d<<24},readString:function(a){var b=new haxe_io_Bytes(new ArrayBuffer(a));return this.readFullBytes(b,0,a),b.toString()},__class__:haxe_io_Input,__properties__:{set_bigEndian:"set_bigEndian"}};var haxe_io_BytesInput=function(a,b,c){if(null==b&&(b=0),null==c&&(c=a.length-b),b<0||c<0||b+c>a.length)throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds);this.b=a.b,this.pos=b,this.len=c,this.totlen=c};$hxClasses["haxe.io.BytesInput"]=haxe_io_BytesInput,haxe_io_BytesInput.__name__=["haxe","io","BytesInput"],haxe_io_BytesInput.__super__=haxe_io_Input,haxe_io_BytesInput.prototype=$extend(haxe_io_Input.prototype,{set_position:function(a){return a<0?a=0:a>this.totlen&&(a=this.totlen),this.len=this.totlen-a,this.pos=a},readByte:function(){if(0==this.len)throw new js__$Boot_HaxeError(new haxe_io_Eof);return this.len--,this.b[this.pos++]},readBytes:function(a,b,c){if(b<0||c<0||b+c>a.length)throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds);if(0==this.len&&c>0)throw new js__$Boot_HaxeError(new haxe_io_Eof);this.len<c&&(c=this.len);for(var d=this.b,e=a.b,f=0,g=c;f<g;){var h=f++;e[b+h]=d[this.pos+h]}return this.pos+=c,this.len-=c,c},__class__:haxe_io_BytesInput,__properties__:$extend(haxe_io_Input.prototype.__properties__,{set_position:"set_position"})});var haxe_io_Output=function(){};$hxClasses["haxe.io.Output"]=haxe_io_Output,haxe_io_Output.__name__=["haxe","io","Output"],haxe_io_Output.prototype={writeByte:function(a){throw new js__$Boot_HaxeError("Not implemented")},writeBytes:function(a,b,c){if(b<0||c<0||b+c>a.length)throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds);for(var d=a.b,e=c;e>0;)this.writeByte(d[b]),++b,--e;return c},write:function(a){for(var b=a.length,c=0;b>0;){var d=this.writeBytes(a,c,b);if(0==d)throw new js__$Boot_HaxeError(haxe_io_Error.Blocked);c+=d,b-=d}},writeFloat:function(a){this.writeInt32(haxe_io_FPHelper.floatToI32(a))},writeInt32:function(a){this.bigEndian?(this.writeByte(a>>>24),this.writeByte(a>>16&255),this.writeByte(a>>8&255),this.writeByte(255&a)):(this.writeByte(255&a),this.writeByte(a>>8&255),this.writeByte(a>>16&255),this.writeByte(a>>>24))},__class__:haxe_io_Output};var haxe_io_BytesOutput=function(){this.b=new haxe_io_BytesBuffer};$hxClasses["haxe.io.BytesOutput"]=haxe_io_BytesOutput,haxe_io_BytesOutput.__name__=["haxe","io","BytesOutput"],haxe_io_BytesOutput.__super__=haxe_io_Output,haxe_io_BytesOutput.prototype=$extend(haxe_io_Output.prototype,{writeByte:function(a){this.b.b.push(a)},writeBytes:function(a,b,c){var d=this.b;if(b<0||c<0||b+c>a.length)throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds);for(var f=(d.b,a.b),g=b,h=b+c;g<h;){var i=g++;d.b.push(f[i])}return c},getBytes:function(){return this.b.getBytes()},__class__:haxe_io_BytesOutput});var haxe_io_Eof=function(){};$hxClasses["haxe.io.Eof"]=haxe_io_Eof,haxe_io_Eof.__name__=["haxe","io","Eof"],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(a){var b=["Custom",3,a];return b.__enum__=haxe_io_Error,b.toString=$estr,b};var haxe_io_FPHelper=function(){};$hxClasses["haxe.io.FPHelper"]=haxe_io_FPHelper,haxe_io_FPHelper.__name__=["haxe","io","FPHelper"],haxe_io_FPHelper.i32ToFloat=function(a){var b=1-(a>>>31<<1),c=a>>>23&255,d=8388607&a;return 0==d&&0==c?0:b*(1+Math.pow(2,-23)*d)*Math.pow(2,c-127)},haxe_io_FPHelper.floatToI32=function(a){if(0==a)return 0;var b=a<0?-a:a,c=Math.floor(Math.log(b)/.6931471805599453);c<-127?c=-127:c>128&&(c=128);var d=Math.round(8388608*(b/Math.pow(2,c)-1));return 8388608==d&&c<128&&(d=0,++c),(a<0?-2147483648:0)|c+127<<23|d},haxe_io_FPHelper.i64ToDouble=function(a,b){var c=1-(b>>>31<<1),d=(b>>20&2047)-1023,e=4294967296*(1048575&b)+2147483648*(a>>>31)+(2147483647&a);return 0==e&&-1023==d?0:c*(1+Math.pow(2,-52)*e)*Math.pow(2,d)},haxe_io_FPHelper.doubleToI64=function(a){var b=haxe_io_FPHelper.i64tmp;if(0==a)b.low=0,b.high=0;else if(isFinite(a)){var c=a<0?-a:a,d=Math.floor(Math.log(c)/.6931471805599453),e=Math.round(4503599627370496*(c/Math.pow(2,d)-1)),f=0|e,g=e/4294967296|0;b.low=f,b.high=(a<0?-2147483648:0)|d+1023<<20|g}else a>0?(b.low=0,b.high=2146435072):(b.low=0,b.high=-1048576);return b};var haxe_io__$Float32Array_Float32Array_$Impl_$={};$hxClasses["haxe.io._Float32Array.Float32Array_Impl_"]=haxe_io__$Float32Array_Float32Array_$Impl_$,haxe_io__$Float32Array_Float32Array_$Impl_$.__name__=["haxe","io","_Float32Array","Float32Array_Impl_"],haxe_io__$Float32Array_Float32Array_$Impl_$.fromArray=function(a,b,c){if(null==b&&(b=0),null==c&&(c=a.length-b),b<0||c<0||b+c>a.length)throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds);if(0==b&&c==a.length)return new Float32Array(a);for(var d=new Float32Array(a.length),e=d,f=0,g=c;f<g;){var h=f++;e[h]=a[h+b]}return e};var haxe_io__$UInt8Array_UInt8Array_$Impl_$={};$hxClasses["haxe.io._UInt8Array.UInt8Array_Impl_"]=haxe_io__$UInt8Array_UInt8Array_$Impl_$,haxe_io__$UInt8Array_UInt8Array_$Impl_$.__name__=["haxe","io","_UInt8Array","UInt8Array_Impl_"],haxe_io__$UInt8Array_UInt8Array_$Impl_$.fromBytes=function(a,b,c){return null==b&&(b=0),null==c&&(c=a.length-b),new Uint8Array(a.b.bufferValue,b,c)};var haxe_zip_ExtraField=$hxClasses["haxe.zip.ExtraField"]={__ename__:!0,__constructs__:["FUnknown","FInfoZipUnicodePath","FUtf8"]};haxe_zip_ExtraField.FUnknown=function(a,b){var c=["FUnknown",0,a,b];return c.__enum__=haxe_zip_ExtraField,c.toString=$estr,c},haxe_zip_ExtraField.FInfoZipUnicodePath=function(a,b){var c=["FInfoZipUnicodePath",1,a,b];return c.__enum__=haxe_zip_ExtraField,c.toString=$estr,c},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(a){var b=["Found",0,a];return b.__enum__=haxe_zip_Huffman,b.toString=$estr,b},haxe_zip_Huffman.NeedBit=function(a,b){var c=["NeedBit",1,a,b];return c.__enum__=haxe_zip_Huffman,c.toString=$estr,c},haxe_zip_Huffman.NeedBits=function(a,b){var c=["NeedBits",2,a,b];return c.__enum__=haxe_zip_Huffman,c.toString=$estr,c};var haxe_zip_HuffTools=function(){};$hxClasses["haxe.zip.HuffTools"]=haxe_zip_HuffTools,haxe_zip_HuffTools.__name__=["haxe","zip","HuffTools"],haxe_zip_HuffTools.prototype={treeDepth:function(a){switch(a[1]){case 0:return 0;case 1:var b=a[3],c=a[2],d=this.treeDepth(c),e=this.treeDepth(b);return 1+(d<e?d:e);case 2:throw new js__$Boot_HaxeError("assert")}},treeCompress:function(a){var b=this.treeDepth(a);if(0==b)return a;if(1==b){if(1==a[1]){var c=a[3],d=a[2];return haxe_zip_Huffman.NeedBit(this.treeCompress(d),this.treeCompress(c))}throw new js__$Boot_HaxeError("assert")}for(var e=1<<b,f=[],g=0,h=e;g<h;){g++;f.push(haxe_zip_Huffman.Found(-1))}return this.treeWalk(f,0,0,b,a),haxe_zip_Huffman.NeedBits(b,f)},treeWalk:function(a,b,c,d,e){if(1==e[1]){var f=e[3],g=e[2];d>0?(this.treeWalk(a,b,c+1,d-1,g),this.treeWalk(a,b|1<<c,c+1,d-1,f)):a[b]=this.treeCompress(e)}else a[b]=this.treeCompress(e)},treeMake:function(a,b,c,d){if(d>b)throw new js__$Boot_HaxeError("Invalid huffman");var e=c<<5|d;return a.h.hasOwnProperty(e)?haxe_zip_Huffman.Found(a.h[e]):(c<<=1,++d,haxe_zip_Huffman.NeedBit(this.treeMake(a,b,c,d),this.treeMake(a,b,1|c,d)))},make:function(a,b,c,d){var e=[],f=[];if(d>32)throw new js__$Boot_HaxeError("Invalid huffman");for(var g=0,h=d;g<h;){g++;e.push(0),f.push(0)}for(var j=0,k=c;j<k;){var l=j++,m=a[l+b];if(m>=d)throw new js__$Boot_HaxeError("Invalid huffman");e[m]++}for(var n=0,o=1,p=d-1;o<p;){var q=o++;n=n+e[q]<<1,f[q]=n}for(var r=new haxe_ds_IntMap,s=0,t=c;s<t;){var u=s++,v=a[u+b];if(0!=v){var w=f[v-1];f[v-1]=w+1,r.h[w<<5|v]=u}}return this.treeCompress(haxe_zip_Huffman.NeedBit(this.treeMake(r,d,0,1),this.treeMake(r,d,1,1)))},__class__:haxe_zip_HuffTools};var haxe_zip__$InflateImpl_Window=function(a){this.buffer=new haxe_io_Bytes(new ArrayBuffer(65536)),this.pos=0,a&&(this.crc=new haxe_crypto_Adler32)};$hxClasses["haxe.zip._InflateImpl.Window"]=haxe_zip__$InflateImpl_Window,haxe_zip__$InflateImpl_Window.__name__=["haxe","zip","_InflateImpl","Window"],haxe_zip__$InflateImpl_Window.prototype={slide:function(){null!=this.crc&&this.crc.update(this.buffer,0,32768);var a=new haxe_io_Bytes(new ArrayBuffer(65536));this.pos-=32768,a.blit(0,this.buffer,32768,this.pos),this.buffer=a},addBytes:function(a,b,c){this.pos+c>65536&&this.slide(),this.buffer.blit(this.pos,a,b,c),this.pos+=c},addByte:function(a){65536==this.pos&&this.slide(),this.buffer.b[this.pos]=255&a,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=function(a,b,c){null==c&&(c=!0),null==b&&(b=!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=b?haxe_zip__$InflateImpl_State.Head:haxe_zip__$InflateImpl_State.Block,this.input=a,this.bits=0,this.nbits=0,this.needed=0,this.output=null,this.outpos=0,this.lengths=[];for(var d=0;d<19;){d++;this.lengths.push(-1)}this.window=new haxe_zip__$InflateImpl_Window(c)};$hxClasses["haxe.zip.InflateImpl"]=haxe_zip_InflateImpl,haxe_zip_InflateImpl.__name__=["haxe","zip","InflateImpl"],haxe_zip_InflateImpl.prototype={buildFixedHuffman:function(){if(null!=haxe_zip_InflateImpl.FIXED_HUFFMAN)return haxe_zip_InflateImpl.FIXED_HUFFMAN;for(var a=[],b=0;b<288;){var c=b++;a.push(c<=143?8:c<=255?9:c<=279?7:8)}return haxe_zip_InflateImpl.FIXED_HUFFMAN=this.htools.make(a,0,288,10),haxe_zip_InflateImpl.FIXED_HUFFMAN},readBytes:function(a,b,c){if(this.needed=c,this.outpos=b,this.output=a,c>0)for(;this.inflateLoop(););return c-this.needed},getBits:function(a){for(;this.nbits<a;)this.bits|=this.input.readByte()<<this.nbits,this.nbits+=8;var b=this.bits&(1<<a)-1;return this.nbits-=a,this.bits>>=a,b},getBit:function(){0==this.nbits&&(this.nbits=8,this.bits=this.input.readByte());var a=1==(1&this.bits);return this.nbits--,this.bits>>=1,a},getRevBits:function(a){return 0==a?0:this.getBit()?1<<a-1|this.getRevBits(a-1):this.getRevBits(a-1)},resetBits:function(){this.bits=0,this.nbits=0},addBytes:function(a,b,c){this.window.addBytes(a,b,c),this.output.blit(this.outpos,a,b,c),this.needed-=c,this.outpos+=c},addByte:function(a){this.window.addByte(a),this.output.b[this.outpos]=255&a,this.needed--,this.outpos++},addDistOne:function(a){for(var b=this.window.getLastChar(),c=0,d=a;c<d;){c++;this.addByte(b)}},addDist:function(a,b){this.addBytes(this.window.buffer,this.window.pos-a,b)},applyHuffman:function(a){switch(a[1]){case 0:return a[2];case 1:var c=a[3],d=a[2];return this.applyHuffman(this.getBit()?c:d);case 2:var e=a[3],f=a[2];return this.applyHuffman(e[this.getBits(f)])}},inflateLengths:function(a,b){for(var c=0,d=0;c<b;){var e=this.applyHuffman(this.huffman);switch(e){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:d=e,a[c]=e,++c;break;case 16:var f=c+3+this.getBits(2);if(f>b)throw new js__$Boot_HaxeError("Invalid data");for(;c<f;)a[c]=d,++c;break;case 17:if((c+=3+this.getBits(3))>b)throw new js__$Boot_HaxeError("Invalid data");break;case 18:if((c+=11+this.getBits(7))>b)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 b=this.input.readByte(),c=15&b;if(8!=c)throw new js__$Boot_HaxeError("Invalid data");var e=this.input.readByte(),f=0!=(32&e);if(((b<<8)+e)%31!=0)throw new js__$Boot_HaxeError("Invalid data");if(f)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 i=this.inflateLoop();return this.resetBits(),i;case 1:return this.huffman=this.buildFixedHuffman(),this.huffdist=null,this.state=haxe_zip__$InflateImpl_State.CData,!0;case 2:for(var j=this.getBits(5)+257,k=this.getBits(5)+1,l=this.getBits(4)+4,m=0,n=l;m<n;){var o=m++;this.lengths[haxe_zip_InflateImpl.CODE_LENGTHS_POS[o]]=this.getBits(3)}for(var p=l;p<19;){var q=p++;this.lengths[haxe_zip_InflateImpl.CODE_LENGTHS_POS[q]]=0}this.huffman=this.htools.make(this.lengths,0,19,8);for(var r=[],s=0,t=j+k;s<t;)s++,r.push(0);return this.inflateLengths(r,j+k),this.huffdist=this.htools.make(r,j,k,16),this.huffman=this.htools.make(r,0,j,16),this.state=haxe_zip__$InflateImpl_State.CData,!0;default:throw new js__$Boot_HaxeError("Invalid data")}break;case 2:var v=this.applyHuffman(this.huffman);if(v<256)return this.addByte(v),this.needed>0;if(256==v)return this.state=this.final?haxe_zip__$InflateImpl_State.Crc:haxe_zip__$InflateImpl_State.Block,!0;v-=257;var w=haxe_zip_InflateImpl.LEN_EXTRA_BITS_TBL[v];if(-1==w)throw new js__$Boot_HaxeError("Invalid data");this.len=haxe_zip_InflateImpl.LEN_BASE_VAL_TBL[v]+this.getBits(w);var x=null==this.huffdist?this.getRevBits(5):this.applyHuffman(this.huffdist);if(-1==(w=haxe_zip_InflateImpl.DIST_EXTRA_BITS_TBL[x]))throw new js__$Boot_HaxeError("Invalid data");if(this.dist=haxe_zip_InflateImpl.DIST_BASE_VAL_TBL[x]+this.getBits(w),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 y=this.len<this.needed?this.len:this.needed,z=this.input.read(y);return this.len-=y,this.addBytes(z,0,y),0==this.len&&(this.state=this.final?haxe_zip__$InflateImpl_State.Crc:haxe_zip__$InflateImpl_State.Block),this.needed>0;case 4:var A=this.window.checksum();if(null==A)return this.state=haxe_zip__$InflateImpl_State.Done,!0;var B=haxe_crypto_Adler32.read(this.input);if(!A.equals(B))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 C=this.len<this.dist?this.len:this.dist,D=this.needed<C?this.needed:C;this.addDist(this.dist,D),this.len-=D}return 0==this.len&&(this.state=haxe_zip__$InflateImpl_State.CData),this.needed>0;case 6:var E=this.len<this.needed?this.len:this.needed;return this.addDistOne(E),this.len-=E,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=function(a){this.i=a};$hxClasses["haxe.zip.Reader"]=haxe_zip_Reader,haxe_zip_Reader.__name__=["haxe","zip","Reader"],haxe_zip_Reader.readZip=function(a){return new haxe_zip_Reader(a).read()},haxe_zip_Reader.unzip=function(a){if(!a.compressed)return a.data;var b=new haxe_zip_Uncompress(-15),c=new haxe_io_Bytes(new ArrayBuffer(a.fileSize)),d=b.execute(a.data,0,c,0);if(b.close(),!d.done||d.read!=a.data.length||d.write!=a.fileSize)throw new js__$Boot_HaxeError("Invalid compressed data for "+a.fileName);return a.compressed=!1,a.dataSize=a.fileSize,a.data=c,a.data},haxe_zip_Reader.prototype={readZipDate:function(){var a=this.i.readUInt16(),b=a>>11&31,c=a>>5&63,d=31&a,e=this.i.readUInt16(),f=e>>9,g=e>>5&15,h=31&e;return new Date(f+1980,g-1,h,b,c,d<<1)},readExtraFields:function(a){for(var b=new List;a>0;){if(a<4)throw new js__$Boot_HaxeError("Invalid extra fields data");var c=this.i.readUInt16(),d=this.i.readUInt16();if(a<d)throw new js__$Boot_HaxeError("Invalid extra fields data");if(28789==c){var e=this.i.readByte();if(1!=e){var f=new haxe_io_BytesBuffer;f.b.push(e);for(var g=this.i.read(d-1),i=(f.b,g.b),j=0,k=g.length;j<k;){var l=j++;f.b.push(i[l])}b.add(haxe_zip_ExtraField.FUnknown(c,f.getBytes()))}else{var m=this.i.readInt32(),n=this.i.read(d-5).toString();b.add(haxe_zip_ExtraField.FInfoZipUnicodePath(n,m))}}else b.add(haxe_zip_ExtraField.FUnknown(c,this.i.read(d)));a-=4+d}return b},readEntryHeader:function(){var a=this.i,b=a.readInt32();if(33639248==b||101010256==b)return null;if(67324752!=b)throw new js__$Boot_HaxeError("Invalid Zip Data");var d=(a.readUInt16(),a.readUInt16()),e=0!=(2048&d);if(0!=(63473&d))throw new js__$Boot_HaxeError("Unsupported flags "+d);var f=a.readUInt16(),g=0!=f;if(g&&8!=f)throw new js__$Boot_HaxeError("Unsupported compression "+f);var h=this.readZipDate(),i=a.readInt32(),j=a.readInt32(),k=a.readInt32(),l=a.readInt16(),m=a.readInt16(),n=a.readString(l),o=this.readExtraFields(m);return e&&o.push(haxe_zip_ExtraField.FUtf8),0!=(8&d)&&(i=null),{fileName:n,fileSize:k,fileTime:h,compressed:g,dataSize:j,data:null,crc32:i,extraFields:o}},read:function(){for(var a=new List,c=null;;){var d=this.readEntryHeader();if(null==d)break;if(null==d.crc32){if(d.compressed){var e=65536;null==c&&(c=new haxe_io_Bytes(new ArrayBuffer(e)));for(var f=new haxe_io_BytesBuffer,g=new haxe_zip_InflateImpl(this.i,!1,!1);;){var h=g.readBytes(c,0,e);if(h<0||h>c.length)throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds);for(var j=(f.b,c.b),k=0,l=h;k<l;){var m=k++;f.b.push(j[m])}if(h<e)break}d.data=f.getBytes()}else d.data=this.i.read(d.dataSize);d.crc32=this.i.readInt32(),134695760==d.crc32&&(d.crc32=this.i.readInt32()),d.dataSize=this.i.readInt32(),d.fileSize=this.i.readInt32(),d.dataSize=d.fileSize,d.compressed=!1}else d.data=this.i.read(d.dataSize);a.add(d)}return a},__class__:haxe_zip_Reader};var haxe_zip_Uncompress=function(a){throw new js__$Boot_HaxeError("Not implemented for this platform")};$hxClasses["haxe.zip.Uncompress"]=haxe_zip_Uncompress,haxe_zip_Uncompress.__name__=["haxe","zip","Uncompress"],haxe_zip_Uncompress.prototype={execute:function(a,b,c,d){return null},close:function(){},__class__:haxe_zip_Uncompress};var iron_data_CameraData=function(a,b){this.mirror=null;var c=this;iron_data_Data.call(this),this.raw=a,this.name=a.name;var d=a.render_path.split("/");iron_data_Data.getRenderPath(d[0],d[1],function(d){c.pathdata=d,a.is_mirror&&(c.mirror=kha_Image.createRenderTarget(a.mirror_resolution_x,a.mirror_resolution_y,kha_graphics4_TextureFormat.RGBA32,0)),b(c)})};$hxClasses["iron.data.CameraData"]=iron_data_CameraData,iron_data_CameraData.__name__=["iron","data","CameraData"],iron_data_CameraData.parse=function(a,b,c){iron_data_Data.getSceneRaw(a,function(a){var d=iron_data_Data.getCameraRawByName(a.camera_datas,b);null==d&&(haxe_Log.trace('Camera data "'+b+'" not found!',{fileName:"CameraData.hx",lineNumber:37,className:"iron.data.CameraData",methodName:"parse"}),c(null)),new iron_data_CameraData(d,c)})},iron_data_CameraData.__super__=iron_data_Data,iron_data_CameraData.prototype=$extend(iron_data_Data.prototype,{__class__:iron_data_CameraData});var iron_data_ConstData=function(){};$hxClasses["iron.data.ConstData"]=iron_data_ConstData,iron_data_ConstData.__name__=["iron","data","ConstData"];var iron_data_GreasePencilData=function(a,b){var c=this;if(iron_data_Data.call(this),this.raw=a,this.name=a.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 d=a.shader.split("/");iron_data_Data.getShader(d[0],d[1],null,function(a){iron_data_GreasePencilData.shaderData=a,c.makeLayers(b)})}else this.makeLayers(b)};$hxClasses["iron.data.GreasePencilData"]=iron_data_GreasePencilData,iron_data_GreasePencilData.__name__=["iron","data","GreasePencilData"],iron_data_GreasePencilData.parse=function(a,b,c){iron_data_Data.getSceneRaw(a,function(a){var d=iron_data_Data.getGreasePencilRawByName(a.grease_pencil_datas,b);null==d&&(haxe_Log.trace('Grease pencil data "'+b+'" not found!',{fileName:"GreasePencilData.hx",lineNumber:66,className:"iron.data.GreasePencilData",methodName:"parse"}),c(null)),new iron_data_GreasePencilData(d,c)})},iron_data_GreasePencilData.getContext=function(a){return iron_data_GreasePencilData.shaderData.getContext(a)},iron_data_GreasePencilData.__super__=iron_data_Data,iron_data_GreasePencilData.prototype=$extend(iron_data_Data.prototype,{makeLayers:function(a){this.layers=[];for(var b=0,c=this.raw.layers;b<c.length;){var d=c[b];++b,this.layers.push(new iron_data_GreasePencilLayer(d))}a(this)},__class__:iron_data_GreasePencilData});var iron_data_GreasePencilLayer=function(a){this.currentFrame=0,this.name=a.name,this.frames=[];for(var b=0,c=a.frames;b<c.length;){var d=c[b];++b,this.frames.push(new iron_data_GreasePencilFrame(d))}};$hxClasses["iron.data.GreasePencilLayer"]=iron_data_GreasePencilLayer,iron_data_GreasePencilLayer.__name__=["iron","data","GreasePencilLayer"],iron_data_GreasePencilLayer.prototype={__class__:iron_data_GreasePencilLayer};var iron_data_GreasePencilFrame=function(a){this.raw=a;var b=a.vertex_array.values,c=a.col_array.values,d=a.colfill_array.values,e=a.index_array.values;this.numVertices=b.length/3|0,this.vertexBuffer=new kha_graphics4_VertexBuffer(this.numVertices,iron_data_GreasePencilData.structure,iron_data_GreasePencilData.usage);for(var f=this.vertexBuffer.lock(),g=-1,h=0,i=this.numVertices;h<i;){var j=h++;f[++g]=b[3*j],f[++g]=b[3*j+1],f[++g]=b[3*j+2],f[++g]=d[4*j],f[++g]=d[4*j+1],f[++g]=d[4*j+2],f[++g]=d[4*j+3]}this.vertexBuffer.unlock(),this.indexBuffer=new kha_graphics4_IndexBuffer(e.length,iron_data_GreasePencilData.usage);for(var k=this.indexBuffer.lock(),l=0,m=k.length;l<m;){var n=l++;k[n]=e[n]}this.indexBuffer.unlock(),this.vertexStrokeBuffer=new kha_graphics4_VertexBuffer(this.numVertices,iron_data_GreasePencilData.structure,iron_data_GreasePencilData.usage),f=this.vertexStrokeBuffer.lock(),g=-1;for(var o=0,p=this.numVertices;o<p;){var q=o++;f[++g]=b[3*q],f[++g]=b[3*q+1],f[++g]=b[3*q+2],f[++g]=c[4*q],f[++g]=c[4*q+1],f[++g]=c[4*q+2],f[++g]=c[4*q+3]}this.vertexStrokeBuffer.unlock(),iron_data_GreasePencilData.frameEnd<this.raw.frame_number&&(iron_data_GreasePencilData.frameEnd=this.raw.frame_number)};$hxClasses["iron.data.GreasePencilFrame"]=iron_data_GreasePencilFrame,iron_data_GreasePencilFrame.__name__=["iron","data","GreasePencilFrame"],iron_data_GreasePencilFrame.prototype={__class__:iron_data_GreasePencilFrame};var iron_data_LampData=function(a,b){this.colorTexture=null;var c=this;iron_data_Data.call(this),this.raw=a,this.name=a.name,null!=a.color_texture?iron_data_Data.getImage(a.color_texture,function(a){c.colorTexture=a,b(c)}):b(this)};$hxClasses["iron.data.LampData"]=iron_data_LampData,iron_data_LampData.__name__=["iron","data","LampData"],iron_data_LampData.parse=function(a,b,c){iron_data_Data.getSceneRaw(a,function(a){var d=iron_data_Data.getLampRawByName(a.lamp_datas,b);null==d&&(haxe_Log.trace('Lamp data "'+b+'" not found!',{fileName:"LampData.hx",lineNumber:42,className:"iron.data.LampData",methodName:"parse"}),c(null)),new iron_data_LampData(d,c)})},iron_data_LampData.__super__=iron_data_Data,iron_data_LampData.prototype=$extend(iron_data_Data.prototype,{__class__:iron_data_LampData});var iron_data_MaterialData=function(a,b){this.contexts=null;var c=this;iron_data_Data.call(this),this.uid=++iron_data_MaterialData.uidCounter,this.raw=a,this.name=a.name;var d=a.shader.split("/");iron_data_Data.getShader(d[0],d[1],a.override_context,function(d){c.shader=d;var e=a.contexts.length,f=new Array(e);c.contexts=f;for(var g=0,h=0,i=a.contexts.length;h<i;){var j=[h++],k=a.contexts[j[0]];new iron_data_MaterialContext(k,function(d){return function(e){c.contexts[d[0]]=e,(g+=1)==a.contexts.length&&b(c)}}(j))}})};$hxClasses["iron.data.MaterialData"]=iron_data_MaterialData,iron_data_MaterialData.__name__=["iron","data","MaterialData"],iron_data_MaterialData.parse=function(a,b,c){iron_data_Data.getSceneRaw(a,function(a){var d=iron_data_Data.getMaterialRawByName(a.material_datas,b);null==d&&(haxe_Log.trace('Material data "'+b+'" not found!',{fileName:"MaterialData.hx",lineNumber:48,className:"iron.data.MaterialData",methodName:"parse"}),c(null)),new iron_data_MaterialData(d,c)})},iron_data_MaterialData.__super__=iron_data_Data,iron_data_MaterialData.prototype=$extend(iron_data_Data.prototype,{getContext:function(a){for(var b=0,c=this.contexts;b<c.length;){var d=c[b];if(++b,HxOverrides.substr(d.raw.name,0,a.length)==a)return d}return null},__class__:iron_data_MaterialData});var iron_data_MaterialContext=function(a,b){this.id=0,this.textures=null;var c=this;if(this.raw=a,this.id=iron_data_MaterialContext.num++,null!=a.bind_textures&&a.bind_textures.length>0){var d=a.bind_textures.length,e=new Array(d);this.textures=e;for(var f=0,g=0,h=a.bind_textures.length;g<h;){var i=[g++],j=[a.bind_textures[i[0]]];""!=j[0].file?iron_data_Data.getImage(j[0].file,function(d,e){return function(g){if(c.textures[e[0]]=g,f+=1,null!=d[0].mipmaps){for(var h=[];h.length<d[0].mipmaps.length;)h.push(null);for(var i=0,j=0,k=d[0].mipmaps.length;j<k;){var l=[j++],m=d[0].mipmaps[l[0]];iron_data_Data.getImage(m,function(d,e){return function(j){h[d[0]]=j,(i+=1)==e[0].mipmaps.length&&(g.setMipmaps(h),e[0].mipmaps=null,e[0].generate_mipmaps=!1,f==a.bind_textures.length&&b(c))}}(l,d))}}else 1==d[0].generate_mipmaps&&null!=g?(g.generateMipmaps(1e3),d[0].mipmaps=null,d[0].generate_mipmaps=!1,f==a.bind_textures.length&&b(c)):f==a.bind_textures.length&&b(c)}}(j,i),!1,null!=j[0].format?j[0].format:"RGBA32"):(f+=1)==a.bind_textures.length&&b(this)}}else b(this)};$hxClasses["iron.data.MaterialContext"]=iron_data_MaterialContext,iron_data_MaterialContext.__name__=["iron","data","MaterialContext"],iron_data_MaterialContext.prototype={setTextureParameters:function(a,b,c,d){var e=this.raw.bind_textures[b];null==e.params_set&&(c.setTextureParameters(a,d,e),e.params_set=!0)},__class__:iron_data_MaterialContext};var iron_data_Mesh=function(a,b,c,d,e,f,g,h,i,j,k,l){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.instanceCount=0,this.instanced=!1,this.built=!1,null==k&&(k=kha_graphics4_Usage.StaticUsage),this.ids=a,this.materialIndices=b,this.usage=k,this.positions=c,this.normals=d,this.uvs=e,this.uvs1=f,this.cols=g,this.tangents=h,this.bones=i,this.weights=j,this.instanceOffsets=l,this.struct=iron_data_Mesh.getVertexStructure(null!=c,null!=d,null!=e,null!=f,null!=g,null!=h,null!=i,null!=j),this.structLength=this.struct.byteSize()/4|0};$hxClasses["iron.data.Mesh"]=iron_data_Mesh,iron_data_Mesh.__name__=["iron","data","Mesh"],iron_data_Mesh.getVertexStructure=function(a,b,c,d,e,f,g,h){null==h&&(h=!1),null==g&&(g=!1),null==f&&(f=!1),null==e&&(e=!1),null==d&&(d=!1),null==c&&(c=!1),null==b&&(b=!1),null==a&&(a=!1);var i=new kha_graphics4_VertexStructure;return a&&i.add("pos",kha_graphics4_VertexData.Float3),b&&i.add("nor",kha_graphics4_VertexData.Float3),c&&i.add("tex",kha_graphics4_VertexData.Float2),d&&i.add("tex1",kha_graphics4_VertexData.Float2),e&&i.add("col",kha_graphics4_VertexData.Float3),f&&i.add("tang",kha_graphics4_VertexData.Float3),g&&i.add("bone",kha_graphics4_VertexData.Float4),h&&i.add("weight",kha_graphics4_VertexData.Float4),i},iron_data_Mesh.buildVertices=function(a,b,c,d,e,f,g,h,i,j){null==j&&(j=0);for(var k=b.length/3|0,l=-1+j,m=0,n=k;m<n;){var o=m++;a[++l]=b[3*o],a[++l]=b[3*o+1],a[++l]=b[3*o+2],null!=c&&(a[++l]=c[3*o],a[++l]=c[3*o+1],a[++l]=c[3*o+2]),null!=d&&(a[++l]=d[2*o],a[++l]=d[2*o+1]),null!=e&&(a[++l]=e[2*o],a[++l]=e[2*o+1]),null!=f&&(a[++l]=f[3*o],a[++l]=f[3*o+1],a[++l]=f[3*o+2]),null!=g&&(a[++l]=g[3*o],a[++l]=g[3*o+1],a[++l]=g[3*o+2]),null!=h&&(a[++l]=h[4*o],a[++l]=h[4*o+1],a[++l]=h[4*o+2],a[++l]=h[4*o+3]),null!=i&&(a[++l]=i[4*o],a[++l]=i[4*o+1],a[++l]=i[4*o+2],a[++l]=i[4*o+3])}},iron_data_Mesh.prototype={delete:function(){this.vertexBuffer.delete();for(var a=0,b=this.indexBuffers;a<b.length;){var c=b[a];++a,c.delete()}},setupInstanced:function(a,b){this.offsetVecs=[];for(var c=0,d=a.length/3|0;c<d;){var e=c++;this.offsetVecs.push(new iron_math_Vec4(a[3*e],a[3*e+1],a[3*e+2]))}this.instanced=!0,this.instanceCount=a.length/3|0;var f=new kha_graphics4_VertexStructure;f.add("off",kha_graphics4_VertexData.Float3);for(var g=new kha_graphics4_VertexBuffer(this.instanceCount,f,b,1),h=g.lock(),i=0,j=h.length;i<j;){var k=i++;h[k]=a[k]}g.unlock(),this.instancedVertexBuffers=[this.vertexBuffer,g]},sortInstanced:function(a,b,c){for(var d=0,e=this.offsetVecs;d<e.length;){var f=e[d];++d;var g=a-f.x,h=b-f.y,i=c-f.z;f.w=Math.sqrt(g*g+h*h+i*i)}this.offsetVecs.sort(function(a,b){return a.w>b.w?1:-1});for(var j=this.instancedVertexBuffers[1],k=j.lock(),l=0,m=k.length/3|0;l<m;){var n=l++;k[3*n]=this.offsetVecs[n].x,k[3*n+1]=this.offsetVecs[n].y,k[3*n+2]=this.offsetVecs[n].z}j.unlock()},build:function(){if(!this.built){this.vertexBuffer=new kha_graphics4_VertexBuffer(this.positions.length/3|0,this.struct,this.usage),this.vertices=this.vertexBuffer.lock(),iron_data_Mesh.buildVertices(this.vertices,this.positions,this.normals,this.uvs,this.uvs1,this.cols,this.tangents,this.bones,this.weights),this.vertexBuffer.unlock(),this.indexBuffers=[],this.indices=[];for(var a=0,b=this.ids;a<b.length;){var c=b[a];++a;for(var d=new kha_graphics4_IndexBuffer(c.length,this.usage),e=d.lock(),f=0,g=e.length;f<g;){var h=f++;e[h]=c[h]}d.unlock(),this.indexBuffers.push(d),this.indices.push(e)}null!=this.instanceOffsets&&this.setupInstanced(this.instanceOffsets,this.usage),this.built=!0}},initSkeletonBones:function(a){this.skeletonBones=[];for(var b=0,c=this.skeletonBoneRefs;b<c.length;){var d=c[b];++b;for(var e=0;e<a.length;){var f=a[e];++e,f.name==d&&this.skeletonBones.push(f)}}},initSkeletonTransforms:function(a){this.skeletonTransforms=[],this.skeletonTransformsI=[];for(var b=0;b<a.length;){var c=a[b];++b;var d=iron_math_Mat4.fromArray(c);this.skeletonTransforms.push(d);var e=iron_math_Mat4.identity();e.getInverse(d),this.skeletonTransformsI.push(e)}},initSkinTransform:function(a){this.skinTransform=iron_math_Mat4.fromArray(a),this.skinTransformI=iron_math_Mat4.identity(),this.skinTransformI.getInverse(this.skinTransform)},__class__:iron_data_Mesh};var iron_data_MeshBatch=function(){this.buckets=new haxe_ds_ObjectMap};$hxClasses["iron.data.MeshBatch"]=iron_data_MeshBatch,iron_data_MeshBatch.__name__=["iron","data","MeshBatch"],iron_data_MeshBatch.prototype={remove:function(){for(var a=this.buckets.iterator();a.hasNext();){a.next();this.remove()}},__class__:iron_data_MeshBatch};var iron_data_Bucket=function(){};$hxClasses["iron.data.Bucket"]=iron_data_Bucket,iron_data_Bucket.__name__=["iron","data","Bucket"];var iron_data_MeshData=function(a,b){this.bones=[],iron_data_Data.call(this),this.raw=a,this.name=a.name;for(var c=[],d=[],e=0,f=a.mesh.index_arrays;e<f.length;){var g=f[e];++e,c.push(g.values),d.push(g.material)}var h=this.getVertexArray("position"),i=null!=h?h.values:null,j=this.getVertexArray("normal"),k=null!=j?j.values:null,l=this.getVertexArray("texcoord"),m=null!=l?l.values:null,n=this.getVertexArray("texcoord1"),o=null!=n?n.values:null,p=this.getVertexArray("color"),q=null!=p?p.values:null,r=this.getVertexArray("tangent"),s=null!=r?r.values:null;this.isSkinned=null!=a.mesh.skin;var t=kha_graphics4_Usage.StaticUsage;null!=a.mesh.dynamic_usage&&1==a.mesh.dynamic_usage&&(t=kha_graphics4_Usage.DynamicUsage);var u=(this.isSkinned,t),v=null,w=null;if(this.isSkinned){v=[],w=[];for(var x=0,y=0,z=i.length/3|0;y<z;){for(var A=y++,B=a.mesh.skin.bone_count_array[A],C=x,D=x+B;C<D;){var E=C++;v.push(a.mesh.skin.bone_index_array[E]),w.push(a.mesh.skin.bone_weight_array[E])}for(var F=B;F<4;){F++;v.push(0),w.push(0)}x+=B}}this.mesh=new iron_data_Mesh(c,d,i,k,m,o,q,s,v,w,u,a.mesh.instance_offsets),b(this)};$hxClasses["iron.data.MeshData"]=iron_data_MeshData,iron_data_MeshData.__name__=["iron","data","MeshData"],iron_data_MeshData.parse=function(a,b,c,d){iron_data_Data.getSceneRaw(a,function(a){var e=iron_data_Data.getMeshRawByName(a.mesh_datas,b);null==e&&(haxe_Log.trace('Mesh data "'+b+'" not found!',{fileName:"MeshData.hx",lineNumber:108,className:"iron.data.MeshData",methodName:"parse"}),d(null)),new iron_data_MeshData(e,function(b){if(null!=e.mesh.skin){var f=null!=c?c:a.objects;if(null!=f){for(var g=0;g<f.length;){var h=f[g];++g,iron_data_MeshData.setParents(h)}iron_data_MeshData.traverseObjects(f,function(a){"bone_object"==a.type&&b.bones.push(a)})}b.mesh.initSkinTransform(e.mesh.skin.transform.values),b.mesh.skinBoneCounts=e.mesh.skin.bone_count_array,b.mesh.skinBoneIndices=e.mesh.skin.bone_index_array,b.mesh.skinBoneWeights=e.mesh.skin.bone_weight_array,b.mesh.skeletonBoneRefs=e.mesh.skin.skeleton.bone_ref_array,b.mesh.initSkeletonBones(b.bones),b.mesh.initSkeletonTransforms(e.mesh.skin.skeleton.transforms)}d(b)})})},iron_data_MeshData.setParents=function(a){if(null!=a.children)for(var b=0,c=a.children;b<c.length;){var d=c[b];++b,d.parent=a,iron_data_MeshData.setParents(d)}},iron_data_MeshData.traverseObjects=function(a,b){for(var c=0,d=a.length;c<d;){var e=c++;iron_data_MeshData.traverseObjectsStep(a[e],b)}},iron_data_MeshData.traverseObjectsStep=function(a,b){if(b(a),null!=a.children)for(var c=0,d=a.children.length;c<d;){var e=c++;iron_data_MeshData.traverseObjectsStep(a.children[e],b)}},iron_data_MeshData.__super__=iron_data_Data,iron_data_MeshData.prototype=$extend(iron_data_Data.prototype,{delete:function(){this.mesh.delete()},getVertexArray:function(a){for(var b=0,c=this.raw.mesh.vertex_arrays;b<c.length;){var d=c[b];if(++b,d.attrib==a)return d}return null},__class__:iron_data_MeshData});var iron_data_ParticleData=function(a,b){iron_data_Data.call(this),this.raw=a,this.name=a.name,b(this)};$hxClasses["iron.data.ParticleData"]=iron_data_ParticleData,iron_data_ParticleData.__name__=["iron","data","ParticleData"],iron_data_ParticleData.parse=function(a,b,c){iron_data_Data.getSceneRaw(a,function(a){var d=iron_data_Data.getParticleRawByName(a.particle_datas,b);null==d&&(haxe_Log.trace('Particle data "'+b+'" not found!',{fileName:"ParticleData.hx",lineNumber:23,className:"iron.data.ParticleData",methodName:"parse"}),c(null)),new iron_data_ParticleData(d,c)})},iron_data_ParticleData.__super__=iron_data_Data,iron_data_ParticleData.prototype=$extend(iron_data_Data.prototype,{__class__:iron_data_ParticleData});var iron_data_RenderPath=function(a){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 b=this;this.camera=a,this.data=a.data,this.ready=!1,this.loadStageCommands(this.data.pathdata.raw.stages,function(){b.ready=!0})};$hxClasses["iron.data.RenderPath"]=iron_data_RenderPath,iron_data_RenderPath.__name__=["iron","data","RenderPath"],iron_data_RenderPath.lampCastShadow=function(a){return(a.lamps.length>0?a.lamps[a.currentLampIndex]:null).data.raw.cast_shadow},iron_data_RenderPath.lampIsSun=function(a){return"sun"==(a.lamps.length>0?a.lamps[a.currentLampIndex]:null).data.raw.type},iron_data_RenderPath.voxelize=function(a){return!(++iron_data_RenderPath.voxelized>2)},iron_data_RenderPath.createScreenAlignedData=function(){var a=[-1,-1,3,-1,-1,3],b=[0,1,2],c=new kha_graphics4_VertexStructure;c.add("pos",kha_graphics4_VertexData.Float2),iron_data_RenderPath.screenAlignedVB=new kha_graphics4_VertexBuffer(a.length/(c.byteSize()/4|0)|0,c,kha_graphics4_Usage.StaticUsage);for(var d=iron_data_RenderPath.screenAlignedVB.lock(),e=0,f=d.length;e<f;){var g=e++;d[g]=a[g]}iron_data_RenderPath.screenAlignedVB.unlock(),iron_data_RenderPath.screenAlignedIB=new kha_graphics4_IndexBuffer(b.length,kha_graphics4_Usage.StaticUsage);for(var h=iron_data_RenderPath.screenAlignedIB.lock(),i=0,j=h.length;i<j;){var k=i++;h[k]=b[k]}iron_data_RenderPath.screenAlignedIB.unlock()},iron_data_RenderPath.createRectData=function(){var a=[-1,-1,1,-1,1,1,-1,1],b=[0,1,2,0,2,3],c=new kha_graphics4_VertexStructure;c.add("pos",kha_graphics4_VertexData.Float2),iron_data_RenderPath.rectVB=new kha_graphics4_VertexBuffer(a.length/(c.byteSize()/4|0)|0,c,kha_graphics4_Usage.StaticUsage);for(var d=iron_data_RenderPath.rectVB.lock(),e=0,f=d.length;e<f;){var g=e++;d[g]=a[g]}iron_data_RenderPath.rectVB.unlock(),iron_data_RenderPath.rectIB=new kha_graphics4_IndexBuffer(b.length,kha_graphics4_Usage.StaticUsage);for(var h=iron_data_RenderPath.rectIB.lock(),i=0,j=h.length;i<j;){var k=i++;h[k]=b[k]}iron_data_RenderPath.rectIB.unlock()},iron_data_RenderPath.createBoxData=function(){var a=[-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],b=[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],c=new kha_graphics4_VertexStructure;c.add("pos",kha_graphics4_VertexData.Float3),iron_data_RenderPath.boxVB=new kha_graphics4_VertexBuffer(a.length/(c.byteSize()/4|0)|0,c,kha_graphics4_Usage.StaticUsage);for(var d=iron_data_RenderPath.boxVB.lock(),e=0,f=d.length;e<f;){var g=e++;d[g]=a[g]}iron_data_RenderPath.boxVB.unlock(),iron_data_RenderPath.boxIB=new kha_graphics4_IndexBuffer(b.length,kha_graphics4_Usage.StaticUsage);for(var h=iron_data_RenderPath.boxIB.lock(),i=0,j=h.length;i<j;){var k=i++;h[k]=b[k]}iron_data_RenderPath.boxIB.unlock()},iron_data_RenderPath.createSkydomeData=function(){var a=new kha_graphics4_VertexStructure;a.add("pos",kha_graphics4_VertexData.Float3),a.add("nor",kha_graphics4_VertexData.Float3);var b=a.byteSize()/4|0,c=iron_data_ConstData.skydomePos,d=iron_data_ConstData.skydomeNor;iron_data_RenderPath.skydomeVB=new kha_graphics4_VertexBuffer(c.length/3|0,a,kha_graphics4_Usage.StaticUsage);for(var e=iron_data_RenderPath.skydomeVB.lock(),f=0,g=e.length/b|0;f<g;){var h=f++;e[h*b]=c[3*h],e[h*b+1]=c[3*h+1],e[h*b+2]=c[3*h+2],e[h*b+3]=-d[3*h],e[h*b+4]=-d[3*h+1],e[h*b+5]=-d[3*h+2]}iron_data_RenderPath.skydomeVB.unlock();var i=iron_data_ConstData.skydomeIndices;iron_data_RenderPath.skydomeIB=new kha_graphics4_IndexBuffer(i.length,kha_graphics4_Usage.StaticUsage);for(var j=iron_data_RenderPath.skydomeIB.lock(),k=0,l=j.length;k<l;){var m=k++;j[m]=i[m]}iron_data_RenderPath.skydomeIB.unlock()},iron_data_RenderPath.createSphereData=function(){var a=new kha_graphics4_VertexStructure;a.add("pos",kha_graphics4_VertexData.Float3);var b=iron_data_ConstData.spherePos;iron_data_RenderPath.sphereVB=new kha_graphics4_VertexBuffer(b.length/(a.byteSize()/4|0)|0,a,kha_graphics4_Usage.StaticUsage);for(var c=iron_data_RenderPath.sphereVB.lock(),d=0,e=c.length;d<e;){var f=d++;c[f]=b[f]}iron_data_RenderPath.sphereVB.unlock();var g=iron_data_ConstData.sphereIndices;iron_data_RenderPath.sphereIB=new kha_graphics4_IndexBuffer(g.length,kha_graphics4_Usage.StaticUsage);for(var h=iron_data_RenderPath.sphereIB.lock(),i=0,j=h.length;i<j;){var k=i++;h[k]=g[k]}iron_data_RenderPath.sphereIB.unlock()},iron_data_RenderPath.createConeData=function(){var a=new kha_graphics4_VertexStructure;a.add("pos",kha_graphics4_VertexData.Float3);var b=iron_data_ConstData.conePos;iron_data_RenderPath.coneVB=new kha_graphics4_VertexBuffer(b.length/(a.byteSize()/4|0)|0,a,kha_graphics4_Usage.StaticUsage);for(var c=iron_data_RenderPath.coneVB.lock(),d=0,e=c.length;d<e;){var f=d++;c[f]=b[f]}iron_data_RenderPath.coneVB.unlock();var g=iron_data_ConstData.coneIndices;iron_data_RenderPath.coneIB=new kha_graphics4_IndexBuffer(g.length,kha_graphics4_Usage.StaticUsage);for(var h=iron_data_RenderPath.coneIB.lock(),i=0,j=h.length;i<j;){var k=i++;h[k]=g[k]}iron_data_RenderPath.coneIB.unlock()},iron_data_RenderPath.sortMeshes=function(a,b){for(var c=b.transform.matrix.self._30,d=b.transform.matrix.self._31,e=b.transform.matrix.self._32,f=0;f<a.length;){var g=a[f];++f;var h=c-g.transform.matrix.self._30,i=d-g.transform.matrix.self._31,j=e-g.transform.matrix.self._32;g.cameraDistance=Math.sqrt(h*h+i*i+j*j)}a.sort(function(a,b){return a.cameraDistance>b.cameraDistance?1:-1})},iron_data_RenderPath.prototype={unload:function(){this.data.pathdata.unload()},getLamp:function(a){return this.lamps.length>0?this.lamps[a]:null},renderFrame:function(a,b,c){if(this.ready){this.frameRenderTarget=null==this.camera.data.mirror?a: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=c,this.currentLampIndex=0;for(var d=0;d<c.length;){var e=c[d];++d,e.visible&&e.buildMatrices(this.camera)}this.currentStages=this.data.pathdata.raw.stages,this.callCurrentStages(b)}},callCurrentStages:function(a){for(var b=0;b<this.currentStages.length;){this.currentStageIndex=b;this.commandToFunction(this.currentStages[b].command)(this.currentStages[b].params,a),b+=1+this.currentStageIndexOffset,this.currentStageIndexOffset=0}},setTarget:function(a,b){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 c=a[1];if(""==c){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 e=this.data.pathdata.renderTargets,f=null!=__map_reserved[c]?e.getReserved(c):e.h[c];if("shadowMap"==c&&(this.lamps.length>0?this.lamps[this.currentLampIndex]:null).data.raw.shadowmap_cube){var g=this.data.pathdata.renderTargets,h=c+"Cube";if(null==(f=null!=__map_reserved[h]?g.getReserved(h):g.h[h])){var i=(this.lamps.length>0?this.lamps[this.currentLampIndex]:null).data.raw.shadowmap_size/2|0,j={name:c+"Cube",width:i,height:i,format:"DEPTH16",is_cubemap:!0};f=this.data.pathdata.createRenderTarget(j)}}if("shadowMap"==c&&null==f){var k=(this.lamps.length>0?this.lamps[this.currentLampIndex]:null).data.raw.shadowmap_size,l={name:c,width:k,height:k,format:"DEPTH16"};f=this.data.pathdata.createRenderTarget(l)}var m=null;if(a.length>2){m=[];for(var n=2,o=a.length;n<o;){var p=n++,q=this.data.pathdata.renderTargets,r=a[p],s=null!=__map_reserved[r]?q.getReserved(r):q.h[r];m.push(s.image)}}null!=f.pong&&(iron_data_RenderPath.lastPongRT=f,f.pongState&&(f=f.pong)),this.currentRenderTarget=f.isCubeMap?f.cubeMap.get_g4():f.image.get_g4(),this.currentRenderTargetW=f.isCubeMap?f.cubeMap.get_width():f.image.get_width(),this.currentRenderTargetH=f.isCubeMap?f.cubeMap.get_height():f.image.get_height(),f.is3D&&(this.currentRenderTargetD=f.image.get_depth()),this.currentRenderTargetCube=f.isCubeMap,this.currentRenderTargetFace>=0?this.currentRenderTargetFace++:this.currentRenderTargetFace=f.isCubeMap?0:-1;var t=this.currentRenderTarget,u=this.currentRenderTargetFace;u>=0?t.beginFace(u):t.begin(m)}var v=parseFloat(a[0]);if(1!=v){this.viewportScaled=!0;var w=this.currentRenderTargetW*v|0,x=this.currentRenderTargetH*v|0;this.currentRenderTarget.viewport(0,x,w,x),this.currentRenderTarget.scissor(0,x,w,x)}else this.viewportScaled&&(this.viewportScaled=!1,this.setCurrentViewport(this.currentRenderTargetW,this.currentRenderTargetH),this.setCurrentScissor(this.currentRenderTargetW,this.currentRenderTargetH));this.bindParams=null},begin:function(a,b,c){null==c&&(c=-1),c>=0?a.beginFace(c):a.begin(b)},end:function(a){a.end(),this.scissorSet&&(a.disableScissor(),this.scissorSet=!1),this.bindParams=null,this.drawPerformed=!0},setCurrentViewport:function(a,b){this.currentRenderTarget.viewport(0,this.currentRenderTargetH-b,a,b)},setCurrentScissor:function(a,b){this.currentRenderTarget.scissor(0,this.currentRenderTargetH-b,a,b),this.scissorSet=!0},setFrameScissor:function(){this.frameRenderTarget.scissor(this.frameScissorX,this.currentRenderTargetH-(this.frameScissorH-this.frameScissorY),this.frameScissorW,this.frameScissorH)},setViewport:function(a,b){var c=0|parseFloat(a[0]),d=0|parseFloat(a[1]);this.setCurrentViewport(c,d),this.setCurrentScissor(c,d)},clearTarget:function(a,b){for(var c=null,d=null,e=0,f=a.length/2|0;e<f;){var g=e++,h=2*g,i=h+1;"color"==a[h]?c="-1"==a[i]?iron_Scene.active.world.raw.background_color:kha__$Color_Color_$Impl_$.fromString(a[i]):"depth"==a[h]&&(d="1.0"==a[i]?1:0)}kha_SystemImpl.gl.colorMask(!0,!0,!0,!0),this.currentRenderTarget.clear(c,d,null)},clearImage:function(a,b){var c=a[0],d=kha__$Color_Color_$Impl_$.fromString(a[1]),e=this.data.pathdata.renderTargets,f=null!=__map_reserved[c]?e.getReserved(c):e.h[c];f.image.clear(0,0,0,f.image.get_width(),f.image.get_height(),f.image.get_depth(),d)},generateMipmaps:function(a,b){var c=a[0],d=this.data.pathdata.renderTargets;(null!=__map_reserved[c]?d.getReserved(c):d.h[c]).image.generateMipmaps(1e3)},drawMeshes:function(a,b){var c=a[0],d=this.lamps.length>0?this.lamps[this.currentLampIndex]:null;if((null==d||d.visible||!(this.currentLampIndex>0))&&(c!=this.data.pathdata.raw.shadows_context||null!=d&&d.data.raw.cast_shadow)){this.currentRenderTargetFace>=0&&null!=d&&d.setCubeFace(this.currentRenderTargetFace,this.camera);var e=this.currentRenderTarget;this.meshesSorted||(iron_data_RenderPath.sortMeshes(iron_Scene.active.meshes,this.camera),this.meshesSorted=!0);for(var f=0,g=iron_Scene.active.meshes;f<g.length;){var h=g[f];++f,h.render(e,c,this.camera,d,this.bindParams)}e.end(),this.scissorSet&&(e.disableScissor(),this.scissorSet=!1),this.bindParams=null,this.drawPerformed=!0,this.currentRenderTargetFace>=0&&this.currentRenderTargetFace<5?this.currentStageIndexOffset=-3:this.currentRenderTargetFace=-1}},getRectContexts:function(a,b,c,d){for(var e=0,f=a.raw.contexts.length;e<f;){var g=e++;if(HxOverrides.substr(a.raw.contexts[g].name,0,b.length)==b){c.push(a.contexts[g]),d.push(a.shader.getContext(b));break}}},clampRect:function(a){return a<-1?-1:a>1?1:a},drawRects:function(a,b){null==iron_data_RenderPath.rectVB&&iron_data_RenderPath.createRectData();for(var c=this.currentRenderTarget,d=a[0],e=this.lamps.length>0?this.lamps[this.currentLampIndex]:null,f=[],g=[],h=[],i=0,j=iron_Scene.active.meshes;i<j.length;){var k=j[i];++i;for(var l=!1,m=0,n=f.length;m<n;){var o=m++;if(f[o]==k.materials[0]){var q=new iron_math_Vec4(k.transform.matrix.self._30,k.transform.matrix.self._31,k.transform.matrix.self._32),r=k.transform.size,s=g[o],t=h[o];s.x>q.x-r.x/2&&(s.x=q.x-r.x/2),s.y>q.y-r.y/2&&(s.y=q.y-r.y/2),s.z>q.z-r.z/2&&(s.z=q.z-r.z/2),t.x<q.x+r.x/2&&(t.x=q.x+r.x/2),t.y<q.y+r.y/2&&(t.y=q.y+r.y/2),t.z<q.z+r.z/2&&(t.z=q.z+r.z/2),l=!0;break}}if(!l){var u=new iron_math_Vec4(k.transform.matrix.self._30,k.transform.matrix.self._31,k.transform.matrix.self._32),v=k.transform.size;g.push(new iron_math_Vec4(u.x-v.x/2,u.y-v.y/2,u.z-v.z/2)),h.push(new iron_math_Vec4(u.x+v.x/2,u.y+v.y/2,u.z+v.z/2)),f.push(k.materials[0])}}for(var w=[],x=0,y=g.length;x<y;){var z=x++,A=g[z],B=h[z],C=B.x-A.x,D=B.y-A.y,E=B.z-A.z,F=[];F.push(new iron_math_Vec4(A.x,A.y,A.z)),F.push(new iron_math_Vec4(A.x+C,A.y,A.z)),F.push(new iron_math_Vec4(A.x,A.y+D,A.z)),F.push(new iron_math_Vec4(A.x,A.y,A.z+E)),F.push(new iron_math_Vec4(A.x+C,A.y+D,A.z)),F.push(new iron_math_Vec4(A.x,A.y+D,A.z+E)),F.push(new iron_math_Vec4(A.x+C,A.y,A.z+E)),F.push(new iron_math_Vec4(A.x+C,A.y+D,A.z+E)),this.helpMat.setFrom(this.camera.V),this.helpMat.multmat2(this.camera.P);for(var G=null,H=0;H<F.length;){var I=F[H];++H,I.applymat4(this.helpMat),I.x/=I.w,I.y/=I.w,I.z/=I.w,null==G?G=new iron_math_Vec4(I.x,I.y,I.x,I.y):(I.x<G.x&&(G.x=I.x),I.y<G.y&&(G.y=I.y),I.x>G.z&&(G.z=I.x),I.y>G.w&&(G.w=I.y))}w.push(G)}c.setIndexBuffer(iron_data_RenderPath.rectIB);for(var J=0,K=f.length;J<K;){var L=J++,M=f[L],N=w[L],O=N.z-N.x,P=N.w-N.y,Q=iron_data_RenderPath.rectVB.lock(),R=N.x;Q[0]=R<-1?-1:R>1?1:R;var S=N.y;Q[1]=S<-1?-1:S>1?1:S;var T=N.x+O;Q[2]=T<-1?-1:T>1?1:T;var U=N.y;Q[3]=U<-1?-1:U>1?1:U;var V=N.x+O;Q[4]=V<-1?-1:V>1?1:V;var W=N.y+P;Q[5]=W<-1?-1:W>1?1:W;var X=N.x;Q[6]=X<-1?-1:X>1?1:X;var Y=N.y+P;Q[7]=Y<-1?-1:Y>1?1:Y,iron_data_RenderPath.rectVB.unlock(),c.setVertexBuffer(iron_data_RenderPath.rectVB),this.currentMaterial=M;var Z=[],$=[];this.getRectContexts(M,d,Z,$),c.setPipeline(M.shader.getContext(d).pipeState),iron_object_Uniforms.setConstants(c,$[0],null,this.camera,e,this.bindParams),iron_object_Uniforms.setMaterialConstants(c,$[0],Z[0]),c.drawIndexedVertices()}this.currentMaterial=null,c.end(),this.scissorSet&&(c.disableScissor(),this.scissorSet=!1),this.bindParams=null,this.drawPerformed=!0},drawDecals:function(a,b){null==iron_data_RenderPath.boxVB&&iron_data_RenderPath.createBoxData();for(var c=a[0],d=this.currentRenderTarget,e=this.lamps.length>0?this.lamps[this.currentLampIndex]:null,f=0,g=iron_Scene.active.decals;f<g.length;){var h=g[f];++f,h.render(d,c,this.camera,e,this.bindParams),d.setVertexBuffer(iron_data_RenderPath.boxVB),d.setIndexBuffer(iron_data_RenderPath.boxIB),d.drawIndexedVertices()}d.end(),this.scissorSet&&(d.disableScissor(),this.scissorSet=!1),this.bindParams=null,this.drawPerformed=!0},drawGreasePencil:function(a,b){var c=iron_Scene.active.greasePencil;if(null!=c){var d=this.currentRenderTarget,e=this.lamps.length>0?this.lamps[this.currentLampIndex]:null,f=iron_data_GreasePencilData.getContext(a[0]);d.setPipeline(f.pipeState),iron_object_Uniforms.setConstants(d,f,null,this.camera,e,null);for(var g=0,h=c.layers;g<h.length;){var i=h[g];++g,i.frames.length-1>i.currentFrame&&iron_data_RenderPath.gpFrame>=i.frames[i.currentFrame+1].raw.frame_number&&i.currentFrame++;var j=i.frames[i.currentFrame];j.numVertices>0&&(d.setVertexBuffer(j.vertexBuffer),d.setIndexBuffer(j.indexBuffer),d.drawIndexedVertices())}if(++iron_data_RenderPath.gpFrame>iron_data_GreasePencilData.frameEnd){iron_data_RenderPath.gpFrame=0;for(var k=0,l=c.layers;k<l.length;){var m=l[k];++k,m.currentFrame=0}}d.end(),this.scissorSet&&(d.disableScissor(),this.scissorSet=!1),this.bindParams=null,this.drawPerformed=!0}},parseMaterialLink:function(a){return"_worldMaterial"==a&&null!=iron_Scene.active.world?iron_Scene.active.world.raw.material_ref.split("/"):null},drawSkydome:function(a,b){null==iron_data_RenderPath.skydomeVB&&iron_data_RenderPath.createSkydomeData();var c=a[0],d=this.cachedShaderContexts,e=null!=__map_reserved[c]?d.getReserved(c):d.h[c];if(null!=e.context){var f=this.currentRenderTarget;f.setPipeline(e.context.pipeState);var g=this.lamps.length>0?this.lamps[this.currentLampIndex]:null;iron_object_Uniforms.setConstants(f,e.context,null,this.camera,g,this.bindParams),null!=e.materialContext&&iron_object_Uniforms.setMaterialConstants(f,e.context,e.materialContext),f.setVertexBuffer(iron_data_RenderPath.skydomeVB),f.setIndexBuffer(iron_data_RenderPath.skydomeIB),f.drawIndexedVertices(),f.end(),this.scissorSet&&(f.disableScissor(),this.scissorSet=!1),this.bindParams=null,this.drawPerformed=!0}},drawLampVolume:function(a,b){var c=null,d=null,e=this.lamps.length>0?this.lamps[this.currentLampIndex]:null,f=e.data.raw.type;"point"==f||"area"==f?(null==iron_data_RenderPath.sphereVB&&iron_data_RenderPath.createSphereData(),c=iron_data_RenderPath.sphereVB,d=iron_data_RenderPath.sphereIB):"spot"==f&&(null==iron_data_RenderPath.sphereVB&&iron_data_RenderPath.createSphereData(),c=iron_data_RenderPath.sphereVB,d=iron_data_RenderPath.sphereIB);var g=a[0],h=this.cachedShaderContexts,i=null!=__map_reserved[g]?h.getReserved(g):h.h[g],j=this.currentRenderTarget;j.setPipeline(i.context.pipeState),iron_object_Uniforms.setConstants(j,i.context,null,this.camera,e,this.bindParams),null!=i.materialContext&&iron_object_Uniforms.setMaterialConstants(j,i.context,i.materialContext),j.setVertexBuffer(c),j.setIndexBuffer(d),j.drawIndexedVertices(),j.end(),this.scissorSet&&(j.disableScissor(),this.scissorSet=!1),this.bindParams=null,this.drawPerformed=!0},bindTarget:function(a,b){if(null!=this.bindParams)for(var c=0;c<a.length;){var d=a[c];++c,this.bindParams.push(d)}else this.bindParams=a},drawShaderQuad:function(a,b){var c=a[0],d=this.cachedShaderContexts,e=null!=__map_reserved[c]?d.getReserved(c):d.h[c];this.drawQuad(e,b)},drawMaterialQuad:function(a,b){var c=a[0],d=this.cachedShaderContexts,e=null!=__map_reserved[c]?d.getReserved(c):d.h[c];this.drawQuad(e,b)},drawQuad:function(a,b){null==iron_data_RenderPath.screenAlignedVB&&iron_data_RenderPath.createScreenAlignedData();var c=this.currentRenderTarget;c.setPipeline(a.context.pipeState);var d=this.lamps.length>0?this.lamps[this.currentLampIndex]:null;iron_object_Uniforms.setConstants(c,a.context,null,this.camera,d,this.bindParams),null!=a.materialContext&&iron_object_Uniforms.setMaterialConstants(c,a.context,a.materialContext),c.setVertexBuffer(iron_data_RenderPath.screenAlignedVB),c.setIndexBuffer(iron_data_RenderPath.screenAlignedIB),c.drawIndexedVertices(),c.end(),this.scissorSet&&(c.disableScissor(),this.scissorSet=!1),this.bindParams=null,this.drawPerformed=!0},callFunction:function(a,b){var c=a[0],d=c.lastIndexOf("."),e=HxOverrides.substr(c,0,d),f=Type.resolveClass(e),g=HxOverrides.substr(c,d+1,null),h=this.currentStages[this.currentStageIndex];if(null==h.returns_true&&null==h.returns_false)Reflect.field(f,g).apply(f,[this]);else{var i=Reflect.field(f,g).apply(f,[this]),j=i?h.returns_true:h.returns_false;if(null!=j){var k=this.currentStages;this.currentStages=j,this.callCurrentStages(b),this.currentStages=k}}},loopLamps:function(a,b){var c=this.currentStages[this.currentStageIndex].returns_true,d=this.currentStages;this.currentStages=c,this.currentLampIndex=0,this.loopFinished++;for(var e=0,f=this.lamps.length;e<f;){var g=e++;this.lamps[g].visible&&(this.currentLampIndex=g,this.callCurrentStages(b))}this.currentLampIndex=0,this.loopFinished--,this.currentStages=d},drawStereo:function(a,b){var c=this.currentStages[this.currentStageIndex].returns_true,d=this.currentStages;this.currentStages=c,this.loopFinished++;var e=this.currentRenderTarget,f=kha_vr_VrInterface.instance;if(null!=f&&f.IsPresenting()){var g=kha_System.windowWidth(),h=kha_System.windowHeight(),i=g/2|0;this.camera.V.setFrom(this.camera.leftV),this.camera.P.self=f.GetProjectionMatrix(0),e.viewport(0,0,i,h),this.callCurrentStages(b),this.camera.V.setFrom(this.camera.rightV),this.camera.P.self=f.GetProjectionMatrix(1),e.viewport(i,0,i,h),this.callCurrentStages(b)}else this.callCurrentStages(b);this.loopFinished--,this.currentStages=d},loadStageCommands:function(a,b){for(var c=0,d=0,e=a.length;d<e;){var f=d++;this.loadCommand(a[f],function(){(c+=1)==a.length&&b()})}},commandToFunction:function(a){switch(a){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"draw_stereo":return $bind(this,this.drawStereo);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(a,b){var c=a.params.length>0?a.params[0]:"";switch(a.command){case"call_function":this.cacheReturnsBoth(a,b);break;case"draw_lamp_volume":this.cacheShaderQuad(c,b);break;case"draw_material_quad":this.cacheMaterialQuad(c,b);break;case"draw_shader_quad":this.cacheShaderQuad(c,b);break;case"draw_skydome":this.cacheMaterialQuad(c,b);break;case"draw_stereo":case"loop_lamps":this.cacheReturnsTrue(a,b);break;default:b()}},cacheReturnsBoth:function(a,b){var c=0,d=0;null!=a.returns_true&&a.returns_true.length>0&&(d+=1),null!=a.returns_false&&a.returns_false.length>0&&(d+=1),0==d&&b(),null!=a.returns_true&&a.returns_true.length>0&&this.loadStageCommands(a.returns_true,function(){(c+=1)==d&&b()}),null!=a.returns_false&&a.returns_false.length>0&&this.loadStageCommands(a.returns_false,function(){(c+=1)==d&&b()})},cacheReturnsTrue:function(a,b){null!=a.returns_true?this.loadStageCommands(a.returns_true,b):b()},cacheMaterialQuad:function(a,b){var c=this.cachedShaderContexts,d=null!=__map_reserved[a]?c.getReserved(a):c.h[a];if(null!=d)return void b();d=new iron_data_CachedShaderContext;var e=this.cachedShaderContexts;null!=__map_reserved[a]?e.setReserved(a,d):e.h[a]=d;var f=null;if(null==(f="_"==a.charAt(0)?this.parseMaterialLink(a):a.split("/")))return void b();iron_data_Data.getMaterial(f[0],f[1],function(a){d.materialContext=a.getContext(f[2]),d.context=a.shader.getContext(f[2]),b()})},cacheShaderQuad:function(a,b){var c=this.cachedShaderContexts,d=null!=__map_reserved[a]?c.getReserved(a):c.h[a];if(null!=d)return void b();d=new iron_data_CachedShaderContext;var e=this.cachedShaderContexts;null!=__map_reserved[a]?e.setReserved(a,d):e.h[a]=d;var f=a.split("/");iron_data_Data.getShader(f[0],f[1],null,function(a){d.materialContext=null,d.context=a.getContext(f[2]),b()})},__class__:iron_data_RenderPath};var iron_data_CachedShaderContext=function(){};$hxClasses["iron.data.CachedShaderContext"]=iron_data_CachedShaderContext,iron_data_CachedShaderContext.__name__=["iron","data","CachedShaderContext"],iron_data_CachedShaderContext.prototype={__class__:iron_data_CachedShaderContext};var iron_data_RenderPathData=function(a,b){if(this.depthToRenderTarget=new haxe_ds_StringMap,this.renderTargets=new haxe_ds_StringMap,iron_data_Data.call(this),this.raw=a,this.name=a.name,null!=a.render_targets&&a.render_targets.length>0)for(var c=0,d=a.render_targets;c<d.length;){var e=d[c];++c,this.createRenderTarget(e)}var f={name:"arm_empty",width:1,height:1,format:"DEPTH16"};this.createRenderTarget(f),b(this)};$hxClasses["iron.data.RenderPathData"]=iron_data_RenderPathData,iron_data_RenderPathData.__name__=["iron","data","RenderPathData"],iron_data_RenderPathData.parse=function(a,b,c){iron_data_Data.getSceneRaw(a,function(a){var d=iron_data_Data.getRenderPathRawByName(a.renderpath_datas,b);null==d&&(haxe_Log.trace('Render path data "'+b+'" not found!',{fileName:"RenderPathData.hx",lineNumber:56,className:"iron.data.RenderPathData",methodName:"parse"}),c(null)),new iron_data_RenderPathData(d,c)})},iron_data_RenderPathData.__super__=iron_data_Data,iron_data_RenderPathData.prototype=$extend(iron_data_Data.prototype,{unload:function(){for(var a=this.renderTargets,b=new haxe_ds__$StringMap_StringMapIterator(a,a.arrayKeys());b.hasNext();){b.next().unload()}},createRenderTarget:function(a){var b=this._createRenderTarget(a);null!=a.ping_pong&&a.ping_pong&&(b.pong=this.createRenderTarget(a));var c=a.name,d=this.renderTargets;return null!=__map_reserved[c]?d.setReserved(c,b):d.h[c]=b,b},_createRenderTarget:function(a){var b=new iron_data_RenderTarget;if(null!=a.depth_buffer){b.hasDepth=!0;var c=a.depth_buffer,d=this.depthToRenderTarget,e=null!=__map_reserved[c]?d.getReserved(c):d.h[c];if(null==e)for(var f=0,g=this.raw.depth_buffers;f<g.length;){var h=g[f];if(++f,h.name==a.depth_buffer){var i=h.name,j=this.depthToRenderTarget;null!=__map_reserved[i]?j.setReserved(i,b):j.h[i]=b;var l,k=h.format;if(null==k||""==k)l=1;else switch(k){case"DEPTH16":l=5;break;case"DEPTH24":l=1;break;default:l=1}b.image=this.createImage(a,l);break}}else b.image=this.createImage(a,0),b.image.setDepthStencilFrom(e.image)}else b.hasDepth=!1,null!=a.depth&&a.depth>1&&(b.is3D=!0),a.is_cubemap?(b.isCubeMap=!0,b.cubeMap=this.createCubeMap(a,0)):b.image=this.createImage(a,0);return b},createImage:function(a,b){var c=0==a.width?kha_System.windowWidth():a.width,d=0==a.height?kha_System.windowHeight():a.height,e=null!=a.depth?a.depth:0;if(null!=a.scale&&(c=c*a.scale|0,d=d*a.scale|0,e=e*a.scale|0),null!=a.depth&&a.depth>1){var f;if(null!=a.format)switch(a.format){case"A16":f=kha_graphics4_TextureFormat.A16;break;case"A32":f=kha_graphics4_TextureFormat.A32;break;case"A8":f=kha_graphics4_TextureFormat.L8;break;case"DEPTH16":f=kha_graphics4_TextureFormat.DEPTH16;break;case"RGBA128":f=kha_graphics4_TextureFormat.RGBA128;break;case"RGBA32":f=kha_graphics4_TextureFormat.RGBA32;break;case"RGBA64":f=kha_graphics4_TextureFormat.RGBA64;break;default:f=kha_graphics4_TextureFormat.RGBA32}else f=kha_graphics4_TextureFormat.RGBA32;return kha_Image.create3D(c,d,e,f)}if(null!=a.is_image&&a.is_image){var g;if(null!=a.format)switch(a.format){case"A16":g=kha_graphics4_TextureFormat.A16;break;case"A32":g=kha_graphics4_TextureFormat.A32;break;case"A8":g=kha_graphics4_TextureFormat.L8;break;case"DEPTH16":g=kha_graphics4_TextureFormat.DEPTH16;break;case"RGBA128":g=kha_graphics4_TextureFormat.RGBA128;break;case"RGBA32":g=kha_graphics4_TextureFormat.RGBA32;break;case"RGBA64":g=kha_graphics4_TextureFormat.RGBA64;break;default:g=kha_graphics4_TextureFormat.RGBA32}else g=kha_graphics4_TextureFormat.RGBA32;return kha_Image.create(c,d,g)}var h;if(null!=a.format)switch(a.format){case"A16":h=kha_graphics4_TextureFormat.A16;break;case"A32":h=kha_graphics4_TextureFormat.A32;break;case"A8":h=kha_graphics4_TextureFormat.L8;break;case"DEPTH16":h=kha_graphics4_TextureFormat.DEPTH16;break;case"RGBA128":h=kha_graphics4_TextureFormat.RGBA128;break;case"RGBA32":h=kha_graphics4_TextureFormat.RGBA32;break;case"RGBA64":h=kha_graphics4_TextureFormat.RGBA64;break;default:h=kha_graphics4_TextureFormat.RGBA32}else h=kha_graphics4_TextureFormat.RGBA32;return kha_Image.createRenderTarget(c,d,h,b)},createCubeMap:function(a,b){var c;if(null!=a.format)switch(a.format){case"A16":c=kha_graphics4_TextureFormat.A16;break;case"A32":c=kha_graphics4_TextureFormat.A32;break;case"A8":c=kha_graphics4_TextureFormat.L8;break;case"DEPTH16":c=kha_graphics4_TextureFormat.DEPTH16;break;case"RGBA128":c=kha_graphics4_TextureFormat.RGBA128;break;case"RGBA32":c=kha_graphics4_TextureFormat.RGBA32;break;case"RGBA64":c=kha_graphics4_TextureFormat.RGBA64;break;default:c=kha_graphics4_TextureFormat.RGBA32}else c=kha_graphics4_TextureFormat.RGBA32;return kha_graphics4_CubeMap.createRenderTarget(a.width,c,b)},__class__:iron_data_RenderPathData});var 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};$hxClasses["iron.data.RenderTarget"]=iron_data_RenderTarget,iron_data_RenderTarget.__name__=["iron","data","RenderTarget"],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_ShaderData=function(a,b,c){this.contexts=[],this.instancing=!1,this.structureLength=0,iron_data_Data.call(this),this.raw=a,this.name=a.name,this.parseVertexStructure();for(var d=0,e=a.contexts;d<e.length;){var f=e[d];++d;var g=StringTools.replace(f.fragment_shader,".","_");if(null!=Reflect.field(kha_Shaders,g)){var h=this.structure,i=this.instancing;"rect"==f.name&&(h=iron_data_ShaderData.getStructureRect(),i=!1),this.contexts.push(new iron_data_ShaderContext(f,h,i,b))}}c(this)};$hxClasses["iron.data.ShaderData"]=iron_data_ShaderData,iron_data_ShaderData.__name__=["iron","data","ShaderData"],iron_data_ShaderData.getStructureRect=function(){return null==iron_data_ShaderData.structureRect&&(iron_data_ShaderData.structureRect=new kha_graphics4_VertexStructure,iron_data_ShaderData.structureRect.add("pos",kha_graphics4_VertexData.Float2),iron_data_ShaderData.structureRectLength+=2),iron_data_ShaderData.structureRect},iron_data_ShaderData.parse=function(a,b,c,d){iron_data_Data.getSceneRaw(a,function(a){var e=iron_data_Data.getShaderRawByName(a.shader_datas,b);null==e&&(haxe_Log.trace('Shader data "'+b+'" not found!',{fileName:"ShaderData.hx",lineNumber:72,className:"iron.data.ShaderData",methodName:"parse"}),d(null)),new iron_data_ShaderData(e,c,d)})},iron_data_ShaderData.__super__=iron_data_Data,iron_data_ShaderData.prototype=$extend(iron_data_Data.prototype,{delete:function(){for(var a=0,b=this.contexts;a<b.length;){var c=b[a];++a,c.delete()}},sizeToVD:function(a){return 1==a?kha_graphics4_VertexData.Float1:2==a?kha_graphics4_VertexData.Float2:3==a?kha_graphics4_VertexData.Float3:4==a?kha_graphics4_VertexData.Float4:null},parseVertexStructure:function(){this.structure=new kha_graphics4_VertexStructure;for(var a=0,b=this.raw.vertex_structure;a<b.length;){var c=b[a];++a,"off"!=c.name?(this.structure.add(c.name,this.sizeToVD(c.size)),this.structureLength+=c.size):this.instancing=!0}},getContext:function(a){for(var b=0,c=this.contexts;b<c.length;){var d=c[b];if(++b,HxOverrides.substr(d.raw.name,0,a.length)==a)return d}return null},__class__:iron_data_ShaderData});var iron_data_ShaderContext=function(a,b,c,d){if(null==c&&(c=!1),this.textureUnits=[],this.constants=[],this.raw=a,this.pipeState=new kha_graphics4_PipelineState,c){var e=new kha_graphics4_VertexStructure;e.add("off",kha_graphics4_VertexData.Float3),this.pipeState.inputLayout=[b,e]}else this.pipeState.inputLayout=[b];this.pipeState.depthWrite=a.depth_write,this.pipeState.depthMode=this.getCompareMode(a.compare_mode),null!=a.stencil_mode&&("always"==a.stencil_mode?this.pipeState.stencilMode=kha_graphics4_CompareMode.Always:"equal"==a.stencil_mode?this.pipeState.stencilMode=kha_graphics4_CompareMode.Equal:"not_equal"==a.stencil_mode&&(this.pipeState.stencilMode=kha_graphics4_CompareMode.NotEqual)),null!=a.stencil_pass&&("replace"==a.stencil_pass?this.pipeState.stencilBothPass=kha_graphics4_StencilAction.Replace:"keep"==a.stencil_pass&&(this.pipeState.stencilBothPass=kha_graphics4_StencilAction.Keep)),null!=a.stencil_fail&&"keep"==a.stencil_fail&&(this.pipeState.stencilDepthFail=kha_graphics4_StencilAction.Keep,this.pipeState.stencilFail=kha_graphics4_StencilAction.Keep),null!=a.stencil_reference_value&&(this.pipeState.stencilReferenceValue=a.stencil_reference_value),this.pipeState.cullMode=this.getCullMode(a.cull_mode),null!=a.blend_source&&(this.pipeState.blendSource=this.getBlendingFactor(a.blend_source)),null!=a.blend_destination&&(this.pipeState.blendDestination=this.getBlendingFactor(a.blend_destination)),null!=a.blend_operation&&(this.pipeState.blendOperation=this.getBlendingOperation(a.blend_operation)),null!=a.alpha_blend_source&&(this.pipeState.alphaBlendSource=this.getBlendingFactor(a.alpha_blend_source)),null!=a.alpha_blend_destination&&(this.pipeState.alphaBlendDestination=this.getBlendingFactor(a.alpha_blend_destination)),null!=a.alpha_blend_operation&&(this.pipeState.alphaBlendOperation=this.getBlendingOperation(a.alpha_blend_operation)),null!=a.color_write_red&&(this.pipeState.colorWriteMaskRed=a.color_write_red),null!=a.color_write_green&&(this.pipeState.colorWriteMaskGreen=a.color_write_green),null!=a.color_write_blue&&(this.pipeState.colorWriteMaskBlue=a.color_write_blue),null!=a.color_write_alpha&&(this.pipeState.colorWriteMaskAlpha=a.color_write_alpha);var f=StringTools.replace(a.fragment_shader,".","_");this.pipeState.fragmentShader=Reflect.field(kha_Shaders,f);var g=StringTools.replace(a.vertex_shader,".","_");if(this.pipeState.vertexShader=Reflect.field(kha_Shaders,g),null!=a.geometry_shader){var h=StringTools.replace(a.geometry_shader,".","_");this.pipeState.geometryShader=Reflect.field(kha_Shaders,h)}if(null!=a.tesscontrol_shader){var i=StringTools.replace(a.tesscontrol_shader,".","_");this.pipeState.tessellationControlShader=Reflect.field(kha_Shaders,i)}if(null!=a.tesseval_shader){var j=StringTools.replace(a.tesseval_shader,".","_");this.pipeState.tessellationEvaluationShader=Reflect.field(kha_Shaders,j)}if(null!=d&&null!=d.cull_mode&&(this.pipeState.cullMode=this.getCullMode(d.cull_mode)),this.pipeState.compile(),null!=a.constants)for(var k=0,l=a.constants;k<l.length;){var m=l[k];++k,this.addConstant(m)}if(null!=a.texture_units)for(var n=0,o=a.texture_units;n<o.length;){var p=o[n];++n,this.addTexture(p)}};$hxClasses["iron.data.ShaderContext"]=iron_data_ShaderContext,iron_data_ShaderContext.__name__=["iron","data","ShaderContext"],iron_data_ShaderContext.prototype={delete:function(){null!=this.pipeState.fragmentShader&&this.pipeState.fragmentShader.delete(),null!=this.pipeState.vertexShader&&this.pipeState.vertexShader.delete(),null!=this.pipeState.geometryShader&&this.pipeState.geometryShader.delete(),null!=this.pipeState.tessellationControlShader&&this.pipeState.tessellationControlShader.delete(),null!=this.pipeState.tessellationEvaluationShader&&this.pipeState.tessellationEvaluationShader.delete(),this.pipeState.delete()},getCompareMode:function(a){switch(a){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(a){switch(a){case"clockwise":return kha_graphics4_CullMode.Clockwise;case"none":return kha_graphics4_CullMode.None;default:return kha_graphics4_CullMode.CounterClockwise}},getBlendingOperation:function(a){switch(a){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(a){switch(a){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(a){switch(a){case"mirror":return kha_graphics4_TextureAddressing.Mirror;case"repeat":return kha_graphics4_TextureAddressing.Repeat;default:return kha_graphics4_TextureAddressing.Clamp}},getTextureFilter:function(a){switch(a){case"linear":return kha_graphics4_TextureFilter.LinearFilter;case"point":return kha_graphics4_TextureFilter.PointFilter;default:return kha_graphics4_TextureFilter.AnisotropicFilter}},getMipmapFilter:function(a){switch(a){case"no":return kha_graphics4_MipMapFilter.NoMipFilter;case"point":return kha_graphics4_MipMapFilter.PointMipFilter;default:return kha_graphics4_MipMapFilter.LinearMipFilter}},addConstant:function(a){this.constants.push(this.pipeState.getConstantLocation(a.name))},addTexture:function(a){var b=this.pipeState.getTextureUnit(a.name);this.textureUnits.push(b)},setTextureParameters:function(a,b,c){var d=this.textureUnits[b];a.setTextureParameters(d,null==c.u_addressing?kha_graphics4_TextureAddressing.Repeat:this.getTextureAddresing(c.u_addressing),null==c.v_addressing?kha_graphics4_TextureAddressing.Repeat:this.getTextureAddresing(c.v_addressing),null==c.min_filter?kha_graphics4_TextureFilter.LinearFilter:this.getTextureFilter(c.min_filter),null==c.mag_filter?kha_graphics4_TextureFilter.LinearFilter:this.getTextureFilter(c.mag_filter),null==c.mipmap_filter?kha_graphics4_MipMapFilter.NoMipFilter:this.getMipmapFilter(c.mipmap_filter))},__class__:iron_data_ShaderContext};var iron_data_WorldData=function(a,b){this.vec=new iron_math_Vec4,this.shirr=null;var c=this;if(iron_data_Data.call(this),this.raw=a,this.name=a.name,null!=a.probes&&a.probes.length>0){this.probes=[];for(var d=0,e=a.probes;d<e.length;){var f=e[d];++d,new iron_data_Probe(f,function(d){c.probes.push(d),c.probes.length==a.probes.length&&b(c)})}}else b(this)};$hxClasses["iron.data.WorldData"]=iron_data_WorldData,iron_data_WorldData.__name__=["iron","data","WorldData"],iron_data_WorldData.parse=function(a,b,c){iron_data_Data.getSceneRaw(a,function(a){var d=iron_data_Data.getWorldRawByName(a.world_datas,b);null==d&&(haxe_Log.trace('World data "'+b+'" not found!',{fileName:"WorldData.hx",lineNumber:40,className:"iron.data.WorldData",methodName:"parse"}),c(null)),new iron_data_WorldData(d,c)})},iron_data_WorldData.getEmptyIrradiance=function(){if(null==iron_data_WorldData.emptyIrr){var a=new Array(28);iron_data_WorldData.emptyIrr=a;for(var b=0,c=iron_data_WorldData.emptyIrr.length;b<c;){var d=b++;iron_data_WorldData.emptyIrr[d]=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]},getSHIrradiance:function(){if(null==this.shirr){var a=new Array(28);this.shirr=a;for(var b=this.probes[0],c=0,d=b.irradiance.length;c<d;){var e=c++;this.shirr[e]=b.irradiance[e]}}return this.shirr},getProbeID:function(a){this.vec.x=a.matrix.self._30,this.vec.y=a.matrix.self._31,this.vec.z=a.matrix.self._32;for(var b=a.size,c=1,d=this.probes.length;c<d;){var e=c++,f=this.probes[e];if(!(this.vec.x+b.x/2<f.volumeMin.x||this.vec.x-b.x/2>f.volumeMax.x||this.vec.y+b.y/2<f.volumeMin.y||this.vec.y-b.y/2>f.volumeMax.y||this.vec.z+b.z/2<f.volumeMin.z||this.vec.z-b.z/2>f.volumeMax.z))return e}return 0},getProbeVolumeCenter:function(a){return this.probes[this.getProbeID(a)].volumeCenter},getProbeVolumeSize:function(a){return this.probes[this.getProbeID(a)].volume},getProbeStrength:function(a){return this.probes[this.getProbeID(a)].raw.strength},getProbeBlending:function(a){return this.probes[this.getProbeID(a)].raw.blending},__class__:iron_data_WorldData});var iron_data_Probe=function(a,b){var c=this;this.raw=a,this.setIrradiance(function(d){c.irradiance=d,null!=a.radiance?iron_data_Data.getImage(a.radiance,function(d){c.radiance=d;for(var e=[];e.length<a.radiance_mipmaps;)e.push(null);for(var f=a.radiance.substring(a.radiance.length-4),g=a.radiance.substring(0,a.radiance.length-4),h=0,i=0,j=a.radiance_mipmaps;i<j;){var k=[i++];iron_data_Data.getImage(g+"_"+k[0]+f,function(d){return function(f){e[d[0]]=f,(h+=1)==a.radiance_mipmaps&&(c.radiance.setMipmaps(e),c.mipsSet(b))}}(k),!0)}}):c.mipsSet(b)})};$hxClasses["iron.data.Probe"]=iron_data_Probe,iron_data_Probe.__name__=["iron","data","Probe"],iron_data_Probe.prototype={mipsSet:function(a){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),a(this)},setIrradiance:function(a){if(""==this.raw.irradiance){var b=[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];b.push(0),a(b)}else iron_data_Data.getBlob(this.raw.irradiance+".arm",function(b){var c=b,d=c.toBytes(),e=null;null==e&&(e=iron_system_msgpack_DecodeOption.AsObject);var f=new iron_system_msgpack_Decoder(d,e).o;f.irradiance.push(0),a(f.irradiance)})},__class__:iron_data_Probe};var iron_math_Mat3=function(a,b,c,d,e,f,g,h,i){this.self=new kha_math_FastMatrix3(a,b,c,d,e,f,g,h,i)};$hxClasses["iron.math.Mat3"]=iron_math_Mat3,iron_math_Mat3.__name__=["iron","math","Mat3"],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(a){this.self._00=a.self._00,this.self._01=a.self._01,this.self._02=a.self._02,this.self._10=a.self._10,this.self._11=a.self._11,this.self._12=a.self._12,this.self._20=a.self._20,this.self._21=a.self._21,this.self._22=a.self._22},__class__:iron_math_Mat3};var iron_math_Ray=function(a,b){this.origin=null==a?new iron_math_Vec4:a,this.direction=null==b?new iron_math_Vec4:b};$hxClasses["iron.math.Ray"]=iron_math_Ray,iron_math_Ray.__name__=["iron","math","Ray"],iron_math_Ray.prototype={at:function(a){return(new iron_math_Vec4).setFrom(this.direction).mult(a).add(this.origin)},intersectBox:function(a,b){var c,d,e,f,g,h,i=b.x/2,j=b.x/2,k=b.x/2,l=a.x-i,m=a.y-j,n=a.z-k,o=a.x+i,p=a.y+j,q=a.z+k,r=1/this.direction.x,s=1/this.direction.y,t=1/this.direction.z,u=this.origin;return r>=0?(c=(l-u.x)*r,d=(o-u.x)*r):(c=(o-u.x)*r,d=(l-u.x)*r),s>=0?(e=(m-u.y)*s,f=(p-u.y)*s):(e=(p-u.y)*s,f=(m-u.y)*s),c>f||e>d?null:((e>c||c!=c)&&(c=e),(f<d||d!=d)&&(d=f),t>=0?(g=(n-u.z)*t,h=(q-u.z)*t):(g=(q-u.z)*t,h=(n-u.z)*t),c>h||g>d?null:((g>c||c!=c)&&(c=g),(h<d||d!=d)&&(d=h),d<0?null:this.at(c>=0?c:d)))},__class__:iron_math_Ray};var iron_math_RayCaster=function(){};$hxClasses["iron.math.RayCaster"]=iron_math_RayCaster,iron_math_RayCaster.__name__=["iron","math","RayCaster"],iron_math_RayCaster.getRay=function(a,b,c){var d=new iron_math_Vec4,e=new iron_math_Vec4;return iron_math_RayCaster.getDirection(d,e,a,b,c),new iron_math_Ray(d,e)},iron_math_RayCaster.getDirection=function(a,b,c,d,e){a.x=c/kha_System.windowWidth()*2-1,a.y=-d/kha_System.windowHeight()*2+1,a.z=-1,b.x=a.x,b.y=a.y,b.z=0,a.unproject(e.P,e.V),b.unproject(e.P,e.V),b.sub(a),b.normalize(),b.x*=e.data.raw.far_plane,b.y*=e.data.raw.far_plane,b.z*=e.data.raw.far_plane},iron_math_RayCaster.boxIntersect=function(a,b,c,d){var e=iron_math_RayCaster.getRay(b,c,d),f=a,g=new iron_math_Vec4(f.matrix.self._30,f.matrix.self._31,f.matrix.self._32),h=new iron_math_Vec4(f.size.x,f.size.y,f.size.z);return e.intersectBox(g,h)},iron_math_RayCaster.getClosestBoxIntersect=function(a,b,c,d){for(var e=[],f=0;f<a.length;){var g=a[f];++f;null!=iron_math_RayCaster.boxIntersect(g,b,c,d)&&e.push(g)}if(0==e.length)return null;for(var i=null,j=1/0,k=0;k<e.length;){var l=e[k];++k;var m=l.loc,n=d.transform.loc,o=m.x-n.x,p=m.y-n.y,q=m.z-n.z,r=Math.sqrt(o*o+p*p+q*q);r<j&&(j=r,i=l)}return i};var iron_object_Animation=function(a){this.player=null,this.player=new iron_object_Player(a),iron_Scene.active.animations.push(this)};$hxClasses["iron.object.Animation"]=iron_object_Animation,iron_object_Animation.__name__=["iron","object","Animation"],iron_object_Animation.prototype={remove:function(){HxOverrides.remove(iron_Scene.active.animations,this)},update:function(a){this.player.paused||(this.player.animTime+=a*this.player.speed*this.player.dir)},updateAnimSampled:function(a,b,c){if(null!=a&&null!=this.player.current){var d=a.tracks[0];if(this.player.dirty){if(this.player.dirty=!1,0==this.player.current.frames)return this.player.paused=!0,void c(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=d.times[this.player.timeIndex]}for(;;){var e=this.player,f=d.times;if(!(e.dir>0?e.timeIndex+1<f.length&&e.animTime>f[e.timeIndex+1]:e.timeIndex-1>0&&e.animTime<f[e.timeIndex-1]))break;this.player.timeIndex+=this.player.dir}this.player.timeIndex>=d.times.length&&(this.player.timeIndex=d.times.length-1);var g=this.player;if(g.dir>0?g.timeIndex>=d.times.length-1||g.timeIndex>=g.current.end:g.timeIndex<=1||g.timeIndex<=g.current.start)return this.player.current.loop?this.player.dirty=!0:this.player.paused=!0,void(null!=this.player.onTrackComplete&&this.player.onTrackComplete());var h=this.player.animTime,i=this.player.timeIndex,j=d.times[i],k=d.times[i+this.player.dir],l=(h-j)/(k-j);iron_object_Animation.m1.set(d.values,16*i),iron_object_Animation.m2.set(d.values,16*(i+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 m=iron_math_Vec4.lerp(iron_object_Animation.vpos,iron_object_Animation.vpos2,1-l),n=iron_math_Quat.lerp(iron_object_Animation.q1,iron_object_Animation.q2,l),o=iron_math_Vec4.lerp(iron_object_Animation.vscl,iron_object_Animation.vscl2,l),p=b;n.toMat(p),p.scale(o),p.self._30=m.x,p.self._31=m.y,p.self._32=m.z}},__class__:iron_object_Animation};var iron_object_Player=function(a){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.ft=a.frame_time;for(var b=0,c=a.names.length;b<c;){var d=b++;this.addTrack(a.names[d],a.starts[d],a.ends[d],a.speeds[d],a.loops[d],a.reflects[d])}this.play(a.start_track)};$hxClasses["iron.object.Player"]=iron_object_Player,iron_object_Player.__name__=["iron","object","Player"],iron_object_Player.prototype={play:function(a,b){var c=this.tracks;this.current=null!=__map_reserved[a]?c.getReserved(a):c.h[a],null!=this.current&&(this.onTrackComplete=b,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(a,b,c,d,e,f){var g=new iron_object_Track(a,b,c,d,e,f),h=this.tracks;null!=__map_reserved[a]?h.setReserved(a,g):h.h[a]=g},__class__:iron_object_Player};var iron_object_Track=function(a,b,c,d,e,f){this.name=a,this.start=b,this.end=c,this.frames=c-b,this.speed=d,this.loop=e,this.reflect=f};$hxClasses["iron.object.Track"]=iron_object_Track,iron_object_Track.__name__=["iron","object","Track"],iron_object_Track.prototype={__class__:iron_object_Track};var iron_object_BoneAnimation=function(a,b){if(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,b),this.data=a,this.isSkinned=a.isSkinned,this.isSampled=!1,this.isSkinned){var c=8*b.max_bones,d=new Array(c);this.skinBuffer=d;for(var e=0,f=this.skinBuffer.length;e<f;){var g=e++;this.skinBuffer[g]=0}for(var h=0,i=a.mesh.skeletonBones;h<i.length;){var j=i[h];++h,this.boneMats.set(j,iron_math_Mat4.fromArray(j.transform.values)),this.boneTimeIndices.set(j,0)}}};$hxClasses["iron.object.BoneAnimation"]=iron_object_BoneAnimation,iron_object_BoneAnimation.__name__=["iron","object","BoneAnimation"],iron_object_BoneAnimation.__super__=iron_object_Animation,iron_object_BoneAnimation.prototype=$extend(iron_object_Animation.prototype,{update:function(a){iron_object_Animation.prototype.update.call(this,a),this.player.paused||this.isSkinned&&(this.updateBoneAnim(),this.updateSkin())},updateBoneAnim:function(){for(var a=0,b=this.data.mesh.skeletonBones;a<b.length;){var c=b[a];++a,this.updateAnimSampled(c.animation,this.boneMats.h[c.__id__],$bind(this,this.setBoneAnimFrame))}},setBoneAnimFrame:function(a){for(var b=0,c=this.data.mesh.skeletonBones;b<c.length;){var d=c[b];++b;var e=d.animation;if(null!=e){var f=e.tracks[0],g=iron_math_Mat4.fromArray(f.values,16*a);this.boneMats.set(d,g)}}this.updateSkin()},updateSkin:function(){this.updateSkinGpu()},updateSkinGpu:function(){for(var a=this.data.mesh.skeletonBones,b=0,c=a.length;b<c;){var d=b++;this.bm.setFrom(this.data.mesh.skinTransform),this.bm.multmat2(this.data.mesh.skeletonTransformsI[d]),this.m.setFrom(this.boneMats.h[a[d].__id__]);for(var e=a[d].parent;null!=e;){var f=this.boneMats.h[e.__id__];null==f&&(f=iron_math_Mat4.fromArray(e.transform.values)),this.m.multmat2(f),e=e.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*d]=iron_object_BoneAnimation.q1.x,this.skinBuffer[8*d+1]=iron_object_BoneAnimation.q1.y,this.skinBuffer[8*d+2]=iron_object_BoneAnimation.q1.z,this.skinBuffer[8*d+3]=iron_object_BoneAnimation.q1.w,this.skinBuffer[8*d+4]=iron_object_BoneAnimation.q2.x,this.skinBuffer[8*d+5]=iron_object_BoneAnimation.q2.y,this.skinBuffer[8*d+6]=iron_object_BoneAnimation.q2.z,this.skinBuffer[8*d+7]=iron_object_BoneAnimation.q2.w}},__class__:iron_object_BoneAnimation});var iron_object_CameraObject=function(a){this.rightV=iron_math_Mat4.identity(),this.leftV=iron_math_Mat4.identity(),this.helpMat=iron_math_Mat4.identity(),this.frustumPlanes=null,this.prevV=null,iron_object_Object.call(this),this.data=a,this.renderPath=new iron_data_RenderPath(this),this.nearPlane=a.raw.near_plane,this.farPlane=a.raw.far_plane;var b=a.raw.fov;if("perspective"==a.raw.type){var c=iron_Scene.active.embedded,d=null!=__map_reserved["vr.png"]?c.getReserved("vr.png"):c.h["vr.png"],e=function(a,b,c){var d=kha_vr_VrInterface.instance;if(null!=d&&d.IsVrEnabled()&&!d.IsPresenting()){var e=kha_System.windowWidth(),f=kha_System.windowHeight();b<e-150||c<f-150||d.onVRRequestPresent()}},f=function(a){var b=kha_vr_VrInterface.instance;if(null!=b&&b.IsVrEnabled()&&!b.IsPresenting()){var c=kha_System.windowWidth(),e=kha_System.windowHeight();a.set_color(-1),a.drawImage(d,c-150,e-150)}};kha_input_Mouse.get().notify(e,null,null,null),iron_App.notifyOnRender2D(f);var g=kha_vr_VrInterface.instance;null!=g&&g.IsVrEnabled()&&g.onVRRequestPresent();var h=kha_System.windowWidth(),i=kha_System.windowHeight();this.P=iron_math_Mat4.perspective(b,h/i,this.nearPlane,this.farPlane)}else"orthographic"==a.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(),a.raw.frustum_culling){this.frustumPlanes=[];for(var j=0;j<6;){j++;this.frustumPlanes.push(new iron_object_FrustumPlane)}}iron_Scene.active.cameras.push(this)};$hxClasses["iron.object.CameraObject"]=iron_object_CameraObject,iron_object_CameraObject.__name__=["iron","object","CameraObject"],iron_object_CameraObject.buildViewFrustum=function(a,b){var c=b[0],d=a.self._33+a.self._30;c.normal.set(a.self._03+a.self._00,a.self._13+a.self._10,a.self._23+a.self._20),c.constant=d;var e=b[1],f=a.self._33-a.self._30;e.normal.set(a.self._03-a.self._00,a.self._13-a.self._10,a.self._23-a.self._20),e.constant=f;var g=b[2],h=a.self._33-a.self._31;g.normal.set(a.self._03-a.self._01,a.self._13-a.self._11,a.self._23-a.self._21),g.constant=h;var i=b[3],j=a.self._33+a.self._31;i.normal.set(a.self._03+a.self._01,a.self._13+a.self._11,a.self._23+a.self._21),i.constant=j;var k=b[4],l=a.self._32;k.normal.set(a.self._02,a.self._12,a.self._22),k.constant=l;var m=b[5],n=a.self._33-a.self._32;m.normal.set(a.self._03-a.self._02,a.self._13-a.self._12,a.self._23-a.self._22),m.constant=n;for(var o=0;o<b.length;){var p=b[o];++o,p.normalize()}},iron_object_CameraObject.sphereInFrustum=function(a,b,c,d,e,f){null==f&&(f=0),null==e&&(e=0),null==d&&(d=0),null==c&&(c=1);for(var g=b.radius*c,h=0;h<a.length;){var i=a[h];if(++h,iron_object_CameraObject.sphereCenter.set(b.matrix.self._30+d,b.matrix.self._31+e,b.matrix.self._32+f),i.distanceToSphere(iron_object_CameraObject.sphereCenter,g)+2*g<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(a,b,c){this.buildMatrix(),null==this.prevV&&(this.prevV=iron_math_Mat4.identity(),this.prevV.setFrom(this.V)),this.renderPath.renderFrame(a,b,c),this.prevV.setFrom(this.V)},buildMatrix:function(){this.transform.buildMatrix();var a=this.transform.matrix.getScale();iron_object_CameraObject.temp.set(1/a.x,1/a.y,1/a.z),this.transform.matrix.scale(iron_object_CameraObject.temp),this.V.getInverse(this.transform.matrix);var b=kha_vr_VrInterface.instance;null!=b&&b.IsPresenting()?(this.leftV.setFrom(this.V),this.helpMat.self=b.GetViewMatrix(0),this.leftV.multmat2(this.helpMat),this.rightV.setFrom(this.V),this.helpMat.self=b.GetViewMatrix(1),this.rightV.multmat2(this.helpMat)):this.leftV.setFrom(this.V),this.data.raw.frustum_culling&&(this.VP.multmats(this.P,this.leftV),iron_object_CameraObject.buildViewFrustum(this.VP,this.frustumPlanes))},rotate:function(a,b){iron_object_CameraObject.q.fromAxisAngle(a,b),this.transform.rot.multquats(iron_object_CameraObject.q,this.transform.rot),this.buildMatrix()},move:function(a,b){null==b&&(b=1),this.transform.loc.addf(a.x*b,a.y*b,a.z*b),this.buildMatrix()},__class__:iron_object_CameraObject});var iron_object_FrustumPlane=function(){this.constant=0,this.normal=new iron_math_Vec4(1,0,0)};$hxClasses["iron.object.FrustumPlane"]=iron_object_FrustumPlane,iron_object_FrustumPlane.__name__=["iron","object","FrustumPlane"],iron_object_FrustumPlane.prototype={normalize:function(){var a=this.normal,b=1/Math.sqrt(a.x*a.x+a.y*a.y+a.z*a.z);this.normal.mult(b),this.constant*=b},distanceToSphere:function(a,b){return this.normal.dot(a)+this.constant-b},__class__:iron_object_FrustumPlane};var iron_object_Constraint=function(a){this.target=null,this.raw=a};$hxClasses["iron.object.Constraint"]=iron_object_Constraint,iron_object_Constraint.__name__=["iron","object","Constraint"],iron_object_Constraint.prototype={apply:function(a){if(null==this.target&&null!=this.raw.target&&(this.target=iron_Scene.active.getChild(this.raw.target).transform),"COPY_LOCATION"==this.raw.type){if(this.raw.use_x&&(a.matrix.self._30=this.target.loc.x,this.raw.use_offset)){a.matrix.self._30+=a.loc.x}if(this.raw.use_y&&(a.matrix.self._31=this.target.loc.y,this.raw.use_offset)){a.matrix.self._31+=a.loc.y}if(this.raw.use_z&&(a.matrix.self._32=this.target.loc.z,this.raw.use_offset)){a.matrix.self._32+=a.loc.z}}},__class__:iron_object_Constraint};var iron_object_DecalObject=function(a){iron_object_Object.call(this),this.material=a,iron_Scene.active.decals.push(this)};$hxClasses["iron.object.DecalObject"]=iron_object_DecalObject,iron_object_DecalObject.__name__=["iron","object","DecalObject"],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(a,b,c,d,e){if(null==this.material.raw.skip_context||this.material.raw.skip_context!=b){for(var f=null,g=0,h=this.material.raw.contexts.length;g<h;){var i=g++;if(this.material.raw.contexts[i].name==b){f=this.material.contexts[i];break}}var j=this.material.shader.getContext(b);a.setPipeline(j.pipeState),iron_object_Uniforms.setConstants(a,j,this,c,d,e),iron_object_Uniforms.setMaterialConstants(a,j,f)}},__class__:iron_object_DecalObject});var iron_object_LampObject=function(a){this.camSlicedP=null,this.frustumPlanes=null,this.P=null,this.V=iron_math_Mat4.identity(),iron_object_Object.call(this),this.data=a;var b=a.raw.type,c=a.raw.fov;if("sun"==b){if(null==iron_object_LampObject.corners){iron_object_LampObject.corners=[];for(var d=0;d<8;){d++;iron_object_LampObject.corners.push(new iron_math_Vec4)}}}else"point"==b||"area"==b?this.P=iron_math_Mat4.perspective(c,1,a.raw.near_plane,a.raw.far_plane):"spot"==b&&(this.P=iron_math_Mat4.perspective(c,1,a.raw.near_plane,a.raw.far_plane));iron_Scene.active.lamps.push(this)};$hxClasses["iron.object.LampObject"]=iron_object_LampObject,iron_object_LampObject.__name__=["iron","object","LampObject"],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(a){if(this.transform.buildMatrix(),"sun"==this.data.raw.type){if(null==this.camSlicedP){var b=this.data.raw;this.camSlicedP=iron_math_Mat4.perspective(b.fov,kha_System.windowWidth()/kha_System.windowHeight(),b.near_plane,b.far_plane)}iron_object_LampObject.m.setFrom(a.leftV),iron_object_LampObject.m.multmat2(this.camSlicedP),iron_object_LampObject.m.getInverse(iron_object_LampObject.m),this.V.setFrom(this.transform.matrix),this.V.toRotation(),this.V.getInverse(this.V),iron_object_LampObject.m.multmat2(this.V),iron_object_LampObject.setCorners();for(var c=0,d=iron_object_LampObject.corners;c<d.length;){var e=d[c];++c,e.applymat4(iron_object_LampObject.m),e.set(e.x/e.w,e.y/e.w,e.z/e.w)}for(var f=iron_object_LampObject.corners[0].x,g=iron_object_LampObject.corners[0].y,h=iron_object_LampObject.corners[0].z,i=iron_object_LampObject.corners[0].x,j=iron_object_LampObject.corners[0].y,k=iron_object_LampObject.corners[0].z,l=0,m=iron_object_LampObject.corners;l<m.length;){var n=m[l];++l,n.x<f&&(f=n.x),n.x>i&&(i=n.x),n.y<g&&(g=n.y),n.y>j&&(j=n.y),n.z<h&&(h=n.z),n.z>k&&(k=n.z)}var o=iron_object_LampObject.corners[0],p=iron_object_LampObject.corners[7],q=o.x-p.x,r=o.y-p.y,s=o.z-p.z,t=Math.sqrt(q*q+r*r+s*s),u=.5*(t-(i-f)),v=.5*(t-(j-g));f-=u,i+=u,g-=v,j+=v;var w=(i-f)/this.data.raw.shadowmap_size,x=(j-g)/this.data.raw.shadowmap_size,y=(k-h)/this.data.raw.shadowmap_size;f=Math.floor(f/w)*w,g=Math.floor(g/x)*x,h=Math.floor(h/y)*y,i=Math.floor(i/w)*w,j=Math.floor(j/x)*x,k=Math.floor(k/y)*y;var z=(i-f)/2,A=(j-g)/2,B=(k-h)/2;this.V.self._30=-(f+z),this.V.self._31=-(g+A),this.V.self._32=-(h+B),this.P=iron_math_Mat4.orthogonal(-z,z,-A,A,4*-B,B)}else this.V.getInverse(this.transform.matrix);this.updateViewFrustum(a)},updateViewFrustum:function(a){if(a.data.raw.frustum_culling){if(null==this.frustumPlanes){this.frustumPlanes=[];for(var b=0;b<6;){b++;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(a,b){switch(iron_object_LampObject.p1.set(this.transform.matrix.self._30,this.transform.matrix.self._31,this.transform.matrix.self._32),iron_object_LampObject.p2.setFrom(iron_object_LampObject.p1),a){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(b)},__class__:iron_object_LampObject});var iron_object_MeshObject=function(a,b){this.frustumCulling=!0,this.screenSize=0,this.particleSystem=null,iron_object_Object.call(this),this.data=a,this.materials=b,iron_Scene.active.meshes.push(this),a.mesh.build()};$hxClasses["iron.object.MeshObject"]=iron_object_MeshObject,iron_object_MeshObject.__name__=["iron","object","MeshObject"],iron_object_MeshObject.__super__=iron_object_Object,iron_object_MeshObject.prototype=$extend(iron_object_Object.prototype,{remove:function(){HxOverrides.remove(iron_Scene.active.meshes,this),iron_object_Object.prototype.remove.call(this)},setupAnimation:function(a){this.data.isSkinned?this.animation=new iron_object_BoneAnimation(this.data,a):iron_object_Object.prototype.setupAnimation.call(this,a)},setupParticleSystem:function(a,b){this.particleSystem=new iron_object_ParticleSystem(this,a,b)},cullMaterial:function(a,b){var c=this.materials;if((null==this.raw||null==this.raw.lod_material||1!=this.raw.lod_material)&&null==c[0].getContext(a))return this.culled=!0,this.culled;var d=b.data.pathdata.raw.shadows_context;return(this.visibleMesh||a==d)&&(this.visibleShadow||a!=d)?this.skipContext(a)?(this.culled=!0,this.culled):(this.culled=!1,this.culled):(this.culled=!0,this.culled)},cullMesh:function(a,b,c){if(b.data.raw.frustum_culling&&this.frustumCulling){var d=this.data.isSkinned?2:1;null!=this.particleSystem&&(d*=100),"voxel"==a&&(d*=100);var e=b.data.pathdata.raw.shadows_context,f=a==e?c.frustumPlanes:b.frustumPlanes;if(this.data.mesh.instanced){for(var g=!1,h=0,i=this.data.mesh.offsetVecs;h<i.length;){var j=i[h];if(++h,iron_object_CameraObject.sphereInFrustum(f,this.transform,d,j.x,j.y,j.z)){g=!0;break}}if(!g)return this.culled=!0,this.culled;var k=b.transform.matrix.self._30,l=b.transform.matrix.self._31,m=b.transform.matrix.self._32;this.data.mesh.sortInstanced(k,l,m)}else if(!iron_object_CameraObject.sphereInFrustum(f,this.transform,d))return this.culled=!0,this.culled}return this.culled=!1,this.culled},skipContext:function(a){for(var b=0,c=this.materials;b<c.length;){var d=c[b];if(++b,null!=d.raw.skip_context&&d.raw.skip_context==a)return!0}return!1},getContexts:function(a,b,c,d){for(var e=0;e<b.length;){var f=b[e];++e;for(var g=0,h=f.raw.contexts.length;g<h;){var i=g++;if(HxOverrides.substr(f.raw.contexts[i].name,0,a.length)==a){c.push(f.contexts[i]),d.push(f.shader.getContext(a));break}}}},render:function(a,b,c,d,e){if(this.visible&&!this.cullMaterial(b,c)&&!this.cullMesh(b,c,d)){var f=this.materials,g=this;if(null!=this.raw&&null!=this.raw.lods&&this.raw.lods.length>0){var h=this.transform,i=h.size.x*h.scale.x*h.size.y*h.scale.y*h.size.z*h.scale.z;if(this.screenSize=i*(1/this.cameraDistance),this.screenSize=this.screenSize>1?1:this.screenSize,null==this.lods){this.lods=[];for(var j=0,k=this.raw.lods;j<k.length;){var l=k[j];++j,""==l.object_ref?this.lods.push(null):this.lods.push(iron_Scene.active.getChild(l.object_ref))}}for(var m=0,n=this.raw.lods.length;m<n;){var o=m++;if(this.screenSize>this.raw.lods[o].screen_size)break;g=this.lods[o],null!=this.raw&&null!=this.raw.lod_material&&1==this.raw.lod_material&&(f=g.materials)}if(null==g)return}if(null==this.raw||null==this.raw.lod_material||1!=this.raw.lod_material||null!=f[0].getContext(b)){var p=[],q=[];this.getContexts(b,f,p,q),null!=g.particleSystem&&g.particleSystem.update(),this.transform.update();var r=g.data;r.mesh.instanced?a.setVertexBuffers(r.mesh.instancedVertexBuffers):a.setVertexBuffer(r.mesh.vertexBuffer);for(var s=0,t=r.mesh.indexBuffers.length;s<t;){var u=s++,v=r.mesh.materialIndices[u];q.length<=v||(a.setIndexBuffer(r.mesh.indexBuffers[u]),a.setPipeline(q[v].pipeState),iron_object_Uniforms.setConstants(a,q[v],this,c,d,e),p.length>v&&iron_object_Uniforms.setMaterialConstants(a,q[v],p[v]),r.mesh.instanced?a.drawIndexedVerticesInstanced(r.mesh.instanceCount):a.drawIndexedVertices())}if(null!=this.group)for(var w=0,x=this.group;w<x.length;){var y=x[w];++w,js_Boot.__instanceof(y,iron_object_MeshObject)&&(y.transform.appendMatrix(this.transform.matrix),y.transform.buildMatrix(),js_Boot.__cast(y,iron_object_MeshObject).render(a,b,c,d,e),y.transform.popAppendMatrix(),y.transform.buildMatrix())}}}},__class__:iron_object_MeshObject});var iron_object_ObjectAnimation=function(a,b){iron_object_Animation.call(this,b),this.isSkinned=!1,this.object=a,null!=a.raw.animation_transforms?(this.isSampled=!1,iron_object_ObjectAnimation.parseAnimationTransforms(a.transform,a.raw.animation_transforms)):this.isSampled=!0};$hxClasses["iron.object.ObjectAnimation"]=iron_object_ObjectAnimation,iron_object_ObjectAnimation.__name__=["iron","object","ObjectAnimation"],iron_object_ObjectAnimation.parseAnimationTransforms=function(a,b){for(var c=0;c<b.length;){var d=b[c];++c;switch(d.type){case"rotation":a.setRotation(d.values[0],d.values[1],d.values[2]);break;case"rotation_x":a.setRotation(d.value,0,0);break;case"rotation_y":a.setRotation(0,d.value,0);break;case"rotation_z":a.setRotation(0,0,d.value);break;case"scale":a.scale.set(d.values[0],d.values[1],d.values[2]);break;case"scale_x":a.scale.x=d.value;break;case"scale_y":a.scale.y=d.value;break;case"scale_z":a.scale.z=d.value;break;case"translation":a.loc.set(d.values[0],d.values[1],d.values[2]);break;case"translation_x":a.loc.x=d.value;break;case"translation_y":a.loc.y=d.value;break;case"translation_z":a.loc.z=d.value}}a.buildMatrix()},iron_object_ObjectAnimation.__super__=iron_object_Animation,iron_object_ObjectAnimation.prototype=$extend(iron_object_Animation.prototype,{update:function(a){iron_object_Animation.prototype.update.call(this,a),this.player.paused||this.isSkinned||this.updateObjectAnim()},updateObjectAnim:function(){this.isSampled?(this.updateAnimSampled(this.object.raw.animation,this.object.transform.matrix,$bind(this,this.setObjectAnimFrame)),this.object.transform.matrix.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(a){var b=this.object.raw.animation;if(null!=b){var c=b.tracks[0],d=iron_math_Mat4.fromArray(c.values,16*a);this.object.transform.matrix=d}},interpolateLinear:function(a,b,c){return(a-b)/(c-b)},interpolateBezier:function(a,b,c){var d=(a-b)/(c-b);return 1==d?1:1-Math.pow(2,-10*d)},updateAnimNonSampled:function(a,b){if(null!=a&&null!=this.player.current){var c=a.begin,d=a.end,e=d-c;if(this.player.dirty){this.player.dirty=!1,this.player.animTime=this.player.current.start*this.player.ft,this.player.timeIndex=0;for(var f=a.tracks[0];this.player.animTime>f.times[this.player.timeIndex]+this.player.ft;)this.player.timeIndex++}if(0!=this.player.current.frames)for(var g=0,h=a.tracks;g<h.length;){var i=h[g];if(++g,!(this.player.timeIndex>=i.times.length)){if(this.player.animTime>e||this.player.animTime<0||this.player.animTime>this.player.current.end*this.player.ft-this.player.ft&&this.player.dir>0||this.player.animTime<this.player.current.start*this.player.ft+this.player.ft&&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:e,this.player.timeIndex=this.player.dir>0?0:i.times.length-1}var j=this.player.animTime+c;if(this.player.dir>0)for(;this.player.timeIndex<i.times.length-2&&j>i.times[this.player.timeIndex+1];)this.player.timeIndex++;else for(;this.player.timeIndex>1&&j<i.times[this.player.timeIndex-1];)this.player.timeIndex--;var k=this.player.timeIndex,l=i.times[k],m=i.times[k+this.player.dir],n=$bind(this,this.interpolateLinear),o=i.curve;switch(o){case"bezier":n=$bind(this,this.interpolateBezier);break;case"linear":n=$bind(this,this.interpolateLinear)}var p=this.player.dir>0?n(j,l,m):n(l-(j-m),m,l),q=1-p,r=i.values[k],s=i.values[k+this.player.dir],t=r*q+s*p,u=i.target;switch(u){case"xloc":b.loc.x=t;break;case"xrot":b.setRotation(t,b._eulerY,b._eulerZ);break;case"xscl":b.scale.x=t;break;case"yloc":b.loc.y=t;break;case"yrot":b.setRotation(b._eulerX,t,b._eulerZ);break;case"yscl":b.scale.y=t;break;case"zloc":b.loc.z=t;break;case"zrot":b.setRotation(b._eulerX,b._eulerY,t);break;case"zscl":b.scale.z=t}}}}},__class__:iron_object_ObjectAnimation});var iron_object_ParticleSystem=function(a,b,c){var d=this;this.object=a,this.name=c.name,this.seed=c.seed,this.particles=[],this.ready=!1,iron_data_Data.getParticle(b,c.particle,function(b){d.data=b;for(var c=d.data.raw,e=0,f=c.count;e<f;){var h=(e++,new iron_object_Particle);d.particles.push(h),h.offset=new iron_math_Vec4(0,0,0),h.velocity=new iron_math_Vec4(0,0,0),d.setVelocity(h.velocity),h.lifetime=Std.random(1e3*c.lifetime|0)/1e3}for(var i=[],j=0,k=d.particles;j<k.length;){var l=k[j];++j,i.push(l.offset.x),i.push(l.offset.y),i.push(l.offset.z)}a.data.mesh.setupInstanced(i,kha_graphics4_Usage.DynamicUsage),d.ready=!0})};$hxClasses["iron.object.ParticleSystem"]=iron_object_ParticleSystem,iron_object_ParticleSystem.__name__=["iron","object","ParticleSystem"],iron_object_ParticleSystem.prototype={update:function(){if(this.ready){for(var a=0,b=this.particles;a<b.length;){var c=b[a];++a,c.lifetime+=.016666666666666666,c.lifetime>this.data.raw.lifetime&&(c.lifetime=0,this.setVelocity(c.velocity)),c.offset.x=c.lifetime*c.velocity.x,c.offset.y=c.lifetime*c.velocity.y,c.offset.z=c.lifetime*c.velocity.z}this.sort();for(var d=this.object.data.mesh.instancedVertexBuffers[1],e=d.lock(),f=0,g=this.particles.length;f<g;){var h=f++,i=this.particles[h];e[3*h]=i.offset.x,e[3*h+1]=i.offset.y,e[3*h+2]=i.offset.z}d.unlock()}},setVelocity:function(a){var b=this.data.raw;a.set(b.object_align_factor[0],b.object_align_factor[1],b.object_align_factor[2]),0!=b.factor_random&&(a.x+=Std.random(1e3*b.factor_random|0)/1e3-b.factor_random/2,a.y+=Std.random(1e3*b.factor_random|0)/1e3-b.factor_random/2,a.z+=Std.random(1e3*b.factor_random|0)/1e3-b.factor_random/2)},sort:function(){for(var a=iron_Scene.active.camera,b=0,c=this.particles;b<c.length;){var d=c[b];++b;var e=d.offset,f=a.transform.loc,g=e.x-f.x,h=e.y-f.y,i=e.z-f.z;d.cameraDistance=Math.sqrt(g*g+h*h+i*i)}this.particles.sort(function(a,b){return a.cameraDistance>b.cameraDistance?-1:a.cameraDistance<b.cameraDistance?1:0})},__class__:iron_object_ParticleSystem};var iron_object_Particle=function(){};$hxClasses["iron.object.Particle"]=iron_object_Particle,iron_object_Particle.__name__=["iron","object","Particle"],iron_object_Particle.prototype={__class__:iron_object_Particle};var iron_object_SpeakerObject=function(a){this.sound=null;var b=this;iron_object_Object.call(this),this.data=a,iron_Scene.active.speakers.push(this),""!=a.sound&&iron_data_Data.getSound(a.sound,function(c){b.sound=c,a.muted||iron_Scene.active.notifyOnInit($bind(b,b.play))})};$hxClasses["iron.object.SpeakerObject"]=iron_object_SpeakerObject,iron_object_SpeakerObject.__name__=["iron","object","SpeakerObject"],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=function(a){this.appendMats=null,this.prependMats=null,this.localOnly=!1,this.object=a,this.reset()};$hxClasses["iron.object.Transform"]=iron_object_Transform,iron_object_Transform.__name__=["iron","object","Transform"],iron_object_Transform.prototype={reset:function(){this.matrix=iron_math_Mat4.identity(),this.local=iron_math_Mat4.identity(),this.loc=new iron_math_Vec4,this.abs=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())},appendMatrix:function(a){null==this.appendMats&&(this.appendMats=[]),this.appendMats.push(a)},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 a=0,b=this.prependMats;a<b.length;){var c=b[a];++a,iron_object_Transform.temp.multmat2(c)}iron_object_Transform.temp.multmat2(this.local),this.local.setFrom(iron_object_Transform.temp)}if(null!=this.appendMats)for(var d=0,e=this.appendMats;d<e.length;){var f=e[d];++d,this.local.multmat2(f)}if(this.localOnly||null==this.object.parent?this.matrix=this.local:this.matrix.multmat3x4(this.local,this.object.parent.transform.matrix),null!=this.object.constraints)for(var g=0,h=this.object.constraints;g<h.length;){var i=h[g];++g,i.apply(this)}for(var j=0,k=this.object.children;j<k.length;){var l=k[j];++j,l.transform.buildMatrix()}this.abs.set(this.matrix.self._30,this.matrix.self._31,this.matrix.self._32)},rotate:function(a,b){var c=new iron_math_Quat;c.fromAxisAngle(a,b),this.rot.multquats(c,this.rot),this.dirty=!0},setRotation:function(a,b,c){this.rot.fromEuler(a,b,c),this.dirty=!0,this._eulerX=a,this._eulerY=b,this._eulerZ=c},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(a,b,c){this.size.set(a,b,c),this.computeRadius()},__class__:iron_object_Transform};var kha_math_FastMatrix3=function(a,b,c,d,e,f,g,h,i){this._00=a,this._10=b,this._20=c,this._01=d,this._11=e,this._21=f,this._02=g,this._12=h,this._22=i};$hxClasses["kha.math.FastMatrix3"]=kha_math_FastMatrix3,kha_math_FastMatrix3.__name__=["kha","math","FastMatrix3"],kha_math_FastMatrix3.prototype={__class__:kha_math_FastMatrix3};var iron_object_Uniforms=function(){};$hxClasses["iron.object.Uniforms"]=iron_object_Uniforms,iron_object_Uniforms.__name__=["iron","object","Uniforms"],iron_object_Uniforms.setConstants=function(a,b,c,d,e,f){if(null!=b.raw.constants)for(var g=0,h=b.raw.constants.length;g<h;){var i=g++,j=b.raw.constants[i];iron_object_Uniforms.setConstant(a,c,d,e,b.constants[i],j)}if(null!=f)for(var k=0,l=f.length/2|0;k<l;){var m=k++,n=2*m,o=f[n],p=f[n+1],q=d.data.pathdata,r=!1,s=o.charAt(0);if("_"==s&&(r=!0),r&&(o=HxOverrides.substr(o,1,null)),"shadowMap"==o&&null!=e&&e.data.raw.shadowmap_cube){var t=q.renderTargets;iron_object_Uniforms.bindRenderTarget(a,null!=__map_reserved.arm_empty?t.getReserved("arm_empty"):t.h.arm_empty,b,p,r),o+="Cube",p+="Cube"}else{var u=q.renderTargets;iron_object_Uniforms.bindRenderTarget(a,null!=__map_reserved.arm_empty?u.getReserved("arm_empty"):u.h.arm_empty,b,p+"Cube",r)}var v;if(r){var w=q.depthToRenderTarget;v=null!=__map_reserved[o]?w.getReserved(o):w.h[o]}else{var x=q.renderTargets;v=null!=__map_reserved[o]?x.getReserved(o):x.h[o]}iron_object_Uniforms.bindRenderTarget(a,v,b,p,r)}if(null!=b.raw.texture_units)for(var y=0,z=b.raw.texture_units.length;y<z;){var A=y++,B=b.raw.texture_units[A].link;if(null!=B){b.raw.texture_units[A].name;if("_envmapRadiance"==B)a.setTexture(b.textureUnits[A],iron_Scene.active.world.getGlobalProbe().radiance),a.setTextureParameters(b.textureUnits[A],kha_graphics4_TextureAddressing.Repeat,kha_graphics4_TextureAddressing.Repeat,kha_graphics4_TextureFilter.LinearFilter,kha_graphics4_TextureFilter.LinearFilter,kha_graphics4_MipMapFilter.LinearMipFilter);else if("_envmapBrdf"==B){var D=iron_Scene.active.embedded;a.setTexture(b.textureUnits[A],null!=__map_reserved["brdf.png"]?D.getReserved("brdf.png"):D.h["brdf.png"])}else if("_noise8"==B){var E=iron_Scene.active.embedded;a.setTexture(b.textureUnits[A],null!=__map_reserved["noise8.png"]?E.getReserved("noise8.png"):E.h["noise8.png"]),a.setTextureParameters(b.textureUnits[A],kha_graphics4_TextureAddressing.Repeat,kha_graphics4_TextureAddressing.Repeat,kha_graphics4_TextureFilter.LinearFilter,kha_graphics4_TextureFilter.LinearFilter,kha_graphics4_MipMapFilter.NoMipFilter)}else if("_noise64"==B){var F=iron_Scene.active.embedded;a.setTexture(b.textureUnits[A],null!=__map_reserved["noise64.png"]?F.getReserved("noise64.png"):F.h["noise64.png"]),a.setTextureParameters(b.textureUnits[A],kha_graphics4_TextureAddressing.Repeat,kha_graphics4_TextureAddressing.Repeat,kha_graphics4_TextureFilter.LinearFilter,kha_graphics4_TextureFilter.LinearFilter,kha_graphics4_MipMapFilter.NoMipFilter)}else if("_noise256"==B){var G=iron_Scene.active.embedded;a.setTexture(b.textureUnits[A],null!=__map_reserved["noise256.png"]?G.getReserved("noise256.png"):G.h["noise256.png"]),a.setTextureParameters(b.textureUnits[A],kha_graphics4_TextureAddressing.Repeat,kha_graphics4_TextureAddressing.Repeat,kha_graphics4_TextureFilter.LinearFilter,kha_graphics4_TextureFilter.LinearFilter,kha_graphics4_MipMapFilter.NoMipFilter)}else if("_lampColorTexture"==B)null!=e&&(a.setTexture(b.textureUnits[A],e.data.colorTexture),a.setTextureParameters(b.textureUnits[A],kha_graphics4_TextureAddressing.Repeat,kha_graphics4_TextureAddressing.Repeat,kha_graphics4_TextureFilter.LinearFilter,kha_graphics4_TextureFilter.LinearFilter,kha_graphics4_MipMapFilter.NoMipFilter));else if("_lensTexture"==B){var H=iron_Scene.active.embedded;a.setTexture(b.textureUnits[A],null!=__map_reserved["lenstexture.jpg"]?H.getReserved("lenstexture.jpg"):H.h["lenstexture.jpg"])}else if(null!=iron_object_Uniforms.externalTextureLinks)for(var I=0,J=iron_object_Uniforms.externalTextureLinks;I<J.length;){var K=J[I];++I;var L=K(B);if(null!=L){a.setTexture(b.textureUnits[A],L);break}}}}},iron_object_Uniforms.bindRenderTarget=function(a,b,c,d,e){if(null!=b){var f=c.raw.texture_units;null==b.pong||b.pongState||(b=b.pong);for(var g=0,h=f.length;g<h;){var i=g++;d==f[i].name&&(null!=f[i].is_image&&f[i].is_image||(b.isCubeMap?e?a.setCubeMapDepth(c.textureUnits[i],b.cubeMap):a.setCubeMap(c.textureUnits[i],b.cubeMap):e?a.setTextureDepth(c.textureUnits[i],b.image):a.setTexture(c.textureUnits[i],b.image)))}}},iron_object_Uniforms.setConstant=function(a,b,c,d,e,f){if(null!=f.link)if("mat4"==f.type){var g=null;if("_worldMatrix"==f.link)g=b.transform.matrix;else if("_inverseWorldMatrix"==f.link)iron_object_Uniforms.helpMat.getInverse(b.transform.matrix),g=iron_object_Uniforms.helpMat;else if("_viewMatrix"==f.link)g=c.V;else if("_transposeInverseViewMatrix"==f.link)iron_object_Uniforms.helpMat.setIdentity(),iron_object_Uniforms.helpMat.multmat2(c.V),iron_object_Uniforms.helpMat.getInverse(iron_object_Uniforms.helpMat),iron_object_Uniforms.helpMat.transpose(),g=iron_object_Uniforms.helpMat;else if("_inverseViewMatrix"==f.link)iron_object_Uniforms.helpMat.getInverse(c.V),g=iron_object_Uniforms.helpMat;else if("_transposeViewMatrix"==f.link)iron_object_Uniforms.helpMat.setIdentity(),iron_object_Uniforms.helpMat.multmat2(c.V),iron_object_Uniforms.helpMat.transpose3x3(),g=iron_object_Uniforms.helpMat;else if("_projectionMatrix"==f.link)g=c.P;else if("_inverseProjectionMatrix"==f.link)iron_object_Uniforms.helpMat.getInverse(c.P),g=iron_object_Uniforms.helpMat;else if("_inverseViewProjectionMatrix"==f.link)iron_object_Uniforms.helpMat.setIdentity(),iron_object_Uniforms.helpMat.multmat2(c.V),iron_object_Uniforms.helpMat.multmat2(c.P),iron_object_Uniforms.helpMat.getInverse(iron_object_Uniforms.helpMat),g=iron_object_Uniforms.helpMat;else if("_worldViewProjectionMatrix"==f.link)iron_object_Uniforms.helpMat.setIdentity(),iron_object_Uniforms.helpMat.multmat2(b.transform.matrix),iron_object_Uniforms.helpMat.multmat2(c.V),iron_object_Uniforms.helpMat.multmat2(c.P),g=iron_object_Uniforms.helpMat;else if("_worldViewMatrix"==f.link)iron_object_Uniforms.helpMat.setIdentity(),iron_object_Uniforms.helpMat.multmat2(b.transform.matrix),iron_object_Uniforms.helpMat.multmat2(c.V),g=iron_object_Uniforms.helpMat;else if("_viewProjectionMatrix"==f.link)iron_object_Uniforms.helpMat.setIdentity(),iron_object_Uniforms.helpMat.multmat2(c.V),iron_object_Uniforms.helpMat.multmat2(c.P),g=iron_object_Uniforms.helpMat;else if("_prevViewProjectionMatrix"==f.link)iron_object_Uniforms.helpMat.setIdentity(),iron_object_Uniforms.helpMat.multmat2(c.prevV),iron_object_Uniforms.helpMat.multmat2(c.P),g=iron_object_Uniforms.helpMat;else if("_lampWorldViewProjectionMatrix"==f.link)null!=d&&(iron_object_Uniforms.helpMat.setIdentity(),null!=b&&iron_object_Uniforms.helpMat.multmat2(b.transform.matrix),iron_object_Uniforms.helpMat.multmat2(d.V),iron_object_Uniforms.helpMat.multmat2(d.P),g=iron_object_Uniforms.helpMat);else if("_biasLampWorldViewProjectionMatrix"==f.link)null!=d&&(iron_object_Uniforms.helpMat.setIdentity(),null!=b&&iron_object_Uniforms.helpMat.multmat2(b.transform.matrix),iron_object_Uniforms.helpMat.multmat2(d.V),iron_object_Uniforms.helpMat.multmat2(d.P),iron_object_Uniforms.helpMat.multmat2(iron_object_Uniforms.biasMat),g=iron_object_Uniforms.helpMat);else if("_lampViewProjectionMatrix"==f.link)null!=d&&(iron_object_Uniforms.helpMat.setIdentity(),iron_object_Uniforms.helpMat.multmat2(d.V),iron_object_Uniforms.helpMat.multmat2(d.P),g=iron_object_Uniforms.helpMat);else if("_biasLampViewProjectionMatrix"==f.link)null!=d&&(iron_object_Uniforms.helpMat.setIdentity(),iron_object_Uniforms.helpMat.multmat2(d.V),iron_object_Uniforms.helpMat.multmat2(d.P),iron_object_Uniforms.helpMat.multmat2(iron_object_Uniforms.biasMat),g=iron_object_Uniforms.helpMat);else if("_lampVolumeWorldViewProjectionMatrix"==f.link){if(null!=d){var h=d.transform,i=d.data.raw.type;"spot"==i?(iron_object_Uniforms.helpVec.set(h.matrix.self._30,h.matrix.self._31,h.matrix.self._32),iron_object_Uniforms.helpVec2.set(d.data.raw.far_plane,2*d.data.raw.far_plane,2*d.data.raw.far_plane),iron_object_Uniforms.helpMat.compose(iron_object_Uniforms.helpVec,iron_object_Uniforms.helpQuat,iron_object_Uniforms.helpVec2)):"point"!=i&&"area"!=i||(iron_object_Uniforms.helpVec.set(h.matrix.self._30,h.matrix.self._31,h.matrix.self._32),iron_object_Uniforms.helpVec2.set(d.data.raw.far_plane,2*d.data.raw.far_plane,2*d.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(c.V),iron_object_Uniforms.helpMat.multmat2(c.P),g=iron_object_Uniforms.helpMat}}else if("_skydomeMatrix"==f.link){var j=c.transform;iron_object_Uniforms.helpVec.set(j.matrix.self._30,j.matrix.self._31,j.matrix.self._32-3.5);var k=.95*c.farPlane;iron_object_Uniforms.helpVec2.set(k,k,k),iron_object_Uniforms.helpMat.compose(iron_object_Uniforms.helpVec,iron_object_Uniforms.helpQuat,iron_object_Uniforms.helpVec2),iron_object_Uniforms.helpMat.multmat2(c.V),iron_object_Uniforms.helpMat.multmat2(c.P),g=iron_object_Uniforms.helpMat}else if("_lampViewMatrix"==f.link)null!=d&&(g=d.V);else if("_lampProjectionMatrix"==f.link)null!=d&&(g=d.P);else if("_undistortionMatrix"==f.link)g=iron_system_VR.getUndistortionMatrix();else if(null!=iron_object_Uniforms.externalMat4Links)for(var l=0,m=iron_object_Uniforms.externalMat4Links;l<m.length;){var n=m[l];if(++l,null!=(g=n(f.link)))break}if(null==g)return;a.setMatrix(e,g.self)}else if("mat3"==f.type){var o=null;if("_normalMatrix"==f.link&&(iron_object_Uniforms.helpMat.setIdentity(),iron_object_Uniforms.helpMat.multmat2(b.transform.matrix),iron_object_Uniforms.helpMat.getInverse(iron_object_Uniforms.helpMat),iron_object_Uniforms.helpMat.transpose3x3(),iron_object_Uniforms.helpMat3.setFrom4(iron_object_Uniforms.helpMat),o=iron_object_Uniforms.helpMat3),null==o)return;a.setMatrix3(e,o.self)}else if("vec4"==f.type){var p=null;if("_input"==f.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),p=iron_object_Uniforms.helpVec;else if(null!=iron_object_Uniforms.externalVec4Links)for(var q=0,r=iron_object_Uniforms.externalVec4Links;q<r.length;){var s=r[q];if(++q,null!=(p=s(f.link)))break}if(null==p)return;a.setFloat4(e,p.x,p.y,p.z,p.w)}else if("vec3"==f.type){var t=null;if("_lampPosition"==f.link)null!=d&&iron_object_Uniforms.helpVec.set(d.transform.matrix.self._30,d.transform.matrix.self._31,d.transform.matrix.self._32),t=iron_object_Uniforms.helpVec;else if("_lampDirection"==f.link)null!=d&&(iron_object_Uniforms.helpVec=new iron_math_Vec4(d.V.self._02,d.V.self._12,d.V.self._22)),t=iron_object_Uniforms.helpVec;else if("_lampColor"==f.link){if(null!=d){var u=d.data.raw.strength;iron_object_Uniforms.helpVec.set(d.data.raw.color[0]*u,d.data.raw.color[1]*u,d.data.raw.color[2]*u)}t=iron_object_Uniforms.helpVec}else if("_lampArea0"==f.link){if(null!=d&&null!=d.data.raw.size){var v=d.data.raw.size/2,w=d.data.raw.size_y/2;iron_object_Uniforms.helpVec.set(-v,w,0),iron_object_Uniforms.helpVec.applymat(d.transform.matrix),t=iron_object_Uniforms.helpVec}}else if("_lampArea1"==f.link){if(null!=d&&null!=d.data.raw.size){var x=d.data.raw.size/2,y=d.data.raw.size_y/2;iron_object_Uniforms.helpVec.set(x,y,0),iron_object_Uniforms.helpVec.applymat(d.transform.matrix),t=iron_object_Uniforms.helpVec}}else if("_lampArea2"==f.link){if(null!=d&&null!=d.data.raw.size){var z=d.data.raw.size/2,A=d.data.raw.size_y/2;iron_object_Uniforms.helpVec.set(z,-A,0),iron_object_Uniforms.helpVec.applymat(d.transform.matrix),t=iron_object_Uniforms.helpVec}}else if("_lampArea3"==f.link){if(null!=d&&null!=d.data.raw.size){var B=d.data.raw.size/2,C=d.data.raw.size_y/2;iron_object_Uniforms.helpVec.set(-B,-C,0),iron_object_Uniforms.helpVec.applymat(d.transform.matrix),t=iron_object_Uniforms.helpVec}}else if("_cameraPosition"==f.link)iron_object_Uniforms.helpVec.set(c.transform.matrix.self._30,c.transform.matrix.self._31,c.transform.matrix.self._32),t=iron_object_Uniforms.helpVec;else if("_cameraLook"==f.link)iron_object_Uniforms.helpVec=new iron_math_Vec4(-c.transform.matrix.self._20,-c.transform.matrix.self._21,-c.transform.matrix.self._22),t=iron_object_Uniforms.helpVec;else if("_backgroundCol"==f.link)iron_object_Uniforms.helpVec.set(c.data.raw.clear_color[0],c.data.raw.clear_color[1],c.data.raw.clear_color[2]),t=iron_object_Uniforms.helpVec;else if("_probeVolumeCenter"==f.link)t=iron_Scene.active.world.getProbeVolumeCenter(b.transform);else if("_probeVolumeSize"==f.link)t=iron_Scene.active.world.getProbeVolumeSize(b.transform);else if(null!=iron_object_Uniforms.externalVec3Links)for(var D=0,E=iron_object_Uniforms.externalVec3Links;D<E.length;){var F=E[D];if(++D,null!=(t=F(f.link)))break}if(null==t)return;a.setFloat3(e,t.x,t.y,t.z)}else if("vec2"==f.type){var G=0,H=0;if("_vec2x"==f.link)G=1;else if("_vec2xInv"==f.link)G=1/c.renderPath.currentRenderTargetW;else if("_vec2x2"==f.link)G=2;else if("_vec2x2Inv"==f.link)G=2/c.renderPath.currentRenderTargetW;else if("_vec2y"==f.link)H=1;else if("_vec2yInv"==f.link)H=1/c.renderPath.currentRenderTargetH;else if("_vec2y2"==f.link)H=2;else if("_vec2y2Inv"==f.link)H=2/c.renderPath.currentRenderTargetH;else if("_vec2y3"==f.link)H=3;else if("_vec2y3Inv"==f.link)H=3/c.renderPath.currentRenderTargetH;else if("_windowSize"==f.link)G=kha_System.windowWidth(),H=kha_System.windowHeight();else if("_windowSizeInv"==f.link)G=1/kha_System.windowWidth(),H=1/kha_System.windowHeight();else if("_screenSize"==f.link)G=c.renderPath.currentRenderTargetW,H=c.renderPath.currentRenderTargetH;else if("_screenSizeInv"==f.link)G=1/c.renderPath.currentRenderTargetW,H=1/c.renderPath.currentRenderTargetH;else if("_aspectRatio"==f.link)G=c.renderPath.currentRenderTargetH/c.renderPath.currentRenderTargetW,H=c.renderPath.currentRenderTargetW/c.renderPath.currentRenderTargetH,G=G>1?1:G,H=H>1?1:H;else if("_cameraPlane"==f.link)G=c.data.raw.near_plane,H=c.data.raw.far_plane;else if("_lampPlane"==f.link)G=null==d?0:d.data.raw.near_plane,H=null==d?0:d.data.raw.far_plane;else if("_spotlampData"==f.link)G=null==d?0:d.data.raw.spot_size,H=null==d?0:G-d.data.raw.spot_blend;else if(null!=iron_object_Uniforms.externalVec2Links)for(var I=0,J=iron_object_Uniforms.externalVec2Links;I<J.length;){var K=J[I];++I;var L=K(f.link);if(null!=L){G=L.x,H=L.y;break}}a.setFloat2(e,G,H)}else if("float"==f.type){var M=0;if("_time"==f.link)M=kha_Scheduler.time();else if("_deltaTime"==f.link)M=.016666666666666666;else if("_lampRadius"==f.link)M=null==d?0:d.data.raw.far_plane;else if("_lampShadowsBias"==f.link)M=null==d?0:d.data.raw.shadows_bias;else if("_lampSize"==f.link)null!=d&&null!=d.data.raw.lamp_size&&(M=d.data.raw.lamp_size);else if("_lampSizeUV"==f.link)null!=d&&null!=d.data.raw.lamp_size&&(M=d.data.raw.lamp_size/d.data.raw.fov);else if("_envmapStrength"==f.link)M=null==iron_Scene.active.world?0:iron_Scene.active.world.getGlobalProbe().raw.strength;else if("_probeStrength"==f.link)M=iron_Scene.active.world.getProbeStrength(b.transform);else if("_probeBlending"==f.link)M=iron_Scene.active.world.getProbeBlending(b.transform);else if("_aspectRatioF"==f.link)M=c.renderPath.currentRenderTargetW/c.renderPath.currentRenderTargetH;else if("_objectInfoIndex"==f.link)M=b.uid;else if("_objectInfoMaterialIndex"==f.link)M=null!=c.renderPath.currentMaterial?c.renderPath.currentMaterial.uid:js_Boot.__cast(b,iron_object_MeshObject).materials[0].uid;else if("_objectInfoRandom"==f.link)M=b.urandom;else if("_maxRadiusSq"==f.link)M=iron_system_VR.getMaxRadiusSq();else if(null!=iron_object_Uniforms.externalFloatLinks)for(var N=0,O=iron_object_Uniforms.externalFloatLinks;N<O.length;){var P=O[N];++N;var Q=P(f.link);if(null!=Q){M=Q;break}}a.setFloat(e,M)}else if("floats"==f.type){var R=null;if("_skinBones"==f.link)null!=b.animation&&(R=js_Boot.__cast(b.animation,iron_object_BoneAnimation).skinBuffer);else if("_envmapIrradiance"==f.link)R=null==iron_Scene.active.world?iron_data_WorldData.getEmptyIrradiance():iron_Scene.active.world.getSHIrradiance();else if(null!=iron_object_Uniforms.externalFloatsLinks)for(var S=0,T=iron_object_Uniforms.externalFloatsLinks;S<T.length;){var U=T[S];if(++S,null!=(R=U(f.link)))break}null!=R&&a.setFloats(e,R)}else if("int"==f.type){var V=0;if("_uid"==f.link&&(V=b.uid),"_lampType"==f.link)if(null==d)V=0;else switch(d.data.raw.type){case"area":V=3;break;case"point":V=1;break;case"spot":V=2;break;case"sun":V=0;break;default:V=0}else if("_lampIndex"==f.link)V=c.renderPath.currentLampIndex;else if("_lampCastShadow"==f.link)null!=d&&d.data.raw.cast_shadow&&(V=d.data.raw.shadowmap_cube?2:1);else if("_envmapNumMipmaps"==f.link)V=iron_Scene.active.world.getGlobalProbe().raw.radiance_mipmaps+1;else if("_probeID"==f.link)V=iron_Scene.active.world.getProbeID(b.transform);else if(null!=iron_object_Uniforms.externalIntLinks)for(var W=0,X=iron_object_Uniforms.externalIntLinks;W<X.length;){var Y=X[W];++W;var Z=Y(f.link);if(null!=Z){V=Z;break}}a.setInt(e,V)}},iron_object_Uniforms.setMaterialConstants=function(a,b,c){if(null!=c.raw.bind_constants)for(var d=0,e=c.raw.bind_constants.length;d<e;){for(var f=d++,g=c.raw.bind_constants[f],h=-1,i=0,j=b.raw.constants.length;i<j;){var k=i++;if(b.raw.constants[k].name==g.name){h=k;break}}if(-1!=h){var l=b.raw.constants[h];iron_object_Uniforms.setMaterialConstant(a,b.constants[h],l,g)}}if(null!=c.textures)for(var m=0,n=c.textures.length;m<n;)for(var o=m++,p=c.raw.bind_textures[o].name,q=0,r=b.textureUnits.length;q<r;){var s=q++,t=b.raw.texture_units[s].name;if(p==t){a.setTexture(b.textureUnits[s],c.textures[o]),c.setTextureParameters(a,o,b,s);break}}},iron_object_Uniforms.setMaterialConstant=function(a,b,c,d){switch(c.type){case"bool":a.setBool(b,d.bool);break;case"float":a.setFloat(b,d.float);break;case"vec2":a.setFloat2(b,d.vec2[0],d.vec2[1]);break;case"vec3":a.setFloat3(b,d.vec3[0],d.vec3[1],d.vec3[2]);break;case"vec4":a.setFloat4(b,d.vec4[0],d.vec4[1],d.vec4[2],d.vec4[3])}};var iron_system_Audio=function(){};$hxClasses["iron.system.Audio"]=iron_system_Audio,iron_system_Audio.__name__=["iron","system","Audio"],iron_system_Audio.playSound=function(a,b){null==b&&(b=!1),kha_audio2_Audio1.play(a,b)};var iron_system_Input=function(){};$hxClasses["iron.system.Input"]=iron_system_Input,iron_system_Input.__name__=["iron","system","Input"],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 a=0,b=iron_system_Input.gamepads;a<b.length;){var c=b[a];++a,c.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 a=0,b=iron_system_Input.gamepads;a<b.length;){var c=b[a];++a,c.endFrame()}if(null!=iron_system_Input.virtualButtons)for(var d=iron_system_Input.virtualButtons,e=new haxe_ds__$StringMap_StringMapIterator(d,d.arrayKeys());e.hasNext();){var f=e.next();f.started=f.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.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(a){if(null==a&&(a=0),a>=4)return null;for(;iron_system_Input.gamepads.length<=a;)iron_system_Input.gamepads.push(new iron_system_Gamepad(iron_system_Input.gamepads.length));return iron_system_Input.gamepads[a].connected?iron_system_Input.gamepads[a]:null};var iron_system_VirtualButton=function(){this.down=!1,this.released=!1,this.started=!1};$hxClasses["iron.system.VirtualButton"]=iron_system_VirtualButton,iron_system_VirtualButton.__name__=["iron","system","VirtualButton"],iron_system_VirtualButton.prototype={__class__:iron_system_VirtualButton};var iron_system_VirutalInput=function(){this.virtualButtons=null};$hxClasses["iron.system.VirutalInput"]=iron_system_VirutalInput,iron_system_VirutalInput.__name__=["iron","system","VirutalInput"],iron_system_VirutalInput.prototype={downVirtual:function(a){if(null!=this.virtualButtons){var b=this.virtualButtons,c=null!=__map_reserved[a]?b.getReserved(a):b.h[a];null!=c&&(c.down=!0,c.started=!0)}},upVirtual:function(a){if(null!=this.virtualButtons){var b=this.virtualButtons,c=null!=__map_reserved[a]?b.getReserved(a):b.h[a];null!=c&&(c.down=!1,c.released=!0)}},__class__:iron_system_VirutalInput};var 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))};$hxClasses["iron.system.Mouse"]=iron_system_Mouse,iron_system_Mouse.__name__=["iron","system","Mouse"],iron_system_Mouse.__super__=iron_system_VirutalInput,iron_system_Mouse.prototype=$extend(iron_system_VirutalInput.prototype,{endFrame:function(){var a=this.buttonsStarted[1]=this.buttonsStarted[2]=!1;this.buttonsStarted[0]=a;var b=this.buttonsReleased[1]=this.buttonsReleased[2]=!1;this.buttonsReleased[0]=b,this.moved=!1,this.movementX=0,this.movementY=0,this.wheelDelta=0},reset:function(){var a=this.buttonsDown[1]=this.buttonsDown[2]=!1;this.buttonsDown[0]=a,this.endFrame()},buttonIndex:function(a){return"left"==a?0:"right"==a?1:2},down:function(a){return null==a&&(a="left"),this.buttonsDown[this.buttonIndex(a)]},started:function(a){return null==a&&(a="left"),this.buttonsStarted[this.buttonIndex(a)]},downListener:function(a,b,c){this.buttonsDown[a]=!0,this.buttonsStarted[a]=!0,this.x=b,this.y=c,this.downVirtual(iron_system_Mouse.buttons[a])},upListener:function(a,b,c){this.buttonsDown[a]=!1,this.buttonsReleased[a]=!0,this.x=b,this.y=c,this.upVirtual(iron_system_Mouse.buttons[a])},moveListener:function(a,b,c,d){this.movementX=c,this.movementY=d,this.x=a,this.y=b,this.moved=!0},wheelListener:function(a){this.wheelDelta=a},__class__:iron_system_Mouse});var 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))};$hxClasses["iron.system.Keyboard"]=iron_system_Keyboard,iron_system_Keyboard.__name__=["iron","system","Keyboard"],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 a=0,b=this.keysFrame;a<b.length;){var c=b[a];++a;var d=this.keysStarted;null!=__map_reserved[c]?d.setReserved(c,!1):d.h[c]=!1;var e=this.keysReleased;null!=__map_reserved[c]?e.setReserved(c,!1):e.h[c]=!1}this.keysFrame.splice(0,this.keysFrame.length)}},reset:function(){for(var a=0,b=iron_system_Keyboard.keys;a<b.length;){var c=b[a];++a;var d=this.keysDown;null!=__map_reserved[c]?d.setReserved(c,!1):d.h[c]=!1;var e=this.keysStarted;null!=__map_reserved[c]?e.setReserved(c,!1):e.h[c]=!1;var f=this.keysReleased;null!=__map_reserved[c]?f.setReserved(c,!1):f.h[c]=!1}this.endFrame()},down:function(a){var b=this.keysDown;return null!=__map_reserved[a]?b.getReserved(a):b.h[a]},started:function(a){var b=this.keysStarted;return null!=__map_reserved[a]?b.getReserved(a):b.h[a]},keyToString:function(a,b){return a==kha_Key.CHAR?" "==b?"space":b.toLowerCase():a==kha_Key.BACKSPACE?"backspace":a==kha_Key.TAB?"tab":a==kha_Key.ENTER?"enter":a==kha_Key.SHIFT?"shift":a==kha_Key.CTRL?"ctrl":a==kha_Key.ALT?"alt":a==kha_Key.ESC?"esc":a==kha_Key.DEL?"del":a==kha_Key.UP?"up":a==kha_Key.DOWN?"down":a==kha_Key.LEFT?"left":a==kha_Key.RIGHT?"right":a==kha_Key.BACK?"back":""},downListener:function(a,b){var c=this.keyToString(a,b);this.keysFrame.push(c);var d=this.keysStarted;null!=__map_reserved[c]?d.setReserved(c,!0):d.h[c]=!0;var e=this.keysDown;null!=__map_reserved[c]?e.setReserved(c,!0):e.h[c]=!0,this.downVirtual(c)},upListener:function(a,b){var c=this.keyToString(a,b);this.keysFrame.push(c);var d=this.keysReleased;null!=__map_reserved[c]?d.setReserved(c,!0):d.h[c]=!0;var e=this.keysDown;null!=__map_reserved[c]?e.setReserved(c,!1):e.h[c]=!1,this.upVirtual(c)},__class__:iron_system_Keyboard});var 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};$hxClasses["iron.system.GamepadStick"]=iron_system_GamepadStick,iron_system_GamepadStick.__name__=["iron","system","GamepadStick"],iron_system_GamepadStick.prototype={__class__:iron_system_GamepadStick};var iron_system_Gamepad=function(a){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 b=0,c=iron_system_Gamepad.buttonsPS;b<c.length;){c[b];++b,this.buttonsDown.push(0),this.buttonsStarted.push(!1),this.buttonsReleased.push(!1)}this.num=a,this.reset(),this.connect()};$hxClasses["iron.system.Gamepad"]=iron_system_Gamepad,iron_system_Gamepad.__name__=["iron","system","Gamepad"],iron_system_Gamepad.__super__=iron_system_VirutalInput,iron_system_Gamepad.prototype=$extend(iron_system_VirutalInput.prototype,{connect:function(){var a=kha_input_Gamepad.get(this.num);null!=a&&(this.connected=!0,a.notify($bind(this,this.axisListener),$bind(this,this.buttonListener)))},endFrame:function(){if(this.buttonsFrame.length>0){for(var a=0,b=this.buttonsFrame;a<b.length;){var c=b[a];++a,this.buttonsStarted[c]=!1,this.buttonsReleased[c]=!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 a=0,b=this.buttonsDown.length;a<b;){var c=a++;this.buttonsDown[c]=0,this.buttonsStarted[c]=!1,this.buttonsReleased[c]=!1}this.endFrame()},buttonIndex:function(a){for(var b=0,c=iron_system_Gamepad.buttonsPS.length;b<c;){var d=b++;if(iron_system_Gamepad.buttonsPS[d]==a)return d}return 0},down:function(a){return this.buttonsDown[this.buttonIndex(a)]},axisListener:function(a,b){var c=a<=1?this.leftStick:this.rightStick;0==a||2==a?(c.x=b,c.movementX=c.x-c.lastX,c.lastX=c.x):1!=a&&3!=a||(c.y=b,c.movementY=c.y-c.lastY,c.lastY=c.y),c.moved=!0},buttonListener:function(a,b){this.buttonsFrame.push(a),this.buttonsDown[a]=b,b>0?this.buttonsStarted[a]=!0:this.buttonsReleased[a]=!0,0==b?this.upVirtual(iron_system_Gamepad.buttonsPS[a]):1==b&&this.downVirtual(iron_system_Gamepad.buttonsPS[a])},__class__:iron_system_Gamepad});var iron_system_Tween=function(){};$hxClasses["iron.system.Tween"]=iron_system_Tween,iron_system_Tween.__name__=["iron","system","Tween"],iron_system_Tween.to=function(a,b,c,d,e,f){null==f&&(f=1),null==e&&(e=0);var g=new iron_system_Anim(a,b,c,d,e,f);if(g._ease=iron_system_Tween.eases[f],null!=g.target&&null!=g.props){g._startProps=[];for(var h=0,i=Reflect.fields(g.props);h<i.length;){var j=i[h];++h;var k=Reflect.getProperty(g.target,j);g._startProps.push(k)}}iron_system_Tween.anims.push(g),null!=a&&iron_system_Tween.map.set(a,g)},iron_system_Tween.stop=function(a){var b=iron_system_Tween.map.h[a.__id__];null!=b&&HxOverrides.remove(iron_system_Tween.anims,b)},iron_system_Tween.reset=function(){iron_system_Tween.anims=[],iron_system_Tween.map=new haxe_ds_ObjectMap},iron_system_Tween.update=function(){for(var a=.016666666666666666,b=iron_system_Tween.anims.length;b-- >0&&iron_system_Tween.anims.length>0;){var c=iron_system_Tween.anims[b];if(!(c.delay>0&&(c.delay-=a,c.delay>0))){if(c._currentTime+=a,null!=c.target)for(var d=Reflect.fields(c.props),e=0,f=d.length;e<f;){var g=e++,h=d[g],i=c._startProps[g],j=Reflect.getProperty(c.props,h),k=c._currentTime/c.time;k>1&&(k=1);var l=i+(j-i)*c._ease(k);Reflect.setProperty(c.target,h,l)}c._currentTime>=c.time&&(iron_system_Tween.anims.splice(b,1),--b,null!=c.f&&c.f())}}},iron_system_Tween.easeLinear=function(a){return a},iron_system_Tween.easeExpoOut=function(a){return 1==a?1:1-Math.pow(2,-10*a)};var iron_system_Anim=function(a,b,c,d,e,f){this._startProps=null,this._currentTime=0,this._ease=null,this.target=a,this.time=b,this.props=c,this.delay=e,this.f=d,this.type=f};$hxClasses["iron.system.Anim"]=iron_system_Anim,iron_system_Anim.__name__=["iron","system","Anim"],iron_system_Anim.prototype={__class__:iron_system_Anim};var iron_system_VR=function(){};$hxClasses["iron.system.VR"]=iron_system_VR,iron_system_VR.__name__=["iron","system","VR"],iron_system_VR.getUndistortionMatrix=function(){return null==iron_system_VR.undistortionMatrix&&(iron_system_VR.undistortionMatrix=iron_math_Mat4.identity()),iron_system_VR.undistortionMatrix},iron_system_VR.getMaxRadiusSq=function(){return 0};var iron_system_msgpack_DecodeOption=$hxClasses["iron.system.msgpack.DecodeOption"]={__ename__:!0,__constructs__:["AsMap","AsObject"]};iron_system_msgpack_DecodeOption.AsMap=["AsMap",0],iron_system_msgpack_DecodeOption.AsMap.toString=$estr,iron_system_msgpack_DecodeOption.AsMap.__enum__=iron_system_msgpack_DecodeOption,iron_system_msgpack_DecodeOption.AsObject=["AsObject",1],iron_system_msgpack_DecodeOption.AsObject.toString=$estr,iron_system_msgpack_DecodeOption.AsObject.__enum__=iron_system_msgpack_DecodeOption;var iron_system_msgpack__$Decoder_Pair=function(a,b){this.k=a,this.v=b};$hxClasses["iron.system.msgpack._Decoder.Pair"]=iron_system_msgpack__$Decoder_Pair,iron_system_msgpack__$Decoder_Pair.__name__=["iron","system","msgpack","_Decoder","Pair"],iron_system_msgpack__$Decoder_Pair.prototype={__class__:iron_system_msgpack__$Decoder_Pair};var iron_system_msgpack_Decoder=function(a,b){var c=new haxe_io_BytesInput(a);c.set_bigEndian(!0),this.o=this.decode(c,b)};$hxClasses["iron.system.msgpack.Decoder"]=iron_system_msgpack_Decoder,iron_system_msgpack_Decoder.__name__=["iron","system","msgpack","Decoder"],iron_system_msgpack_Decoder.prototype={decode:function(a,b){try{var c=a.readByte();switch(c){case 192:return null;case 194:return!1;case 195:return!0;case 196:return a.read(a.readByte());case 197:return a.read(a.readUInt16());case 198:return a.read(a.readInt32());case 202:return a.readFloat();case 203:return a.readDouble();case 204:return a.readByte();case 205:return a.readUInt16();case 206:return a.readInt32();case 207:throw new js__$Boot_HaxeError("UInt64 not supported");case 208:return a.readInt8();case 209:return a.readInt16();case 210:return a.readInt32();case 211:return this.readInt64(a);case 217:return a.readString(a.readByte());case 218:return a.readString(a.readUInt16());case 219:return a.readString(a.readInt32());case 220:return this.readArray(a,a.readUInt16(),b);case 221:return this.readArray(a,a.readInt32(),b);case 222:return this.readMap(a,a.readUInt16(),b);case 223:return this.readMap(a,a.readInt32(),b);default:if(c<128)return c;if(c<144)return this.readMap(a,15&c,b);if(c<160)return this.readArray(a,15&c,b);if(c<192)return a.readString(31&c);if(c>223)return-256|c}}catch(a){if(a instanceof js__$Boot_HaxeError&&(a=a.val),!js_Boot.__instanceof(a,haxe_io_Eof))throw a}return null},readInt64:function(a){var b=a.readInt32(),c=a.readInt32();return new haxe__$Int64__$_$_$Int64(b,c)},readArray:function(a,b,c){for(var d=[],e=0,f=b;e<f;){e++;d.push(this.decode(a,c))}return d},readMap:function(a,b,c){switch(c[1]){case 0:for(var d=[],e=0,f=b;e<f;){var h=(e++,this.decode(a,c)),i=this.decode(a,c);d.push(new iron_system_msgpack__$Decoder_Pair(h,i))}if(0==d.length)return new haxe_ds_StringMap;var j=Type.typeof(d[0].k);switch(j[1]){case 1:for(var k=new haxe_ds_IntMap,l=0;l<d.length;){var m=d[l];++l;if(1!=Type.typeof(m.k)[1])throw new js__$Boot_HaxeError("Error: Mixed key type when decoding IntMap");if(k.h.hasOwnProperty(m.k))throw new js__$Boot_HaxeError("Error: Duplicate keys found => "+Std.string(m.k));k.h[m.k]=m.v}return k;case 6:var o=j[2];if("String"==Type.getClassName(o)){for(var p=new haxe_ds_StringMap,q=0;q<d.length;){var r=d[q];++q;var s=Type.typeof(r.k);if(6!=s[1])throw new js__$Boot_HaxeError("Error: Mixed key type when decoding StringMap");var t=s[2];if("String"!=Type.getClassName(t))throw new js__$Boot_HaxeError("Error: Mixed key type when decoding StringMap");var u=r.k;if(null!=__map_reserved[u]?p.existsReserved(u):p.h.hasOwnProperty(u))throw new js__$Boot_HaxeError("Error: Duplicate keys found => "+Std.string(r.k));var v=r.k,w=r.v;null!=__map_reserved[v]?p.setReserved(v,w):p.h[v]=w}return p}throw new js__$Boot_HaxeError("Error: Unsupported key Type");default:throw new js__$Boot_HaxeError("Error: Unsupported key Type")}break;case 1:for(var x={},y=0,z=b;y<z;){var B=(y++,this.decode(a,c)),C=this.decode(a,c);x[Std.string(B)]=C}return x}},__class__:iron_system_msgpack_Decoder};var js__$Boot_HaxeError=function(a){Error.call(this),this.val=a,this.message=String(a),Error.captureStackTrace&&Error.captureStackTrace(this,js__$Boot_HaxeError)};$hxClasses["js._Boot.HaxeError"]=js__$Boot_HaxeError,js__$Boot_HaxeError.__name__=["js","_Boot","HaxeError"],js__$Boot_HaxeError.wrap=function(a){return a instanceof Error?a:new js__$Boot_HaxeError(a)},js__$Boot_HaxeError.__super__=Error,js__$Boot_HaxeError.prototype=$extend(Error.prototype,{__class__:js__$Boot_HaxeError});var js_Boot=function(){};$hxClasses["js.Boot"]=js_Boot,js_Boot.__name__=["js","Boot"],js_Boot.__unhtml=function(a){return a.split("&").join("&amp;").split("<").join("&lt;").split(">").join("&gt;")},js_Boot.__trace=function(a,b){var c=null!=b?b.fileName+":"+b.lineNumber+": ":"";if(c+=js_Boot.__string_rec(a,""),null!=b&&null!=b.customParams)for(var d=0,e=b.customParams;d<e.length;){var f=e[d];++d,c+=","+js_Boot.__string_rec(f,"")}var g,h;"undefined"!=typeof document?(g=document.getElementById("haxe:trace"),h=null!=g):h=!1,h?g.innerHTML+=js_Boot.__unhtml(c)+"<br/>":"undefined"!=typeof console&&null!=console.log&&console.log(c)},js_Boot.getClass=function(a){if(a instanceof Array&&null==a.__enum__)return Array;var b=a.__class__;if(null!=b)return b;var c=js_Boot.__nativeClassName(a);return null!=c?js_Boot.__resolveNativeClass(c):null},js_Boot.__string_rec=function(a,b){if(null==a)return"null";if(b.length>=5)return"<...>";var c=typeof a;switch("function"==c&&(a.__name__||a.__ename__)&&(c="object"),c){case"function":return"<function>";case"object":if(a instanceof Array){if(a.__enum__){if(2==a.length)return a[0];var d=a[0]+"(";b+="\t";for(var e=2,f=a.length;e<f;){var g=e++;d+=2!=g?","+js_Boot.__string_rec(a[g],b):js_Boot.__string_rec(a[g],b)}return d+")"}var h=a.length,j="[";b+="\t";for(var k=0,l=h;k<l;){var m=k++;j+=(m>0?",":"")+js_Boot.__string_rec(a[m],b)}return j+="]"}var n;try{n=a.toString}catch(a){return"???"}if(null!=n&&n!=Object.toString&&"function"==typeof n){var o=a.toString();if("[object Object]"!=o)return o}var p=null,q="{\n";b+="\t";var r=null!=a.hasOwnProperty;for(var p in a)r&&!a.hasOwnProperty(p)||"prototype"!=p&&"__class__"!=p&&"__super__"!=p&&"__interfaces__"!=p&&"__properties__"!=p&&(2!=q.length&&(q+=", \n"),q+=b+p+" : "+js_Boot.__string_rec(a[p],b));return b=b.substring(1),q+="\n"+b+"}";case"string":return a;default:return String(a)}},js_Boot.__interfLoop=function(a,b){if(null==a)return!1;if(a==b)return!0;var c=a.__interfaces__;if(null!=c)for(var d=0,e=c.length;d<e;){var f=d++,g=c[f];if(g==b||js_Boot.__interfLoop(g,b))return!0}return js_Boot.__interfLoop(a.__super__,b)},js_Boot.__instanceof=function(a,b){if(null==b)return!1;switch(b){case Array:return a instanceof Array&&null==a.__enum__;case Bool:return"boolean"==typeof a;case Dynamic:return!0;case Float:return"number"==typeof a;case Int:return"number"==typeof a&&(0|a)===a;case String:return"string"==typeof a;default:if(null==a)return!1;if("function"==typeof b){if(a instanceof b)return!0;if(js_Boot.__interfLoop(js_Boot.getClass(a),b))return!0}else if("object"==typeof b&&js_Boot.__isNativeObj(b)&&a instanceof b)return!0;return b==Class&&null!=a.__name__||(b==Enum&&null!=a.__ename__||a.__enum__==b)}},js_Boot.__cast=function(a,b){if(js_Boot.__instanceof(a,b))return a;throw new js__$Boot_HaxeError("Cannot cast "+Std.string(a)+" to "+Std.string(b))},js_Boot.__nativeClassName=function(a){var b=js_Boot.__toStr.call(a).slice(8,-1);return"Object"==b||"Function"==b||"Math"==b||"JSON"==b?null:b},js_Boot.__isNativeObj=function(a){return null!=js_Boot.__nativeClassName(a)},js_Boot.__resolveNativeClass=function(a){return $global[a]};var js_html_compat_ArrayBuffer=function(a){if(a instanceof Array&&null==a.__enum__)this.a=a,this.byteLength=a.length;else{var b=a;this.a=[];for(var c=0,d=b;c<d;){var e=c++;this.a[e]=0}this.byteLength=b}};$hxClasses["js.html.compat.ArrayBuffer"]=js_html_compat_ArrayBuffer,js_html_compat_ArrayBuffer.__name__=["js","html","compat","ArrayBuffer"],js_html_compat_ArrayBuffer.sliceImpl=function(a,b){var c=new Uint8Array(this,a,null==b?null:b-a),d=new ArrayBuffer(c.byteLength);return new Uint8Array(d).set(c),d},js_html_compat_ArrayBuffer.prototype={slice:function(a,b){return new js_html_compat_ArrayBuffer(this.a.slice(a,b))},__class__:js_html_compat_ArrayBuffer};var js_html_compat_DataView=function(a,b,c){if(this.buf=a,this.offset=null==b?0:b,this.length=null==c?a.byteLength-this.offset:c,this.offset<0||this.length<0||this.offset+this.length>a.byteLength)throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds);this.byteLength=this.length,this.byteOffset=this.offset,this.buffer=this.buf};$hxClasses["js.html.compat.DataView"]=js_html_compat_DataView,js_html_compat_DataView.__name__=["js","html","compat","DataView"],js_html_compat_DataView.prototype={getInt8:function(a){var b=this.buf.a[this.offset+a];return b>=128?b-256:b},getUint8:function(a){return this.buf.a[this.offset+a]},getInt16:function(a,b){var c=this.getUint16(a,b);return c>=32768?c-65536:c},getUint16:function(a,b){return b?this.buf.a[this.offset+a]|this.buf.a[this.offset+a+1]<<8:this.buf.a[this.offset+a]<<8|this.buf.a[this.offset+a+1]},getInt32:function(a,b){var c=this.offset+a,d=this.buf.a[c++],e=this.buf.a[c++],f=this.buf.a[c++],g=this.buf.a[c++];return b?d|e<<8|f<<16|g<<24:g|f<<8|e<<16|d<<24},getUint32:function(a,b){var c=this.getInt32(a,b);return c<0?c+4294967296:c},getFloat32:function(a,b){return haxe_io_FPHelper.i32ToFloat(this.getInt32(a,b))},getFloat64:function(a,b){var c=this.getInt32(a,b),d=this.getInt32(a+4,b);return haxe_io_FPHelper.i64ToDouble(b?c:d,b?d:c)},setInt8:function(a,b){this.buf.a[a+this.offset]=b<0?b+128&255:255&b},setUint8:function(a,b){this.buf.a[a+this.offset]=255&b},setInt16:function(a,b,c){this.setUint16(a,b<0?b+65536:b,c)},setUint16:function(a,b,c){var d=a+this.offset;c?(this.buf.a[d]=255&b,this.buf.a[d++]=b>>8&255):(this.buf.a[d++]=b>>8&255,this.buf.a[d]=255&b)},setInt32:function(a,b,c){this.setUint32(a,b,c)},setUint32:function(a,b,c){var d=a+this.offset;c?(this.buf.a[d++]=255&b,this.buf.a[d++]=b>>8&255,this.buf.a[d++]=b>>16&255,this.buf.a[d++]=b>>>24):(this.buf.a[d++]=b>>>24,this.buf.a[d++]=b>>16&255,this.buf.a[d++]=b>>8&255,this.buf.a[d++]=255&b)},setFloat32:function(a,b,c){this.setUint32(a,haxe_io_FPHelper.floatToI32(b),c)},setFloat64:function(a,b,c){var d=haxe_io_FPHelper.doubleToI64(b);c?(this.setUint32(a,d.low),this.setUint32(a,d.high)):(this.setUint32(a,d.high),this.setUint32(a,d.low))},__class__:js_html_compat_DataView};var js_html_compat_Float32Array=function(){};$hxClasses["js.html.compat.Float32Array"]=js_html_compat_Float32Array,js_html_compat_Float32Array.__name__=["js","html","compat","Float32Array"],js_html_compat_Float32Array._new=function(a,b,c){var d;if("number"==typeof a){d=[];for(var e=0,f=a;e<f;){d[e++]=0}d.byteLength=d.length<<2,d.byteOffset=0;for(var h=[],i=0,j=d.length<<2;i<j;){i++;h.push(0)}d.buffer=new js_html_compat_ArrayBuffer(h)}else if(js_Boot.__instanceof(a,js_html_compat_ArrayBuffer)){var l=a;null==b&&(b=0),null==c&&(c=l.byteLength-b>>2),d=[];for(var m=0,n=c;m<n;){var p=(m++,l.a[b++]|l.a[b++]<<8|l.a[b++]<<16|l.a[b++]<<24);d.push(haxe_io_FPHelper.i32ToFloat(p))}d.byteLength=d.length<<2,d.byteOffset=b,d.buffer=l}else{if(!(a instanceof Array&&null==a.__enum__))throw new js__$Boot_HaxeError("TODO "+Std.string(a));d=a.slice();for(var q=[],r=0;r<d.length;){var s=d[r];++r;var t=haxe_io_FPHelper.floatToI32(s);q.push(255&t),q.push(t>>8&255),q.push(t>>16&255),q.push(t>>>24)}d.byteLength=d.length<<2,d.byteOffset=0,d.buffer=new js_html_compat_ArrayBuffer(q)}return d.subarray=js_html_compat_Float32Array._subarray,d.set=js_html_compat_Float32Array._set,d},js_html_compat_Float32Array._set=function(a,b){if(js_Boot.__instanceof(a.buffer,js_html_compat_ArrayBuffer)){var c=a;if(a.byteLength+b>this.byteLength)throw new js__$Boot_HaxeError("set() outside of range");for(var d=0,e=a.byteLength;d<e;){var f=d++;this[f+b]=c[f]}}else{if(!(a instanceof Array&&null==a.__enum__))throw new js__$Boot_HaxeError("TODO");var g=a;if(g.length+b>this.byteLength)throw new js__$Boot_HaxeError("set() outside of range");for(var h=0,i=g.length;h<i;){var j=h++;this[j+b]=g[j]}}},js_html_compat_Float32Array._subarray=function(a,b){var c=js_html_compat_Float32Array._new(this.slice(a,b));return c.byteOffset=4*a,c};var js_html_compat_Uint8Array=function(){};$hxClasses["js.html.compat.Uint8Array"]=js_html_compat_Uint8Array,js_html_compat_Uint8Array.__name__=["js","html","compat","Uint8Array"],js_html_compat_Uint8Array._new=function(a,b,c){var d;if("number"==typeof a){d=[];for(var e=0,f=a;e<f;){d[e++]=0}d.byteLength=d.length,d.byteOffset=0,d.buffer=new js_html_compat_ArrayBuffer(d)}else if(js_Boot.__instanceof(a,js_html_compat_ArrayBuffer)){var h=a;null==b&&(b=0),null==c&&(c=h.byteLength-b),d=0==b?h.a:h.a.slice(b,b+c),d.byteLength=d.length,d.byteOffset=b,d.buffer=h}else{if(!(a instanceof Array&&null==a.__enum__))throw new js__$Boot_HaxeError("TODO "+Std.string(a));d=a.slice(),d.byteLength=d.length,d.byteOffset=0,d.buffer=new js_html_compat_ArrayBuffer(d)}return d.subarray=js_html_compat_Uint8Array._subarray,d.set=js_html_compat_Uint8Array._set,d},js_html_compat_Uint8Array._set=function(a,b){if(js_Boot.__instanceof(a.buffer,js_html_compat_ArrayBuffer)){var c=a;if(a.byteLength+b>this.byteLength)throw new js__$Boot_HaxeError("set() outside of range");for(var d=0,e=a.byteLength;d<e;){var f=d++;this[f+b]=c[f]}}else{if(!(a instanceof Array&&null==a.__enum__))throw new js__$Boot_HaxeError("TODO");var g=a;if(g.length+b>this.byteLength)throw new js__$Boot_HaxeError("set() outside of range");for(var h=0,i=g.length;h<i;){var j=h++;this[j+b]=g[j]}}},js_html_compat_Uint8Array._subarray=function(a,b){var c=js_html_compat_Uint8Array._new(this.slice(a,b));return c.byteOffset=a,c};var kha_Canvas=function(){};$hxClasses["kha.Canvas"]=kha_Canvas,kha_Canvas.__name__=["kha","Canvas"],kha_Canvas.prototype={__class__:kha_Canvas,__properties__:{get_g4:"get_g4",get_height:"get_height",get_width:"get_width"}};var kha_Resource=function(){};$hxClasses["kha.Resource"]=kha_Resource,kha_Resource.__name__=["kha","Resource"],kha_Resource.prototype={__class__:kha_Resource};var kha_Image=function(){};$hxClasses["kha.Image"]=kha_Image,kha_Image.__name__=["kha","Image"],kha_Image.__interfaces__=[kha_Resource,kha_Canvas],kha_Image.__properties__={get_nonPow2Supported:"get_nonPow2Supported"},kha_Image.create=function(a,b,c,d){return null==c&&(c=kha_graphics4_TextureFormat.RGBA32),null==d&&(d=kha_graphics4_Usage.StaticUsage),null==kha_SystemImpl.gl?new kha_CanvasImage(a,b,c,!1):new kha_WebGLImage(a,b,c,!1,0)},kha_Image.create3D=function(a,b,c,d,e){return null},kha_Image.createRenderTarget=function(a,b,c,d,e,f){return null==f&&(f=0),null==e&&(e=1),null==d&&(d=0),null==c&&(c=kha_graphics4_TextureFormat.RGBA32),null==kha_SystemImpl.gl?new kha_CanvasImage(a,b,c,!0):new kha_WebGLImage(a,b,c,!0,d)},kha_Image.fromImage=function(a,b){if(null==kha_SystemImpl.gl){var c=new kha_CanvasImage(a.width,a.height,kha_graphics4_TextureFormat.RGBA32,!1);return c.image=a,c.createTexture(),c}var d=new kha_WebGLImage(a.width,a.height,kha_graphics4_TextureFormat.RGBA32,!1,0);return d.image=a,d.createTexture(),d},kha_Image.fromBytes=function(a,b,c,d,e){if(null==d&&(d=kha_graphics4_TextureFormat.RGBA32),null==e&&(e=kha_graphics4_Usage.StaticUsage),null!=kha_SystemImpl.gl){var f=new kha_WebGLImage(b,c,d,!1,0);return f.image=f.bytesToArray(a),f.createTexture(),f}return null},kha_Image.fromVideo=function(a){if(null==kha_SystemImpl.gl){var b=new kha_CanvasImage(a.element.videoWidth,a.element.videoHeight,kha_graphics4_TextureFormat.RGBA32,!1);return b.video=a.element,b.createTexture(),b}var c=new kha_WebGLImage(a.element.videoWidth,a.element.videoHeight,kha_graphics4_TextureFormat.RGBA32,!1,0);return c.video=a.element,c.createTexture(),c},kha_Image.get_nonPow2Supported=function(){return null!=kha_SystemImpl.gl},kha_Image.prototype={unload:function(){},generateMipmaps:function(a){},setMipmaps:function(a){},setDepthStencilFrom:function(a){},clear:function(a,b,c,d,e,f,g){},get_width:function(){return 0},get_height:function(){return 0},get_depth:function(){return 1},get_realWidth:function(){return 0},get_realHeight:function(){return 0},get_g2:function(){return null},get_g4:function(){return null},__class__:kha_Image,__properties__:{get_g4:"get_g4",get_g2:"get_g2",get_realHeight:"get_realHeight",get_realWidth:"get_realWidth",get_depth:"get_depth",get_height:"get_height",get_width:"get_width"}};var kha_CanvasImage=function(a,b,c,d){this.g2canvas=null,this.myWidth=a,this.myHeight=b,this.format=c,this.renderTarget=d,this.image=null,this.video=null,d&&this.createTexture()};$hxClasses["kha.CanvasImage"]=kha_CanvasImage,kha_CanvasImage.__name__=["kha","CanvasImage"],kha_CanvasImage.init=function(){var a=window.document.createElement("canvas");null!=a&&(kha_CanvasImage.context=a.getContext("2d"),a.width=2048,a.height=2048,kha_CanvasImage.context.globalCompositeOperation="copy")},kha_CanvasImage.__super__=kha_Image,kha_CanvasImage.prototype=$extend(kha_Image.prototype,{get_g2:function(){if(null==this.g2canvas){var a=window.document.createElement("canvas");this.image=a;var b=a.getContext("2d");a.width=this.get_width(),a.height=this.get_height(),this.g2canvas=new kha_js_CanvasGraphics(b)}return this.g2canvas},get_g4:function(){return null},get_width:function(){return this.myWidth},get_height:function(){return this.myHeight},get_realWidth:function(){return this.myWidth},get_realHeight:function(){return this.myHeight},createTexture:function(){null!=kha_SystemImpl.gl&&(this.texture=kha_SystemImpl.gl.createTexture(),kha_SystemImpl.gl.bindTexture(3553,this.texture),kha_SystemImpl.gl.texParameteri(3553,10240,9729),kha_SystemImpl.gl.texParameteri(3553,10241,9729),kha_SystemImpl.gl.texParameteri(3553,10242,33071),kha_SystemImpl.gl.texParameteri(3553,10243,33071),this.renderTarget?(this.frameBuffer=kha_SystemImpl.gl.createFramebuffer(),kha_SystemImpl.gl.bindFramebuffer(36160,this.frameBuffer),kha_SystemImpl.gl.texImage2D(3553,0,6408,this.get_realWidth(),this.get_realHeight(),0,6408,5121,null),kha_SystemImpl.gl.framebufferTexture2D(36160,36064,3553,this.texture,0),kha_SystemImpl.gl.bindFramebuffer(36160,null)):null!=this.video?kha_SystemImpl.gl.texImage2D(3553,0,6408,6408,5121,this.video):kha_SystemImpl.gl.texImage2D(3553,0,6408,6408,5121,this.image),kha_SystemImpl.gl.bindTexture(3553,null))},unload:function(){this.image=null,this.video=null,this.data=null},__class__:kha_CanvasImage});var kha__$Color_Color_$Impl_$=$hx_exports.kha._Color.Color_Impl_={};$hxClasses["kha._Color.Color_Impl_"]=kha__$Color_Color_$Impl_$,kha__$Color_Color_$Impl_$.__name__=["kha","_Color","Color_Impl_"],kha__$Color_Color_$Impl_$.fromBytes=function(a,b,c,d){return null==d&&(d=255),kha__$Color_Color_$Impl_$._new(d<<24|a<<16|b<<8|c)},kha__$Color_Color_$Impl_$.fromString=function(a){if(7!=a.length&&9!=a.length||35!=a.charCodeAt(0))throw new js__$Boot_HaxeError("Invalid Color string: '"+a+"'");var b=Std.parseInt("0x"+HxOverrides.substr(a,1,null));return 7==a.length&&(b+=-16777216),kha__$Color_Color_$Impl_$._new(b)},kha__$Color_Color_$Impl_$._new=function(a){return a};var kha_CompilerDefines=function(){};$hxClasses["kha.CompilerDefines"]=kha_CompilerDefines,kha_CompilerDefines.__name__=["kha","CompilerDefines"];var kha_EnvironmentVariables=function(){};$hxClasses["kha.EnvironmentVariables"]=kha_EnvironmentVariables,kha_EnvironmentVariables.__name__=["kha","EnvironmentVariables"],kha_EnvironmentVariables.prototype={__class__:kha_EnvironmentVariables};var kha_Font=function(){};$hxClasses["kha.Font"]=kha_Font,kha_Font.__name__=["kha","Font"],kha_Font.__interfaces__=[kha_Resource];var kha_Framebuffer=function(a,b,c,d){this.windowId=a,this.graphics1=b,this.graphics2=c,this.graphics4=d};$hxClasses["kha.Framebuffer"]=kha_Framebuffer,kha_Framebuffer.__name__=["kha","Framebuffer"],kha_Framebuffer.__interfaces__=[kha_Canvas],kha_Framebuffer.prototype={init:function(a,b,c){this.graphics1=a,this.graphics2=b,this.graphics4=c},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"}};var kha_Key=$hxClasses["kha.Key"]={__ename__:!0,__constructs__:["BACKSPACE","TAB","ENTER","SHIFT","CTRL","ALT","CHAR","ESC","DEL","UP","DOWN","LEFT","RIGHT","BACK"]};kha_Key.BACKSPACE=["BACKSPACE",0],kha_Key.BACKSPACE.toString=$estr,kha_Key.BACKSPACE.__enum__=kha_Key,kha_Key.TAB=["TAB",1],kha_Key.TAB.toString=$estr,kha_Key.TAB.__enum__=kha_Key,kha_Key.ENTER=["ENTER",2],kha_Key.ENTER.toString=$estr,kha_Key.ENTER.__enum__=kha_Key,kha_Key.SHIFT=["SHIFT",3],kha_Key.SHIFT.toString=$estr,kha_Key.SHIFT.__enum__=kha_Key,kha_Key.CTRL=["CTRL",4],kha_Key.CTRL.toString=$estr,kha_Key.CTRL.__enum__=kha_Key,kha_Key.ALT=["ALT",5],kha_Key.ALT.toString=$estr,kha_Key.ALT.__enum__=kha_Key,kha_Key.CHAR=["CHAR",6],kha_Key.CHAR.toString=$estr,kha_Key.CHAR.__enum__=kha_Key,kha_Key.ESC=["ESC",7],kha_Key.ESC.toString=$estr,kha_Key.ESC.__enum__=kha_Key,kha_Key.DEL=["DEL",8],kha_Key.DEL.toString=$estr,kha_Key.DEL.__enum__=kha_Key,kha_Key.UP=["UP",9],kha_Key.UP.toString=$estr,kha_Key.UP.__enum__=kha_Key,kha_Key.DOWN=["DOWN",10],kha_Key.DOWN.toString=$estr,kha_Key.DOWN.__enum__=kha_Key,kha_Key.LEFT=["LEFT",11],kha_Key.LEFT.toString=$estr,kha_Key.LEFT.__enum__=kha_Key,kha_Key.RIGHT=["RIGHT",12],kha_Key.RIGHT.toString=$estr,kha_Key.RIGHT.__enum__=kha_Key,kha_Key.BACK=["BACK",13],kha_Key.BACK.toString=$estr,kha_Key.BACK.__enum__=kha_Key;var kha_KravurImage=function(){};$hxClasses["kha.KravurImage"]=kha_KravurImage,kha_KravurImage.__name__=["kha","KravurImage"];var kha_Kravur=function(a){this.images=new haxe_ds_IntMap,this.blob=a};$hxClasses["kha.Kravur"]=kha_Kravur,kha_Kravur.__name__=["kha","Kravur"],kha_Kravur.__interfaces__=[kha_Font],kha_Kravur.prototype={unload:function(){this.blob=null,this.images=null},__class__:kha_Kravur};var kha_LoaderImpl=function(){};$hxClasses["kha.LoaderImpl"]=kha_LoaderImpl,kha_LoaderImpl.__name__=["kha","LoaderImpl"],kha_LoaderImpl.loadImageFromDescription=function(a,b){var c=Object.prototype.hasOwnProperty.call(a,"readable")&&a.readable;if(StringTools.endsWith(a.files[0],".hdr"))kha_LoaderImpl.loadBlobFromDescription(a,function(a){var d=kha_internal_HdrFormat.parse(a.toBytes()),e=kha_Image.fromBytes(haxe_io_Bytes.ofData(d.data.buffer),d.width,d.height,kha_graphics4_TextureFormat.RGBA128,c?kha_graphics4_Usage.DynamicUsage:kha_graphics4_Usage.StaticUsage);b(e)});else{var d=window.document.createElement("img");d.onload=function(a){var e=kha_Image.fromImage(d,c);b(e)},d.src=a.files[0],d.crossOrigin=""}},kha_LoaderImpl.loadSoundFromDescription=function(a,b){if(kha_SystemImpl._hasWebAudio){if(""!=window.document.createElement("audio").canPlayType("audio/mp4"))for(var d=0,e=a.files.length;d<e;){var f=d++,g=a.files[f];if(StringTools.endsWith(g,".mp4"))return void new kha_js_WebAudioSound(g,b)}for(var h=0,i=a.files.length;h<i;){var j=h++,k=a.files[j];if(StringTools.endsWith(k,".ogg"))return void new kha_js_WebAudioSound(k,b)}}else if(kha_SystemImpl.mobile){var l=window.document.createElement("audio");if(""!=l.canPlayType("audio/mp4"))for(var m=0,n=a.files.length;m<n;){var o=m++,p=a.files[o];if(StringTools.endsWith(p,".mp4"))return void new kha_js_MobileWebAudioSound(p,b)}for(var q=0,r=a.files.length;q<r;){var s=q++,t=a.files[s];if(StringTools.endsWith(t,".ogg"))return void new kha_js_MobileWebAudioSound(t,b)}}else new kha_js_Sound(a.files,b)},kha_LoaderImpl.loadVideoFromDescription=function(a,b){new kha_js_Video(a.files,b)},kha_LoaderImpl.loadBlobFromDescription=function(a,b){var c=new XMLHttpRequest;c.open("GET",a.files[0],!0),c.responseType="arraybuffer",c.onreadystatechange=function(){if(4==c.readyState)if(c.status>=200&&c.status<400||0==c.status&&""==c.statusText){var d=null,e=c.response;if(null!=e){var f=new Uint8Array(e);d=new haxe_io_Bytes(new ArrayBuffer(f.byteLength));for(var g=0,h=f.byteLength;g<h;){var i=g++;d.b[i]=255&f[i]}}else if(null!=c.responseBody){var j=VBArray(c.responseBody).toArray();d=new haxe_io_Bytes(new ArrayBuffer(j.length));for(var k=0,l=j.length;k<l;){var m=k++;d.b[m]=255&j[m]}}else haxe_Log.trace("Error loading "+a.files[0],{fileName:"LoaderImpl.hx",lineNumber:145,className:"kha.LoaderImpl",methodName:"loadBlobFromDescription"}),window.console.log("loadBlob failed");b(new kha_internal_BytesBlob(d))}else haxe_Log.trace("Error loading "+a.files[0],{fileName:"LoaderImpl.hx",lineNumber:151,className:"kha.LoaderImpl",methodName:"loadBlobFromDescription"}),window.console.log("loadBlob failed")},c.send(null)},kha_LoaderImpl.loadFontFromDescription=function(a,b){kha_LoaderImpl.loadBlobFromDescription(a,function(a){b(null==kha_SystemImpl.gl?new kha_js_Font(new kha_Kravur(a)):new kha_Kravur(a))})};var kha_TimeTask=function(){};$hxClasses["kha.TimeTask"]=kha_TimeTask,kha_TimeTask.__name__=["kha","TimeTask"],kha_TimeTask.prototype={__class__:kha_TimeTask};var kha_FrameTask=function(){};$hxClasses["kha.FrameTask"]=kha_FrameTask,kha_FrameTask.__name__=["kha","FrameTask"],kha_FrameTask.prototype={__class__:kha_FrameTask};var kha_Scheduler=function(){};$hxClasses["kha.Scheduler"]=kha_Scheduler,kha_Scheduler.__name__=["kha","Scheduler"],kha_Scheduler.init=function(){kha_Scheduler.deltas=[];for(var a=0,b=kha_Scheduler.DIF_COUNT;a<b;){var c=a++;kha_Scheduler.deltas[c]=0}kha_Scheduler.stopped=!0,kha_Scheduler.frame_tasks_sorted=!0,kha_Scheduler.current=kha_Scheduler.realTime(),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(a){null==a&&(a=!1),kha_Scheduler.vsync=kha_System.get_vsync();var b=kha_System.get_refreshRate();b>=57&&b<=63&&(b=60),kha_Scheduler.onedifhz=1/b,kha_Scheduler.stopped=!1,kha_Scheduler.resetTime(),kha_Scheduler.lastTime=kha_Scheduler.realTime()-kha_Scheduler.startTime;for(var c=0,d=kha_Scheduler.DIF_COUNT;c<d;){var e=c++;kha_Scheduler.deltas[e]=0}if(a){for(var f=0,g=kha_Scheduler.timeTasks;f<g.length;){var h=g[f];++f,h.paused=!1}for(var i=0,j=kha_Scheduler.frameTasks;i<j.length;){var k=j[i];++i,k.paused=!1}}},kha_Scheduler.executeFrame=function(){var a=kha_Scheduler.realTime()-kha_Scheduler.startTime,b=a-kha_Scheduler.lastTime,c=kha_Scheduler.current;if(!(b<0)){if(b>kha_Scheduler.maxframetime)kha_Scheduler.startTime+=b-kha_Scheduler.maxframetime,b=kha_Scheduler.maxframetime,c+=b;else if(kha_Scheduler.vsync){for(var d=kha_Scheduler.onedifhz;d<b-kha_Scheduler.onedifhz;)d+=kha_Scheduler.onedifhz;b=d;for(var e=0,f=kha_Scheduler.DIF_COUNT-2;e<f;){var g=e++;b+=kha_Scheduler.deltas[g],kha_Scheduler.deltas[g]=kha_Scheduler.deltas[g+1]}b+=kha_Scheduler.deltas[kha_Scheduler.DIF_COUNT-2],b/=kha_Scheduler.DIF_COUNT,kha_Scheduler.deltas[kha_Scheduler.DIF_COUNT-2]=d,c+=b}else{for(var h=0,i=kha_Scheduler.DIF_COUNT-1;h<i;){var j=h++;kha_Scheduler.deltas[j]=kha_Scheduler.deltas[j+1]}kha_Scheduler.deltas[kha_Scheduler.DIF_COUNT-1]=b;for(var k=0,l=0,m=kha_Scheduler.DIF_COUNT;l<m;){var n=l++;k+=kha_Scheduler.deltas[n]}k/=kha_Scheduler.DIF_COUNT,c+=k}kha_Scheduler.lastTime=c,kha_Scheduler.stopped||(kha_Scheduler.current=c);for(var o=0,p=kha_Scheduler.pausedTimeTasks;o<p.length;){var q=p[o];++o,q.next+=b}if(kha_Scheduler.stopped)for(var r=0,s=kha_Scheduler.timeTasks;r<s.length;){var t=s[r];++r,t.next+=b}for(;kha_Scheduler.timeTasks.length>0&&(kha_Scheduler.activeTimeTask=kha_Scheduler.timeTasks[0],kha_Scheduler.activeTimeTask.next<=c);)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,c):(kha_Scheduler.activeTimeTask.active=!1,kha_Scheduler.archiveTimeTask(kha_Scheduler.activeTimeTask,c));kha_Scheduler.activeTimeTask=null,kha_Scheduler.sortFrameTasks();for(var u=0,v=kha_Scheduler.frameTasks;u<v.length;){var w=v[u];++u,kha_Scheduler.stopped||w.paused||!w.active||w.task()||(w.active=!1)}for(var x=0,y=kha_Scheduler.frameTasks;x<y.length;){var z=y[x];++x,z.active||kha_Scheduler.toDeleteFrame.push(z)}for(;kha_Scheduler.toDeleteFrame.length>0;)HxOverrides.remove(kha_Scheduler.frameTasks,kha_Scheduler.toDeleteFrame.pop())}},kha_Scheduler.archiveTimeTask=function(a,b){},kha_Scheduler.time=function(){return kha_Scheduler.current},kha_Scheduler.realTime=function(){return kha_System.get_time()},kha_Scheduler.resetTime=function(){var a=kha_System.get_time(),b=a-kha_Scheduler.startTime;kha_Scheduler.startTime=a;for(var c=0,d=kha_Scheduler.timeTasks;c<d.length;){var e=d[c];++c,e.start-=b,e.next-=b}for(var f=0,g=kha_Scheduler.DIF_COUNT;f<g;){var h=f++;kha_Scheduler.deltas[h]=0}kha_Scheduler.current=0,kha_Scheduler.lastTime=0},kha_Scheduler.addBreakableTimeTaskToGroup=function(a,b,c,d,e){null==e&&(e=0),null==d&&(d=0);var f=new kha_TimeTask;return f.active=!0,f.task=b,f.id=++kha_Scheduler.currentTimeTaskId,f.groupId=a,f.start=kha_Scheduler.current+c,f.period=0,0!=d&&(f.period=d),f.duration=0,0!=e&&(f.duration=f.start+e),f.next=f.start,kha_Scheduler.insertSorted(kha_Scheduler.timeTasks,f),f.id},kha_Scheduler.addTimeTaskToGroup=function(a,b,c,d,e){return null==e&&(e=0),null==d&&(d=0),kha_Scheduler.addBreakableTimeTaskToGroup(a,function(){return b(),!0},c,d,e)},kha_Scheduler.addTimeTask=function(a,b,c,d){return null==d&&(d=0),null==c&&(c=0),kha_Scheduler.addTimeTaskToGroup(0,a,b,c,d)},kha_Scheduler.insertSorted=function(a,b){for(var c=0,d=a.length;c<d;){var e=c++;if(a[e].next>b.next)return void a.splice(e,0,b)}a.push(b)},kha_Scheduler.sortFrameTasks=function(){kha_Scheduler.frame_tasks_sorted||(kha_Scheduler.frameTasks.sort(function(a,b){return a.priority>b.priority?1:a.priority<b.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=function(){};$hxClasses["kha.Shaders"]=kha_Shaders,kha_Shaders.__name__=["kha","Shaders"],kha_Shaders.init=function(){for(var a=[],b=0;b<1;){var c=b++,d=Reflect.field(kha_Shaders,"Leaves_004_mesh_fragData"+c),e=haxe_Unserializer.run(d);a.push(kha_internal_BytesBlob.fromBytes(e))}kha_Shaders.Leaves_004_mesh_frag=new kha_graphics4_FragmentShader(a,["Leaves_004_mesh.frag.essl"]);for(var f=[],g=0;g<1;){var h=g++,i=Reflect.field(kha_Shaders,"Leaves_004_mesh_vertData"+h),j=haxe_Unserializer.run(i);f.push(kha_internal_BytesBlob.fromBytes(j))}kha_Shaders.Leaves_004_mesh_vert=new kha_graphics4_VertexShader(f,["Leaves_004_mesh.vert.essl"]);for(var k=[],l=0;l<1;){var m=l++,n=Reflect.field(kha_Shaders,"Leaves_004_shadowmap_fragData"+m),o=haxe_Unserializer.run(n);k.push(kha_internal_BytesBlob.fromBytes(o))}kha_Shaders.Leaves_004_shadowmap_frag=new kha_graphics4_FragmentShader(k,["Leaves_004_shadowmap.frag.essl"]);for(var p=[],q=0;q<1;){var r=q++,s=Reflect.field(kha_Shaders,"Leaves_004_shadowmap_vertData"+r),t=haxe_Unserializer.run(s);p.push(kha_internal_BytesBlob.fromBytes(t))}kha_Shaders.Leaves_004_shadowmap_vert=new kha_graphics4_VertexShader(p,["Leaves_004_shadowmap.vert.essl"]);for(var u=[],v=0;v<1;){var w=v++,x=Reflect.field(kha_Shaders,"Material_004_mesh_fragData"+w),y=haxe_Unserializer.run(x);u.push(kha_internal_BytesBlob.fromBytes(y))}kha_Shaders.Material_004_mesh_frag=new kha_graphics4_FragmentShader(u,["Material_004_mesh.frag.essl"]);for(var z=[],A=0;A<1;){var B=A++,C=Reflect.field(kha_Shaders,"Material_004_mesh_vertData"+B),D=haxe_Unserializer.run(C);z.push(kha_internal_BytesBlob.fromBytes(D))}kha_Shaders.Material_004_mesh_vert=new kha_graphics4_VertexShader(z,["Material_004_mesh.vert.essl"]);for(var E=[],F=0;F<1;){var G=F++,H=Reflect.field(kha_Shaders,"Material_004_shadowmap_fragData"+G),I=haxe_Unserializer.run(H);E.push(kha_internal_BytesBlob.fromBytes(I))}kha_Shaders.Material_004_shadowmap_frag=new kha_graphics4_FragmentShader(E,["Material_004_shadowmap.frag.essl"]);for(var J=[],K=0;K<1;){var L=K++,M=Reflect.field(kha_Shaders,"Material_004_shadowmap_vertData"+L),N=haxe_Unserializer.run(M);J.push(kha_internal_BytesBlob.fromBytes(N))}kha_Shaders.Material_004_shadowmap_vert=new kha_graphics4_VertexShader(J,["Material_004_shadowmap.vert.essl"]);for(var O=[],P=0;P<1;){var Q=P++,R=Reflect.field(kha_Shaders,"Material_007_mesh_fragData"+Q),S=haxe_Unserializer.run(R);O.push(kha_internal_BytesBlob.fromBytes(S))}kha_Shaders.Material_007_mesh_frag=new kha_graphics4_FragmentShader(O,["Material_007_mesh.frag.essl"]);for(var T=[],U=0;U<1;){var V=U++,W=Reflect.field(kha_Shaders,"Material_007_mesh_vertData"+V),X=haxe_Unserializer.run(W);T.push(kha_internal_BytesBlob.fromBytes(X))}kha_Shaders.Material_007_mesh_vert=new kha_graphics4_VertexShader(T,["Material_007_mesh.vert.essl"]);for(var Y=[],Z=0;Z<1;){var $=Z++,_=Reflect.field(kha_Shaders,"Material_007_shadowmap_fragData"+$),aa=haxe_Unserializer.run(_);Y.push(kha_internal_BytesBlob.fromBytes(aa))}kha_Shaders.Material_007_shadowmap_frag=new kha_graphics4_FragmentShader(Y,["Material_007_shadowmap.frag.essl"]);for(var ba=[],ca=0;ca<1;){var da=ca++,ea=Reflect.field(kha_Shaders,"Material_007_shadowmap_vertData"+da),fa=haxe_Unserializer.run(ea);ba.push(kha_internal_BytesBlob.fromBytes(fa))}kha_Shaders.Material_007_shadowmap_vert=new kha_graphics4_VertexShader(ba,["Material_007_shadowmap.vert.essl"]);for(var ga=[],ha=0;ha<1;){var ia=ha++,ja=Reflect.field(kha_Shaders,"Material_008_mesh_fragData"+ia),ka=haxe_Unserializer.run(ja);ga.push(kha_internal_BytesBlob.fromBytes(ka))}kha_Shaders.Material_008_mesh_frag=new kha_graphics4_FragmentShader(ga,["Material_008_mesh.frag.essl"]);for(var la=[],ma=0;ma<1;){var na=ma++,oa=Reflect.field(kha_Shaders,"Material_008_mesh_vertData"+na),pa=haxe_Unserializer.run(oa);la.push(kha_internal_BytesBlob.fromBytes(pa))}kha_Shaders.Material_008_mesh_vert=new kha_graphics4_VertexShader(la,["Material_008_mesh.vert.essl"]);for(var qa=[],ra=0;ra<1;){var sa=ra++,ta=Reflect.field(kha_Shaders,"Material_008_shadowmap_fragData"+sa),ua=haxe_Unserializer.run(ta);qa.push(kha_internal_BytesBlob.fromBytes(ua))}kha_Shaders.Material_008_shadowmap_frag=new kha_graphics4_FragmentShader(qa,["Material_008_shadowmap.frag.essl"]);for(var va=[],wa=0;wa<1;){var xa=wa++,ya=Reflect.field(kha_Shaders,"Material_008_shadowmap_vertData"+xa),za=haxe_Unserializer.run(ya);va.push(kha_internal_BytesBlob.fromBytes(za))}kha_Shaders.Material_008_shadowmap_vert=new kha_graphics4_VertexShader(va,["Material_008_shadowmap.vert.essl"]);for(var Aa=[],Ba=0;Ba<1;){var Ca=Ba++,Da=Reflect.field(kha_Shaders,"Wood_mesh_fragData"+Ca),Ea=haxe_Unserializer.run(Da);Aa.push(kha_internal_BytesBlob.fromBytes(Ea))}kha_Shaders.Wood_mesh_frag=new kha_graphics4_FragmentShader(Aa,["Wood_mesh.frag.essl"]);for(var Fa=[],Ga=0;Ga<1;){var Ha=Ga++,Ia=Reflect.field(kha_Shaders,"Wood_mesh_vertData"+Ha),Ja=haxe_Unserializer.run(Ia);Fa.push(kha_internal_BytesBlob.fromBytes(Ja))}kha_Shaders.Wood_mesh_vert=new kha_graphics4_VertexShader(Fa,["Wood_mesh.vert.essl"]);for(var Ka=[],La=0;La<1;){var Ma=La++,Na=Reflect.field(kha_Shaders,"Wood_shadowmap_fragData"+Ma),Oa=haxe_Unserializer.run(Na);Ka.push(kha_internal_BytesBlob.fromBytes(Oa))}kha_Shaders.Wood_shadowmap_frag=new kha_graphics4_FragmentShader(Ka,["Wood_shadowmap.frag.essl"]);for(var Pa=[],Qa=0;Qa<1;){var Ra=Qa++,Sa=Reflect.field(kha_Shaders,"Wood_shadowmap_vertData"+Ra),Ta=haxe_Unserializer.run(Sa);Pa.push(kha_internal_BytesBlob.fromBytes(Ta))}kha_Shaders.Wood_shadowmap_vert=new kha_graphics4_VertexShader(Pa,["Wood_shadowmap.vert.essl"]);for(var Ua=[],Va=0;Va<1;){var Wa=Va++,Xa=Reflect.field(kha_Shaders,"grass_mesh_fragData"+Wa),Ya=haxe_Unserializer.run(Xa);Ua.push(kha_internal_BytesBlob.fromBytes(Ya))}kha_Shaders.grass_mesh_frag=new kha_graphics4_FragmentShader(Ua,["grass_mesh.frag.essl"]);for(var Za=[],$a=0;$a<1;){var _a=$a++,ab=Reflect.field(kha_Shaders,"grass_mesh_vertData"+_a),bb=haxe_Unserializer.run(ab);Za.push(kha_internal_BytesBlob.fromBytes(bb))}kha_Shaders.grass_mesh_vert=new kha_graphics4_VertexShader(Za,["grass_mesh.vert.essl"]);for(var cb=[],db=0;db<1;){var eb=db++,fb=Reflect.field(kha_Shaders,"grass_shadowmap_fragData"+eb),gb=haxe_Unserializer.run(fb);cb.push(kha_internal_BytesBlob.fromBytes(gb))}kha_Shaders.grass_shadowmap_frag=new kha_graphics4_FragmentShader(cb,["grass_shadowmap.frag.essl"]);for(var hb=[],ib=0;ib<1;){var jb=ib++,kb=Reflect.field(kha_Shaders,"grass_shadowmap_vertData"+jb),lb=haxe_Unserializer.run(kb);hb.push(kha_internal_BytesBlob.fromBytes(lb))}kha_Shaders.grass_shadowmap_vert=new kha_graphics4_VertexShader(hb,["grass_shadowmap.vert.essl"]);for(var mb=[],nb=0;nb<1;){var ob=nb++,pb=Reflect.field(kha_Shaders,"stone_mesh_fragData"+ob),qb=haxe_Unserializer.run(pb);mb.push(kha_internal_BytesBlob.fromBytes(qb))}kha_Shaders.stone_mesh_frag=new kha_graphics4_FragmentShader(mb,["stone_mesh.frag.essl"]);for(var rb=[],sb=0;sb<1;){var tb=sb++,ub=Reflect.field(kha_Shaders,"stone_mesh_vertData"+tb),vb=haxe_Unserializer.run(ub);rb.push(kha_internal_BytesBlob.fromBytes(vb))}kha_Shaders.stone_mesh_vert=new kha_graphics4_VertexShader(rb,["stone_mesh.vert.essl"]);for(var wb=[],xb=0;xb<1;){var yb=xb++,zb=Reflect.field(kha_Shaders,"stone_shadowmap_fragData"+yb),Ab=haxe_Unserializer.run(zb);wb.push(kha_internal_BytesBlob.fromBytes(Ab))}kha_Shaders.stone_shadowmap_frag=new kha_graphics4_FragmentShader(wb,["stone_shadowmap.frag.essl"]);for(var Bb=[],Cb=0;Cb<1;){var Db=Cb++,Eb=Reflect.field(kha_Shaders,"stone_shadowmap_vertData"+Db),Fb=haxe_Unserializer.run(Eb);Bb.push(kha_internal_BytesBlob.fromBytes(Fb))}kha_Shaders.stone_shadowmap_vert=new kha_graphics4_VertexShader(Bb,["stone_shadowmap.vert.essl"]);for(var Gb=[],Hb=0;Hb<1;){var Ib=Hb++,Jb=Reflect.field(kha_Shaders,"world_Irr_EnvCol_LDR_VR_fragData"+Ib),Kb=haxe_Unserializer.run(Jb);Gb.push(kha_internal_BytesBlob.fromBytes(Kb))}kha_Shaders.world_Irr_EnvCol_LDR_VR_frag=new kha_graphics4_FragmentShader(Gb,["world_Irr_EnvCol_LDR_VR.frag.essl"]);for(var Lb=[],Mb=0;Mb<1;){var Nb=Mb++,Ob=Reflect.field(kha_Shaders,"world_Irr_EnvCol_LDR_VR_vertData"+Nb),Pb=haxe_Unserializer.run(Ob);Lb.push(kha_internal_BytesBlob.fromBytes(Pb))}kha_Shaders.world_Irr_EnvCol_LDR_VR_vert=new kha_graphics4_VertexShader(Lb,["world_Irr_EnvCol_LDR_VR.vert.essl"]);for(var Qb=[],Rb=0;Rb<1;){var Sb=Rb++,Tb=Reflect.field(kha_Shaders,"painter_colored_fragData"+Sb),Ub=haxe_Unserializer.run(Tb);Qb.push(kha_internal_BytesBlob.fromBytes(Ub))}kha_Shaders.painter_colored_frag=new kha_graphics4_FragmentShader(Qb,["painter-colored.frag.essl"]);for(var Vb=[],Wb=0;Wb<1;){var Xb=Wb++,Yb=Reflect.field(kha_Shaders,"painter_colored_vertData"+Xb),Zb=haxe_Unserializer.run(Yb);Vb.push(kha_internal_BytesBlob.fromBytes(Zb))}kha_Shaders.painter_colored_vert=new kha_graphics4_VertexShader(Vb,["painter-colored.vert.essl"]);for(var $b=[],_b=0;_b<1;){var ac=_b++,bc=Reflect.field(kha_Shaders,"painter_image_fragData"+ac),cc=haxe_Unserializer.run(bc);$b.push(kha_internal_BytesBlob.fromBytes(cc))}kha_Shaders.painter_image_frag=new kha_graphics4_FragmentShader($b,["painter-image.frag.essl"]);for(var dc=[],ec=0;ec<1;){var fc=ec++,gc=Reflect.field(kha_Shaders,"painter_image_vertData"+fc),hc=haxe_Unserializer.run(gc);dc.push(kha_internal_BytesBlob.fromBytes(hc))}kha_Shaders.painter_image_vert=new kha_graphics4_VertexShader(dc,["painter-image.vert.essl"]);for(var ic=[],jc=0;jc<1;){var kc=jc++,lc=Reflect.field(kha_Shaders,"painter_text_fragData"+kc),mc=haxe_Unserializer.run(lc);ic.push(kha_internal_BytesBlob.fromBytes(mc))}kha_Shaders.painter_text_frag=new kha_graphics4_FragmentShader(ic,["painter-text.frag.essl"]);for(var nc=[],oc=0;oc<1;){var pc=oc++,qc=Reflect.field(kha_Shaders,"painter_text_vertData"+pc),rc=haxe_Unserializer.run(qc);nc.push(kha_internal_BytesBlob.fromBytes(rc))}kha_Shaders.painter_text_vert=new kha_graphics4_VertexShader(nc,["painter-text.vert.essl"]);for(var sc=[],tc=0;tc<1;){var uc=tc++,vc=Reflect.field(kha_Shaders,"painter_video_fragData"+uc),wc=haxe_Unserializer.run(vc);sc.push(kha_internal_BytesBlob.fromBytes(wc))}kha_Shaders.painter_video_frag=new kha_graphics4_FragmentShader(sc,["painter-video.frag.essl"]);for(var xc=[],yc=0;yc<1;){var zc=yc++,Ac=Reflect.field(kha_Shaders,"painter_video_vertData"+zc),Bc=haxe_Unserializer.run(Ac);xc.push(kha_internal_BytesBlob.fromBytes(Bc))}kha_Shaders.painter_video_vert=new kha_graphics4_VertexShader(xc,["painter-video.vert.essl"])};var kha_Sound=function(){};$hxClasses["kha.Sound"]=kha_Sound,kha_Sound.__name__=["kha","Sound"],kha_Sound.__interfaces__=[kha_Resource],kha_Sound.prototype={uncompress:function(a){var b=new haxe_io_BytesOutput,c=kha_audio2_ogg_vorbis_Reader.readAll(this.compressedData,b,!0),d=b.getBytes(),e=d.length/4|0;if(1==c.channel){var f=new Array(2*e);this.uncompressedData=f;for(var g=0,h=e;g<h;){var i=g++;this.uncompressedData[2*i]=d.getFloat(4*i),this.uncompressedData[2*i+1]=d.getFloat(4*i)}}else{var j=new Array(e);this.uncompressedData=j;for(var k=0,l=e;k<l;){var m=k++;this.uncompressedData[m]=d.getFloat(4*m)}}this.compressedData=null,a()},unload:function(){this.compressedData=null,this.uncompressedData=null},__class__:kha_Sound};var kha_System=function(){};$hxClasses["kha.System"]=kha_System,kha_System.__name__=["kha","System"],kha_System.__properties__={get_refreshRate:"get_refreshRate",get_vsync:"get_vsync",get_time:"get_time"},kha_System.init=function(a,b){null==a.title&&(a.title="Kha"),null==a.width&&(a.width=800),null==a.height&&(a.height=600),null==a.samplesPerPixel&&(a.samplesPerPixel=1),null==a.vSync&&(a.vSync=!0),null==a.windowMode&&(a.windowMode=kha_WindowMode.Window),kha_System.theTitle=a.title,kha_SystemImpl.init(a,b)},kha_System.notifyOnRender=function(a,b){for(null==b&&(b=0);b>=kha_System.renderListeners.length;)kha_System.renderListeners.push([]);kha_System.renderListeners[b].push(a)},kha_System.render=function(a,b){if(0!=kha_System.renderListeners.length)for(var c=0,d=kha_System.renderListeners[a];c<d.length;){var e=d[c];++c,e(b)}},kha_System.foreground=function(){for(var a=0,b=kha_System.foregroundListeners;a<b.length;){var c=b[a];++a,c()}},kha_System.background=function(){for(var a=0,b=kha_System.backgroundListeners;a<b.length;){var c=b[a];++a,c()}},kha_System.get_time=function(){return kha_SystemImpl.getTime()},kha_System.windowWidth=function(a){return null==a&&(a=0),kha_SystemImpl.windowWidth(a)},kha_System.windowHeight=function(a){return null==a&&(a=0),kha_SystemImpl.windowHeight(a)},kha_System.get_vsync=function(){return kha_SystemImpl.getVsync()},kha_System.get_refreshRate=function(){return kha_SystemImpl.getRefreshRate()};var kha_GamepadStates=function(){this.axes=[],this.buttons=[]};$hxClasses["kha.GamepadStates"]=kha_GamepadStates,kha_GamepadStates.__name__=["kha","GamepadStates"],kha_GamepadStates.prototype={__class__:kha_GamepadStates};var kha_SystemImpl=function(){};$hxClasses["kha.SystemImpl"]=kha_SystemImpl,kha_SystemImpl.__name__=["kha","SystemImpl"],kha_SystemImpl.initPerformanceTimer=function(){null!=window.performance&&null!=($_=window.performance,$bind($_,$_.now))?kha_SystemImpl.performance=window.performance:kha_SystemImpl.performance=window.Date},kha_SystemImpl.init=function(a,b){kha_SystemImpl.options=a,kha_SystemImpl.mobile=kha_SystemImpl.isMobile(),kha_SystemImpl.chrome=kha_SystemImpl.isChrome(),kha_SystemImpl.init2(),b()},kha_SystemImpl.isMobile=function(){var a=window.navigator.userAgent;return a.indexOf("Android")>=0||a.indexOf("webOS")>=0||a.indexOf("iPhone")>=0||a.indexOf("iPad")>=0||a.indexOf("iPod")>=0||a.indexOf("BlackBerry")>=0||a.indexOf("Windows Phone")>=0},kha_SystemImpl.isChrome=function(){return window.navigator.userAgent.indexOf("Chrome")>=0},kha_SystemImpl.windowWidth=function(a){return null==a&&(a=0),0==kha_SystemImpl.khanvas.width&&null!=kha_SystemImpl.options.width?kha_SystemImpl.options.width:kha_SystemImpl.khanvas.width},kha_SystemImpl.windowHeight=function(a){return null==a&&(a=0),0==kha_SystemImpl.khanvas.height&&null!=kha_SystemImpl.options.height?kha_SystemImpl.options.height:kha_SystemImpl.khanvas.height},kha_SystemImpl.setCanvas=function(a){kha_SystemImpl.khanvas=a},kha_SystemImpl.getTime=function(){return kha_SystemImpl.performance.now()/1e3},kha_SystemImpl.getVsync=function(){return!0},kha_SystemImpl.getRefreshRate=function(){return 60},kha_SystemImpl.init2=function(a){haxe_Log.trace=js_Boot.__trace,kha_SystemImpl.keyboard=new kha_input_Keyboard,kha_SystemImpl.mouse=new kha_input_MouseImpl,kha_SystemImpl.surface=new kha_input_Surface,kha_SystemImpl.gamepads=[],kha_SystemImpl.gamepadStates=[];for(var b=0,c=kha_SystemImpl.maxGamepads;b<c;){var d=b++;kha_SystemImpl.gamepads[d]=new kha_input_Gamepad(d),kha_SystemImpl.gamepadStates[d]=new kha_GamepadStates}kha_SystemImpl.pressedKeys=[];for(var e=0;e<256;){e++;kha_SystemImpl.pressedKeys.push(!1)}for(var g=0;g<256;){g++;kha_SystemImpl.pressedKeys.push(null)}kha_SystemImpl.buttonspressed=[];for(var i=0;i<10;){i++;kha_SystemImpl.buttonspressed.push(!1)}kha_CanvasImage.init(),kha_SystemImpl.initPerformanceTimer(),kha_Scheduler.init(),kha_SystemImpl.loadFinished(),kha_EnvironmentVariables.instance=new kha_js_EnvironmentVariables},kha_SystemImpl.getMouse=function(a){return 0!=a?null:kha_SystemImpl.mouse},kha_SystemImpl.getKeyboard=function(a){return 0!=a?null:kha_SystemImpl.keyboard},kha_SystemImpl.checkGamepadButton=function(a,b){kha_SystemImpl.buttonspressed[b]?a.buttons[b]<.5&&(kha_SystemImpl.buttonspressed[b]=!1):a.buttons[b]>.5&&(kha_SystemImpl.buttonspressed[b]=!0)},kha_SystemImpl.checkGamepad=function(a){for(var b=0,c=a.axes.length;b<c;){var d=b++;if(null!=a.axes[d]&&kha_SystemImpl.gamepadStates[a.index].axes[d]!=a.axes[d]){var e=a.axes[d];d%2==1&&(e=-e),kha_SystemImpl.gamepadStates[a.index].axes[d]=e,kha_SystemImpl.gamepads[a.index].sendAxisEvent(d,e)}}for(var f=0,g=a.buttons.length;f<g;){var h=f++;null!=a.buttons[h]&&kha_SystemImpl.gamepadStates[a.index].buttons[h]!=a.buttons[h].value&&(kha_SystemImpl.gamepadStates[a.index].buttons[h]=a.buttons[h].value,kha_SystemImpl.gamepads[a.index].sendButtonEvent(h,a.buttons[h].value))}a.axes.length<=4&&a.buttons.length>7&&(kha_SystemImpl.gamepadStates[a.index].axes[4]=a.buttons[6].value,kha_SystemImpl.gamepads[a.index].sendAxisEvent(4,a.buttons[6].value),kha_SystemImpl.gamepadStates[a.index].axes[5]=a.buttons[7].value,kha_SystemImpl.gamepads[a.index].sendAxisEvent(5,a.buttons[7].value))},kha_SystemImpl.loadFinished=function(){var a=kha_SystemImpl.khanvas;null==a&&(a=window.document.getElementById(kha_CompilerDefines.canvas_id)),a.style.cursor="default";var b=!1;try{kha_SystemImpl.gl=a.getContext("experimental-webgl",{alpha:!1,antialias:kha_SystemImpl.options.samplesPerPixel>1,stencil:!0,preserveDrawingBuffer:!0}),null!=kha_SystemImpl.gl&&(kha_SystemImpl.gl.pixelStorei(37441,1),kha_SystemImpl.gl.getExtension("OES_texture_float"),kha_SystemImpl.gl.getExtension("OES_texture_float_linear"),kha_SystemImpl.halfFloat=kha_SystemImpl.gl.getExtension("OES_texture_half_float"),kha_SystemImpl.gl.getExtension("OES_texture_half_float_linear"),kha_SystemImpl.depthTexture=kha_SystemImpl.gl.getExtension("WEBGL_depth_texture"),kha_SystemImpl.gl.getExtension("EXT_shader_texture_lod"),kha_SystemImpl.gl.getExtension("OES_standard_derivatives"),kha_SystemImpl.anisotropicFilter=kha_SystemImpl.gl.getExtension("EXT_texture_filter_anisotropic"),null==kha_SystemImpl.anisotropicFilter&&(kha_SystemImpl.anisotropicFilter=kha_SystemImpl.gl.getExtension("WEBKIT_EXT_texture_filter_anisotropic")),kha_SystemImpl.drawBuffers=kha_SystemImpl.gl.getExtension("WEBGL_draw_buffers"),kha_SystemImpl.elementIndexUint=kha_SystemImpl.gl.getExtension("OES_element_index_uint"),b=!0,kha_Shaders.init())}catch(a){a instanceof js__$Boot_HaxeError&&(a=a.val),haxe_Log.trace(a,{fileName:"SystemImpl.hx",lineNumber:317,className:"kha.SystemImpl",methodName:"loadFinished"})}if(kha_SystemImpl.setCanvas(a),b){var c=b?new kha_js_graphics4_Graphics:null;kha_SystemImpl.frame=new kha_Framebuffer(0,null,null,c),kha_SystemImpl.frame.init(new kha_graphics2_Graphics1(kha_SystemImpl.frame),new kha_js_graphics4_Graphics2(kha_SystemImpl.frame),c)}else{var d=new kha_js_CanvasGraphics(a.getContext("2d"));kha_SystemImpl.frame=new kha_Framebuffer(0,null,d,null),kha_SystemImpl.frame.init(new kha_graphics2_Graphics1(kha_SystemImpl.frame),d,null)}!kha_SystemImpl.mobile&&kha_audio2_Audio._init()?(kha_SystemImpl._hasWebAudio=!0,kha_audio2_Audio1._init()):kha_SystemImpl.mobile?(kha_SystemImpl._hasWebAudio=!1,kha_js_MobileWebAudio._init(),kha_audio2_Audio1=kha_js_MobileWebAudio):(kha_SystemImpl._hasWebAudio=!1,kha_js_AudioElementAudio._compile(),kha_audio2_Audio1=kha_js_AudioElementAudio),kha_vr_VrInterface.instance=new kha_js_vr_VrInterface,kha_Scheduler.start();var e=window,f=e.requestAnimationFrame;null==f&&(f=e.mozRequestAnimationFrame),null==f&&(f=e.webkitRequestAnimationFrame),null==f&&(f=e.msRequestAnimationFrame);var g=null;g=function(b){var c=window;if(null==f?c.setTimeout(g,16.666666666666668):f(g),!kha_vr_VrInterface.instance.IsVrEnabled()&&kha_SystemImpl.chrome||!kha_SystemImpl.chrome){var d=navigator.getGamepads&&navigator.getGamepads()||navigator.webkitGetGamepads&&navigator.webkitGetGamepads();if(null!=d)for(var e=0,h=d.length;e<h;){var i=e++,j=d[i];null!=j&&(kha_SystemImpl.checkGamepadButton(j,0),kha_SystemImpl.checkGamepadButton(j,1),kha_SystemImpl.checkGamepadButton(j,12),kha_SystemImpl.checkGamepadButton(j,13),kha_SystemImpl.checkGamepadButton(j,14),kha_SystemImpl.checkGamepadButton(j,15),kha_SystemImpl.checkGamepad(j))}}if(kha_Scheduler.executeFrame(),a.getContext){var k=a.clientWidth,l=a.clientHeight;a.width==k&&a.height==l||(a.width=k,a.height=l),kha_System.render(0,kha_SystemImpl.frame),null!=kha_SystemImpl.gl&&(kha_SystemImpl.gl.clearColor(1,1,1,1),kha_SystemImpl.gl.colorMask(!1,!1,!1,!0),kha_SystemImpl.gl.clear(16384),kha_SystemImpl.gl.colorMask(!0,!0,!0,!0))}};var h=g;null==f?e.setTimeout(h,16.666666666666668):f(h),null==a.getAttribute("tabindex")&&a.setAttribute("tabindex","0"),a.focus(),a.oncontextmenu=function(a){a.stopPropagation(),a.preventDefault()},a.onmousedown=kha_SystemImpl.mouseDown,a.onmousemove=kha_SystemImpl.mouseMove,null!=kha_SystemImpl.keyboard&&(a.onkeydown=kha_SystemImpl.keyDown,a.onkeyup=kha_SystemImpl.keyUp),a.onblur=kha_SystemImpl.onBlur,a.onfocus=kha_SystemImpl.onFocus,a.onmousewheel=a.onwheel=kha_SystemImpl.mouseWheel,a.onmouseleave=kha_SystemImpl.mouseLeave,a.addEventListener("wheel mousewheel",kha_SystemImpl.mouseWheel,!1),a.addEventListener("touchstart",kha_SystemImpl.touchDown,!1),a.addEventListener("touchend",kha_SystemImpl.touchUp,!1),a.addEventListener("touchmove",kha_SystemImpl.touchMove,!1),window.addEventListener("unload",kha_SystemImpl.unload)},kha_SystemImpl.unload=function(a){},kha_SystemImpl.setMouseXY=function(a){var b=kha_SystemImpl.khanvas.getBoundingClientRect(),c=kha_SystemImpl.khanvas.clientLeft,d=kha_SystemImpl.khanvas.clientTop;kha_SystemImpl.mouseX=(a.clientX-b.left-c)*kha_SystemImpl.khanvas.width/(b.width-2*c)|0,kha_SystemImpl.mouseY=(a.clientY-b.top-d)*kha_SystemImpl.khanvas.height/(b.height-2*d)|0},kha_SystemImpl.unlockSoundOnIOS=function(){if(kha_SystemImpl.mobile&&!kha_SystemImpl.iosSoundEnabled){var a=kha_js_MobileWebAudio._context.createBuffer(1,1,22050),b=kha_js_MobileWebAudio._context.createBufferSource();b.buffer=a,b.connect(kha_js_MobileWebAudio._context.destination),b.noteOn&&b.noteOn(0),kha_SystemImpl.iosSoundEnabled=!0}},kha_SystemImpl.mouseLeave=function(){kha_SystemImpl.mouse.sendLeaveEvent(0)},kha_SystemImpl.mouseWheel=function(a){return kha_SystemImpl.insideInputEvent=!0,kha_SystemImpl.unlockSoundOnIOS(),a.preventDefault(),0==a.deltaMode?(a.deltaY<0?kha_SystemImpl.mouse.sendWheelEvent(0,-1):a.deltaY>0&&kha_SystemImpl.mouse.sendWheelEvent(0,1),kha_SystemImpl.insideInputEvent=!1,!1):1==a.deltaMode?(kha_SystemImpl.minimumScroll=0|Math.min(kha_SystemImpl.minimumScroll,Math.abs(a.deltaY)),kha_SystemImpl.mouse.sendWheelEvent(0,a.deltaY/kha_SystemImpl.minimumScroll|0),kha_SystemImpl.insideInputEvent=!1,!1):(kha_SystemImpl.insideInputEvent=!1,!1)},kha_SystemImpl.mouseDown=function(a){kha_SystemImpl.insideInputEvent=!0,kha_SystemImpl.unlockSoundOnIOS(),kha_SystemImpl.setMouseXY(a),1==a.which?(a.ctrlKey?(kha_SystemImpl.leftMouseCtrlDown=!0,kha_SystemImpl.mouse.sendDownEvent(0,1,kha_SystemImpl.mouseX,kha_SystemImpl.mouseY)):(kha_SystemImpl.leftMouseCtrlDown=!1,kha_SystemImpl.mouse.sendDownEvent(0,0,kha_SystemImpl.mouseX,kha_SystemImpl.mouseY)),null!=($_=kha_SystemImpl.khanvas,$bind($_,$_.setCapture))&&kha_SystemImpl.khanvas.setCapture(),kha_SystemImpl.khanvas.ownerDocument.addEventListener("mouseup",kha_SystemImpl.mouseLeftUp)):2==a.which?(kha_SystemImpl.mouse.sendDownEvent(0,2,kha_SystemImpl.mouseX,kha_SystemImpl.mouseY),kha_SystemImpl.khanvas.ownerDocument.addEventListener("mouseup",kha_SystemImpl.mouseMiddleUp)):3==a.which&&(kha_SystemImpl.mouse.sendDownEvent(0,1,kha_SystemImpl.mouseX,kha_SystemImpl.mouseY),kha_SystemImpl.khanvas.ownerDocument.addEventListener("mouseup",kha_SystemImpl.mouseRightUp)),kha_SystemImpl.insideInputEvent=!1},kha_SystemImpl.mouseLeftUp=function(a){kha_SystemImpl.unlockSoundOnIOS(),1==a.which&&(kha_SystemImpl.insideInputEvent=!0,kha_SystemImpl.khanvas.ownerDocument.removeEventListener("mouseup",kha_SystemImpl.mouseLeftUp),null!=($_=kha_SystemImpl.khanvas,$bind($_,$_.releaseCapture))&&kha_SystemImpl.khanvas.ownerDocument.releaseCapture(),kha_SystemImpl.leftMouseCtrlDown?kha_SystemImpl.mouse.sendUpEvent(0,1,kha_SystemImpl.mouseX,kha_SystemImpl.mouseY):kha_SystemImpl.mouse.sendUpEvent(0,0,kha_SystemImpl.mouseX,kha_SystemImpl.mouseY),kha_SystemImpl.leftMouseCtrlDown=!1,kha_SystemImpl.insideInputEvent=!1)},kha_SystemImpl.mouseMiddleUp=function(a){kha_SystemImpl.unlockSoundOnIOS(),2==a.which&&(kha_SystemImpl.insideInputEvent=!0,kha_SystemImpl.khanvas.ownerDocument.removeEventListener("mouseup",kha_SystemImpl.mouseMiddleUp),kha_SystemImpl.mouse.sendUpEvent(0,2,kha_SystemImpl.mouseX,kha_SystemImpl.mouseY),kha_SystemImpl.insideInputEvent=!1)},kha_SystemImpl.mouseRightUp=function(a){kha_SystemImpl.unlockSoundOnIOS(),3==a.which&&(kha_SystemImpl.insideInputEvent=!0,kha_SystemImpl.khanvas.ownerDocument.removeEventListener("mouseup",kha_SystemImpl.mouseRightUp),kha_SystemImpl.mouse.sendUpEvent(0,1,kha_SystemImpl.mouseX,kha_SystemImpl.mouseY),kha_SystemImpl.insideInputEvent=!1)},kha_SystemImpl.mouseMove=function(a){kha_SystemImpl.insideInputEvent=!0,kha_SystemImpl.unlockSoundOnIOS();var b=kha_SystemImpl.mouseX,c=kha_SystemImpl.mouseY;kha_SystemImpl.setMouseXY(a);var d=a.movementX,e=a.movementY;null==a.movementX&&(d=null!=a.mozMovementX?a.mozMovementX:null!=a.webkitMovementX?a.webkitMovementX:kha_SystemImpl.mouseX-b,e=null!=a.mozMovementY?a.mozMovementY:null!=a.webkitMovementY?a.webkitMovementY:kha_SystemImpl.mouseY-c),kha_SystemImpl.mouse.sendMoveEvent(0,kha_SystemImpl.mouseX,kha_SystemImpl.mouseY,d,e),kha_SystemImpl.insideInputEvent=!1},kha_SystemImpl.setTouchXY=function(a){var b=kha_SystemImpl.khanvas.getBoundingClientRect(),c=kha_SystemImpl.khanvas.clientLeft,d=kha_SystemImpl.khanvas.clientTop;kha_SystemImpl.touchX=(a.clientX-b.left-c)*kha_SystemImpl.khanvas.width/(b.width-2*c)|0,kha_SystemImpl.touchY=(a.clientY-b.top-d)*kha_SystemImpl.khanvas.height/(b.height-2*d)|0},kha_SystemImpl.touchDown=function(a){kha_SystemImpl.insideInputEvent=!0,kha_SystemImpl.unlockSoundOnIOS(),a.stopPropagation(),a.preventDefault();for(var b=0,c=a.changedTouches;b<c.length;){var d=c[b];++b,kha_SystemImpl.setTouchXY(d),kha_SystemImpl.mouse.sendDownEvent(0,0,kha_SystemImpl.touchX,kha_SystemImpl.touchY),kha_SystemImpl.surface.sendTouchStartEvent(d.identifier,kha_SystemImpl.touchX,kha_SystemImpl.touchY)}kha_SystemImpl.insideInputEvent=!1},kha_SystemImpl.touchUp=function(a){kha_SystemImpl.insideInputEvent=!0,kha_SystemImpl.unlockSoundOnIOS();for(var b=0,c=a.changedTouches;b<c.length;){var d=c[b];++b,kha_SystemImpl.setTouchXY(d),kha_SystemImpl.mouse.sendUpEvent(0,0,kha_SystemImpl.touchX,kha_SystemImpl.touchY),kha_SystemImpl.surface.sendTouchEndEvent(d.identifier,kha_SystemImpl.touchX,kha_SystemImpl.touchY)}kha_SystemImpl.insideInputEvent=!1},kha_SystemImpl.touchMove=function(a){kha_SystemImpl.insideInputEvent=!0,kha_SystemImpl.unlockSoundOnIOS();for(var b=0,c=0,d=a.changedTouches;c<d.length;){var e=d[c];if(++c,kha_SystemImpl.setTouchXY(e),0==b){var f=kha_SystemImpl.touchX-kha_SystemImpl.lastFirstTouchX,g=kha_SystemImpl.touchY-kha_SystemImpl.lastFirstTouchY;kha_SystemImpl.lastFirstTouchX=kha_SystemImpl.touchX,kha_SystemImpl.lastFirstTouchY=kha_SystemImpl.touchY,kha_SystemImpl.mouse.sendMoveEvent(0,kha_SystemImpl.touchX,kha_SystemImpl.touchY,f,g)}kha_SystemImpl.surface.sendMoveEvent(e.identifier,kha_SystemImpl.touchX,kha_SystemImpl.touchY),++b}kha_SystemImpl.insideInputEvent=!1},kha_SystemImpl.onBlur=function(){kha_System.background()},kha_SystemImpl.onFocus=function(){kha_System.foreground()},kha_SystemImpl.keycodeToChar=function(a,b,c){if(null!=a){if(1==a.length)return a;switch(a){case"Add":return"+";case"Divide":return"/";case"Multiply":return"*";case"Subtract":return"-"}}switch(b){case 48:return c?"=":"0";case 49:return c?"!":"1";case 50:return c?'"':"2";case 51:return c?"§":"3";case 52:return c?"$":"4";case 53:return c?"%":"5";case 54:return c?"&":"6";case 55:return c?"/":"7";case 56:return c?"(":"8";case 57:return c?")":"9";case 106:return"*";case 107:return"+";case 109:return"-";case 111:return"/";case 187:return c?"*":"+";case 188:return c?";":",";case 189:return c?"_":"-";case 190:return c?":":".";case 191:return c?"'":"#";case 212:return c?"`":"´";case 219:return c?"?":"ß";case 226:return c?">":"<"}return b>=96&&b<=105?String.fromCharCode(-48+b):b>=65&&b<=90?c?String.fromCharCode(b):String.fromCharCode(b-65+97):String.fromCharCode(b)},kha_SystemImpl.keyDown=function(a){if(a.stopPropagation(),kha_SystemImpl.pressedKeys[a.keyCode])return void a.preventDefault();switch(kha_SystemImpl.pressedKeys[a.keyCode]=!0,a.keyCode){case 8:kha_SystemImpl.keyboard.sendDownEvent(kha_Key.BACKSPACE,""),a.preventDefault();break;case 9:kha_SystemImpl.keyboard.sendDownEvent(kha_Key.TAB,""),a.preventDefault();break;case 13:kha_SystemImpl.keyboard.sendDownEvent(kha_Key.ENTER,""),a.preventDefault();break;case 16:kha_SystemImpl.keyboard.sendDownEvent(kha_Key.SHIFT,""),a.preventDefault();break;case 17:kha_SystemImpl.keyboard.sendDownEvent(kha_Key.CTRL,""),a.preventDefault();break;case 18:kha_SystemImpl.keyboard.sendDownEvent(kha_Key.ALT,""),a.preventDefault();break;case 27:kha_SystemImpl.keyboard.sendDownEvent(kha_Key.ESC,""),a.preventDefault();break;case 32:kha_SystemImpl.keyboard.sendDownEvent(kha_Key.CHAR," "),a.preventDefault();break;case 37:kha_SystemImpl.keyboard.sendDownEvent(kha_Key.LEFT,""),a.preventDefault();break;case 38:kha_SystemImpl.keyboard.sendDownEvent(kha_Key.UP,""),a.preventDefault();break;case 39:kha_SystemImpl.keyboard.sendDownEvent(kha_Key.RIGHT,""),a.preventDefault();break;case 40:kha_SystemImpl.keyboard.sendDownEvent(kha_Key.DOWN,""),a.preventDefault();break;case 46:kha_SystemImpl.keyboard.sendDownEvent(kha_Key.DEL,""),a.preventDefault();break;default:if(!a.altKey){var c=kha_SystemImpl.keycodeToChar(a.key,a.keyCode,a.shiftKey);kha_SystemImpl.keyboard.sendDownEvent(kha_Key.CHAR,c)}}},kha_SystemImpl.keyUp=function(a){switch(a.preventDefault(),a.stopPropagation(),kha_SystemImpl.pressedKeys[a.keyCode]=!1,a.keyCode){case 8:kha_SystemImpl.keyboard.sendUpEvent(kha_Key.BACKSPACE,"");break;case 9:kha_SystemImpl.keyboard.sendUpEvent(kha_Key.TAB,"");break;case 13:kha_SystemImpl.keyboard.sendUpEvent(kha_Key.ENTER,"");break;case 16:kha_SystemImpl.keyboard.sendUpEvent(kha_Key.SHIFT,"");break;case 17:kha_SystemImpl.keyboard.sendUpEvent(kha_Key.CTRL,"");break;case 18:kha_SystemImpl.keyboard.sendUpEvent(kha_Key.ALT,"");break;case 27:kha_SystemImpl.keyboard.sendUpEvent(kha_Key.ESC,"");break;case 32:kha_SystemImpl.keyboard.sendUpEvent(kha_Key.CHAR," ");break;case 37:kha_SystemImpl.keyboard.sendUpEvent(kha_Key.LEFT,"");break;case 38:kha_SystemImpl.keyboard.sendUpEvent(kha_Key.UP,"");break;case 39:kha_SystemImpl.keyboard.sendUpEvent(kha_Key.RIGHT,"");break;case 40:kha_SystemImpl.keyboard.sendUpEvent(kha_Key.DOWN,"");break;case 46:kha_SystemImpl.keyboard.sendUpEvent(kha_Key.DEL,"");break;default:if(!a.altKey){var c=kha_SystemImpl.keycodeToChar(a.key,a.keyCode,a.shiftKey);kha_SystemImpl.keyboard.sendUpEvent(kha_Key.CHAR,c)}}};var kha_Video=function(){};$hxClasses["kha.Video"]=kha_Video,kha_Video.__name__=["kha","Video"],kha_Video.__interfaces__=[kha_Resource],kha_Video.prototype={width:function(){return 100},height:function(){return 100},play:function(a){null==a&&(a=!1)},unload:function(){},__class__:kha_Video};var kha_WebGLImage=function(a,b,c,d,e){this.depthTexture=null,this.texture=null,this.renderBuffer=null,this.frameBuffer=null,this.myWidth=a,this.myHeight=b,this.format=c,this.renderTarget=d,this.image=null,this.video=null,this.depthStencilFormat=e,kha_WebGLImage.init(),d&&this.createTexture()};$hxClasses["kha.WebGLImage"]=kha_WebGLImage,kha_WebGLImage.__name__=["kha","WebGLImage"],kha_WebGLImage.init=function(){if(null==kha_WebGLImage.context){var a=window.document.createElement("canvas");null!=a&&(kha_WebGLImage.context=a.getContext("2d"),a.width=2048,a.height=2048,kha_WebGLImage.context.globalCompositeOperation="copy")}},kha_WebGLImage.__super__=kha_Image,kha_WebGLImage.prototype=$extend(kha_Image.prototype,{get_g2:function(){return null==this.graphics2&&(this.graphics2=new kha_js_graphics4_Graphics2(this)),this.graphics2},get_g4:function(){return null==this.graphics4&&(this.graphics4=new kha_js_graphics4_Graphics(this)),this.graphics4},get_width:function(){return this.myWidth},get_height:function(){return this.myHeight},get_realWidth:function(){return this.myWidth},get_realHeight:function(){return this.myHeight},createTexture:function(){if(null!=kha_SystemImpl.gl){if(this.texture=kha_SystemImpl.gl.createTexture(),kha_SystemImpl.gl.bindTexture(3553,this.texture),kha_SystemImpl.gl.texParameteri(3553,10240,9729),kha_SystemImpl.gl.texParameteri(3553,10241,9729),kha_SystemImpl.gl.texParameteri(3553,10242,33071),kha_SystemImpl.gl.texParameteri(3553,10243,33071),this.renderTarget){this.frameBuffer=kha_SystemImpl.gl.createFramebuffer(),kha_SystemImpl.gl.bindFramebuffer(36160,this.frameBuffer);switch(this.format[1]){case 0:kha_SystemImpl.gl.texImage2D(3553,0,6408,this.get_realWidth(),this.get_realHeight(),0,6408,5121,null);break;case 2:kha_SystemImpl.gl.texImage2D(3553,0,6408,this.get_realWidth(),this.get_realHeight(),0,6408,5126,null);break;case 3:kha_SystemImpl.gl.texImage2D(3553,0,6402,this.get_realWidth(),this.get_realHeight(),0,6402,5123,null);break;case 4:kha_SystemImpl.gl.texImage2D(3553,0,6408,this.get_realWidth(),this.get_realHeight(),0,6408,kha_SystemImpl.halfFloat.HALF_FLOAT_OES,null);break;case 5:kha_SystemImpl.gl.texImage2D(3553,0,6406,this.get_realWidth(),this.get_realHeight(),0,6406,5126,null);break;case 6:kha_SystemImpl.gl.texImage2D(3553,0,6406,this.get_realWidth(),this.get_realHeight(),0,6406,kha_SystemImpl.halfFloat.HALF_FLOAT_OES,null);break;default:kha_SystemImpl.gl.texImage2D(3553,0,6408,this.get_realWidth(),this.get_realHeight(),0,6408,5121,null)}if(this.format==kha_graphics4_TextureFormat.DEPTH16){if(kha_SystemImpl.gl.framebufferTexture2D(36160,36096,3553,this.texture,0),-1==navigator.appVersion.indexOf("Win")){var b=kha_SystemImpl.gl.createTexture();kha_SystemImpl.gl.bindTexture(3553,b),kha_SystemImpl.gl.texImage2D(3553,0,6408,this.get_realWidth(),this.get_realHeight(),0,6408,5121,null),kha_SystemImpl.gl.framebufferTexture2D(36160,36064,3553,b,0),kha_SystemImpl.gl.bindTexture(3553,this.texture)}}else kha_SystemImpl.gl.framebufferTexture2D(36160,36064,3553,this.texture,0);this.initDepthStencilBuffer(this.depthStencilFormat),kha_SystemImpl.gl.bindRenderbuffer(36161,null),kha_SystemImpl.gl.bindFramebuffer(36160,null)}else if(null!=this.video)kha_SystemImpl.gl.texImage2D(3553,0,6408,6408,5121,this.video);else{var c=this.format;switch(c[1]){case 0:js_Boot.__instanceof(this.image,Uint8Array)?kha_SystemImpl.gl.texImage2D(3553,0,6408,this.myWidth,this.myHeight,0,6408,5121,this.image):kha_SystemImpl.gl.texImage2D(3553,0,6408,6408,5121,this.image);break;case 2:kha_SystemImpl.gl.texImage2D(3553,0,6408,this.myWidth,this.myHeight,0,6408,5126,this.image);break;case 4:kha_SystemImpl.gl.texImage2D(3553,0,6408,this.myWidth,this.myHeight,0,6408,kha_SystemImpl.halfFloat.HALF_FLOAT_OES,this.image);break;case 5:kha_SystemImpl.gl.texImage2D(3553,0,6406,this.myWidth,this.myHeight,0,6406,5126,this.image);break;case 6:kha_SystemImpl.gl.texImage2D(3553,0,6406,this.myWidth,this.myHeight,0,6406,kha_SystemImpl.halfFloat.HALF_FLOAT_OES,this.image);break;default:kha_SystemImpl.gl.texImage2D(3553,0,6408,6408,5121,this.image)}}kha_SystemImpl.gl.bindTexture(3553,null)}},initDepthStencilBuffer:function(a){switch(a){case 0:break;case 1:case 5:if(null==kha_SystemImpl.depthTexture)this.renderBuffer=kha_SystemImpl.gl.createRenderbuffer(),kha_SystemImpl.gl.bindRenderbuffer(36161,this.renderBuffer),kha_SystemImpl.gl.renderbufferStorage(36161,33189,this.get_realWidth(),this.get_realHeight()),kha_SystemImpl.gl.framebufferRenderbuffer(36160,36096,36161,this.renderBuffer);else{this.depthTexture=kha_SystemImpl.gl.createTexture(),kha_SystemImpl.gl.bindTexture(3553,this.depthTexture);var b=5==a?33189:6402;kha_SystemImpl.gl.texImage2D(3553,0,b,this.get_realWidth(),this.get_realHeight(),0,6402,5125,null),kha_SystemImpl.gl.texParameteri(3553,10240,9728),kha_SystemImpl.gl.texParameteri(3553,10241,9728),kha_SystemImpl.gl.texParameteri(3553,10242,33071),kha_SystemImpl.gl.texParameteri(3553,10243,33071),kha_SystemImpl.gl.bindFramebuffer(36160,this.frameBuffer),kha_SystemImpl.gl.framebufferTexture2D(36160,36096,3553,this.depthTexture,0)}break;case 2:case 3:case 4:null==kha_SystemImpl.depthTexture?(this.renderBuffer=kha_SystemImpl.gl.createRenderbuffer(),kha_SystemImpl.gl.bindRenderbuffer(36161,this.renderBuffer),kha_SystemImpl.gl.renderbufferStorage(36161,34041,this.get_realWidth(),this.get_realHeight()),kha_SystemImpl.gl.framebufferRenderbuffer(36160,33306,36161,this.renderBuffer)):(this.depthTexture=kha_SystemImpl.gl.createTexture(),kha_SystemImpl.gl.bindTexture(3553,this.depthTexture),kha_SystemImpl.gl.texImage2D(3553,0,34041,this.get_realWidth(),this.get_realHeight(),0,34041,kha_SystemImpl.depthTexture.UNSIGNED_INT_24_8_WEBGL,null),kha_SystemImpl.gl.texParameteri(3553,10240,9728),kha_SystemImpl.gl.texParameteri(3553,10241,9728),kha_SystemImpl.gl.texParameteri(3553,10242,33071),kha_SystemImpl.gl.texParameteri(3553,10243,33071),kha_SystemImpl.gl.bindFramebuffer(36160,this.frameBuffer),kha_SystemImpl.gl.framebufferTexture2D(36160,33306,3553,this.depthTexture,0))}},set:function(a){kha_SystemImpl.gl.activeTexture(33984+a),kha_SystemImpl.gl.bindTexture(3553,this.texture),null!=this.video&&kha_SystemImpl.gl.texImage2D(3553,0,6408,6408,5121,this.video)},setDepth:function(a){kha_SystemImpl.gl.activeTexture(33984+a),kha_SystemImpl.gl.bindTexture(3553,this.depthTexture)},setDepthStencilFrom:function(a){kha_SystemImpl.gl.bindFramebuffer(36160,this.frameBuffer),kha_SystemImpl.gl.framebufferTexture2D(36160,36096,3553,js_Boot.__cast(a,kha_WebGLImage).depthTexture,0)},bytesToArray:function(a){switch(this.format[1]){case 0:case 1:return new Uint8Array(a.b.bufferValue);case 2:case 4:case 5:case 6:return new Float32Array(a.b.bufferValue);default:return new Uint8Array(a.b.bufferValue)}},unload:function(){null!=this.texture&&kha_SystemImpl.gl.deleteTexture(this.texture),null!=this.depthTexture&&kha_SystemImpl.gl.deleteTexture(this.depthTexture),null!=this.frameBuffer&&kha_SystemImpl.gl.deleteFramebuffer(this.frameBuffer),null!=this.renderBuffer&&kha_SystemImpl.gl.deleteRenderbuffer(this.renderBuffer)},generateMipmaps:function(a){kha_SystemImpl.gl.bindTexture(3553,this.texture),kha_SystemImpl.gl.generateMipmap(3553)},setMipmaps:function(a){if(kha_SystemImpl.gl.bindTexture(3553,this.texture),this.format!=kha_graphics4_TextureFormat.RGBA32)for(var b=0,c=a.length;b<c;){var d=b++;kha_SystemImpl.gl.texImage2D(3553,d+1,6408,a[d].get_width(),a[d].get_height(),0,6408,this.format==kha_graphics4_TextureFormat.RGBA128?5126:kha_SystemImpl.halfFloat.HALF_FLOAT_OES,js_Boot.__cast(a[d],kha_WebGLImage).image)}else for(var e=0,f=a.length;e<f;){var g=e++;kha_SystemImpl.gl.texImage2D(3553,g+1,6408,6408,5121,js_Boot.__cast(a[g],kha_WebGLImage).image)}},__class__:kha_WebGLImage});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_audio1_AudioChannel=function(){};$hxClasses["kha.audio1.AudioChannel"]=kha_audio1_AudioChannel,kha_audio1_AudioChannel.__name__=["kha","audio1","AudioChannel"],kha_audio1_AudioChannel.prototype={__class__:kha_audio1_AudioChannel};var kha_audio2_Audio=function(){};$hxClasses["kha.audio2.Audio"]=kha_audio2_Audio,kha_audio2_Audio.__name__=["kha","audio2","Audio"],kha_audio2_Audio.initContext=function(){try{return void(kha_audio2_Audio._context=new AudioContext)}catch(a){}try{return void(this._context=new webkitAudioContext)}catch(a){}},kha_audio2_Audio._init=function(){if(kha_audio2_Audio.initContext(),null==kha_audio2_Audio._context)return!1;var a=2048;return kha_audio2_Audio.buffer=new kha_audio2_Buffer(4*a,2,0|kha_audio2_Audio._context.sampleRate),kha_audio2_Audio.processingNode=kha_audio2_Audio._context.createScriptProcessor(a,0,2),kha_audio2_Audio.processingNode.onaudioprocess=function(a){var b=a.outputBuffer.getChannelData(0),c=a.outputBuffer.getChannelData(1);if(null!=kha_audio2_Audio.audioCallback){kha_audio2_Audio.audioCallback(2*a.outputBuffer.length,kha_audio2_Audio.buffer);for(var d=0,e=a.outputBuffer.length;d<e;){var f=d++;b[f]=kha_audio2_Audio.buffer.data[kha_audio2_Audio.buffer.readLocation],kha_audio2_Audio.buffer.readLocation+=1,c[f]=kha_audio2_Audio.buffer.data[kha_audio2_Audio.buffer.readLocation],kha_audio2_Audio.buffer.readLocation+=1,kha_audio2_Audio.buffer.readLocation>=kha_audio2_Audio.buffer.size&&(kha_audio2_Audio.buffer.readLocation=0)}}else for(var g=0,h=a.outputBuffer.length;g<h;){var i=g++;b[i]=0,c[i]=0}},kha_audio2_Audio.processingNode.connect(kha_audio2_Audio._context.destination),!0};var kha_audio2_Audio1=function(){};$hxClasses["kha.audio2.Audio1"]=kha_audio2_Audio1,kha_audio2_Audio1.__name__=["kha","audio2","Audio1"],kha_audio2_Audio1._init=function(){var a=new Array(16);kha_audio2_Audio1.soundChannels=a;var b=new Array(16);kha_audio2_Audio1.streamChannels=b;var c=new Array(16);kha_audio2_Audio1.internalSoundChannels=c;var d=new Array(16);kha_audio2_Audio1.internalStreamChannels=d;var e=new Array(512);kha_audio2_Audio1.sampleCache1=e;var f=new Array(512);kha_audio2_Audio1.sampleCache2=f,kha_audio2_Audio.audioCallback=kha_audio2_Audio1._mix},kha_audio2_Audio1._mix=function(a,b){if(kha_audio2_Audio1.sampleCache1.length<a){var c=new Array(a);kha_audio2_Audio1.sampleCache1=c;var d=new Array(a);kha_audio2_Audio1.sampleCache2=d}for(var e=0,f=a;e<f;){var g=e++;kha_audio2_Audio1.sampleCache2[g]=0}for(var h=0;h<16;){var i=h++;kha_audio2_Audio1.internalSoundChannels[i]=kha_audio2_Audio1.soundChannels[i]}for(var j=0;j<16;){var k=j++;kha_audio2_Audio1.internalStreamChannels[k]=kha_audio2_Audio1.streamChannels[k]}for(var l=0,m=kha_audio2_Audio1.internalSoundChannels;l<m.length;){var n=m[l];if(++l,null!=n&&!n.get_finished()){n.nextSamples(kha_audio2_Audio1.sampleCache1,a,b.samplesPerSecond);for(var o=0,p=a;o<p;){var q=o++,r=q,s=kha_audio2_Audio1.sampleCache2,t=kha_audio2_Audio1.sampleCache1[q]*n.get_volume();s[r]=s[r]+t}}}for(var u=0,v=kha_audio2_Audio1.internalStreamChannels;u<v.length;){var w=v[u];if(++u,null!=w&&!w.get_finished()){w.nextSamples(kha_audio2_Audio1.sampleCache1,a,b.samplesPerSecond);for(var x=0,y=a;x<y;){var z=x++,A=z,B=kha_audio2_Audio1.sampleCache2,C=kha_audio2_Audio1.sampleCache1[z]*w.get_volume();B[A]=B[A]+C}}}for(var D=0,E=a;D<E;){var F=D++,G=kha_audio2_Audio1.sampleCache2[F],H=G<1?G:1;b.data[b.writeLocation]=H>-1?H:-1,b.writeLocation+=1,b.writeLocation>=b.size&&(b.writeLocation=0)}},kha_audio2_Audio1.play=function(a,b){null==b&&(b=!1);for(var c=null,d=0;d<16;){var e=d++;if(null==kha_audio2_Audio1.soundChannels[e]||kha_audio2_Audio1.soundChannels[e].get_finished()){c=new kha_audio2_AudioChannel(b),c.data=a.uncompressedData,kha_audio2_Audio1.soundChannels[e]=c;break}}return c};var kha_audio2_AudioChannel=function(a){this.paused=!1,this.looping=a,this.myVolume=1,this.myPosition=0};$hxClasses["kha.audio2.AudioChannel"]=kha_audio2_AudioChannel,kha_audio2_AudioChannel.__name__=["kha","audio2","AudioChannel"],kha_audio2_AudioChannel.__interfaces__=[kha_audio1_AudioChannel],kha_audio2_AudioChannel.prototype={nextSamples:function(a,b,c){if(this.paused)for(var d=0,e=b;d<e;){var f=d++;a[f]=0}else for(var g=0,h=b;g<h;){var i=g++;this.myPosition>=this.data.length&&this.looping&&(this.myPosition=0),a[i]=this.myPosition<this.data.length?this.data[this.myPosition]:0,++this.myPosition}},get_volume:function(){return this.myVolume},get_finished:function(){return this.myPosition>=this.data.length},__class__:kha_audio2_AudioChannel,__properties__:{get_finished:"get_finished",get_volume:"get_volume"}};var kha_audio2_Buffer=function(a,b,c){this.size=a;var d=new Array(a);this.data=d,this.channels=b,this.samplesPerSecond=c,this.readLocation=0,this.writeLocation=0};$hxClasses["kha.audio2.Buffer"]=kha_audio2_Buffer,kha_audio2_Buffer.__name__=["kha","audio2","Buffer"],kha_audio2_Buffer.prototype={__class__:kha_audio2_Buffer};var kha_audio2_StreamChannel=function(){this.paused=!1,this.atend=!1};$hxClasses["kha.audio2.StreamChannel"]=kha_audio2_StreamChannel,kha_audio2_StreamChannel.__name__=["kha","audio2","StreamChannel"],kha_audio2_StreamChannel.__interfaces__=[kha_audio1_AudioChannel],kha_audio2_StreamChannel.prototype={nextSamples:function(a,b,c){if(this.paused)for(var d=0,e=b;d<e;){var f=d++;a[f]=0}else{var g=2*this.reader.read(a,b/2|0,2,c,!0);if(g<b){this.loop?this.reader.set_currentMillisecond(0):this.atend=!0;for(var h=g,i=b;h<i;){a[h++]=0}}}},get_volume:function(){return this.myVolume},get_finished:function(){return this.atend},__class__:kha_audio2_StreamChannel,__properties__:{get_finished:"get_finished",get_volume:"get_volume"}};var kha_audio2_ogg_tools_Crc32=function(){};$hxClasses["kha.audio2.ogg.tools.Crc32"]=kha_audio2_ogg_tools_Crc32,kha_audio2_ogg_tools_Crc32.__name__=["kha","audio2","ogg","tools","Crc32"],kha_audio2_ogg_tools_Crc32.init=function(){if(null==kha_audio2_ogg_tools_Crc32.table){var a=new Array(256);kha_audio2_ogg_tools_Crc32.table=a;for(var b=0;b<256;){for(var c=b++,d=c<<24,e=0;e<8;){e++;d=d<<1^(_$UInt_UInt_$Impl_$.gte(d,1<<31)?79764919:0)}kha_audio2_ogg_tools_Crc32.table[c]=d}}};var kha_audio2_ogg_vorbis_Reader=function(a,b,c){this.seekFunc=b,this.inputLength=c,this.decoder=kha_audio2_ogg_vorbis_VorbisDecoder.start(a),this.decoder.setupSampleNumber(b,c),this.loopStart=this.get_header().comment.get_loopStart(),this.loopLength=this.get_header().comment.get_loopLength()};$hxClasses["kha.audio2.ogg.vorbis.Reader"]=kha_audio2_ogg_vorbis_Reader,kha_audio2_ogg_vorbis_Reader.__name__=["kha","audio2","ogg","vorbis","Reader"],kha_audio2_ogg_vorbis_Reader.openFromBytes=function(a){var b=new haxe_io_BytesInput(a),c=b;return new kha_audio2_ogg_vorbis_Reader(b,function(a){kha_audio2_ogg_vorbis_Reader.seekBytes(c,a)},a.length)},kha_audio2_ogg_vorbis_Reader.seekBytes=function(a,b){a.set_position(b)},kha_audio2_ogg_vorbis_Reader.readAll=function(a,b,c){null==c&&(c=!1);var d=new haxe_io_BytesInput(a),e=kha_audio2_ogg_vorbis_VorbisDecoder.start(d),f=d;e.setupSampleNumber(function(a){kha_audio2_ogg_vorbis_Reader.seekBytes(f,a)},a.length);for(var g=e.header,h=0,i=4096,j=i*g.channel,k=new Array(j),l=k;;){for(var m=e.read(l,i,g.channel,g.sampleRate,c),n=0,o=m*g.channel;n<o;){var p=n++;b.writeFloat(l[p])}if(0==m)break;h+=m}return e.header},kha_audio2_ogg_vorbis_Reader.prototype={get_header:function(){return this.decoder.header},get_currentSample:function(){return this.decoder.currentSample},set_currentSample:function(a){return this.decoder.seek(this.seekFunc,this.inputLength,a),this.decoder.currentSample},get_currentMillisecond:function(){var a=this.get_currentSample(),b=this.get_header().sampleRate;return _$UInt_UInt_$Impl_$.toFloat(a)/_$UInt_UInt_$Impl_$.toFloat(b)*1e3},set_currentMillisecond:function(a){var b=a/1e3,c=this.get_header().sampleRate;return this.set_currentSample(Math.floor(_$UInt_UInt_$Impl_$.toFloat(c)*b)),this.get_currentMillisecond()},read:function(a,b,c,d,e){return null==e&&(e=!1),this.decoder.ensurePosition(this.seekFunc),null==b&&(b=this.decoder.totalSample),null==c&&(c=this.get_header().channel),null==d&&(d=this.get_header().sampleRate),this.decoder.read(a,b,c,d,e)},__class__:kha_audio2_ogg_vorbis_Reader,__properties__:{set_currentMillisecond:"set_currentMillisecond",get_currentMillisecond:"get_currentMillisecond",set_currentSample:"set_currentSample",get_currentSample:"get_currentSample",get_header:"get_header"}};var kha_audio2_ogg_vorbis_VorbisDecodeState=function(a){this.nextSeg=0,this.firstDecode=!1,this.bytesInSeg=0,this.validBits=0,this.input=a,this.inputPosition=0,this.page=new kha_audio2_ogg_vorbis_data_Page,kha_audio2_ogg_tools_Crc32.init()};$hxClasses["kha.audio2.ogg.vorbis.VorbisDecodeState"]=kha_audio2_ogg_vorbis_VorbisDecodeState,kha_audio2_ogg_vorbis_VorbisDecodeState.__name__=["kha","audio2","ogg","vorbis","VorbisDecodeState"],kha_audio2_ogg_vorbis_VorbisDecodeState.prototype={setup:function(a,b){this.inputPosition+=1;var c=this.input.readByte();this.inputPosition+=c;for(var d=new Array(c),e=d,f=0,g=c;f<g;){e[f++]=this.input.readByte()}if(this.segments=e,this.endSegWithKnownLoc=-2,-1!=a||-1!=b)for(var i=c-1;i>=0&&!(this.segments[i]<255);)i>=0&&(this.endSegWithKnownLoc=i,this.knownLocForPacket=a),--i;if(this.firstDecode){for(var k=0,l=new kha_audio2_ogg_vorbis_data_ProbedPage,m=0,n=c;m<n;){var o=m++;k+=this.segments[o]}k+=27+c,l.pageStart=this.firstAudioPageOffset,l.pageEnd=l.pageStart+k,l.firstDecodedSample=0,l.lastDecodedSample=a,this.pFirst=l}this.nextSeg=0},clone:function(a){var b=Type.createEmptyInstance(kha_audio2_ogg_vorbis_VorbisDecodeState);return a(this.inputPosition),b.input=this.input,b.eof=this.eof,b.validBits=this.validBits,b.discardSamplesDeferred=this.discardSamplesDeferred,b.firstDecode=this.firstDecode,b.nextSeg=this.nextSeg,b.bytesInSeg=this.bytesInSeg,b.acc=b.acc,b.lastSeg=this.lastSeg,b.lastSegWhich=this.lastSegWhich,b.currentLoc=this.currentLoc,b.currentLocValid=this.currentLocValid,b.inputPosition=this.inputPosition,b.firstAudioPageOffset=this.firstAudioPageOffset,b.error=this.error,b.segments=this.segments,b.pFirst=this.pFirst,b.pLast=this.pLast,b.page=this.page.clone(),b},next:function(){if(this.lastSeg)return 0;if(-1==this.nextSeg){this.lastSegWhich=this.segments.length-1;try{this.page.start(this)}catch(a){if(a instanceof js__$Boot_HaxeError&&(a=a.val),js_Boot.__instanceof(a,kha_audio2_ogg_vorbis_data_ReaderError))return this.lastSeg=!0,this.error=a,0;throw a}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 a=this.segments[this.nextSeg++];a<255&&(this.lastSeg=!0,this.lastSegWhich=this.nextSeg-1),this.nextSeg>=this.segments.length&&(this.nextSeg=-1);this.bytesInSeg;return this.bytesInSeg=a,a},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 b,a=!1;try{this.inputPosition+=1,b=this.input.readByte()}catch(c){if(c instanceof js__$Boot_HaxeError&&(c=c.val),!js_Boot.__instanceof(c,haxe_io_Eof))throw c;a=!0,b=0}if(a)return!1;var c,d,e;if(79==b?(this.inputPosition+=1,e=103!=this.input.readByte()):e=!0,e?d=!0:(this.inputPosition+=1,d=103!=this.input.readByte()),d?c=!0:(this.inputPosition+=1,c=83!=this.input.readByte()),c)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(a){if(this.validBits<0)return 0;if(this.validBits<a){if(a>24)return this.readBits(24)+(this.readBits(a-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<a))break}if(this.validBits<0)return 0;var b=this.acc&(1<<a)-1;return this.acc=this.acc>>>a,this.validBits-=a,b}var c=this.acc&(1<<a)-1;return this.acc=this.acc>>>a,this.validBits-=a,c},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},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}},finishDecodePacket:function(a,b,c){var d=c.left.start,e=!1,f=b>>1;if(this.firstDecode)this.currentLoc=-f,this.discardSamplesDeferred=b-c.right.end,e=!0,this.firstDecode=!1;else if(0!=this.discardSamplesDeferred)c.left.start+=this.discardSamplesDeferred,d=c.left.start,this.discardSamplesDeferred=0;else;if(this.lastSegWhich==this.endSegWithKnownLoc){if(e&&0!=(4&this.page.flag)){var h=this.knownLocForPacket-(b-c.right.end);if(h<this.currentLoc+c.right.end){var i=h<this.currentLoc?0:h-this.currentLoc;return i+=c.left.start,this.currentLoc+=i,{len:i,left:d,right:c.right.start}}}this.currentLoc=this.knownLocForPacket-(f-c.left.start),e=!0}return e&&(this.currentLoc+=c.right.start-c.left.start),{len:c.right.end,left:d,right:c.right.start}},getSampleNumber:function(a,b){var c=this.inputPosition,d=_$UInt_UInt_$Impl_$.gte(b,65536)&&_$UInt_UInt_$Impl_$.gte(b-65536,this.firstAudioPageOffset)?b-65536:this.firstAudioPageOffset;a(this.inputPosition=d);var e=0,f=!1,g=this.findPage(a,b);switch(g[1]){case 0:var h=g[3];e=g[2],f=h;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 j=this.inputPosition;try{for(;!f;){a(this.inputPosition=e);var k=this.findPage(a,b);switch(k[1]){case 0:var l=k[3];e=k[2],f=l;break;case 1:throw"__break__"}d=j+1,j=this.inputPosition}}catch(i){if("__break__"!=i)throw i}a(this.inputPosition=j),this.inputPosition+=6;for(var n=new Array(6),o=n,p=0,q=6;p<q;){o[p++]=this.input.readByte()}this.inputPosition+=4;var t=this.input.readInt32();this.inputPosition+=4;var u=this.input.readInt32();if(-1==t&&-1==u||u>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=j,this.pLast.pageEnd=e,this.pLast.lastDecodedSample=t,this.pLast.firstDecodedSample=null,this.pLast.afterPreviousPageStart=d,a(this.inputPosition=c),t},findPage:function(a,b){try{for(;;){this.inputPosition+=1;if(79==this.input.readByte()){var d=this.inputPosition;if(d-25>b)return kha_audio2_ogg_vorbis__$VorbisDecodeState_FindPageResult.NotFound;var e,f;if(this.inputPosition+=1,103==this.input.readByte()?(this.inputPosition+=1,f=103!=this.input.readByte()):f=!0,f?e=!0:(this.inputPosition+=1,e=83!=this.input.readByte()),e)continue;var g=new Array(27),h=g;h[0]=79,h[1]=103,h[2]=103,h[3]=83;for(var i=4;i<27;){var j=i++;this.inputPosition+=1,h[j]=this.input.readByte()}if(0!=h[4]){a(this.inputPosition=d);continue}for(var k=h[22]+(h[23]<<8)+(h[24]<<16)+(h[25]<<24),l=22;l<26;){h[l++]=0}for(var n=0,o=0;o<27;){var p=o++;n=n<<8^kha_audio2_ogg_tools_Crc32.table[h[p]^n>>>24]}var q=0;try{for(var r=0,s=h[26];r<s;){r++;this.inputPosition+=1;var u=this.input.readByte();n=n<<8^kha_audio2_ogg_tools_Crc32.table[u^n>>>24],q+=u}for(var v=0,w=q;v<w;){v++;this.inputPosition+=1;var y=this.input.readByte();n=n<<8^kha_audio2_ogg_tools_Crc32.table[y^n>>>24]}}catch(a){if(a instanceof js__$Boot_HaxeError&&(a=a.val),js_Boot.__instanceof(a,haxe_io_Eof))return kha_audio2_ogg_vorbis__$VorbisDecodeState_FindPageResult.NotFound;throw a}if(n==k){var z=this.inputPosition;return a(this.inputPosition=d-1),kha_audio2_ogg_vorbis__$VorbisDecodeState_FindPageResult.Found(z,0!=(4&h[5]))}}}}catch(a){if(a instanceof js__$Boot_HaxeError&&(a=a.val),js_Boot.__instanceof(a,haxe_io_Eof))return kha_audio2_ogg_vorbis__$VorbisDecodeState_FindPageResult.NotFound;throw a}},analyzePage:function(a,b){var c=new kha_audio2_ogg_vorbis_data_ProbedPage,d=new Array(255),e=d;c.pageStart=this.inputPosition,this.inputPosition+=27;for(var f=new Array(27),g=f,h=0,i=27;h<i;){g[h++]=this.input.readByte()}var k=g,l=k[26];this.inputPosition+=l;for(var m=new Array(l),n=m,o=0,p=l;o<p;){n[o++]=this.input.readByte()}for(var r=n,s=0,t=0,u=k[26];t<u;){s+=r[t++]}if(c.pageEnd=c.pageStart+27+k[26]+s,c.lastDecodedSample=k[6]+(k[7]<<8)+(k[8]<<16)+(k[9]<<16),0!=(4&k[5]))return c.firstDecodedSample=null,a(this.inputPosition=c.pageStart),c;for(var w=0,x=0==(1&k[5]),y=b.modes.length,z=0,A=k[26];z<A;){var B=z++;if(x){if(0==r[B])return a(this.inputPosition=c.pageStart),null;this.inputPosition+=1;var C=this.input.readByte();if(0!=(1&C))return a(this.inputPosition=c.pageStart),null;C>>=1;var D=y-1,E=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4];if((C&=(1<<(D<16384?D<16?E[D]:D<512?5+E[D>>5]:10+E[D>>10]:D<16777216?D<524288?15+E[D>>15]:20+E[D>>20]:D<536870912?25+E[D>>25]:D<-2147483648?30+E[D>>30]:0))-1)>=y)return a(this.inputPosition=c.pageStart),null;e[w++]=b.modes[C].blockflag;var G=r[B]-1;this.inputPosition+=G;for(var H=new Array(G),I=H,J=0,K=G;J<K;){I[J++]=this.input.readByte()}}else{var M=r[B];this.inputPosition+=M;for(var N=new Array(M),O=N,P=0,Q=M;P<Q;){O[P++]=this.input.readByte()}}x=r[B]<255}var S=0;w>1&&(S+=e[w-1]?b.blocksize1:b.blocksize0);for(var T=w-2;T>=1;)--T,e[T]?e[T+1]?S+=b.blocksize1>>1:S+=(b.blocksize1-b.blocksize0>>2)+(b.blocksize0>>1):S+=b.blocksize0>>1,--T;return c.firstDecodedSample=c.lastDecodedSample-S,a(this.inputPosition=c.pageStart),c},decodeScalarRaw:function(a){this.prepHuffman();var c=(null!=a.sortedCodewords||a.codewords,a.codewordLengths),d=a.codewords,e=a.sortedCodewords;if(a.entries>8?null!=e:null!=d){var f=this.acc;f=(-1431655766&f)>>>1|(1431655765&f)<<1,f=(-858993460&f)>>>2|(858993459&f)<<2,f=(-252645136&f)>>>4|(252645135&f)<<4,f=(-16711936&f)>>>8|(16711935&f)<<8;for(var g=f>>>16|f<<16,h=0,i=a.sortedEntries;i>1;){var j=h+(i>>1);_$UInt_UInt_$Impl_$.gte(g,e[j])?(h=j,i-=i>>1):i>>=1}a.sparse||(h=a.sortedValues[h]);var k=c[h];return this.validBits>=k?(this.acc=this.acc>>>k,this.validBits-=k,h):(this.validBits=0,-1)}for(var m=(a.sparse,0),n=a.entries;m<n;){var o=m++,p=c[o];if(255!=p&&d[o]==(this.acc&(1<<p)-1))return this.validBits>=p?(this.acc=this.acc>>>p,this.validBits-=p,o):(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(a,b){var c=["Found",0,a,b];return c.__enum__=kha_audio2_ogg_vorbis__$VorbisDecodeState_FindPageResult,c.toString=$estr,c},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=function(a,b){this.header=a,this.decodeState=b,this.totalSample=null,this.currentSample=0,this.previousLength=0;var c=a.channel,d=new Array(c);this.channelBuffers=d;var e=a.channel,f=new Array(e);this.previousWindow=f;var g=a.channel,h=new Array(g);this.finalY=h;for(var i=0,j=a.channel;i<j;){var k=i++,l=this.channelBuffers,m=a.blocksize1,n=new Array(m),o=n;l[k]=o;var p=this.previousWindow,q=a.blocksize1/2|0,r=new Array(q),s=r;p[k]=s,this.finalY[k]=[]}var t=new Array(2);this.a=t;var u=new Array(2);this.b=u;var v=new Array(2);this.c=v;var w=new Array(2);this.window=w;var x=new Array(2);this.bitReverseData=x,this.initBlocksize(0,a.blocksize0),this.initBlocksize(1,a.blocksize1)};$hxClasses["kha.audio2.ogg.vorbis.VorbisDecoder"]=kha_audio2_ogg_vorbis_VorbisDecoder,kha_audio2_ogg_vorbis_VorbisDecoder.__name__=["kha","audio2","ogg","vorbis","VorbisDecoder"],kha_audio2_ogg_vorbis_VorbisDecoder.start=function(a){var b=new kha_audio2_ogg_vorbis_VorbisDecodeState(a),c=kha_audio2_ogg_vorbis_data_Header.read(b),d=new kha_audio2_ogg_vorbis_VorbisDecoder(c,b);return b.startFirstDecode(),d.pumpFirstFrame(),d},kha_audio2_ogg_vorbis_VorbisDecoder.prototype={read:function(a,b,c,d,e){var f=this.header.sampleRate;if(0!=(_$UInt_UInt_$Impl_$.toFloat(d)%_$UInt_UInt_$Impl_$.toFloat(f)|0))throw new js__$Boot_HaxeError("Unsupported sampleRate : can't convert "+Std.string(_$UInt_UInt_$Impl_$.toFloat(this.header.sampleRate))+" to "+d);if(c%this.header.channel!=0)throw new js__$Boot_HaxeError("Unsupported channels : can't convert "+this.header.channel+" to "+c);var g=this.header.sampleRate,h=_$UInt_UInt_$Impl_$.toFloat(d)/_$UInt_UInt_$Impl_$.toFloat(g)|0,i=c/this.header.channel|0,j=0,k=Math.floor(b/h);null!=this.totalSample&&k>this.totalSample-this.currentSample&&(k=this.totalSample-this.currentSample);for(var l=0;j<k;){var m=this.channelBufferEnd-this.channelBufferStart;m>=k-j&&(m=k-j);for(var n=this.channelBufferStart,o=this.channelBufferStart+m;n<o;)for(var p=n++,q=0,r=h;q<r;)for(var t=(q++,0),u=this.header.channel;t<u;)for(var v=t++,w=0,x=i;w<x;){var z=(w++,this.channelBuffers[v][p]);z>1?z=1:z<-1&&(z=-1),e&&(a[l]=z,++l)}if(j+=m,this.channelBufferStart+=m,j==k||0==this.getFrameFloat())break}for(var A=j,B=k;A<B;)for(var D=(A++,0),E=h;D<E;)for(var G=(D++,0),H=this.header.channel;G<H;)for(var J=(G++,0),K=i;J<K;){J++;e&&(a[l]=0,++l)}return this.currentSample+=k,k*h},skipSamples:function(a){var b=0;for(null!=this.totalSample&&a>this.totalSample-this.currentSample&&(a=this.totalSample-this.currentSample);b<a;){var c=this.channelBufferEnd-this.channelBufferStart;if(c>=a-b&&(c=a-b),b+=c,this.channelBufferStart+=c,b==a||0==this.getFrameFloat())break}return this.currentSample+=a,a},setupSampleNumber:function(a,b){null==this.totalSample&&(this.totalSample=this.decodeState.getSampleNumber(a,b))},seek:function(a,b,c){if(this.currentSample!=c){if(null==this.totalSample&&(this.setupSampleNumber(a,b),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"}));c<0&&(c=0);var d=this.decodeState.pFirst,e=this.decodeState.pLast;if(c>=e.lastDecodedSample&&(c=e.lastDecodedSample-1),c<d.lastDecodedSample)this.seekFrameFromPage(a,d.pageStart,0,c);else{for(var f=0;d.pageEnd<e.pageStart;){var g=d.pageEnd,h=e.afterPreviousPageStart,i=d.lastDecodedSample,j=e.lastDecodedSample;if(null==i||null==j)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(h,g+4e3)&&(h-=4e3);var k=g+Math.floor(_$UInt_UInt_$Impl_$.toFloat(h-g)/_$UInt_UInt_$Impl_$.toFloat(j-i)*(c-i));if(f>=4){var l=g+(h-g>>>1);f>=8?k=l:_$UInt_UInt_$Impl_$.gt(l,k)?k+=l-k>>>1:k=l+(k-l>>>1)}++f,a(this.decodeState.inputPosition=k);switch(this.decodeState.findPage(a,b)[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 n=this.decodeState.analyzePage(a,this.header);if(null==n)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"}));n.afterPreviousPageStart=k,n.pageStart!=e.pageStart?c<n.lastDecodedSample?e=n:d=n:e=n}if(!(d.lastDecodedSample<=c&&c<e.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(a,e.pageStart,d.lastDecodedSample,c)}}},seekFrameFromPage:function(a,b,c,d){var e=0,f=c;a(this.decodeState.inputPosition=b),this.decodeState.nextSeg=-1;for(var g=0,h=0,i=null,j=null;;){i=j,j=this.decodeState.clone(a);var k=this.decodeInitial();if(null==k){j=i;break}h=k.left.start,g=k.left.end;var l=0==e?g:h;if(d<f+k.right.start-l)break;for(var m=this.decodeState;0!=m.bytesInSeg||!m.lastSeg&&0!=m.next();)m.bytesInSeg--,m.inputPosition+=1,m.input.readByte();f+=k.right.start-l,++e}this.decodeState=j,a(this.decodeState.inputPosition),this.previousLength=0,this.pumpFirstFrame(),this.currentSample=f,this.skipSamples(d-f)},ensurePosition:function(a){a(this.decodeState.inputPosition)},getFrameFloat:function(){var a=this.decodePacket();if(null==a)return this.channelBufferStart=this.channelBufferEnd=0,0;var b=this.finishFrame(a);return this.channelBufferStart=a.left,this.channelBufferEnd=a.left+b,b},pumpFirstFrame:function(){this.finishFrame(this.decodePacket())},finishFrame:function(a){var b=a.len,c=a.right,d=a.left;if(0!=this.previousLength)for(var e=this.previousLength,f=this.getWindow(e),g=0,h=this.header.channel;g<h;)for(var i=g++,j=this.channelBuffers[i],k=this.previousWindow[i],l=0,m=e;l<m;){var n=l++;j[d+n]=j[d+n]*f[n]+k[n]*f[e-1-n]}var o=this.previousLength;this.previousLength=b-c;for(var p=0,q=this.header.channel;p<q;)for(var r=p++,s=this.previousWindow[r],t=this.channelBuffers[r],u=0,v=b-c;u<v;){var w=u++;s[w]=t[c+w]}return 0==o?0:(b<c&&(c=b),c-d)},getWindow:function(a){return a<<=1,a==this.header.blocksize0?this.window[0]:a==this.header.blocksize1?this.window[1]:null},initBlocksize:function(a,b){var c=b>>1,d=b>>2,e=b>>3,f=this.a,g=new Array(c);f[a]=g;var h=this.b,i=new Array(c);h[a]=i;var j=this.c,k=new Array(d);j[a]=k;var l=this.window,m=new Array(c);l[a]=m;var n=this.bitReverseData,o=new Array(e);n[a]=o,kha_audio2_ogg_vorbis_VorbisTools.computeTwiddleFactors(b,this.a[a],this.b[a],this.c[a]),kha_audio2_ogg_vorbis_VorbisTools.computeWindow(b,this.window[a]),kha_audio2_ogg_vorbis_VorbisTools.computeBitReverse(b,this.bitReverseData[a])},inverseMdct:function(a,b,c){for(var d=c?1:0,e=this.a[d],f=this.b[d],g=this.c[d],h=this.bitReverseData[d],i=b>>1,j=b>>2,k=b>>3,l=new Array(i),m=l,n=i-2,o=0,p=0,q=i;p!=q;)m[n+1]=a[p]*e[o]-a[p+2]*e[o+1],m[n]=a[p]*e[o+1]+a[p+2]*e[o],n-=2,o+=2,p+=4;for(p=i-3;n>=0;)m[n+1]=-a[p+2]*e[o]- -a[p]*e[o+1],m[n]=-a[p+2]*e[o+1]+-a[p]*e[o],n-=2,o+=2,p-=4;for(var r=a,s=m,t=i-8,u=j,v=0,w=j,x=0;t>=0;){var y=s[u+1]-s[v+1],z=s[u]-s[v];r[w+1]=s[u+1]+s[v+1],r[w]=s[u]+s[v],r[x+1]=y*e[t+4]-z*e[t+5],r[x]=z*e[t+4]+y*e[t+5],y=s[u+3]-s[v+3],z=s[u+2]-s[v+2],r[w+3]=s[u+3]+s[v+3],r[w+2]=s[u+2]+s[v+2],r[x+3]=y*e[t]-z*e[t+1],r[x+2]=z*e[t]+y*e[t+1],t-=8,w+=4,x+=4,u+=4,v+=4}for(var A=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4],B=(b<16384?b<16?A[b]:b<512?5+A[b>>5]:10+A[b>>10]:b<16777216?b<524288?15+A[b>>15]:20+A[b>>20]:b<536870912?25+A[b>>25]:b<-2147483648?30+A[b>>30]:0)-1,C=i-1-0*j,D=C,E=C+-(b>>3),F=0,G=1+(b>>4>>2);--G>0;){var H=r[D]-r[E],I=r[D+-1]-r[E+-1],J=D,K=r;K[J]=K[J]+r[E];var L=D+-1,M=r;M[L]=M[L]+r[E+-1],r[E]=H*e[F]-I*e[F+1],r[E+-1]=I*e[F]+H*e[F+1],F+=8,H=r[D+-2]-r[E+-2],I=r[D+-3]-r[E+-3];var N=D+-2,O=r;O[N]=O[N]+r[E+-2];var P=D+-3,Q=r;Q[P]=Q[P]+r[E+-3],r[E+-2]=H*e[F]-I*e[F+1],r[E+-3]=I*e[F]+H*e[F+1],F+=8,H=r[D+-4]-r[E+-4],I=r[D+-5]-r[E+-5];var R=D+-4,S=r;S[R]=S[R]+r[E+-4];var T=D+-5,U=r;U[T]=U[T]+r[E+-5],r[E+-4]=H*e[F]-I*e[F+1],r[E+-5]=I*e[F]+H*e[F+1],F+=8,H=r[D+-6]-r[E+-6],I=r[D+-7]-r[E+-7];var V=D+-6,W=r;W[V]=W[V]+r[E+-6];var X=D+-7,Y=r;Y[X]=Y[X]+r[E+-7],r[E+-6]=H*e[F]-I*e[F+1],r[E+-7]=I*e[F]+H*e[F+1],F+=8,D-=8,E-=8}for(var Z=i-1-j,$=Z,_=Z+-(b>>3),aa=0,ba=1+(b>>4>>2);--ba>0;){var ca=r[$]-r[_],da=r[$+-1]-r[_+-1],ea=$,fa=r;fa[ea]=fa[ea]+r[_];var ga=$+-1,ha=r;ha[ga]=ha[ga]+r[_+-1],r[_]=ca*e[aa]-da*e[aa+1],r[_+-1]=da*e[aa]+ca*e[aa+1],aa+=8,ca=r[$+-2]-r[_+-2],da=r[$+-3]-r[_+-3];var ia=$+-2,ja=r;ja[ia]=ja[ia]+r[_+-2];var ka=$+-3,la=r;la[ka]=la[ka]+r[_+-3],r[_+-2]=ca*e[aa]-da*e[aa+1],r[_+-3]=da*e[aa]+ca*e[aa+1],aa+=8,ca=r[$+-4]-r[_+-4],da=r[$+-5]-r[_+-5];var ma=$+-4,na=r;na[ma]=na[ma]+r[_+-4];var oa=$+-5,pa=r;pa[oa]=pa[oa]+r[_+-5],r[_+-4]=ca*e[aa]-da*e[aa+1],r[_+-5]=da*e[aa]+ca*e[aa+1],aa+=8,ca=r[$+-6]-r[_+-6],da=r[$+-7]-r[_+-7];var qa=$+-6,ra=r;ra[qa]=ra[qa]+r[_+-6];var sa=$+-7,ta=r;ta[sa]=ta[sa]+r[_+-7],r[_+-6]=ca*e[aa]-da*e[aa+1],r[_+-7]=da*e[aa]+ca*e[aa+1],aa+=8,$-=8,_-=8}for(var ua=i-1-0*k,va=0,wa=ua,xa=ua+-(b>>4),ya=1+(b>>5>>2);--ya>0;){var za=r[wa]-r[xa],Aa=r[wa+-1]-r[xa+-1],Ba=wa,Ca=r;Ca[Ba]=Ca[Ba]+r[xa];var Da=wa+-1,Ea=r;Ea[Da]=Ea[Da]+r[xa+-1],r[xa]=za*e[va]-Aa*e[va+1],r[xa+-1]=Aa*e[va]+za*e[va+1],va+=16,za=r[wa+-2]-r[xa+-2],Aa=r[wa+-3]-r[xa+-3];var Fa=wa+-2,Ga=r;Ga[Fa]=Ga[Fa]+r[xa+-2];var Ha=wa+-3,Ia=r;Ia[Ha]=Ia[Ha]+r[xa+-3],r[xa+-2]=za*e[va]-Aa*e[va+1],r[xa+-3]=Aa*e[va]+za*e[va+1],va+=16,za=r[wa+-4]-r[xa+-4],Aa=r[wa+-5]-r[xa+-5];var Ja=wa+-4,Ka=r;Ka[Ja]=Ka[Ja]+r[xa+-4];var La=wa+-5,Ma=r;Ma[La]=Ma[La]+r[xa+-5],r[xa+-4]=za*e[va]-Aa*e[va+1],r[xa+-5]=Aa*e[va]+za*e[va+1],va+=16,za=r[wa+-6]-r[xa+-6],Aa=r[wa+-7]-r[xa+-7];var Na=wa+-6,Oa=r;Oa[Na]=Oa[Na]+r[xa+-6];var Pa=wa+-7,Qa=r;Qa[Pa]=Qa[Pa]+r[xa+-7],r[xa+-6]=za*e[va]-Aa*e[va+1],r[xa+-7]=Aa*e[va]+za*e[va+1],wa-=8,xa-=8,va+=16}for(var Ra=i-1-k,Sa=0,Ta=Ra,Ua=Ra+-(b>>4),Va=1+(b>>5>>2);--Va>0;){var Wa=r[Ta]-r[Ua],Xa=r[Ta+-1]-r[Ua+-1],Ya=Ta,Za=r;Za[Ya]=Za[Ya]+r[Ua];var $a=Ta+-1,_a=r;_a[$a]=_a[$a]+r[Ua+-1],r[Ua]=Wa*e[Sa]-Xa*e[Sa+1],r[Ua+-1]=Xa*e[Sa]+Wa*e[Sa+1],Sa+=16,Wa=r[Ta+-2]-r[Ua+-2],Xa=r[Ta+-3]-r[Ua+-3];var ab=Ta+-2,bb=r;bb[ab]=bb[ab]+r[Ua+-2];var cb=Ta+-3,db=r;db[cb]=db[cb]+r[Ua+-3],r[Ua+-2]=Wa*e[Sa]-Xa*e[Sa+1],r[Ua+-3]=Xa*e[Sa]+Wa*e[Sa+1],Sa+=16,Wa=r[Ta+-4]-r[Ua+-4],Xa=r[Ta+-5]-r[Ua+-5];var eb=Ta+-4,fb=r;fb[eb]=fb[eb]+r[Ua+-4];var gb=Ta+-5,hb=r;hb[gb]=hb[gb]+r[Ua+-5],r[Ua+-4]=Wa*e[Sa]-Xa*e[Sa+1],r[Ua+-5]=Xa*e[Sa]+Wa*e[Sa+1],Sa+=16,Wa=r[Ta+-6]-r[Ua+-6],Xa=r[Ta+-7]-r[Ua+-7];var ib=Ta+-6,jb=r;jb[ib]=jb[ib]+r[Ua+-6];var kb=Ta+-7,lb=r;lb[kb]=lb[kb]+r[Ua+-7],r[Ua+-6]=Wa*e[Sa]-Xa*e[Sa+1],r[Ua+-7]=Xa*e[Sa]+Wa*e[Sa+1],Ta-=8,Ua-=8,Sa+=16}for(var mb=i-1-2*k,nb=0,ob=mb,pb=mb+-(b>>4),qb=1+(b>>5>>2);--qb>0;){var rb=r[ob]-r[pb],sb=r[ob+-1]-r[pb+-1],tb=ob,ub=r;ub[tb]=ub[tb]+r[pb];var vb=ob+-1,wb=r;wb[vb]=wb[vb]+r[pb+-1],r[pb]=rb*e[nb]-sb*e[nb+1],r[pb+-1]=sb*e[nb]+rb*e[nb+1],nb+=16,rb=r[ob+-2]-r[pb+-2],sb=r[ob+-3]-r[pb+-3];var xb=ob+-2,yb=r;yb[xb]=yb[xb]+r[pb+-2];var zb=ob+-3,Ab=r;Ab[zb]=Ab[zb]+r[pb+-3],r[pb+-2]=rb*e[nb]-sb*e[nb+1],r[pb+-3]=sb*e[nb]+rb*e[nb+1],nb+=16,rb=r[ob+-4]-r[pb+-4],sb=r[ob+-5]-r[pb+-5];var Bb=ob+-4,Cb=r;Cb[Bb]=Cb[Bb]+r[pb+-4];var Db=ob+-5,Eb=r;Eb[Db]=Eb[Db]+r[pb+-5],r[pb+-4]=rb*e[nb]-sb*e[nb+1],r[pb+-5]=sb*e[nb]+rb*e[nb+1],nb+=16,rb=r[ob+-6]-r[pb+-6],sb=r[ob+-7]-r[pb+-7];var Fb=ob+-6,Gb=r;Gb[Fb]=Gb[Fb]+r[pb+-6];var Hb=ob+-7,Ib=r;Ib[Hb]=Ib[Hb]+r[pb+-7],r[pb+-6]=rb*e[nb]-sb*e[nb+1],r[pb+-7]=sb*e[nb]+rb*e[nb+1],ob-=8,pb-=8,nb+=16}for(var Jb=i-1-3*k,Kb=0,Lb=Jb,Mb=Jb+-(b>>4),Nb=1+(b>>5>>2);--Nb>0;){var Ob=r[Lb]-r[Mb],Pb=r[Lb+-1]-r[Mb+-1],Qb=Lb,Rb=r;Rb[Qb]=Rb[Qb]+r[Mb];var Sb=Lb+-1,Tb=r;Tb[Sb]=Tb[Sb]+r[Mb+-1],r[Mb]=Ob*e[Kb]-Pb*e[Kb+1],r[Mb+-1]=Pb*e[Kb]+Ob*e[Kb+1],Kb+=16,Ob=r[Lb+-2]-r[Mb+-2],Pb=r[Lb+-3]-r[Mb+-3];var Ub=Lb+-2,Vb=r;Vb[Ub]=Vb[Ub]+r[Mb+-2];var Wb=Lb+-3,Xb=r;Xb[Wb]=Xb[Wb]+r[Mb+-3],r[Mb+-2]=Ob*e[Kb]-Pb*e[Kb+1],r[Mb+-3]=Pb*e[Kb]+Ob*e[Kb+1],Kb+=16,Ob=r[Lb+-4]-r[Mb+-4],Pb=r[Lb+-5]-r[Mb+-5];var Yb=Lb+-4,Zb=r;Zb[Yb]=Zb[Yb]+r[Mb+-4];var $b=Lb+-5,_b=r;_b[$b]=_b[$b]+r[Mb+-5],r[Mb+-4]=Ob*e[Kb]-Pb*e[Kb+1],r[Mb+-5]=Pb*e[Kb]+Ob*e[Kb+1],Kb+=16,Ob=r[Lb+-6]-r[Mb+-6],Pb=r[Lb+-7]-r[Mb+-7];var ac=Lb+-6,bc=r;bc[ac]=bc[ac]+r[Mb+-6];var cc=Lb+-7,dc=r;dc[cc]=dc[cc]+r[Mb+-7],r[Mb+-6]=Ob*e[Kb]-Pb*e[Kb+1],r[Mb+-7]=Pb*e[Kb]+Ob*e[Kb+1],Lb-=8,Mb-=8,Kb+=16}for(var ec=2,fc=B-3>>1;ec<fc;)for(var gc=ec++,hc=b>>gc+2,ic=hc>>1,jc=1<<gc+1,kc=0,lc=jc;kc<lc;)for(var mc=kc++,nc=i-1-hc*mc,oc=1<<gc+3,pc=0,qc=nc,rc=nc+-ic,sc=1+(b>>gc+4>>2);--sc>0;){var tc=r[qc]-r[rc],uc=r[qc+-1]-r[rc+-1],vc=qc,wc=r;wc[vc]=wc[vc]+r[rc];var xc=qc+-1,yc=r;yc[xc]=yc[xc]+r[rc+-1],r[rc]=tc*e[pc]-uc*e[pc+1],r[rc+-1]=uc*e[pc]+tc*e[pc+1],pc+=oc,tc=r[qc+-2]-r[rc+-2],uc=r[qc+-3]-r[rc+-3];var zc=qc+-2,Ac=r;Ac[zc]=Ac[zc]+r[rc+-2];var Bc=qc+-3,Cc=r;Cc[Bc]=Cc[Bc]+r[rc+-3],r[rc+-2]=tc*e[pc]-uc*e[pc+1],r[rc+-3]=uc*e[pc]+tc*e[pc+1],pc+=oc,tc=r[qc+-4]-r[rc+-4],uc=r[qc+-5]-r[rc+-5];var Dc=qc+-4,Ec=r;Ec[Dc]=Ec[Dc]+r[rc+-4];var Fc=qc+-5,Gc=r;Gc[Fc]=Gc[Fc]+r[rc+-5],r[rc+-4]=tc*e[pc]-uc*e[pc+1],r[rc+-5]=uc*e[pc]+tc*e[pc+1],pc+=oc,tc=r[qc+-6]-r[rc+-6],uc=r[qc+-7]-r[rc+-7];var Hc=qc+-6,Ic=r;Ic[Hc]=Ic[Hc]+r[rc+-6];var Jc=qc+-7,Kc=r;Kc[Jc]=Kc[Jc]+r[rc+-7],r[rc+-6]=tc*e[pc]-uc*e[pc+1],r[rc+-7]=uc*e[pc]+tc*e[pc+1],qc-=8,rc-=8,pc+=oc}for(var Lc=B-3>>1,Mc=B-6;Lc<Mc;)for(var Nc=Lc++,Oc=b>>Nc+2,Pc=1<<Nc+3,Qc=Oc>>1,Rc=b>>Nc+6,Sc=1<<Nc+1,Tc=0,Uc=i-1,Vc=Rc+1;--Vc>0;){for(var Wc=e[Tc],Xc=e[Tc+1],Yc=e[Tc+Pc],Zc=e[Tc+Pc+1],$c=e[Tc+2*Pc],_c=e[Tc+2*Pc+1],ad=e[Tc+3*Pc],bd=e[Tc+3*Pc+1],cd=Uc,dd=Uc+-Qc,ed=Sc+1;--ed>0;){var fd=r[cd]-r[dd],gd=r[cd+-1]-r[dd+-1];r[cd]=r[cd]+r[dd],r[cd+-1]=r[cd+-1]+r[dd+-1],r[dd]=fd*Wc-gd*Xc,r[dd+-1]=gd*Wc+fd*Xc,fd=r[cd+-2]-r[dd+-2],gd=r[cd+-3]-r[dd+-3],r[cd+-2]=r[cd+-2]+r[dd+-2],r[cd+-3]=r[cd+-3]+r[dd+-3],r[dd+-2]=fd*Yc-gd*Zc,r[dd+-3]=gd*Yc+fd*Zc,fd=r[cd+-4]-r[dd+-4],gd=r[cd+-5]-r[dd+-5],r[cd+-4]=r[cd+-4]+r[dd+-4],r[cd+-5]=r[cd+-5]+r[dd+-5],r[dd+-4]=fd*$c-gd*_c,r[dd+-5]=gd*$c+fd*_c,fd=r[cd+-6]-r[dd+-6],gd=r[cd+-7]-r[dd+-7],r[cd+-6]=r[cd+-6]+r[dd+-6],r[cd+-7]=r[cd+-7]+r[dd+-7],r[dd+-6]=fd*ad-gd*bd,r[dd+-7]=gd*ad+fd*bd,cd-=Oc,dd-=Oc}Tc+=4*Pc,Uc-=8}for(var hd=i-1,id=e[b>>3],jd=hd,kd=hd-16*(b>>5);jd>kd;){var ld=r[jd],md=r[jd+-8];r[jd+-8]=ld-md,r[jd]=ld+md,ld=r[jd+-1],md=r[jd+-9],r[jd+-9]=ld-md,r[jd+-1]=ld+md,ld=r[jd+-2],md=r[jd+-10];var nd=ld-md;r[jd+-2]=ld+md,ld=r[jd+-3],md=r[jd+-11];var od=ld-md;r[jd+-3]=ld+md,r[jd+-10]=(nd+od)*id,r[jd+-11]=(od-nd)*id,ld=r[jd+-4],md=r[jd+-12],nd=md-ld,r[jd+-4]=ld+md,ld=r[jd+-5],md=r[jd+-13],od=ld-md,r[jd+-5]=ld+md,r[jd+-12]=od,r[jd+-13]=nd,ld=r[jd+-6],md=r[jd+-14],nd=md-ld,r[jd+-6]=ld+md,ld=r[jd+-7],md=r[jd+-15],od=ld-md,r[jd+-7]=ld+md,r[jd+-14]=(nd+od)*id,r[jd+-15]=(nd-od)*id;var pd=r[jd],qd=r[jd+-4],rd=pd-qd,sd=pd+qd;pd=r[jd+-2],qd=r[jd+-6];var td=pd+qd,ud=pd-qd;r[jd]=sd+td,r[jd+-2]=sd-td;var vd=r[jd+-3]-r[jd+-7];r[jd+-4]=rd+vd,r[jd+-6]=rd-vd,pd=r[jd+-1],qd=r[jd+-5];var wd=pd-qd,xd=pd+qd,yd=r[jd+-3]+r[jd+-7];r[jd+-1]=xd+yd,r[jd+-3]=xd-yd,r[jd+-5]=wd-ud,r[jd+-7]=wd+ud;var zd=jd-8,Ad=r[zd],Bd=r[zd+-4],Cd=Ad-Bd,Dd=Ad+Bd;Ad=r[zd+-2],Bd=r[zd+-6];var Ed=Ad+Bd,Fd=Ad-Bd;r[zd]=Dd+Ed,r[zd+-2]=Dd-Ed;var Gd=r[zd+-3]-r[zd+-7];r[zd+-4]=Cd+Gd,r[zd+-6]=Cd-Gd,Ad=r[zd+-1],Bd=r[zd+-5];var Hd=Ad-Bd,Id=Ad+Bd,Jd=r[zd+-3]+r[zd+-7];r[zd+-1]=Id+Jd,r[zd+-3]=Id-Jd,r[zd+-5]=Hd-Fd,r[zd+-7]=Hd+Fd,jd-=16}for(var Kd=0,Ld=j-4,Md=i-4;Ld>=0;){var Nd=h[Kd];s[Md+3]=r[Nd],s[Md+2]=r[Nd+1],s[Ld+3]=r[Nd+2],s[Ld+2]=r[Nd+3],Nd=h[Kd+1],s[Md+1]=r[Nd],s[Md]=r[Nd+1],s[Ld+1]=r[Nd+2],s[Ld]=r[Nd+3],Ld-=4,Md-=4,Kd+=2}for(var Od=0,Pd=0,Qd=i-4;Pd<Qd;){var Rd=s[Pd]-s[Qd+2],Sd=s[Pd+1]+s[Qd+3],Td=g[Od+1]*Rd+g[Od]*Sd,Ud=g[Od+1]*Sd-g[Od]*Rd,Vd=s[Pd]+s[Qd+2],Wd=s[Pd+1]-s[Qd+3];s[Pd]=Vd+Td,s[Pd+1]=Wd+Ud,s[Qd+2]=Vd-Td,s[Qd+3]=Ud-Wd,Rd=s[Pd+2]-s[Qd],Sd=s[Pd+3]+s[Qd+1],Td=g[Od+3]*Rd+g[Od+2]*Sd,Ud=g[Od+3]*Sd-g[Od+2]*Rd,Vd=s[Pd+2]+s[Qd],Wd=s[Pd+3]-s[Qd+1],s[Pd+2]=Vd+Td,s[Pd+3]=Wd+Ud,s[Qd]=Vd-Td,s[Qd+1]=Ud-Wd,Od+=4,Pd+=4,Qd-=4}for(var Xd=i-8,Yd=i-8,Zd=0,$d=i-4,_d=i,ae=b-4;Yd>=0;){var be=m[Yd+6]*f[Xd+7]-m[Yd+7]*f[Xd+6],ce=-m[Yd+6]*f[Xd+6]-m[Yd+7]*f[Xd+7];a[Zd]=be,a[$d+3]=-be,a[_d]=ce,a[ae+3]=ce;var de=m[Yd+4]*f[Xd+5]-m[Yd+5]*f[Xd+4],ee=-m[Yd+4]*f[Xd+4]-m[Yd+5]*f[Xd+5];a[Zd+1]=de,a[$d+2]=-de,a[_d+1]=ee,a[ae+2]=ee,be=m[Yd+2]*f[Xd+3]-m[Yd+3]*f[Xd+2],ce=-m[Yd+2]*f[Xd+2]-m[Yd+3]*f[Xd+3],a[Zd+2]=be,a[$d+1]=-be,a[_d+2]=ce,a[ae+1]=ce,de=m[Yd]*f[Xd+1]-m[Yd+1]*f[Xd],ee=-m[Yd]*f[Xd]-m[Yd+1]*f[Xd+1],a[Zd+3]=de,a[$d]=-de,a[_d+3]=ee,a[ae]=ee,Xd-=8,Yd-=8,Zd+=4,_d+=4,$d-=4,ae-=4}},decodePacket:function(){var a=this.decodeInitial();return null==a?null:this.decodePacketRest(a)},decodeInitial:function(){for(this.channelBufferStart=this.channelBufferEnd=0;;){if(!this.decodeState.maybeStartPacket())return null;var b,a=this.decodeState;if(a.validBits<0)b=0;else if(a.validBits<1){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<1))break}if(a.validBits<0)b=0;else{var c=1&a.acc;a.acc=a.acc>>>1,a.validBits-=1,b=c}}else{var d=1&a.acc;a.acc=a.acc>>>1,a.validBits-=1,b=d}if(0==b)break;for(;;){var f,e=this.decodeState;if(0!=e.bytesInSeg||!e.lastSeg&&0!=e.next()?(e.bytesInSeg--,e.inputPosition+=1,f=e.input.readByte()):f=-1,e.validBits=0,-1==f)break}}var k,g=this.decodeState,h=this.header.modes.length-1,i=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4],j=h<16384?h<16?i[h]:h<512?5+i[h>>5]:10+i[h>>10]:h<16777216?h<524288?15+i[h>>15]:20+i[h>>20]:h<536870912?25+i[h>>25]:h<-2147483648?30+i[h>>30]:0;if(g.validBits<0)k=0;else if(g.validBits<j)if(j>24)k=g.readBits(24)+(g.readBits(j-24)<<24);else{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<j))break}if(g.validBits<0)k=0;else{var l=g.acc&(1<<j)-1;g.acc=g.acc>>>j,g.validBits-=j,k=l}}else{var m=g.acc&(1<<j)-1;g.acc=g.acc>>>j,g.validBits-=j,k=m}if(-1==k||k>=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 o,p,q,n=this.header.modes[k];if(n.blockflag){o=this.header.blocksize1;var r=this.decodeState;if(r.validBits<0)p=0;else if(r.validBits<1){for(0==r.validBits&&(r.acc=0);;){if(0==r.bytesInSeg&&(r.lastSeg||0==r.next())){r.validBits=-1;break}if(r.bytesInSeg--,r.inputPosition+=1,r.acc=r.acc+(r.input.readByte()<<r.validBits),r.validBits+=8,!(r.validBits<1))break}if(r.validBits<0)p=0;else{var s=1&r.acc;r.acc=r.acc>>>1,r.validBits-=1,p=s}}else{var t=1&r.acc;r.acc=r.acc>>>1,r.validBits-=1,p=t}var u=this.decodeState;if(u.validBits<0)q=0;else if(u.validBits<1){for(0==u.validBits&&(u.acc=0);;){if(0==u.bytesInSeg&&(u.lastSeg||0==u.next())){u.validBits=-1;break}if(u.bytesInSeg--,u.inputPosition+=1,u.acc=u.acc+(u.input.readByte()<<u.validBits),u.validBits+=8,!(u.validBits<1))break}if(u.validBits<0)q=0;else{var v=1&u.acc;u.acc=u.acc>>>1,u.validBits-=1,q=v}}else{var w=1&u.acc;u.acc=u.acc>>>1,u.validBits-=1,q=w}}else q=0,p=q,o=this.header.blocksize0;var x=o>>1;return{mode:k,left:n.blockflag&&0==p?{start:o-this.header.blocksize0>>2,end:o+this.header.blocksize0>>2}:{start:0,end:x},right:n.blockflag&&0==q?{start:3*o-this.header.blocksize0>>2,end:3*o+this.header.blocksize0>>2}:{start:x,end:o}}},decodePacketRest:function(a){for(var c=this.header.modes[a.mode],d=new Array(256),e=d,f=new Array(256),g=f,h=c.blockflag?this.header.blocksize1:this.header.blocksize0,i=this.header.mapping[c.mapping],j=h>>1,k=[256,128,86,64],l=this.header.codebooks,m=0,n=this.header.channel;m<n;){var o=m++,p=i.chan[o].mux;e[o]=!1;var q=this.header.floorConfig[i.submapFloor[p]];if(0==q.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 t,r=q.floor1,s=this.decodeState;if(s.validBits<0)t=0;else if(s.validBits<1){for(0==s.validBits&&(s.acc=0);;){if(0==s.bytesInSeg&&(s.lastSeg||0==s.next())){s.validBits=-1;break}if(s.bytesInSeg--,s.inputPosition+=1,s.acc=s.acc+(s.input.readByte()<<s.validBits),s.validBits+=8,!(s.validBits<1))break}if(s.validBits<0)t=0;else{var u=1&s.acc;s.acc=s.acc>>>1,s.validBits-=1,t=u}}else{var v=1&s.acc;s.acc=s.acc>>>1,s.validBits-=1,t=v}if(0!=t){var w=[],x=new Array(256),y=x,z=k[r.floor1Multiplier-1],A=2;w=this.finalY[o];var E,B=this.decodeState,C=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4],D=(z<16384?z<16?C[z]:z<512?5+C[z>>5]:10+C[z>>10]:z<16777216?z<524288?15+C[z>>15]:20+C[z>>20]:z<536870912?25+C[z>>25]:z<-2147483648?30+C[z>>30]:0)-1;if(B.validBits<0)E=0;else if(B.validBits<D)if(D>24)E=B.readBits(24)+(B.readBits(D-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<D))break}if(B.validBits<0)E=0;else{var F=B.acc&(1<<D)-1;B.acc=B.acc>>>D,B.validBits-=D,E=F}}else{var G=B.acc&(1<<D)-1;B.acc=B.acc>>>D,B.validBits-=D,E=G}w[0]=E;var K,H=this.decodeState,I=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4],J=(z<16384?z<16?I[z]:z<512?5+I[z>>5]:10+I[z>>10]:z<16777216?z<524288?15+I[z>>15]:20+I[z>>20]:z<536870912?25+I[z>>25]:z<-2147483648?30+I[z>>30]:0)-1;if(H.validBits<0)K=0;else if(H.validBits<J)if(J>24)K=H.readBits(24)+(H.readBits(J-24)<<24);else{for(0==H.validBits&&(H.acc=0);;){if(0==H.bytesInSeg&&(H.lastSeg||0==H.next())){H.validBits=-1;break}if(H.bytesInSeg--,H.inputPosition+=1,H.acc=H.acc+(H.input.readByte()<<H.validBits),H.validBits+=8,!(H.validBits<J))break}if(H.validBits<0)K=0;else{var L=H.acc&(1<<J)-1;H.acc=H.acc>>>J,H.validBits-=J,K=L}}else{var M=H.acc&(1<<J)-1;H.acc=H.acc>>>J,H.validBits-=J,K=M}w[1]=K;for(var N=0,O=r.partitions;N<O;){var P=N++,Q=r.partitionClassList[P],R=r.classDimensions[Q],S=r.classSubclasses[Q],T=(1<<S)-1,U=0;if(0!=S){var V=l[r.classMasterbooks[Q]],W=this.decodeState;W.validBits<10&&W.prepHuffman();var Y,X=V.fastHuffman[1023&W.acc];if(X>=0){var Z=V.codewordLengths[X];W.acc=W.acc>>>Z,W.validBits-=Z,W.validBits<0?(W.validBits=0,Y=-1):Y=X}else Y=W.decodeScalarRaw(V);V.sparse&&(Y=V.sortedValues[Y]),U=Y}for(var $=r.subclassBooks[Q],_=0,aa=R;_<aa;){var ca=(_++,$[U&T]);U>>=S;var ea,da=A++;if(ca>=0){var fa=this.decodeState,ga=l[ca];fa.validBits<10&&fa.prepHuffman();var ia,ha=ga.fastHuffman[1023&fa.acc];if(ha>=0){var ja=ga.codewordLengths[ha];fa.acc=fa.acc>>>ja,fa.validBits-=ja,fa.validBits<0?(fa.validBits=0,ia=-1):ia=ha}else ia=fa.decodeScalarRaw(ga);ga.sparse&&(ia=ga.sortedValues[ia]),ea=ia}else ea=0;w[da]=ea}}if(-1==this.decodeState.validBits){e[o]=!0;continue}y[0]=y[1]=!0;for(var ka=r.neighbors,la=r.xlist,ma=2,na=r.values;ma<na;){var oa=ma++,pa=ka[oa][0],qa=ka[oa][1],ra=la[pa],sa=w[pa],ta=w[qa]-sa,ua=la[qa]-ra,va=Math.abs(ta)*(la[oa]-ra),wa=va/ua|0,xa=ta<0?sa-wa:sa+wa,ya=w[oa],za=z-xa,Aa=za<xa?2*za:2*xa;0!=ya?(y[pa]=y[qa]=!0,y[oa]=!0,w[oa]=ya>=Aa?za>xa?ya-xa+xa:xa-ya+za-1:0!=(1&ya)?xa-(ya+1>>1):xa+(ya>>1)):(y[oa]=!1,w[oa]=xa)}for(var Ba=0,Ca=r.values;Ba<Ca;){var Da=Ba++;y[Da]||(w[Da]=-1)}}else e[o]=!0}for(var Ea=0,Fa=this.header.channel;Ea<Fa;){var Ga=Ea++;g[Ga]=e[Ga]}for(var Ha=0,Ia=i.couplingSteps;Ha<Ia;){var Ja=Ha++;e[i.chan[Ja].magnitude]&&e[i.chan[Ja].angle]||(e[i.chan[Ja].magnitude]=e[i.chan[Ja].angle]=!1)}for(var Ka=0,La=i.submaps;Ka<La;){for(var Ma=Ka++,Na=this.header.channel,Oa=new Array(Na),Pa=Oa,Qa=new Array(256),Ra=Qa,Sa=0,Ta=0,Ua=this.header.channel;Ta<Ua;){var Va=Ta++;i.chan[Va].mux==Ma&&(e[Va]?(Ra[Sa]=!0,Pa[Sa]=null):(Ra[Sa]=!1,Pa[Sa]=this.channelBuffers[Va]),++Sa)}var Wa=i.submapResidue[Ma];this.header.residueConfig[Wa].decode(this.decodeState,this.header,Pa,Sa,j,Ra,this.channelBuffers)}for(var Ya=i.couplingSteps,Za=h>>1;--Ya>=0;)for(var $a=this.channelBuffers[i.chan[Ya].magnitude],_a=this.channelBuffers[i.chan[Ya].angle],ab=0,bb=Za;ab<bb;){var db,eb,cb=ab++;$a[cb]>0?_a[cb]>0?(eb=$a[cb],db=$a[cb]-_a[cb]):(db=$a[cb],eb=$a[cb]+_a[cb]):_a[cb]>0?(eb=$a[cb],db=$a[cb]+_a[cb]):(db=$a[cb],eb=$a[cb]-_a[cb]),$a[cb]=eb,_a[cb]=db}for(var fb=0,gb=this.header.channel;fb<gb;){var hb=fb++;if(g[hb])for(var ib=0,jb=Za;ib<jb;){var kb=ib++;this.channelBuffers[hb][kb]=0}else i.doFloor(this.header.floorConfig,hb,h,this.channelBuffers[hb],this.finalY[hb],null)}for(var lb=0,mb=this.header.channel;lb<mb;){var nb=lb++;this.inverseMdct(this.channelBuffers[nb],h,c.blockflag)}for(var ob=this.decodeState;0!=ob.bytesInSeg||!ob.lastSeg&&0!=ob.next();)ob.bytesInSeg--,ob.inputPosition+=1,ob.input.readByte();return this.decodeState.finishDecodePacket(this.previousLength,h,a)},__class__:kha_audio2_ogg_vorbis_VorbisDecoder};var kha_audio2_ogg_vorbis_VorbisTools=function(){};$hxClasses["kha.audio2.ogg.vorbis.VorbisTools"]=kha_audio2_ogg_vorbis_VorbisTools,kha_audio2_ogg_vorbis_VorbisTools.__name__=["kha","audio2","ogg","vorbis","VorbisTools"],kha_audio2_ogg_vorbis_VorbisTools.pointCompare=function(a,b){return a.x<b.x?-1:a.x>b.x?1:0},kha_audio2_ogg_vorbis_VorbisTools.uintAsc=function(a,b){return _$UInt_UInt_$Impl_$.gt(b,a)?-1:a==b?0:1},kha_audio2_ogg_vorbis_VorbisTools.lookup1Values=function(a,b){var c=0|Math.exp(Math.log(a)/b);(0|Math.pow(c+1,b))<=a&&++c;Math.pow(c+1,b),Math.pow(c,b);return c},kha_audio2_ogg_vorbis_VorbisTools.computeWindow=function(a,b){for(var c=a>>1,d=0,e=c;d<e;){var f=d++;b[f]=Math.sin(1.5707963267948966*kha_audio2_ogg_vorbis_VorbisTools.square(Math.sin((f+.5)/c*.5*3.141592653589793)))}},kha_audio2_ogg_vorbis_VorbisTools.square=function(a){return a*a},kha_audio2_ogg_vorbis_VorbisTools.computeBitReverse=function(a,b){for(var c=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4],d=(a<16384?a<16?c[a]:a<512?5+c[a>>5]:10+c[a>>10]:a<16777216?a<524288?15+c[a>>15]:20+c[a>>20]:a<536870912?25+c[a>>25]:a<-2147483648?30+c[a>>30]:0)-1,e=a>>3,f=0,g=e;f<g;){var h=f++,i=h;i=(-1431655766&i)>>>1|(1431655765&i)<<1,i=(-858993460&i)>>>2|(858993459&i)<<2,i=(-252645136&i)>>>4|(252645135&i)<<4,i=(-16711936&i)>>>8|(16711935&i)<<8,b[h]=(i>>>16|i<<16)>>>32-d+3<<2}},kha_audio2_ogg_vorbis_VorbisTools.computeTwiddleFactors=function(a,b,c,d){for(var e=a>>2,f=a>>3,g=0,h=0,i=e;h<i;){var j=h++;b[g]=Math.cos(4*j*3.141592653589793/a),b[g+1]=-Math.sin(4*j*3.141592653589793/a),c[g]=.5*Math.cos(3.141592653589793*(g+1)/a/2),c[g+1]=.5*Math.sin(3.141592653589793*(g+1)/a/2),g+=2}for(var k=0,l=0,m=f;l<m;){l++;d[k]=Math.cos(2*(k+1)*3.141592653589793/a),d[k+1]=-Math.sin(2*(k+1)*3.141592653589793/a),k+=2}},kha_audio2_ogg_vorbis_VorbisTools.drawLine=function(a,b,c,d,e,f){if(null==kha_audio2_ogg_vorbis_VorbisTools.integerDivideTable){var g=new Array(32);kha_audio2_ogg_vorbis_VorbisTools.integerDivideTable=g;for(var h=0;h<32;){var i=h++,j=kha_audio2_ogg_vorbis_VorbisTools.integerDivideTable,k=new Array(64);j[i]=k;for(var l=1;l<64;){var m=l++;kha_audio2_ogg_vorbis_VorbisTools.integerDivideTable[i][m]=i/m|0}}}var q,u,n=e-c,o=d-b,p=n<0?-n:n,r=b,s=c,t=0;o<64&&p<32?n<0?(q=-kha_audio2_ogg_vorbis_VorbisTools.integerDivideTable[p][o],u=q-1):(q=kha_audio2_ogg_vorbis_VorbisTools.integerDivideTable[p][o],u=q+1):(q=n/o|0,u=n<0?q-1:q+1),p-=(q<0?-q:q)*o,d>f&&(d=f);var v=r,w=a;w[v]=w[v]*kha_audio2_ogg_vorbis_VorbisTools.INVERSE_DB_TABLE[s];for(var x=r+1,y=d;x<y;){var z=x++;t+=p,t>=o?(t-=o,s+=u):s+=q;var A=z,B=a;B[A]=B[A]*kha_audio2_ogg_vorbis_VorbisTools.INVERSE_DB_TABLE[s]}};var kha_audio2_ogg_vorbis_data_Codebook=function(){};$hxClasses["kha.audio2.ogg.vorbis.data.Codebook"]=kha_audio2_ogg_vorbis_data_Codebook,kha_audio2_ogg_vorbis_data_Codebook.__name__=["kha","audio2","ogg","vorbis","data","Codebook"],kha_audio2_ogg_vorbis_data_Codebook.read=function(a){var c,d,e,b=new kha_audio2_ogg_vorbis_data_Codebook;if(a.validBits<0)e=0;else if(a.validBits<8){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<8))break}if(a.validBits<0)e=0;else{var f=255&a.acc;a.acc=a.acc>>>8,a.validBits-=8,e=f}}else{var g=255&a.acc;a.acc=a.acc>>>8,a.validBits-=8,e=g}if(66==e){var h;if(a.validBits<0)h=0;else if(a.validBits<8){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<8))break}if(a.validBits<0)h=0;else{var i=255&a.acc;a.acc=a.acc>>>8,a.validBits-=8,h=i}}else{var j=255&a.acc;a.acc=a.acc>>>8,a.validBits-=8,h=j}d=67!=h}else d=!0;if(d)c=!0;else{var k;if(a.validBits<0)k=0;else if(a.validBits<8){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<8))break}if(a.validBits<0)k=0;else{var l=255&a.acc;a.acc=a.acc>>>8,a.validBits-=8,k=l}}else{var m=255&a.acc;a.acc=a.acc>>>8,a.validBits-=8,k=m}c=86!=k}if(c)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 n;if(a.validBits<0)n=0;else if(a.validBits<8){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<8))break}if(a.validBits<0)n=0;else{var o=255&a.acc;a.acc=a.acc>>>8,a.validBits-=8,n=o}}else{var p=255&a.acc;a.acc=a.acc>>>8,a.validBits-=8,n=p}var q;if(a.validBits<0)q=0;else if(a.validBits<8){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<8))break}if(a.validBits<0)q=0;else{var r=255&a.acc;a.acc=a.acc>>>8,a.validBits-=8,q=r}}else{var s=255&a.acc;a.acc=a.acc>>>8,a.validBits-=8,q=s}b.dimensions=(q<<8)+n;var t;if(a.validBits<0)t=0;else if(a.validBits<8){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<8))break}if(a.validBits<0)t=0;else{var u=255&a.acc;a.acc=a.acc>>>8,a.validBits-=8,t=u}}else{var v=255&a.acc;a.acc=a.acc>>>8,a.validBits-=8,t=v}var w;if(a.validBits<0)w=0;else if(a.validBits<8){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<8))break}if(a.validBits<0)w=0;else{var x=255&a.acc;a.acc=a.acc>>>8,a.validBits-=8,w=x}}else{var y=255&a.acc;a.acc=a.acc>>>8,a.validBits-=8,w=y}var z;if(a.validBits<0)z=0;else if(a.validBits<8){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<8))break}if(a.validBits<0)z=0;else{var A=255&a.acc;a.acc=a.acc>>>8,a.validBits-=8,z=A}}else{var B=255&a.acc;a.acc=a.acc>>>8,a.validBits-=8,z=B}b.entries=(z<<16)+(w<<8)+t;var C;if(a.validBits<0)C=0;else if(a.validBits<1){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<1))break}if(a.validBits<0)C=0;else{var D=1&a.acc;a.acc=a.acc>>>1,a.validBits-=1,C=D}}else{var E=1&a.acc;a.acc=a.acc>>>1,a.validBits-=1,C=E}var F;if(0!=C)F=!1;else{var G;if(a.validBits<0)G=0;else if(a.validBits<1){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<1))break}if(a.validBits<0)G=0;else{var H=1&a.acc;a.acc=a.acc>>>1,a.validBits-=1,G=H}}else{var I=1&a.acc;a.acc=a.acc>>>1,a.validBits-=1,G=I}F=0!=G}b.sparse=F;var J=b.entries,K=new Array(J),L=K;b.sparse||(b.codewordLengths=L);var M=0;if(0!=C){var O,N=0;if(a.validBits<0)O=0;else if(a.validBits<5){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<5))break}if(a.validBits<0)O=0;else{var P=31&a.acc;a.acc=a.acc>>>5,a.validBits-=5,O=P}}else{var Q=31&a.acc;a.acc=a.acc>>>5,a.validBits-=5,O=Q}for(var R=O+1;N<b.entries;){var V,S=b.entries-N,T=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4],U=S<16384?S<16?T[S]:S<512?5+T[S>>5]:10+T[S>>10]:S<16777216?S<524288?15+T[S>>15]:20+T[S>>20]:S<536870912?25+T[S>>25]:S<-2147483648?30+T[S>>30]:0;if(a.validBits<0)V=0;else if(a.validBits<U)if(U>24)V=a.readBits(24)+(a.readBits(U-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<U))break}if(a.validBits<0)V=0;else{var W=a.acc&(1<<U)-1;a.acc=a.acc>>>U,a.validBits-=U,V=W}}else{var X=a.acc&(1<<U)-1;a.acc=a.acc>>>U,a.validBits-=U,V=X}if(N+V>b.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 Y=0,Z=V;Y<Z;){L[N+Y++]=R}N+=V,++R}}else for(var _=0,aa=b.entries;_<aa;){var ca,ba=_++;if(b.sparse)if(a.validBits<0)ca=0;else if(a.validBits<1){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<1))break}if(a.validBits<0)ca=0;else{var da=1&a.acc;a.acc=a.acc>>>1,a.validBits-=1,ca=da}}else{var ea=1&a.acc;a.acc=a.acc>>>1,a.validBits-=1,ca=ea}else ca=1;if(0!=ca){var fa;if(a.validBits<0)fa=0;else if(a.validBits<5){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<5))break}if(a.validBits<0)fa=0;else{var ga=31&a.acc;a.acc=a.acc>>>5,a.validBits-=5,fa=ga}}else{var ha=31&a.acc;a.acc=a.acc>>>5,a.validBits-=5,fa=ha}L[ba]=fa+1,++M}else L[ba]=255}b.sparse&&M>=b.entries>>2&&(b.codewordLengths=L,b.sparse=!1);var ia;if(b.sparse)ia=M;else{for(var ja=0,ka=0,la=b.entries;ka<la;){var ma=ka++,na=L[ma];na>10&&255!=na&&++ja}ia=ja}b.sortedEntries=ia;var oa=null;if(b.sparse){if(0!=b.sortedEntries){var ra=b.sortedEntries,sa=new Array(ra);b.codewordLengths=sa;var ta=b.entries,ua=new Array(ta);b.codewords=ua;var va=b.entries;oa=new Array(va)}b.entries,b.sortedEntries}else{var pa=b.entries,qa=new Array(pa);b.codewords=qa}if(!b.computeCodewords(L,b.entries,oa))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!=b.sortedEntries){b.sortedCodewords=[];var ya=b.sortedEntries,za=new Array(ya);b.sortedValues=za,b.computeSortedHuffman(L,oa)}b.sparse&&(oa=null,b.codewords=null,L=null),b.computeAcceleratedHuffman();var Aa;if(a.validBits<0)Aa=0;else if(a.validBits<4){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<4))break}if(a.validBits<0)Aa=0;else{var Ba=15&a.acc;a.acc=a.acc>>>4,a.validBits-=4,Aa=Ba}}else{var Ca=15&a.acc;a.acc=a.acc>>>4,a.validBits-=4,Aa=Ca}if(b.lookupType=Aa,b.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(b.lookupType>0){var Da;if(a.validBits<0)Da=0;else if(a.validBits<32)Da=a.readBits(24)+(a.readBits(8)<<24);else{var Ea=-1&a.acc;a.acc=a.acc>>>32,a.validBits-=32,Da=Ea}var Fa=_$UInt_UInt_$Impl_$.toFloat(2097151&Da),Ga=-2147483648&Da,Ha=(2145386496&Da)>>>21,Ia=0!=Ga?-Fa:Fa;b.minimumValue=Ia*Math.pow(2,Ha-788);var Ja;if(a.validBits<0)Ja=0;else if(a.validBits<32)Ja=a.readBits(24)+(a.readBits(8)<<24);else{var Ka=-1&a.acc;a.acc=a.acc>>>32,a.validBits-=32,Ja=Ka}var La=_$UInt_UInt_$Impl_$.toFloat(2097151&Ja),Ma=-2147483648&Ja,Na=(2145386496&Ja)>>>21,Oa=0!=Ma?-La:La;b.deltaValue=Oa*Math.pow(2,Na-788);var Pa;if(a.validBits<0)Pa=0;else if(a.validBits<4){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<4))break}if(a.validBits<0)Pa=0;else{var Qa=15&a.acc;a.acc=a.acc>>>4,a.validBits-=4,Pa=Qa}}else{var Ra=15&a.acc;a.acc=a.acc>>>4,a.validBits-=4,Pa=Ra}b.valueBits=Pa+1;var Sa;if(a.validBits<0)Sa=0;else if(a.validBits<1){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<1))break}if(a.validBits<0)Sa=0;else{var Ta=1&a.acc;a.acc=a.acc>>>1,a.validBits-=1,Sa=Ta}}else{var Ua=1&a.acc;a.acc=a.acc>>>1,a.validBits-=1,Sa=Ua}b.sequenceP=0!=Sa,1==b.lookupType?b.lookupValues=kha_audio2_ogg_vorbis_VorbisTools.lookup1Values(b.entries,b.dimensions):b.lookupValues=b.entries*b.dimensions;for(var Va=b.lookupValues,Wa=new Array(Va),Xa=Wa,Ya=0,Za=b.lookupValues;Ya<Za;){var ab,$a=Ya++,_a=b.valueBits;if(a.validBits<0)ab=0;else if(a.validBits<_a)if(_a>24)ab=a.readBits(24)+(a.readBits(_a-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<_a))break}if(a.validBits<0)ab=0;else{var bb=a.acc&(1<<_a)-1;a.acc=a.acc>>>_a,a.validBits-=_a,ab=bb}}else{var cb=a.acc&(1<<_a)-1;a.acc=a.acc>>>_a,a.validBits-=_a,ab=cb}if(-1==ab)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"}));Xa[$a]=ab}var db=b.lookupValues,eb=new Array(db);b.multiplicands=eb;for(var fb=0,gb=b.lookupValues;fb<gb;){var hb=fb++;b.multiplicands[hb]=Xa[hb]*b.deltaValue+b.minimumValue}if(2==b.lookupType&&b.sequenceP){for(var ib=1,jb=b.lookupValues;ib<jb;){var kb=ib++;b.multiplicands[kb]=b.multiplicands[kb-1]}b.sequenceP=!1}}return b},kha_audio2_ogg_vorbis_data_Codebook.prototype={computeCodewords:function(a,b,c){for(var d=new Array(32),e=d,f=0;f<32;){e[f++]=0}for(var h=0;h<b&&!(a[h]<255);)++h;if(h==b){this.sortedEntries;return!0}var j=0,k=j++;this.sparse?(this.codewords[k]=0,this.codewordLengths[k]=a[h],c[k]=h):this.codewords[h]=0;for(var l=0;++l<=a[h];)e[l]=1<<32-l;for(l=h;++l<b;){var m=a[l];if(255!=m){for(;m>0&&0==e[m];)--m;if(0==m)return!1;var n=e[m];e[m]=0;var o=n;o=(-1431655766&o)>>>1|(1431655765&o)<<1,o=(-858993460&o)>>>2|(858993459&o)<<2,o=(-252645136&o)>>>4|(252645135&o)<<4,o=(-16711936&o)>>>8|(16711935&o)<<8;var p=o>>>16|o<<16,q=j++;if(this.sparse?(this.codewords[q]=p,this.codewordLengths[q]=a[l],c[q]=l):this.codewords[l]=p,m!=a[l])for(var r=a[l];r>m;)e[r]=n+(1<<32-r),--r}}return!0},computeSortedHuffman:function(a,b){if(this.sparse)for(var j=0,k=this.sortedEntries;j<k;){var l=j++,m=this.codewords[l];m=(-1431655766&m)>>>1|(1431655765&m)<<1,m=(-858993460&m)>>>2|(858993459&m)<<2,m=(-252645136&m)>>>4|(252645135&m)<<4,m=(-16711936&m)>>>8|(16711935&m)<<8,this.sortedCodewords[l]=m>>>16|m<<16}else{for(var c=0,d=0,e=this.entries;d<e;){var f=d++,g=a[f];if(this.sparse||255!=g&&g>10){var h=this.codewords[f];h=(-1431655766&h)>>>1|(1431655765&h)<<1,h=(-858993460&h)>>>2|(858993459&h)<<2,h=(-252645136&h)>>>4|(252645135&h)<<4,h=(-16711936&h)>>>8|(16711935&h)<<8,this.sortedCodewords[c++]=h>>>16|h<<16}}this.sortedEntries}this.sortedCodewords[this.sortedEntries]=-1,this.sortedCodewords.sort(kha_audio2_ogg_vorbis_VorbisTools.uintAsc);for(var n=this.sparse?this.sortedEntries:this.entries,o=0,p=n;o<p;){var q=o++,r=this.sparse?a[b[q]]:a[q];if(this.sparse||255!=r&&r>10){var s=this.codewords[q];s=(-1431655766&s)>>>1|(1431655765&s)<<1,s=(-858993460&s)>>>2|(858993459&s)<<2,s=(-252645136&s)>>>4|(252645135&s)<<4,s=(-16711936&s)>>>8|(16711935&s)<<8;for(var t=s>>>16|s<<16,u=0,v=this.sortedEntries;v>1;){var w=u+(v>>1);_$UInt_UInt_$Impl_$.gte(t,this.sortedCodewords[w])?(u=w,v-=v>>1):v>>=1}this.sparse?(this.sortedValues[u]=b[q],this.codewordLengths[u]=r):this.sortedValues[u]=q}}},computeAcceleratedHuffman:function(){var a=new Array(1024);this.fastHuffman=a,this.fastHuffman[0]=-1;for(var b=0,c=1024;b<c;){var d=b++;this.fastHuffman[d]=-1}for(var e=this.sparse?this.sortedEntries:this.entries,f=0,g=e;f<g;){var h=f++;if(this.codewordLengths[h]<=10){var i;if(this.sparse){var j=this.sortedCodewords[h];j=(-1431655766&j)>>>1|(1431655765&j)<<1,j=(-858993460&j)>>>2|(858993459&j)<<2,j=(-252645136&j)>>>4|(252645135&j)<<4,j=(-16711936&j)>>>8|(16711935&j)<<8,i=j>>>16|j<<16}else i=this.codewords[h];for(;i<1024;)this.fastHuffman[i]=h,i+=1<<this.codewordLengths[h]}}},codebookDecode:function(a,b,c,d){a.validBits<10&&a.prepHuffman();var f,e=this.fastHuffman[1023&a.acc];if(e>=0){var g=this.codewordLengths[e];a.acc=a.acc>>>g,a.validBits-=g,a.validBits<0?(a.validBits=0,f=-1):f=e}else f=a.decodeScalarRaw(this);this.sparse&&(f=this.sortedValues[f]);var h=f,i=this.lookupValues,j=this.sequenceP,k=this.multiplicands,l=this.minimumValue;if(h<0)return!1;if(d>this.dimensions&&(d=this.dimensions),1==this.lookupType){for(var m=1,n=0,o=0,p=d;o<p;){var q=o++,r=_$UInt_UInt_$Impl_$.toFloat(h/m|0)%_$UInt_UInt_$Impl_$.toFloat(i)|0,s=k[r]+n,t=c+q,u=b;u[t]=u[t]+s,j&&(n=s+l),m*=i}return!0}if(h*=this.dimensions,j)for(var v=0,w=0,x=d;w<x;){var y=w++,z=k[h+y]+v,A=c+y,B=b;B[A]=B[A]+z,v=z+l}else for(var C=0,D=0,E=d;D<E;){var F=D++,G=c+F,H=b;H[G]=H[G]+(k[h+F]+C)}return!0},codebookDecodeStep:function(a,b,c,d,e){a.validBits<10&&a.prepHuffman();var g,f=this.fastHuffman[1023&a.acc];if(f>=0){var h=this.codewordLengths[f];a.acc=a.acc>>>h,a.validBits-=h,a.validBits<0?(a.validBits=0,g=-1):g=f}else g=a.decodeScalarRaw(this);this.sparse&&(g=this.sortedValues[g]);var i=g,j=0;if(i<0)return!1;d>this.dimensions&&(d=this.dimensions);var k=this.lookupValues,l=this.sequenceP,m=this.multiplicands;if(1==this.lookupType){for(var n=1,o=0,p=d;o<p;){var q=o++,r=_$UInt_UInt_$Impl_$.toFloat(i/n|0)%_$UInt_UInt_$Impl_$.toFloat(k)|0,s=m[r]+j,t=c+q*e,u=b;u[t]=u[t]+s,l&&(j=s),n*=k}return!0}i*=this.dimensions;for(var v=0,w=d;v<w;){var x=v++,y=m[i+x]+j,z=c+x*e,A=b;A[z]=A[z]+y,l&&(j=y)}return!0},decodeDeinterleaveRepeat:function(a,b,c,d,e,f,g){var h=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 i=this.multiplicands,j=this.sequenceP,k=this.lookupValues;g>0;){var l=0;a.validBits<10&&a.prepHuffman();var n,m=this.fastHuffman[1023&a.acc];if(m>=0){var o=this.codewordLengths[m];a.acc=a.acc>>>o,a.validBits-=o,a.validBits<0?(a.validBits=0,n=-1):n=m}else n=a.decodeScalarRaw(this);this.sparse&&(n=this.sortedValues[n]);var p=n;if(p<0){if(0==a.bytesInSeg&&a.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(d+e*c+h>f*c&&(h=f*c-(e*c-d)),1==this.lookupType){var q=1;if(j)for(var r=0,s=h;r<s;){var u=(r++,_$UInt_UInt_$Impl_$.toFloat(p/q|0)%_$UInt_UInt_$Impl_$.toFloat(k)|0),v=i[u]+l,w=e,x=b[d];x[w]=x[w]+v,++d==c&&(d=0,++e),l=v,q*=k}else for(var y=0,z=h;y<z;){var B=(y++,_$UInt_UInt_$Impl_$.toFloat(p/q|0)%_$UInt_UInt_$Impl_$.toFloat(k)|0),C=i[B]+l,D=e,E=b[d];E[D]=E[D]+C,++d==c&&(d=0,++e),q*=k}}else if(p*=this.dimensions,j)for(var F=0,G=h;F<G;){var H=F++,I=i[p+H]+l,J=e,K=b[d];K[J]=K[J]+I,++d==c&&(d=0,++e),l=I}else for(var L=0,M=h;L<M;){var N=L++,O=i[p+N]+l,P=e,Q=b[d];Q[P]=Q[P]+O,++d==c&&(d=0,++e)}g-=h}return{cInter:d,pInter:e}},residueDecode:function(a,b,c,d,e){if(0==e)for(var f=d/this.dimensions|0,g=0,h=f;g<h;){var i=g++;if(!this.codebookDecodeStep(a,b,c+i,d-c-i,f))return!1}else for(var j=0;j<d;){if(!this.codebookDecode(a,b,c,d-j))return!1;j+=this.dimensions,c+=this.dimensions}return!0},__class__:kha_audio2_ogg_vorbis_data_Codebook};var kha_audio2_ogg_vorbis_data_Comment=function(){this.data=new haxe_ds_StringMap};$hxClasses["kha.audio2.ogg.vorbis.data.Comment"]=kha_audio2_ogg_vorbis_data_Comment,kha_audio2_ogg_vorbis_data_Comment.__name__=["kha","audio2","ogg","vorbis","data","Comment"],kha_audio2_ogg_vorbis_data_Comment.prototype={get_loopStart:function(){return Std.parseInt(this.getString("loopstart"))},get_loopLength:function(){return Std.parseInt(this.getString("looplength"))},add:function(a,b){a=a.toLowerCase();var c=this.data;if(null!=__map_reserved[a]?c.existsReserved(a):c.h.hasOwnProperty(a)){var d=this.data;(null!=__map_reserved[a]?d.getReserved(a):d.h[a]).push(b)}else{var e=[b],f=this.data;null!=__map_reserved[a]?f.setReserved(a,e):f.h[a]=e}},getString:function(a){a=a.toLowerCase();var b=this.data;if(null!=__map_reserved[a]?b.existsReserved(a):b.h.hasOwnProperty(a)){var c=this.data;return(null!=__map_reserved[a]?c.getReserved(a):c.h[a])[0]}return null},__class__:kha_audio2_ogg_vorbis_data_Comment,__properties__:{get_loopLength:"get_loopLength",get_loopStart:"get_loopStart"}};var kha_audio2_ogg_vorbis_data_Floor=function(){};$hxClasses["kha.audio2.ogg.vorbis.data.Floor"]=kha_audio2_ogg_vorbis_data_Floor,kha_audio2_ogg_vorbis_data_Floor.__name__=["kha","audio2","ogg","vorbis","data","Floor"],kha_audio2_ogg_vorbis_data_Floor.read=function(a,b){var d,c=new kha_audio2_ogg_vorbis_data_Floor;if(a.validBits<0)d=0;else if(a.validBits<16){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<16))break}if(a.validBits<0)d=0;else{var e=65535&a.acc;a.acc=a.acc>>>16,a.validBits-=16,d=e}}else{var f=65535&a.acc;a.acc=a.acc>>>16,a.validBits-=16,d=f}if(c.type=d,c.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==c.type){var h,g=c.floor0=new kha_audio2_ogg_vorbis_data_Floor0;if(a.validBits<0)h=0;else if(a.validBits<8){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<8))break}if(a.validBits<0)h=0;else{var i=255&a.acc;a.acc=a.acc>>>8,a.validBits-=8,h=i}}else{var j=255&a.acc;a.acc=a.acc>>>8,a.validBits-=8,h=j}g.order=h;var k;if(a.validBits<0)k=0;else if(a.validBits<16){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<16))break}if(a.validBits<0)k=0;else{var l=65535&a.acc;a.acc=a.acc>>>16,a.validBits-=16,k=l}}else{var m=65535&a.acc;a.acc=a.acc>>>16,a.validBits-=16,k=m}g.rate=k;var n;if(a.validBits<0)n=0;else if(a.validBits<16){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<16))break}if(a.validBits<0)n=0;else{var o=65535&a.acc;a.acc=a.acc>>>16,a.validBits-=16,n=o}}else{var p=65535&a.acc;a.acc=a.acc>>>16,a.validBits-=16,n=p}g.barkMapSize=n;var q;if(a.validBits<0)q=0;else if(a.validBits<6){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<6))break}if(a.validBits<0)q=0;else{var r=63&a.acc;a.acc=a.acc>>>6,a.validBits-=6,q=r}}else{var s=63&a.acc;a.acc=a.acc>>>6,a.validBits-=6,q=s}g.amplitudeBits=q;var t;if(a.validBits<0)t=0;else if(a.validBits<8){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<8))break}if(a.validBits<0)t=0;else{var u=255&a.acc;a.acc=a.acc>>>8,a.validBits-=8,t=u}}else{var v=255&a.acc;a.acc=a.acc>>>8,a.validBits-=8,t=v}g.amplitudeOffset=t;var w;if(a.validBits<0)w=0;else if(a.validBits<4){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<4))break}if(a.validBits<0)w=0;else{var x=15&a.acc;a.acc=a.acc>>>4,a.validBits-=4,w=x}}else{var y=15&a.acc;a.acc=a.acc>>>4,a.validBits-=4,w=y}g.numberOfBooks=w+1;for(var z=0,A=g.numberOfBooks;z<A;){var D,B=z++,C=g.bookList;if(a.validBits<0)D=0;else if(a.validBits<8){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<8))break}if(a.validBits<0)D=0;else{var E=255&a.acc;a.acc=a.acc>>>8,a.validBits-=8,D=E}}else{var F=255&a.acc;a.acc=a.acc>>>8,a.validBits-=8,D=F}C[B]=D}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 J,G=[],H=c.floor1=new kha_audio2_ogg_vorbis_data_Floor1,I=-1;if(a.validBits<0)J=0;else if(a.validBits<5){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<5))break}if(a.validBits<0)J=0;else{var K=31&a.acc;a.acc=a.acc>>>5,a.validBits-=5,J=K}}else{var L=31&a.acc;a.acc=a.acc>>>5,a.validBits-=5,J=L}H.partitions=J;var M=H.partitions,N=new Array(M);H.partitionClassList=N;for(var O=0,P=H.partitions;O<P;){var S,Q=O++,R=H.partitionClassList;if(a.validBits<0)S=0;else if(a.validBits<4){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<4))break}if(a.validBits<0)S=0;else{var T=15&a.acc;a.acc=a.acc>>>4,a.validBits-=4,S=T}}else{var U=15&a.acc;a.acc=a.acc>>>4,a.validBits-=4,S=U}R[Q]=S,H.partitionClassList[Q]>I&&(I=H.partitionClassList[Q])}var V=new Array(I+1);H.classDimensions=V;var W=new Array(I+1);H.classMasterbooks=W;var X=new Array(I+1);H.classSubclasses=X;var Y=new Array(I+1);H.subclassBooks=Y;for(var Z=0,$=I+1;Z<$;){var ba,_=Z++,aa=H.classDimensions;if(a.validBits<0)ba=0;else if(a.validBits<3){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<3))break}if(a.validBits<0)ba=0;else{var ca=7&a.acc;a.acc=a.acc>>>3,a.validBits-=3,ba=ca}}else{var da=7&a.acc;a.acc=a.acc>>>3,a.validBits-=3,ba=da}aa[_]=ba+1;var fa,ea=H.classSubclasses;if(a.validBits<0)fa=0;else if(a.validBits<2){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<2))break}if(a.validBits<0)fa=0;else{var ga=3&a.acc;a.acc=a.acc>>>2,a.validBits-=2,fa=ga}}else{var ha=3&a.acc;a.acc=a.acc>>>2,a.validBits-=2,fa=ha}if(ea[_]=fa,0!=H.classSubclasses[_]){var ja,ia=H.classMasterbooks;if(a.validBits<0)ja=0;else if(a.validBits<8){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<8))break}if(a.validBits<0)ja=0;else{var ka=255&a.acc;a.acc=a.acc>>>8,a.validBits-=8,ja=ka}}else{var la=255&a.acc;a.acc=a.acc>>>8,a.validBits-=8,ja=la}if(ia[_]=ja,H.classMasterbooks[_]>=b.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 ma=1<<H.classSubclasses[_],na=H.subclassBooks,oa=new Array(ma);na[_]=oa;for(var pa=0,qa=ma;pa<qa;){var ta,ra=pa++,sa=H.subclassBooks[_];if(a.validBits<0)ta=0;else if(a.validBits<8){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<8))break}if(a.validBits<0)ta=0;else{var ua=255&a.acc;a.acc=a.acc>>>8,a.validBits-=8,ta=ua}}else{var va=255&a.acc;a.acc=a.acc>>>8,a.validBits-=8,ta=va}if(sa[ra]=ta-1,H.subclassBooks[_][ra]>=b.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 wa;if(a.validBits<0)wa=0;else if(a.validBits<2){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<2))break}if(a.validBits<0)wa=0;else{var xa=3&a.acc;a.acc=a.acc>>>2,a.validBits-=2,wa=xa}}else{var ya=3&a.acc;a.acc=a.acc>>>2,a.validBits-=2,wa=ya}H.floor1Multiplier=wa+1;var za;if(a.validBits<0)za=0;else if(a.validBits<4){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<4))break}if(a.validBits<0)za=0;else{var Aa=15&a.acc;a.acc=a.acc>>>4,a.validBits-=4,za=Aa}}else{var Ba=15&a.acc;a.acc=a.acc>>>4,a.validBits-=4,za=Ba}H.rangebits=za;var Ca=new Array(250);H.xlist=Ca,H.xlist[0]=0,H.xlist[1]=1<<H.rangebits,H.values=2;for(var Da=0,Ea=H.partitions;Da<Ea;)for(var Fa=Da++,Ga=H.partitionClassList[Fa],Ha=0,Ia=H.classDimensions[Ga];Ha<Ia;){var Na,Ka=(Ha++,H.xlist),La=H.values,Ma=H.rangebits;if(a.validBits<0)Na=0;else if(a.validBits<Ma)if(Ma>24)Na=a.readBits(24)+(a.readBits(Ma-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<Ma))break}if(a.validBits<0)Na=0;else{var Oa=a.acc&(1<<Ma)-1;a.acc=a.acc>>>Ma,a.validBits-=Ma,Na=Oa}}else{var Pa=a.acc&(1<<Ma)-1;a.acc=a.acc>>>Ma,a.validBits-=Ma,Na=Pa}Ka[La]=Na,H.values++}for(var Qa=0,Ra=H.values;Qa<Ra;){var Sa=Qa++;G.push(new kha_audio2_ogg_vorbis_data_IntPoint),G[Sa].x=H.xlist[Sa],G[Sa].y=Sa}G.sort(kha_audio2_ogg_vorbis_VorbisTools.pointCompare);var Ta=H.values,Ua=new Array(Ta);H.sortedOrder=Ua;for(var Va=0,Wa=H.values;Va<Wa;){var Xa=Va++;H.sortedOrder[Xa]=G[Xa].y}var Ya=H.values,Za=new Array(Ya);H.neighbors=Za;for(var $a=2,_a=H.values;$a<_a;){for(var bb,cb,ab=$a++,db=H.xlist,eb=-1,fb=65536,gb=0,hb=0,ib=0,jb=ab;ib<jb;){var kb=ib++;db[kb]>eb&&db[kb]<db[ab]&&(gb=kb,eb=db[kb]),db[kb]<fb&&db[kb]>db[ab]&&(hb=kb,fb=db[kb])}bb=gb,cb=hb;var lb=H.neighbors,mb=H.values,nb=new Array(mb);lb[ab]=nb,H.neighbors[ab][0]=bb,H.neighbors[ab][1]=cb}return c},kha_audio2_ogg_vorbis_data_Floor.prototype={__class__:kha_audio2_ogg_vorbis_data_Floor};var kha_audio2_ogg_vorbis_data_Floor0=function(){};$hxClasses["kha.audio2.ogg.vorbis.data.Floor0"]=kha_audio2_ogg_vorbis_data_Floor0,kha_audio2_ogg_vorbis_data_Floor0.__name__=["kha","audio2","ogg","vorbis","data","Floor0"],kha_audio2_ogg_vorbis_data_Floor0.prototype={__class__:kha_audio2_ogg_vorbis_data_Floor0};var kha_audio2_ogg_vorbis_data_Floor1=function(){};$hxClasses["kha.audio2.ogg.vorbis.data.Floor1"]=kha_audio2_ogg_vorbis_data_Floor1,kha_audio2_ogg_vorbis_data_Floor1.__name__=["kha","audio2","ogg","vorbis","data","Floor1"],kha_audio2_ogg_vorbis_data_Floor1.prototype={__class__:kha_audio2_ogg_vorbis_data_Floor1};var kha_audio2_ogg_vorbis_data_Header=function(){};$hxClasses["kha.audio2.ogg.vorbis.data.Header"]=kha_audio2_ogg_vorbis_data_Header,kha_audio2_ogg_vorbis_data_Header.__name__=["kha","audio2","ogg","vorbis","data","Header"],kha_audio2_ogg_vorbis_data_Header.read=function(a){var b=a.page;if(b.start(a),0==(2&b.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&b.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&b.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(a.firstPageValidate(),a.inputPosition+=1,1!=a.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 c=new haxe_io_Bytes(new ArrayBuffer(6)),d=0;d<6;){var f,e=d++;0!=a.bytesInSeg||!a.lastSeg&&0!=a.next()?(a.bytesInSeg--,a.inputPosition+=1,f=a.input.readByte()):f=-1,a.validBits=0,c.b[e]=255&f}if("vorbis"!=c.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"}));a.inputPosition+=4;var g=a.input.readInt32();if(0!=g)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_FIRST_PAGE,"vorbis version : "+g,{fileName:"Header.hx",lineNumber:66,className:"kha.audio2.ogg.vorbis.data.Header",methodName:"read"}));var h=new kha_audio2_ogg_vorbis_data_Header;if(a.inputPosition+=1,h.channel=a.input.readByte(),0==h.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(h.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(a.inputPosition+=4,h.sampleRate=a.input.readInt32(),0==h.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"}));a.inputPosition+=4,h.maximumBitRate=a.input.readInt32(),a.inputPosition+=4,h.nominalBitRate=a.input.readInt32(),a.inputPosition+=4,h.minimumBitRate=a.input.readInt32(),a.inputPosition+=1;var i=a.input.readByte(),j=15&i,k=i>>4;if(h.blocksize0=1<<j,h.blocksize1=1<<k,j<6||j>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(k<6||k>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(j>k)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"}));a.inputPosition+=1;var l=a.input.readByte();if(0==(1&l))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"}));a.page.start(a),a.startPacket();for(var m=0,n=new haxe_io_BytesOutput;;){if(0==(m=a.next()))break;a.inputPosition+=m,n.write(a.input.read(m)),a.bytesInSeg=0}var o=new haxe_io_BytesInput(n.getBytes());o.readByte(),o.read(6);var p=o.readInt32();h.vendor=o.readString(p),h.comment=new kha_audio2_ogg_vorbis_data_Comment;for(var q=o.readInt32(),r=0,s=q;r<s;){var u=(r++,o.readInt32()),v=o.readString(u),w=v.indexOf("=");-1!=w&&h.comment.add(v.substring(0,w),v.substring(w+1))}if(0==(1&o.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"}));a.startPacket();var y;if(0!=a.bytesInSeg||!a.lastSeg&&0!=a.next()?(a.bytesInSeg--,a.inputPosition+=1,y=a.input.readByte()):y=-1,a.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 z=new haxe_io_Bytes(new ArrayBuffer(6)),A=0;A<6;){var C,B=A++;0!=a.bytesInSeg||!a.lastSeg&&0!=a.next()?(a.bytesInSeg--,a.inputPosition+=1,C=a.input.readByte()):C=-1,a.validBits=0,z.b[B]=255&C}if("vorbis"!=z.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 D;if(a.validBits<0)D=0;else if(a.validBits<8){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<8))break}if(a.validBits<0)D=0;else{var E=255&a.acc;a.acc=a.acc>>>8,a.validBits-=8,D=E}}else{var F=255&a.acc;a.acc=a.acc>>>8,a.validBits-=8,D=F}var G=D+1,H=new Array(G);h.codebooks=H;for(var I=0,J=G;I<J;){var K=I++;h.codebooks[K]=kha_audio2_ogg_vorbis_data_Codebook.read(a)}var L;if(a.validBits<0)L=0;else if(a.validBits<6){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<6))break}if(a.validBits<0)L=0;else{var M=63&a.acc;a.acc=a.acc>>>6,a.validBits-=6,L=M}}else{var N=63&a.acc;a.acc=a.acc>>>6,a.validBits-=6,L=N}l=L+1;for(var O=0,P=l;O<P;){var R;O++;if(a.validBits<0)R=0;else if(a.validBits<16){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<16))break}if(a.validBits<0)R=0;else{var S=65535&a.acc;a.acc=a.acc>>>16,a.validBits-=16,R=S}}else{var T=65535&a.acc;a.acc=a.acc>>>16,a.validBits-=16,R=T}if(0!=R)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 U;if(a.validBits<0)U=0;else if(a.validBits<6){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<6))break}if(a.validBits<0)U=0;else{var V=63&a.acc;a.acc=a.acc>>>6,a.validBits-=6,U=V}}else{var W=63&a.acc;a.acc=a.acc>>>6,a.validBits-=6,U=W}var X=U+1,Y=new Array(X);h.floorConfig=Y;for(var Z=0,$=X;Z<$;){var _=Z++;h.floorConfig[_]=kha_audio2_ogg_vorbis_data_Floor.read(a,h.codebooks)}var aa;if(a.validBits<0)aa=0;else if(a.validBits<6){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<6))break}if(a.validBits<0)aa=0;else{var ba=63&a.acc;a.acc=a.acc>>>6,a.validBits-=6,aa=ba}}else{var ca=63&a.acc;a.acc=a.acc>>>6,a.validBits-=6,aa=ca}var da=aa+1,ea=new Array(da);h.residueConfig=ea;for(var fa=0,ga=da;fa<ga;){var ha=fa++;h.residueConfig[ha]=kha_audio2_ogg_vorbis_data_Residue.read(a,h.codebooks)}var ia;if(a.validBits<0)ia=0;else if(a.validBits<6){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<6))break}if(a.validBits<0)ia=0;else{var ja=63&a.acc;a.acc=a.acc>>>6,a.validBits-=6,ia=ja}}else{var ka=63&a.acc;a.acc=a.acc>>>6,a.validBits-=6,ia=ka}var la=ia+1,ma=new Array(la);h.mapping=ma;for(var na=0,oa=la;na<oa;){var pa=na++,qa=kha_audio2_ogg_vorbis_data_Mapping.read(a,h.channel);h.mapping[pa]=qa;for(var ra=0,sa=qa.submaps;ra<sa;){var ta=ra++;if(qa.submapFloor[ta]>=h.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(qa.submapResidue[ta]>=h.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 ua;if(a.validBits<0)ua=0;else if(a.validBits<6){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<6))break}if(a.validBits<0)ua=0;else{var va=63&a.acc;a.acc=a.acc>>>6,a.validBits-=6,ua=va}}else{var wa=63&a.acc;a.acc=a.acc>>>6,a.validBits-=6,ua=wa}var xa=ua+1,ya=new Array(xa);h.modes=ya;for(var za=0,Aa=xa;za<Aa;){var Ba=za++,Ca=kha_audio2_ogg_vorbis_data_Mode.read(a);if(h.modes[Ba]=Ca,Ca.mapping>=h.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!=a.bytesInSeg||!a.lastSeg&&0!=a.next();)a.bytesInSeg--,a.inputPosition+=1,a.input.readByte();return h},kha_audio2_ogg_vorbis_data_Header.prototype={__class__:kha_audio2_ogg_vorbis_data_Header};var kha_audio2_ogg_vorbis_data_IntPoint=function(){};$hxClasses["kha.audio2.ogg.vorbis.data.IntPoint"]=kha_audio2_ogg_vorbis_data_IntPoint,kha_audio2_ogg_vorbis_data_IntPoint.__name__=["kha","audio2","ogg","vorbis","data","IntPoint"],kha_audio2_ogg_vorbis_data_IntPoint.prototype={__class__:kha_audio2_ogg_vorbis_data_IntPoint};var kha_audio2_ogg_vorbis_data_Mapping=function(){};$hxClasses["kha.audio2.ogg.vorbis.data.Mapping"]=kha_audio2_ogg_vorbis_data_Mapping,kha_audio2_ogg_vorbis_data_Mapping.__name__=["kha","audio2","ogg","vorbis","data","Mapping"],kha_audio2_ogg_vorbis_data_Mapping.read=function(a,b){var d,c=new kha_audio2_ogg_vorbis_data_Mapping;if(a.validBits<0)d=0;else if(a.validBits<16){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<16))break}if(a.validBits<0)d=0;else{var e=65535&a.acc;a.acc=a.acc>>>16,a.validBits-=16,d=e}}else{var f=65535&a.acc;a.acc=a.acc>>>16,a.validBits-=16,d=f}if(0!=d)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,"mapping type "+d,{fileName:"Mapping.hx",lineNumber:22,className:"kha.audio2.ogg.vorbis.data.Mapping",methodName:"read"}));var g=new Array(b);c.chan=g;for(var h=0,i=b;h<i;){var j=h++;c.chan[j]=new kha_audio2_ogg_vorbis_data_MappingChannel}var k;if(a.validBits<0)k=0;else if(a.validBits<1){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<1))break}if(a.validBits<0)k=0;else{var l=1&a.acc;a.acc=a.acc>>>1,a.validBits-=1,k=l}}else{var m=1&a.acc;a.acc=a.acc>>>1,a.validBits-=1,k=m}if(0!=k){var n;if(a.validBits<0)n=0;else if(a.validBits<4){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<4))break}if(a.validBits<0)n=0;else{var o=15&a.acc;a.acc=a.acc>>>4,a.validBits-=4,n=o}}else{var p=15&a.acc;a.acc=a.acc>>>4,a.validBits-=4,n=p}c.submaps=n+1}else c.submaps=1;var q;if(a.validBits<0)q=0;else if(a.validBits<1){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<1))break}if(a.validBits<0)q=0;else{var r=1&a.acc;a.acc=a.acc>>>1,a.validBits-=1,q=r}}else{var s=1&a.acc;a.acc=a.acc>>>1,a.validBits-=1,q=s}if(0!=q){var t;if(a.validBits<0)t=0;else if(a.validBits<8){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<8))break}if(a.validBits<0)t=0;else{var u=255&a.acc;a.acc=a.acc>>>8,a.validBits-=8,t=u}}else{var v=255&a.acc;a.acc=a.acc>>>8,a.validBits-=8,t=v}c.couplingSteps=t+1;for(var w=0,x=c.couplingSteps;w<x;){var D,y=w++,z=c.chan[y],A=b-1,B=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4],C=A<16384?A<16?B[A]:A<512?5+B[A>>5]:10+B[A>>10]:A<16777216?A<524288?15+B[A>>15]:20+B[A>>20]:A<536870912?25+B[A>>25]:A<-2147483648?30+B[A>>30]:0;if(a.validBits<0)D=0;else if(a.validBits<C)if(C>24)D=a.readBits(24)+(a.readBits(C-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<C))break}if(a.validBits<0)D=0;else{var E=a.acc&(1<<C)-1;a.acc=a.acc>>>C,a.validBits-=C,D=E}}else{var F=a.acc&(1<<C)-1;a.acc=a.acc>>>C,a.validBits-=C,D=F}z.magnitude=D;var K,G=c.chan[y],H=b-1,I=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4],J=H<16384?H<16?I[H]:H<512?5+I[H>>5]:10+I[H>>10]:H<16777216?H<524288?15+I[H>>15]:20+I[H>>20]:H<536870912?25+I[H>>25]:H<-2147483648?30+I[H>>30]:0;if(a.validBits<0)K=0;else if(a.validBits<J)if(J>24)K=a.readBits(24)+(a.readBits(J-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<J))break}if(a.validBits<0)K=0;else{var L=a.acc&(1<<J)-1;a.acc=a.acc>>>J,a.validBits-=J,K=L}}else{var M=a.acc&(1<<J)-1;a.acc=a.acc>>>J,a.validBits-=J,K=M}if(G.angle=K,c.chan[y].magnitude>=b)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(c.chan[y].angle>=b)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(c.chan[y].magnitude==c.chan[y].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 c.couplingSteps=0;var N;if(a.validBits<0)N=0;else if(a.validBits<2){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<2))break}if(a.validBits<0)N=0;else{var O=3&a.acc;a.acc=a.acc>>>2,a.validBits-=2,N=O}}else{var P=3&a.acc;a.acc=a.acc>>>2,a.validBits-=2,N=P}if(0!=N)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(c.submaps>1)for(var Q=0,R=b;Q<R;){var U,S=Q++,T=c.chan[S];if(a.validBits<0)U=0;else if(a.validBits<4){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<4))break}if(a.validBits<0)U=0;else{var V=15&a.acc;a.acc=a.acc>>>4,a.validBits-=4,U=V}}else{var W=15&a.acc;a.acc=a.acc>>>4,a.validBits-=4,U=W}if(T.mux=U,c.chan[S].mux>=c.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 X=0,Y=b;X<Y;){var Z=X++;c.chan[Z].mux=0}var $=c.submaps,_=new Array($);c.submapFloor=_;var aa=c.submaps,ba=new Array(aa);c.submapResidue=ba;for(var ca=0,da=c.submaps;ca<da;){var ea=ca++;if(a.validBits>=0)if(a.validBits<8){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<8))break}if(a.validBits>=0){a.acc;a.acc=a.acc>>>8,a.validBits-=8}}else{a.acc;a.acc=a.acc>>>8,a.validBits-=8}var ia,ha=c.submapFloor;if(a.validBits<0)ia=0;else if(a.validBits<8){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<8))break}if(a.validBits<0)ia=0;else{var ja=255&a.acc;a.acc=a.acc>>>8,a.validBits-=8,ia=ja}}else{var ka=255&a.acc;a.acc=a.acc>>>8,a.validBits-=8,ia=ka}ha[ea]=ia;var ma,la=c.submapResidue;if(a.validBits<0)ma=0;else if(a.validBits<8){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<8))break}if(a.validBits<0)ma=0;else{var na=255&a.acc;a.acc=a.acc>>>8,a.validBits-=8,ma=na}}else{var oa=255&a.acc;a.acc=a.acc>>>8,a.validBits-=8,ma=oa}la[ea]=ma}return c},kha_audio2_ogg_vorbis_data_Mapping.prototype={doFloor:function(a,b,c,d,e,f){var g=c>>1,h=this.chan[b].mux,j=a[this.submapFloor[h]];if(0==j.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 k=j.floor1,l=0,m=e[0]*k.floor1Multiplier,n=1,o=k.values;n<o;){var p=n++,q=k.sortedOrder[p];if(e[q]>=0){var r=e[q]*k.floor1Multiplier,s=k.xlist[q];kha_audio2_ogg_vorbis_VorbisTools.drawLine(d,l,m,s,r,g),l=s,m=r}}if(l<g)for(var t=l,u=g;t<u;){var v=t++,w=v,x=d;x[w]=x[w]*kha_audio2_ogg_vorbis_VorbisTools.INVERSE_DB_TABLE[m]}},__class__:kha_audio2_ogg_vorbis_data_Mapping};var kha_audio2_ogg_vorbis_data_MappingChannel=function(){};$hxClasses["kha.audio2.ogg.vorbis.data.MappingChannel"]=kha_audio2_ogg_vorbis_data_MappingChannel,kha_audio2_ogg_vorbis_data_MappingChannel.__name__=["kha","audio2","ogg","vorbis","data","MappingChannel"],kha_audio2_ogg_vorbis_data_MappingChannel.prototype={__class__:kha_audio2_ogg_vorbis_data_MappingChannel};var kha_audio2_ogg_vorbis_data_Mode=function(){};$hxClasses["kha.audio2.ogg.vorbis.data.Mode"]=kha_audio2_ogg_vorbis_data_Mode,kha_audio2_ogg_vorbis_data_Mode.__name__=["kha","audio2","ogg","vorbis","data","Mode"],kha_audio2_ogg_vorbis_data_Mode.read=function(a){var c,b=new kha_audio2_ogg_vorbis_data_Mode;if(a.validBits<0)c=0;else if(a.validBits<1){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<1))break}if(a.validBits<0)c=0;else{var d=1&a.acc;a.acc=a.acc>>>1,a.validBits-=1,c=d}}else{var e=1&a.acc;a.acc=a.acc>>>1,a.validBits-=1,c=e}b.blockflag=0!=c;var f;if(a.validBits<0)f=0;else if(a.validBits<16){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<16))break}if(a.validBits<0)f=0;else{var g=65535&a.acc;a.acc=a.acc>>>16,a.validBits-=16,f=g}}else{var h=65535&a.acc;a.acc=a.acc>>>16,a.validBits-=16,f=h}b.windowtype=f;var i;if(a.validBits<0)i=0;else if(a.validBits<16){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<16))break}if(a.validBits<0)i=0;else{var j=65535&a.acc;a.acc=a.acc>>>16,a.validBits-=16,i=j}}else{var k=65535&a.acc;a.acc=a.acc>>>16,a.validBits-=16,i=k}b.transformtype=i;var l;if(a.validBits<0)l=0;else if(a.validBits<8){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<8))break}if(a.validBits<0)l=0;else{var m=255&a.acc;a.acc=a.acc>>>8,a.validBits-=8,l=m}}else{var n=255&a.acc;a.acc=a.acc>>>8,a.validBits-=8,l=n}if(b.mapping=l,0!=b.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!=b.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 b},kha_audio2_ogg_vorbis_data_Mode.prototype={__class__:kha_audio2_ogg_vorbis_data_Mode};var kha_audio2_ogg_vorbis_data_Page=function(){};$hxClasses["kha.audio2.ogg.vorbis.data.Page"]=kha_audio2_ogg_vorbis_data_Page,kha_audio2_ogg_vorbis_data_Page.__name__=["kha","audio2","ogg","vorbis","data","Page"],kha_audio2_ogg_vorbis_data_Page.prototype={clone:function(){var a=new kha_audio2_ogg_vorbis_data_Page;return a.flag=this.flag,a},start:function(a){var b,c,d;if(a.inputPosition+=1,79==a.input.readByte()?(a.inputPosition+=1,d=103!=a.input.readByte()):d=!0,d?c=!0:(a.inputPosition+=1,c=103!=a.input.readByte()),c?b=!0:(a.inputPosition+=1,b=83!=a.input.readByte()),b)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(a)},startWithoutCapturePattern:function(a){a.inputPosition+=1;var b=a.input.readByte();if(0!=b)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_STREAM_STRUCTURE_VERSION,""+b,{fileName:"Page.hx",lineNumber:34,className:"kha.audio2.ogg.vorbis.data.Page",methodName:"startWithoutCapturePattern"}));a.inputPosition+=1,this.flag=a.input.readByte(),a.inputPosition+=4;var c=a.input.readInt32();a.inputPosition+=4;var d=a.input.readInt32();a.inputPosition+=4,a.input.readInt32(),a.inputPosition+=4,a.input.readInt32(),a.inputPosition+=4,a.input.readInt32(),a.setup(c,d)},__class__:kha_audio2_ogg_vorbis_data_Page};var kha_audio2_ogg_vorbis_data_ProbedPage=function(){};$hxClasses["kha.audio2.ogg.vorbis.data.ProbedPage"]=kha_audio2_ogg_vorbis_data_ProbedPage,kha_audio2_ogg_vorbis_data_ProbedPage.__name__=["kha","audio2","ogg","vorbis","data","ProbedPage"],kha_audio2_ogg_vorbis_data_ProbedPage.prototype={__class__:kha_audio2_ogg_vorbis_data_ProbedPage};var kha_audio2_ogg_vorbis_data_ReaderError=function(a,b,c){null==b&&(b=""),this.type=a,this.message=b,this.posInfos=c};$hxClasses["kha.audio2.ogg.vorbis.data.ReaderError"]=kha_audio2_ogg_vorbis_data_ReaderError,kha_audio2_ogg_vorbis_data_ReaderError.__name__=["kha","audio2","ogg","vorbis","data","ReaderError"],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=function(){};$hxClasses["kha.audio2.ogg.vorbis.data.Residue"]=kha_audio2_ogg_vorbis_data_Residue,kha_audio2_ogg_vorbis_data_Residue.__name__=["kha","audio2","ogg","vorbis","data","Residue"],kha_audio2_ogg_vorbis_data_Residue.read=function(a,b){var d,c=new kha_audio2_ogg_vorbis_data_Residue;if(a.validBits<0)d=0;else if(a.validBits<16){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<16))break}if(a.validBits<0)d=0;else{var e=65535&a.acc;a.acc=a.acc>>>16,a.validBits-=16,d=e}}else{var f=65535&a.acc;a.acc=a.acc>>>16,a.validBits-=16,d=f}if(c.type=d,c.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 i,g=new Array(64),h=g;if(a.validBits<0)i=0;else if(a.validBits<24){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<24))break}if(a.validBits<0)i=0;else{var j=16777215&a.acc;a.acc=a.acc>>>24,a.validBits-=24,i=j}}else{var k=16777215&a.acc;a.acc=a.acc>>>24,a.validBits-=24,i=k}c.begin=i;var l;if(a.validBits<0)l=0;else if(a.validBits<24){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<24))break}if(a.validBits<0)l=0;else{var m=16777215&a.acc;a.acc=a.acc>>>24,a.validBits-=24,l=m}}else{var n=16777215&a.acc;a.acc=a.acc>>>24,a.validBits-=24,l=n}c.end=l;var o;if(a.validBits<0)o=0;else if(a.validBits<24){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<24))break}if(a.validBits<0)o=0;else{var p=16777215&a.acc;a.acc=a.acc>>>24,a.validBits-=24,o=p}}else{var q=16777215&a.acc;a.acc=a.acc>>>24,a.validBits-=24,o=q}c.partSize=o+1;var r;if(a.validBits<0)r=0;else if(a.validBits<6){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<6))break}if(a.validBits<0)r=0;else{var s=63&a.acc;a.acc=a.acc>>>6,a.validBits-=6,r=s}}else{var t=63&a.acc;a.acc=a.acc>>>6,a.validBits-=6,r=t}var v,u=c.classifications=r+1;if(a.validBits<0)v=0;else if(a.validBits<8){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<8))break}if(a.validBits<0)v=0;else{var w=255&a.acc;a.acc=a.acc>>>8,a.validBits-=8,v=w}}else{var x=255&a.acc;a.acc=a.acc>>>8,a.validBits-=8,v=x}c.classbook=v;for(var y=0,z=c.classifications;y<z;){var C,A=y++,B=0;if(a.validBits<0)C=0;else if(a.validBits<3){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<3))break}if(a.validBits<0)C=0;else{var D=7&a.acc;a.acc=a.acc>>>3,a.validBits-=3,C=D}}else{var E=7&a.acc;a.acc=a.acc>>>3,a.validBits-=3,C=E}var F;if(a.validBits<0)F=0;else if(a.validBits<1){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<1))break}if(a.validBits<0)F=0;else{var G=1&a.acc;a.acc=a.acc>>>1,a.validBits-=1,F=G}}else{var H=1&a.acc;a.acc=a.acc>>>1,a.validBits-=1,F=H}if(0!=F)if(a.validBits<0)B=0;else if(a.validBits<5){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<5))break}if(a.validBits<0)B=0;else{var I=31&a.acc;a.acc=a.acc>>>5,a.validBits-=5,B=I}}else{var J=31&a.acc;a.acc=a.acc>>>5,a.validBits-=5,B=J}h[A]=8*B+C}var K=c.classifications,L=new Array(K);c.residueBooks=L;for(var M=0,N=c.classifications;M<N;){var O=M++,P=c.residueBooks,Q=new Array(8);P[O]=Q;for(var R=0;R<8;){var S=R++;if(0!=(h[O]&1<<S)){var U,T=c.residueBooks[O];if(a.validBits<0)U=0;else if(a.validBits<8){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<8))break}if(a.validBits<0)U=0;else{var V=255&a.acc;a.acc=a.acc>>>8,a.validBits-=8,U=V}}else{var W=255&a.acc;a.acc=a.acc>>>8,a.validBits-=8,U=W}if(T[S]=U,c.residueBooks[O][S]>=b.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 c.residueBooks[O][S]=-1}}var X=b[c.classbook].entries,Y=b[c.classbook].dimensions,Z=new Array(X);c.classdata=Z;for(var $=0,_=X;$<_;)for(var aa=$++,ba=aa,ca=Y,da=c.classdata,ea=new Array(Y),fa=da[aa]=ea;--ca>=0;)fa[ca]=ba%u,ba=ba/u|0;return c},kha_audio2_ogg_vorbis_data_Residue.prototype={decode:function(a,b,c,d,e,f,g){for(var h=b.codebooks,i=h[this.classbook].dimensions,j=this.end-this.begin,k=this.partSize,l=_$UInt_UInt_$Impl_$.toFloat(j)/_$UInt_UInt_$Impl_$.toFloat(k)|0,m=b.channel*l+1,n=new Array(m),o=n,p=0,q=d;p<q;){var r=p++;if(!f[r])for(var s=c[r],t=0,u=s.length;t<u;){var v=t++;s[v]=0}}if(2!=this.type||1==d)for(var ya=0;ya<8;)for(var za=ya++,Aa=0;Aa<l;){if(0==za)for(var Ca=0,Da=d;Ca<Da;){var Ea=Ca++;if(!f[Ea]){var Fa=h[this.classbook];a.validBits<10&&a.prepHuffman();var Ha,Ga=Fa.fastHuffman[1023&a.acc];if(Ga>=0){var Ia=Fa.codewordLengths[Ga];a.acc=a.acc>>>Ia,a.validBits-=Ia,a.validBits<0?(a.validBits=0,Ha=-1):Ha=Ga}else Ha=a.decodeScalarRaw(Fa);Fa.sparse&&(Ha=Fa.sortedValues[Ha]);var Ja=Ha;if(-1==Ja)return;for(var Ka=i;--Ka>=0;)o[Ea*l+Ka+Aa]=Ja%this.classifications,Ja=Ja/this.classifications|0}}for(var La=0,Ma=i;La<Ma;){La++;if(Aa>=l)break;for(var Oa=0,Pa=d;Oa<Pa;){var Qa=Oa++;if(!f[Qa]){var Ra=o[Qa*l+Aa],Sa=this.residueBooks[Ra][za];if(Sa>=0){var Ta=c[Qa],Ua=this.begin+Aa*k,Va=k,Wa=h[Sa];if(!Wa.residueDecode(a,Ta,Ua,Va,this.type))return}}}++Aa}}else{for(var w=0,x=d;w<x;){var y=w++;if(!f[y])break;if(y==d-1)return}for(var z=0;z<8;){var A=z++,B=0;if(2==d)for(;B<l;){var D=this.begin+B*k,E=1&D,F=D>>>1;if(0==A){var G=h[this.classbook];a.validBits<10&&a.prepHuffman();var I,H=G.fastHuffman[1023&a.acc];if(H>=0){var J=G.codewordLengths[H];a.acc=a.acc>>>J,a.validBits-=J,a.validBits<0?(a.validBits=0,I=-1):I=H}else I=a.decodeScalarRaw(G);G.sparse&&(I=G.sortedValues[I]);var K=I;if(-1==K)return;for(var L=i;--L>=0;)o[L+B]=K%this.classifications,K=K/this.classifications|0}for(var M=0,N=i;M<N;){M++;if(B>=l)break;var P=this.begin+B*k,Q=o[B],R=this.residueBooks[Q][A];if(R>=0){var S=h[R],T=S.decodeDeinterleaveRepeat(a,c,d,E,F,e,k);if(null==T)return;E=T.cInter,F=T.pInter}else P+=k,E=1&P,F=P>>>1;++B}}else if(1==d)for(;B<l;){var U=this.begin+B*k,V=0,W=U;if(0==A){var X=h[this.classbook];a.validBits<10&&a.prepHuffman();var Z,Y=X.fastHuffman[1023&a.acc];if(Y>=0){var $=X.codewordLengths[Y];a.acc=a.acc>>>$,a.validBits-=$,a.validBits<0?(a.validBits=0,Z=-1):Z=Y}else Z=a.decodeScalarRaw(X);X.sparse&&(Z=X.sortedValues[Z]);var _=Z;if(-1==_)return;for(var aa=i;--aa>=0;)o[aa+B]=_%this.classifications,_=_/this.classifications|0}for(var ba=0,ca=i;ba<ca;){ba++;if(B>=l)break;var ea=this.begin+B*k,fa=this.residueBooks[o[B]][A];if(fa>=0){var ga=h[fa],ha=ga.decodeDeinterleaveRepeat(a,c,d,V,W,e,k);if(null==ha)return;V=ha.cInter,W=ha.pInter}else ea+=k,V=0,W=ea;++B}}else for(;B<l;){var ia=this.begin+B*k,ja=_$UInt_UInt_$Impl_$.toFloat(ia)%_$UInt_UInt_$Impl_$.toFloat(d)|0,ka=_$UInt_UInt_$Impl_$.toFloat(ia)/_$UInt_UInt_$Impl_$.toFloat(d)|0;if(0==A){var la=h[this.classbook];a.validBits<10&&a.prepHuffman();var na,ma=la.fastHuffman[1023&a.acc];if(ma>=0){var oa=la.codewordLengths[ma];a.acc=a.acc>>>oa,a.validBits-=oa,a.validBits<0?(a.validBits=0,na=-1):na=ma}else na=a.decodeScalarRaw(la);la.sparse&&(na=la.sortedValues[na]);var pa=na;if(-1==pa)return;for(var qa=i;--qa>=0;)o[qa+B]=pa%this.classifications,pa=pa/this.classifications|0}for(var ra=0,sa=i;ra<sa;){ra++;if(B>=l)break;var ua=this.begin+B*k,va=this.residueBooks[o[B]][A];if(va>=0){var wa=h[va],xa=wa.decodeDeinterleaveRepeat(a,c,d,ja,ka,e,k);if(null==xa)return;ja=xa.cInter,ka=xa.pInter}else ua+=k,ja=_$UInt_UInt_$Impl_$.toFloat(ua)%_$UInt_UInt_$Impl_$.toFloat(d)|0,ka=_$UInt_UInt_$Impl_$.toFloat(ua)/_$UInt_UInt_$Impl_$.toFloat(d)|0;++B}}}}},__class__:kha_audio2_ogg_vorbis_data_Residue};var kha_graphics1_Graphics=function(){};$hxClasses["kha.graphics1.Graphics"]=kha_graphics1_Graphics,kha_graphics1_Graphics.__name__=["kha","graphics1","Graphics"];var 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 a=32;a<256;){var b=a++;this.myFontGlyphs.push(b)}this.pipe=null};$hxClasses["kha.graphics2.Graphics"]=kha_graphics2_Graphics,kha_graphics2_Graphics.__name__=["kha","graphics2","Graphics"],kha_graphics2_Graphics.prototype={begin:function(a,b){null==a&&(a=!0)},end:function(){},drawImage:function(a,b,c){this.drawSubImage(a,b,c,0,0,a.get_width(),a.get_height())},drawSubImage:function(a,b,c,d,e,f,g){this.drawScaledSubImage(a,d,e,f,g,b,c,f,g)},drawScaledSubImage:function(a,b,c,d,e,f,g,h,i){},fillRect:function(a,b,c,d){},drawVideo:function(a,b,c,d,e){},set_color:function(a){return-16777216},get_fontSize:function(){return this.myFontSize},get_opacity:function(){return this.opacities[this.opacities.length-1]},__class__:kha_graphics2_Graphics,__properties__:{get_opacity:"get_opacity",get_fontSize:"get_fontSize",set_color:"set_color"}};var kha_graphics2_Graphics1=function(a){this.canvas=a};$hxClasses["kha.graphics2.Graphics1"]=kha_graphics2_Graphics1,kha_graphics2_Graphics1.__name__=["kha","graphics2","Graphics1"],kha_graphics2_Graphics1.__interfaces__=[kha_graphics1_Graphics],kha_graphics2_Graphics1.prototype={__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_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=function(){};$hxClasses["kha.graphics4.ConstantLocation"]=kha_graphics4_ConstantLocation,kha_graphics4_ConstantLocation.__name__=["kha","graphics4","ConstantLocation"];var kha_graphics4_CubeMap=function(a,b,c,d){this.isDepthAttachment=!1,this.depthTexture=null,this.texture=null,this.frameBuffer=null,this.myWidth=a,this.myHeight=a,this.format=b,this.renderTarget=c,this.depthStencilFormat=d,c&&this.createTexture()};$hxClasses["kha.graphics4.CubeMap"]=kha_graphics4_CubeMap,kha_graphics4_CubeMap.__name__=["kha","graphics4","CubeMap"],kha_graphics4_CubeMap.__interfaces__=[kha_Resource,kha_Canvas],kha_graphics4_CubeMap.createRenderTarget=function(a,b,c,d){return null==d&&(d=0),null==b&&(b=kha_graphics4_TextureFormat.RGBA32),null==c&&(c=0),new kha_graphics4_CubeMap(a,b,!0,c)},kha_graphics4_CubeMap.prototype={createTexture:function(){if(null!=kha_SystemImpl.gl){if(this.texture=kha_SystemImpl.gl.createTexture(),kha_SystemImpl.gl.bindTexture(34067,this.texture),kha_SystemImpl.gl.texParameteri(34067,10240,9729),kha_SystemImpl.gl.texParameteri(34067,10241,9729),kha_SystemImpl.gl.texParameteri(34067,10242,33071),kha_SystemImpl.gl.texParameteri(34067,10243,33071),this.renderTarget){this.frameBuffer=kha_SystemImpl.gl.createFramebuffer(),kha_SystemImpl.gl.bindFramebuffer(36160,this.frameBuffer);switch(this.format[1]){case 0:for(var b=0;b<6;){var c=b++;kha_SystemImpl.gl.texImage2D(34069+c,0,6408,this.myWidth,this.myHeight,0,6408,5121,null)}break;case 2:for(var d=0;d<6;){var e=d++;kha_SystemImpl.gl.texImage2D(34069+e,0,6408,this.myWidth,this.myHeight,0,6408,5126,null)}break;case 3:for(var f=0;f<6;){var g=f++;kha_SystemImpl.gl.texImage2D(34069+g,0,6402,this.myWidth,this.myHeight,0,6402,5123,null)}break;case 4:for(var h=0;h<6;){var i=h++;kha_SystemImpl.gl.texImage2D(34069+i,0,6408,this.myWidth,this.myHeight,0,6408,kha_SystemImpl.halfFloat.HALF_FLOAT_OES,null)}break;case 5:for(var j=0;j<6;){var k=j++;kha_SystemImpl.gl.texImage2D(34069+k,0,6406,this.myWidth,this.myHeight,0,6406,5126,null)}break;case 6:for(var l=0;l<6;){var m=l++;kha_SystemImpl.gl.texImage2D(34069+m,0,6406,this.myWidth,this.myHeight,0,6406,kha_SystemImpl.halfFloat.HALF_FLOAT_OES,null)}break;default:for(var n=0;n<6;){var o=n++;kha_SystemImpl.gl.texImage2D(34069+o,0,6408,this.myWidth,this.myHeight,0,6408,5121,null)}}if(this.format==kha_graphics4_TextureFormat.DEPTH16&&(this.isDepthAttachment=!0,-1==navigator.appVersion.indexOf("Win"))){var p=kha_SystemImpl.gl.createTexture();kha_SystemImpl.gl.bindTexture(34067,p);for(var q=0;q<6;){var r=q++;kha_SystemImpl.gl.texImage2D(34069+r,0,6408,this.myWidth,this.myHeight,0,6408,5121,null),kha_SystemImpl.gl.framebufferTexture2D(36160,36064,34069+r,p,0)}kha_SystemImpl.gl.bindTexture(34067,this.texture)}this.initDepthStencilBuffer(this.depthStencilFormat),kha_SystemImpl.gl.bindFramebuffer(36160,null)}kha_SystemImpl.gl.bindTexture(34067,null)}},initDepthStencilBuffer:function(a){switch(a){case 0:break;case 1:case 5:this.depthTexture=kha_SystemImpl.gl.createTexture(),kha_SystemImpl.gl.bindTexture(34067,this.depthTexture);var b=5==a?33189:6402;kha_SystemImpl.gl.texImage2D(34067,0,b,this.myWidth,this.myHeight,0,6402,5125,null),kha_SystemImpl.gl.texParameteri(34067,10240,9728),kha_SystemImpl.gl.texParameteri(34067,10241,9728),kha_SystemImpl.gl.texParameteri(34067,10242,33071),kha_SystemImpl.gl.texParameteri(34067,10243,33071),kha_SystemImpl.gl.bindFramebuffer(36160,this.frameBuffer),kha_SystemImpl.gl.framebufferTexture2D(36160,36096,34067,this.depthTexture,0);break;case 2:case 3:case 4:this.depthTexture=kha_SystemImpl.gl.createTexture(),kha_SystemImpl.gl.bindTexture(34067,this.depthTexture),kha_SystemImpl.gl.texImage2D(34067,0,34041,this.myWidth,this.myHeight,0,34041,kha_SystemImpl.depthTexture.UNSIGNED_INT_24_8_WEBGL,null),kha_SystemImpl.gl.texParameteri(34067,10240,9728),kha_SystemImpl.gl.texParameteri(34067,10241,9728),kha_SystemImpl.gl.texParameteri(34067,10242,33071),kha_SystemImpl.gl.texParameteri(34067,10243,33071),kha_SystemImpl.gl.bindFramebuffer(36160,this.frameBuffer),kha_SystemImpl.gl.framebufferTexture2D(36160,33306,34067,this.depthTexture,0)}},set:function(a){kha_SystemImpl.gl.activeTexture(33984+a),kha_SystemImpl.gl.bindTexture(34067,this.texture)},setDepth:function(a){kha_SystemImpl.gl.activeTexture(33984+a),kha_SystemImpl.gl.bindTexture(34067,this.depthTexture)},unload:function(){},get_width:function(){return this.myWidth},get_height:function(){return this.myHeight},get_g4:function(){return null==this.graphics4&&(this.graphics4=new kha_js_graphics4_Graphics(this)),this.graphics4},__class__:kha_graphics4_CubeMap,__properties__:{get_g4:"get_g4",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=function(a,b){this.sources=[];for(var c=0;c<a.length;){var d=a[c];++c,this.sources.push(d.toString())}this.type=35632,this.shader=null,this.files=b};$hxClasses["kha.graphics4.FragmentShader"]=kha_graphics4_FragmentShader,kha_graphics4_FragmentShader.__name__=["kha","graphics4","FragmentShader"],kha_graphics4_FragmentShader.prototype={__class__:kha_graphics4_FragmentShader};var kha_graphics4_GeometryShader=function(){};$hxClasses["kha.graphics4.GeometryShader"]=kha_graphics4_GeometryShader,kha_graphics4_GeometryShader.__name__=["kha","graphics4","GeometryShader"];var kha_graphics4_Graphics=function(){};$hxClasses["kha.graphics4.Graphics"]=kha_graphics4_Graphics,kha_graphics4_Graphics.__name__=["kha","graphics4","Graphics"],kha_graphics4_Graphics.prototype={__class__:kha_graphics4_Graphics};var kha_graphics4_ImageShaderPainter=function(a){this.myPipeline=null,this.bilinearMipmaps=!1,this.bilinear=!1,this.g=a,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")};$hxClasses["kha.graphics4.ImageShaderPainter"]=kha_graphics4_ImageShaderPainter,kha_graphics4_ImageShaderPainter.__name__=["kha","graphics4","ImageShaderPainter"],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(a){return null==a?(this.projectionLocation=kha_graphics4_ImageShaderPainter.shaderPipeline.getConstantLocation("projectionMatrix"),this.textureLocation=kha_graphics4_ImageShaderPainter.shaderPipeline.getTextureUnit("tex")):(this.projectionLocation=a.getConstantLocation("projectionMatrix"),this.textureLocation=a.getTextureUnit("tex")),this.myPipeline=a},setProjection:function(a){this.projectionMatrix=a},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 a=this.indexBuffer.lock(),b=0,c=kha_graphics4_ImageShaderPainter.bufferSize;b<c;){var d=b++;a[3*d*2]=4*d,a[3*d*2+1]=4*d+1,a[3*d*2+2]=4*d+2,a[3*d*2+3]=4*d,a[3*d*2+4]=4*d+2,a[3*d*2+5]=4*d+3}this.indexBuffer.unlock()},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()},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=function(a){this.myPipeline=null,this.g=a,this.bufferIndex=0,this.triangleBufferIndex=0,kha_graphics4_ColoredShaderPainter.initShaders(),this.initBuffers(),this.projectionLocation=kha_graphics4_ColoredShaderPainter.shaderPipeline.getConstantLocation("projectionMatrix")};$hxClasses["kha.graphics4.ColoredShaderPainter"]=kha_graphics4_ColoredShaderPainter,kha_graphics4_ColoredShaderPainter.__name__=["kha","graphics4","ColoredShaderPainter"],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(a){return this.projectionLocation=null==a?kha_graphics4_ColoredShaderPainter.shaderPipeline.getConstantLocation("projectionMatrix"):a.getConstantLocation("projectionMatrix"),this.myPipeline=a},setProjection:function(a){this.projectionMatrix=a},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 a=this.indexBuffer.lock(),b=0,c=kha_graphics4_ColoredShaderPainter.bufferSize;b<c;){var d=b++;a[3*d*2]=4*d,a[3*d*2+1]=4*d+1,a[3*d*2+2]=4*d+2,a[3*d*2+3]=4*d,a[3*d*2+4]=4*d+2,a[3*d*2+5]=4*d+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 e=this.triangleIndexBuffer.lock(),f=0,g=kha_graphics4_ColoredShaderPainter.bufferSize;f<g;){var h=f++;e[3*h]=3*h,e[3*h+1]=3*h+1,e[3*h+2]=3*h+2}this.triangleIndexBuffer.unlock()},setRectVertices:function(a,b,c,d,e,f,g,h){var i=7*this.bufferIndex*4;this.rectVertices[i]=a,this.rectVertices[i+1]=b,this.rectVertices[i+2]=-5,this.rectVertices[i+7]=c,this.rectVertices[i+8]=d,this.rectVertices[i+9]=-5,this.rectVertices[i+14]=e,this.rectVertices[i+15]=f,this.rectVertices[i+16]=-5,this.rectVertices[i+21]=g,this.rectVertices[i+22]=h,this.rectVertices[i+23]=-5},setRectColors:function(a,b){var c=7*this.bufferIndex*4,d=a*(.00392156862745098*(b>>>24));this.rectVertices[c+3]=.00392156862745098*((16711680&b)>>>16),this.rectVertices[c+4]=.00392156862745098*((65280&b)>>>8),this.rectVertices[c+5]=.00392156862745098*(255&b),this.rectVertices[c+6]=d,this.rectVertices[c+10]=.00392156862745098*((16711680&b)>>>16),this.rectVertices[c+11]=.00392156862745098*((65280&b)>>>8),this.rectVertices[c+12]=.00392156862745098*(255&b),this.rectVertices[c+13]=d,this.rectVertices[c+17]=.00392156862745098*((16711680&b)>>>16),this.rectVertices[c+18]=.00392156862745098*((65280&b)>>>8),this.rectVertices[c+19]=.00392156862745098*(255&b),this.rectVertices[c+20]=d,this.rectVertices[c+24]=.00392156862745098*((16711680&b)>>>16),this.rectVertices[c+25]=.00392156862745098*((65280&b)>>>8),this.rectVertices[c+26]=.00392156862745098*(255&b),this.rectVertices[c+27]=d},drawBuffer:function(a){a||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(a){a||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(a,b,c,d,e,f,g,h,i,j){this.triangleBufferIndex>0&&this.drawTriBuffer(!0),this.bufferIndex+1>=kha_graphics4_ColoredShaderPainter.bufferSize&&this.drawBuffer(!1),this.setRectColors(a,b),this.setRectVertices(c,d,e,f,g,h,i,j),++this.bufferIndex},__class__:kha_graphics4_ColoredShaderPainter,__properties__:{set_pipeline:"set_pipeline",get_pipeline:"get_pipeline"}};var kha_graphics4_TextShaderPainter=function(a){this.bilinear=!1,this.myPipeline=null,this.g=a,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")};$hxClasses["kha.graphics4.TextShaderPainter"]=kha_graphics4_TextShaderPainter,kha_graphics4_TextShaderPainter.__name__=["kha","graphics4","TextShaderPainter"],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.prototype={get_pipeline:function(){return this.myPipeline},set_pipeline:function(a){return null==a?(this.projectionLocation=kha_graphics4_TextShaderPainter.shaderPipeline.getConstantLocation("projectionMatrix"),this.textureLocation=kha_graphics4_TextShaderPainter.shaderPipeline.getTextureUnit("tex")):(this.projectionLocation=a.getConstantLocation("projectionMatrix"),this.textureLocation=a.getTextureUnit("tex")),this.myPipeline=a},setProjection:function(a){this.projectionMatrix=a},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 a=this.indexBuffer.lock(),b=0,c=kha_graphics4_TextShaderPainter.bufferSize;b<c;){var d=b++;a[3*d*2]=4*d,a[3*d*2+1]=4*d+1,a[3*d*2+2]=4*d+2,a[3*d*2+3]=4*d,a[3*d*2+4]=4*d+2,a[3*d*2+5]=4*d+3}this.indexBuffer.unlock()},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()},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=function(a){if(kha_graphics2_Graphics.call(this),this.set_color(-1),this.canvas=a,this.g=a.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 b=new kha_graphics4_VertexStructure;b.add("vertexPosition",kha_graphics4_VertexData.Float3),b.add("texPosition",kha_graphics4_VertexData.Float2),b.add("vertexColor",kha_graphics4_VertexData.Float4),kha_graphics4_Graphics2.videoPipeline.inputLayout=[b],kha_graphics4_Graphics2.videoPipeline.compile()}};$hxClasses["kha.graphics4.Graphics2"]=kha_graphics4_Graphics2,kha_graphics4_Graphics2.__name__=["kha","graphics4","Graphics2"],kha_graphics4_Graphics2.upperPowerOfTwo=function(a){return--a,a|=a>>>1,a|=a>>>2,a|=a>>>4,a|=a>>>8,a|=a>>>16,++a},kha_graphics4_Graphics2.__super__=kha_graphics2_Graphics,kha_graphics4_Graphics2.prototype=$extend(kha_graphics2_Graphics.prototype,{setProjection:function(){var a=this.canvas.get_width(),b=this.canvas.get_height();js_Boot.__instanceof(this.canvas,kha_Framebuffer)?this.projectionMatrix=kha_math_FastMatrix4.orthogonalProjection(0,a,b,0,.1,1e3):(kha_Image.get_nonPow2Supported()||(a=kha_graphics4_Graphics2.upperPowerOfTwo(a),b=kha_graphics4_Graphics2.upperPowerOfTwo(b)),this.g.renderTargetsInvertedY()?this.projectionMatrix=kha_math_FastMatrix4.orthogonalProjection(0,a,0,b,.1,1e3):this.projectionMatrix=kha_math_FastMatrix4.orthogonalProjection(0,a,b,0,.1,1e3)),this.imagePainter.setProjection(this.projectionMatrix),this.coloredPainter.setProjection(this.projectionMatrix),this.textPainter.setProjection(this.projectionMatrix)},drawImage:function(a,b,c){var d=this.coloredPainter;d.triangleBufferIndex>0&&d.drawTriBuffer(!1),d.bufferIndex>0&&d.drawBuffer(!1),this.textPainter.end();var g,h,j,e=b+a.get_width(),f=c+a.get_height(),i=this.transformations[this.transformations.length-1],k=b;j=f;var l=i._02*k+i._12*j+i._22,m=(i._00*k+i._10*j+i._20)/l,n=(i._01*k+i._11*j+i._21)/l;h=m,g=n;var o,p,r,q=this.transformations[this.transformations.length-1],s=b;r=c;var t=q._02*s+q._12*r+q._22,u=(q._00*s+q._10*r+q._20)/t,v=(q._01*s+q._11*r+q._21)/t;p=u,o=v;var w,x,z,y=this.transformations[this.transformations.length-1],A=e;z=c;var B=y._02*A+y._12*z+y._22,C=(y._00*A+y._10*z+y._20)/B,D=(y._01*A+y._11*z+y._21)/B;x=C,w=D;var E,F,H,G=this.transformations[this.transformations.length-1],I=e;H=f;var J=G._02*I+G._12*H+G._22,K=(G._00*I+G._10*H+G._20)/J,L=(G._01*I+G._11*H+G._21)/J;F=K,E=L;var M=this.imagePainter,N=this.get_opacity(),O=this.get_color(),P=a;(M.bufferIndex+1>=kha_graphics4_ImageShaderPainter.bufferSize||null!=M.lastTexture&&P!=M.lastTexture)&&M.drawBuffer();var Q=.00392156862745098*((16711680&O)>>>16),R=.00392156862745098*((65280&O)>>>8),S=.00392156862745098*(255&O),T=.00392156862745098*(O>>>24)*N,U=M.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;M.rectVertices[U+5]=Q,M.rectVertices[U+6]=R,M.rectVertices[U+7]=S,M.rectVertices[U+8]=T,M.rectVertices[U+14]=Q,M.rectVertices[U+15]=R,M.rectVertices[U+16]=S,M.rectVertices[U+17]=T,M.rectVertices[U+23]=Q,M.rectVertices[U+24]=R,M.rectVertices[U+25]=S,M.rectVertices[U+26]=T,M.rectVertices[U+32]=Q,M.rectVertices[U+33]=R,M.rectVertices[U+34]=S,M.rectVertices[U+35]=T;var V=P.get_width()/P.get_realWidth(),W=P.get_height()/P.get_realHeight(),X=M.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;M.rectVertices[X+3]=0,M.rectVertices[X+4]=W,M.rectVertices[X+12]=0,M.rectVertices[X+13]=0,M.rectVertices[X+21]=V,M.rectVertices[X+22]=0,M.rectVertices[X+30]=V,M.rectVertices[X+31]=W;var Y=M.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;M.rectVertices[Y]=h,M.rectVertices[Y+1]=g,M.rectVertices[Y+2]=-5,M.rectVertices[Y+9]=p,M.rectVertices[Y+10]=o,M.rectVertices[Y+11]=-5,M.rectVertices[Y+18]=x,M.rectVertices[Y+19]=w,M.rectVertices[Y+20]=-5,M.rectVertices[Y+27]=F,M.rectVertices[Y+28]=E,M.rectVertices[Y+29]=-5,++M.bufferIndex,M.lastTexture=P},drawScaledSubImage:function(a,b,c,d,e,f,g,h,i){var j=this.coloredPainter;j.triangleBufferIndex>0&&j.drawTriBuffer(!1),j.bufferIndex>0&&j.drawBuffer(!1),this.textPainter.end();var k,l,n,m=this.transformations[this.transformations.length-1],o=f;n=g+i;var p=m._02*o+m._12*n+m._22,q=(m._00*o+m._10*n+m._20)/p,r=(m._01*o+m._11*n+m._21)/p;l=q,k=r;var s,t,v,u=this.transformations[this.transformations.length-1],w=f;v=g;var x=u._02*w+u._12*v+u._22,y=(u._00*w+u._10*v+u._20)/x,z=(u._01*w+u._11*v+u._21)/x;t=y,s=z;var A,B,D,C=this.transformations[this.transformations.length-1],E=f+h;D=g;var F=C._02*E+C._12*D+C._22,G=(C._00*E+C._10*D+C._20)/F,H=(C._01*E+C._11*D+C._21)/F;B=G,A=H;var I,J,L,K=this.transformations[this.transformations.length-1],M=f+h;L=g+i;var N=K._02*M+K._12*L+K._22,O=(K._00*M+K._10*L+K._20)/N,P=(K._01*M+K._11*L+K._21)/N;J=O,I=P;var Q=this.imagePainter,R=this.get_opacity(),S=this.get_color(),T=a;(Q.bufferIndex+1>=kha_graphics4_ImageShaderPainter.bufferSize||null!=Q.lastTexture&&T!=Q.lastTexture)&&Q.drawBuffer();var U=b/T.get_realWidth(),V=c/T.get_realHeight(),W=(b+d)/T.get_realWidth(),X=(c+e)/T.get_realHeight(),Y=Q.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;Q.rectVertices[Y+3]=U,Q.rectVertices[Y+4]=X,Q.rectVertices[Y+12]=U,Q.rectVertices[Y+13]=V,Q.rectVertices[Y+21]=W,Q.rectVertices[Y+22]=V,Q.rectVertices[Y+30]=W,Q.rectVertices[Y+31]=X;var Z=.00392156862745098*((16711680&S)>>>16),$=.00392156862745098*((65280&S)>>>8),_=.00392156862745098*(255&S),aa=.00392156862745098*(S>>>24)*R,ba=Q.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;Q.rectVertices[ba+5]=Z,Q.rectVertices[ba+6]=$,Q.rectVertices[ba+7]=_,Q.rectVertices[ba+8]=aa,Q.rectVertices[ba+14]=Z,Q.rectVertices[ba+15]=$,Q.rectVertices[ba+16]=_,Q.rectVertices[ba+17]=aa,Q.rectVertices[ba+23]=Z,Q.rectVertices[ba+24]=$,Q.rectVertices[ba+25]=_,Q.rectVertices[ba+26]=aa,Q.rectVertices[ba+32]=Z,Q.rectVertices[ba+33]=$,Q.rectVertices[ba+34]=_,Q.rectVertices[ba+35]=aa;var ca=Q.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;Q.rectVertices[ca]=l,Q.rectVertices[ca+1]=k,Q.rectVertices[ca+2]=-5,Q.rectVertices[ca+9]=t,Q.rectVertices[ca+10]=s,Q.rectVertices[ca+11]=-5,Q.rectVertices[ca+18]=B,Q.rectVertices[ca+19]=A,Q.rectVertices[ca+20]=-5,Q.rectVertices[ca+27]=J,Q.rectVertices[ca+28]=I,Q.rectVertices[ca+29]=-5,++Q.bufferIndex,Q.lastTexture=T},get_color:function(){return this.myColor},set_color:function(a){return this.myColor=a},fillRect:function(a,b,c,d){this.imagePainter.end(),this.textPainter.end();var e,f,h,g=this.transformations[this.transformations.length-1],i=a;h=b+d;var j=g._02*i+g._12*h+g._22,k=(g._00*i+g._10*h+g._20)/j,l=(g._01*i+g._11*h+g._21)/j;f=k,e=l;var m,n,p,o=this.transformations[this.transformations.length-1],q=a;p=b;var r=o._02*q+o._12*p+o._22,s=(o._00*q+o._10*p+o._20)/r,t=(o._01*q+o._11*p+o._21)/r;n=s,m=t;var u,v,x,w=this.transformations[this.transformations.length-1],y=a+c;x=b;var z=w._02*y+w._12*x+w._22,A=(w._00*y+w._10*x+w._20)/z,B=(w._01*y+w._11*x+w._21)/z;v=A,u=B;var C,D,F,E=this.transformations[this.transformations.length-1],G=a+c;F=b+d;var H=E._02*G+E._12*F+E._22,I=(E._00*G+E._10*F+E._20)/H,J=(E._01*G+E._11*F+E._21)/H;D=I,C=J,this.coloredPainter.fillRect(this.get_opacity(),this.get_color(),f,e,n,m,v,u,D,C)},setPipeline:function(a){this.flush(),this.imagePainter.set_pipeline(a),this.coloredPainter.set_pipeline(a),this.textPainter.set_pipeline(a),null!=a&&this.g.setPipeline(a)},begin:function(a,b){null==a&&(a=!0),this.g.begin(),a&&this.clear(b),this.setProjection()},clear:function(a){this.flush(),this.g.clear(null==a?-16777216:a)},flush:function(){this.imagePainter.end(),this.textPainter.end();var a=this.coloredPainter;a.triangleBufferIndex>0&&a.drawTriBuffer(!1),a.bufferIndex>0&&a.drawBuffer(!1)},end:function(){this.flush(),this.g.end()},drawVideoInternal:function(a,b,c,d,e){},drawVideo:function(a,b,c,d,e){this.setPipeline(kha_graphics4_Graphics2.videoPipeline),this.drawVideoInternal(a,b,c,d,e),this.setPipeline(null)},__class__:kha_graphics4_Graphics2});var kha_graphics4_IndexBuffer=function(a,b,c){null==c&&(c=!1),this.usage=b,this.mySize=a,this.buffer=kha_SystemImpl.gl.createBuffer(),this._data=[],this._data[a-1]=0};$hxClasses["kha.graphics4.IndexBuffer"]=kha_graphics4_IndexBuffer,kha_graphics4_IndexBuffer.__name__=["kha","graphics4","IndexBuffer"],kha_graphics4_IndexBuffer.prototype={delete:function(){this._data=null,kha_SystemImpl.gl.deleteBuffer(this.buffer)},lock:function(){return this._data},unlock:function(){kha_SystemImpl.gl.bindBuffer(34963,this.buffer);var a=null==kha_SystemImpl.elementIndexUint?new Uint16Array(this._data):new Uint32Array(this._data);kha_SystemImpl.gl.bufferData(34963,a,this.usage==kha_graphics4_Usage.DynamicUsage?35048:35044)},set:function(){kha_SystemImpl.gl.bindBuffer(34963,this.buffer)},count:function(){return this.mySize},__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=function(){this.inputLayout=null,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};$hxClasses["kha.graphics4.PipelineStateBase"]=kha_graphics4_PipelineStateBase,kha_graphics4_PipelineStateBase.__name__=["kha","graphics4","PipelineStateBase"],kha_graphics4_PipelineStateBase.prototype={__class__:kha_graphics4_PipelineStateBase};var kha_graphics4_PipelineState=function(){kha_graphics4_PipelineStateBase.call(this),this.program=kha_SystemImpl.gl.createProgram(),this.textures=[],this.textureValues=[]};$hxClasses["kha.graphics4.PipelineState"]=kha_graphics4_PipelineState,kha_graphics4_PipelineState.__name__=["kha","graphics4","PipelineState"],kha_graphics4_PipelineState.__super__=kha_graphics4_PipelineStateBase,kha_graphics4_PipelineState.prototype=$extend(kha_graphics4_PipelineStateBase.prototype,{delete:function(){kha_SystemImpl.gl.deleteProgram(this.program)},compile:function(){this.compileShader(this.vertexShader),this.compileShader(this.fragmentShader),kha_SystemImpl.gl.attachShader(this.program,this.vertexShader.shader),kha_SystemImpl.gl.attachShader(this.program,this.fragmentShader.shader);for(var a=0,b=0,c=this.inputLayout;b<c.length;){var d=c[b];++b;for(var e=0,f=d.elements;e<f.length;){var g=f[e];++e,kha_SystemImpl.gl.bindAttribLocation(this.program,a,g.name),g.data==kha_graphics4_VertexData.Float4x4?a+=4:++a}}if(kha_SystemImpl.gl.linkProgram(this.program),!kha_SystemImpl.gl.getProgramParameter(this.program,35714))throw new js__$Boot_HaxeError("Could not link the shader program:\n"+kha_SystemImpl.gl.getProgramInfoLog(this.program))},set:function(){kha_SystemImpl.gl.useProgram(this.program);for(var a=0,b=this.textureValues.length;a<b;){var c=a++;kha_SystemImpl.gl.uniform1i(this.textureValues[c],c)}kha_SystemImpl.gl.colorMask(this.colorWriteMaskRed,this.colorWriteMaskGreen,this.colorWriteMaskBlue,this.colorWriteMaskAlpha)},compileShader:function(a){if(null==a.shader){for(var b=kha_SystemImpl.gl.createShader(a.type),c=kha_SystemImpl.gl.getShaderPrecisionFormat(35632,36338),d=0!=c.precision,e=a.files,f=0,g=e.length;f<g;){var h=f++;if(!d&&e[h].indexOf("-relaxed")>=0){kha_SystemImpl.gl.shaderSource(b,a.sources[h]);break}if(d&&e[h].indexOf("-relaxed")<0){kha_SystemImpl.gl.shaderSource(b,a.sources[h]);break}}if(kha_SystemImpl.gl.compileShader(b),!kha_SystemImpl.gl.getShaderParameter(b,35713))throw new js__$Boot_HaxeError("Could not compile shader:\n"+kha_SystemImpl.gl.getShaderInfoLog(b));a.shader=b}},getConstantLocation:function(a){for(var b=kha_SystemImpl.gl.getUniformLocation(this.program,a),c=5126,d=kha_SystemImpl.gl.getProgramParameter(this.program,35718),e=0,f=d;e<f;){var g=e++,h=kha_SystemImpl.gl.getActiveUniform(this.program,g);if(h.name==a||h.name==a+"[0]"){c=h.type;break}}return new kha_js_graphics4_ConstantLocation(b,c)},getTextureUnit:function(a){var b=this.findTexture(a);if(b<0){var c=kha_SystemImpl.gl.getUniformLocation(this.program,a);b=this.textures.length,this.textureValues.push(c),this.textures.push(a)}return new kha_js_graphics4_TextureUnit(b)},findTexture:function(a){for(var b=0,c=this.textures.length;b<c;){var d=b++;if(this.textures[d]==a)return d}return-1},__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=function(){};$hxClasses["kha.graphics4.TessellationControlShader"]=kha_graphics4_TessellationControlShader,kha_graphics4_TessellationControlShader.__name__=["kha","graphics4","TessellationControlShader"];var kha_graphics4_TessellationEvaluationShader=function(){};$hxClasses["kha.graphics4.TessellationEvaluationShader"]=kha_graphics4_TessellationEvaluationShader,kha_graphics4_TessellationEvaluationShader.__name__=["kha","graphics4","TessellationEvaluationShader"];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=function(){};$hxClasses["kha.graphics4.TextureUnit"]=kha_graphics4_TextureUnit,kha_graphics4_TextureUnit.__name__=["kha","graphics4","TextureUnit"];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=function(a,b,c,d,e){null==e&&(e=!1),null==d&&(d=0),this.usage=c,this.instanceDataStepRate=d,this.mySize=a,this.myStride=0;for(var f=0,g=b.elements;f<g.length;){var h=g[f];++f;switch(h.data[1]){case 0:this.myStride+=4;break;case 1:this.myStride+=8;break;case 2:this.myStride+=12;break;case 3:this.myStride+=16;break;case 4:this.myStride+=64}}this.buffer=kha_SystemImpl.gl.createBuffer();var j=new Float32Array(a*this.myStride/4|0);this._data=j,this.sizes=[],this.offsets=[],this.sizes[b.elements.length-1]=0,this.offsets[b.elements.length-1]=0;for(var k=0,l=0,m=0,n=b.elements;m<n.length;){var o=n[m];++m;var p;switch(o.data[1]){case 0:p=1;break;case 1:p=2;break;case 2:p=3;break;case 3:p=4;break;case 4:p=16}this.sizes[l]=p,this.offsets[l]=k;switch(o.data[1]){case 0:k+=4;break;case 1:k+=8;break;case 2:k+=12;break;case 3:k+=16;break;case 4:k+=64}++l}};$hxClasses["kha.graphics4.VertexBuffer"]=kha_graphics4_VertexBuffer,kha_graphics4_VertexBuffer.__name__=["kha","graphics4","VertexBuffer"],kha_graphics4_VertexBuffer.prototype={delete:function(){this._data=null,kha_SystemImpl.gl.deleteBuffer(this.buffer)},lock:function(a,b){return this._data},unlock:function(){kha_SystemImpl.gl.bindBuffer(34962,this.buffer),kha_SystemImpl.gl.bufferData(34962,this._data,this.usage==kha_graphics4_Usage.DynamicUsage?35048:35044)},set:function(a){var b=kha_SystemImpl.gl.getExtension("ANGLE_instanced_arrays");kha_SystemImpl.gl.bindBuffer(34962,this.buffer);for(var c=0,d=0,e=this.sizes.length;d<e;){var f=d++;if(this.sizes[f]>4)for(var g=this.sizes[f],h=0;g>0;)kha_SystemImpl.gl.enableVertexAttribArray(a+c),kha_SystemImpl.gl.vertexAttribPointer(a+c,4,5126,!1,this.myStride,this.offsets[f]+h),b&&b.vertexAttribDivisorANGLE(a+c,this.instanceDataStepRate),g-=4,h+=16,++c;else kha_SystemImpl.gl.enableVertexAttribArray(a+c),kha_SystemImpl.gl.vertexAttribPointer(a+c,this.sizes[f],5126,!1,this.myStride,this.offsets[f]),b&&b.vertexAttribDivisorANGLE(a+c,this.instanceDataStepRate),++c}return c},__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=function(a,b){this.name=a,this.data=b};$hxClasses["kha.graphics4.VertexElement"]=kha_graphics4_VertexElement,kha_graphics4_VertexElement.__name__=["kha","graphics4","VertexElement"],kha_graphics4_VertexElement.prototype={__class__:kha_graphics4_VertexElement};var kha_graphics4_VertexShader=function(a,b){this.sources=[];for(var c=0;c<a.length;){var d=a[c];++c,this.sources.push(d.toString())}this.type=35633,this.shader=null,this.files=b};$hxClasses["kha.graphics4.VertexShader"]=kha_graphics4_VertexShader,kha_graphics4_VertexShader.__name__=["kha","graphics4","VertexShader"],kha_graphics4_VertexShader.prototype={__class__:kha_graphics4_VertexShader};var kha_graphics4_VertexStructure=function(){this.elements=[]};$hxClasses["kha.graphics4.VertexStructure"]=kha_graphics4_VertexStructure,kha_graphics4_VertexStructure.__name__=["kha","graphics4","VertexStructure"],kha_graphics4_VertexStructure.prototype={add:function(a,b){this.elements.push(new kha_graphics4_VertexElement(a,b))},size:function(){return this.elements.length},byteSize:function(){for(var a=0,b=0,c=this.elements.length;b<c;){var d=b++;a+=this.dataByteSize(this.elements[d].data)}return a},dataByteSize:function(a){switch(a[1]){case 0:return 4;case 1:return 8;case 2:return 12;case 3:return 16;case 4:return 64}},get:function(a){return this.elements[a]},__class__:kha_graphics4_VertexStructure};var kha_input_Gamepad=$hx_exports.kha.input.Gamepad=function(a){null==a&&(a=0),this.axisListeners=[],this.buttonListeners=[],kha_input_Gamepad.instances[a]=this};$hxClasses["kha.input.Gamepad"]=kha_input_Gamepad,kha_input_Gamepad.__name__=["kha","input","Gamepad"],kha_input_Gamepad.get=function(a){return null==a&&(a=0),a>=kha_input_Gamepad.instances.length?null:kha_input_Gamepad.instances[a]},kha_input_Gamepad.prototype={notify:function(a,b){null!=a&&this.axisListeners.push(a),null!=b&&this.buttonListeners.push(b)},sendAxisEvent:function(a,b){for(var c=0,d=this.axisListeners;c<d.length;){var e=d[c];++c,e(a,b)}},sendButtonEvent:function(a,b){for(var c=0,d=this.buttonListeners;c<d.length;){var e=d[c];++c,e(a,b)}},__class__:kha_input_Gamepad};var kha_network_Controller=function(){this.__id=kha_network_ControllerBuilder.nextId++,this._inputBuffer=new haxe_io_Bytes(new ArrayBuffer(1))};$hxClasses["kha.network.Controller"]=kha_network_Controller,kha_network_Controller.__name__=["kha","network","Controller"],kha_network_Controller.prototype={_id:function(){return this.__id},__class__:kha_network_Controller};var kha_input_Keyboard=$hx_exports.kha.input.Keyboard=function(){kha_network_Controller.call(this),this.downListeners=[],this.upListeners=[],kha_input_Keyboard.instance=this};$hxClasses["kha.input.Keyboard"]=kha_input_Keyboard,kha_input_Keyboard.__name__=["kha","input","Keyboard"],kha_input_Keyboard.get=function(a){return null==a&&(a=0),kha_SystemImpl.getKeyboard(a)},kha_input_Keyboard.__super__=kha_network_Controller,kha_input_Keyboard.prototype=$extend(kha_network_Controller.prototype,{notify:function(a,b){null!=a&&this.downListeners.push(a),null!=b&&this.upListeners.push(b)},sendDownEvent:function(a,b){if(null!=kha_network_Session.the()){var c=new haxe_io_Bytes(new ArrayBuffer(6));c.setInt32(0,0),c.b[4]=255&a[1];var d=HxOverrides.cca(b,0);c.b[5]=255&d,kha_network_Session.the().sendControllerUpdate(this._id(),c)}for(var e=0,f=this.downListeners;e<f.length;){var g=f[e];++e,g(a,b)}},sendUpEvent:function(a,b){if(null!=kha_network_Session.the()){var c=new haxe_io_Bytes(new ArrayBuffer(6));c.setInt32(0,1),c.b[4]=255&a[1];var d=HxOverrides.cca(b,0);c.b[5]=255&d,kha_network_Session.the().sendControllerUpdate(this._id(),c)}for(var e=0,f=this.upListeners;e<f.length;){var g=f[e];++e,g(a,b)}},__class__:kha_input_Keyboard});var kha_input_Mouse=$hx_exports.kha.input.Mouse=function(){kha_network_Controller.call(this),kha_input_Mouse.instance=this};$hxClasses["kha.input.Mouse"]=kha_input_Mouse,kha_input_Mouse.__name__=["kha","input","Mouse"],kha_input_Mouse.get=function(a){return null==a&&(a=0),kha_SystemImpl.getMouse(a)},kha_input_Mouse.__super__=kha_network_Controller,kha_input_Mouse.prototype=$extend(kha_network_Controller.prototype,{notify:function(a,b,c,d,e){this.notifyWindowed(0,a,b,c,d,e)},notifyWindowed:function(a,b,c,d,e,f){if(null!=b){for(null==this.windowDownListeners&&(this.windowDownListeners=[]);this.windowDownListeners.length<=a;)this.windowDownListeners.push([]);this.windowDownListeners[a].push(b)}if(null!=c){for(null==this.windowUpListeners&&(this.windowUpListeners=[]);this.windowUpListeners.length<=a;)this.windowUpListeners.push([]);this.windowUpListeners[a].push(c)}if(null!=d){for(null==this.windowMoveListeners&&(this.windowMoveListeners=[]);this.windowMoveListeners.length<=a;)this.windowMoveListeners.push([]);this.windowMoveListeners[a].push(d)}if(null!=e){for(null==this.windowWheelListeners&&(this.windowWheelListeners=[]);this.windowWheelListeners.length<=a;)this.windowWheelListeners.push([]);this.windowWheelListeners[a].push(e)}if(null!=f){for(null==this.windowLeaveListeners&&(this.windowLeaveListeners=[]);this.windowLeaveListeners.length<=a;)this.windowLeaveListeners.push([]);this.windowLeaveListeners[a].push(f)}},sendLeaveEvent:function(a){if(null!=kha_network_Session.the()){var b=new haxe_io_Bytes(new ArrayBuffer(8));b.setInt32(0,0),b.setInt32(4,a),kha_network_Session.the().sendControllerUpdate(this._id(),b)}if(null!=this.windowLeaveListeners)for(var c=0,d=this.windowLeaveListeners[a];c<d.length;){var e=d[c];++c,e()}},sendDownEvent:function(a,b,c,d){if(null!=kha_network_Session.the()){var e=new haxe_io_Bytes(new ArrayBuffer(20));e.setInt32(0,1),e.setInt32(4,a),e.setInt32(8,b),e.setInt32(12,c),e.setInt32(16,d),kha_network_Session.the().sendControllerUpdate(this._id(),e)}if(null!=this.windowDownListeners)for(var f=0,g=this.windowDownListeners[a];f<g.length;){var h=g[f];++f,h(b,c,d)}},sendUpEvent:function(a,b,c,d){if(null!=kha_network_Session.the()){var e=new haxe_io_Bytes(new ArrayBuffer(20));e.setInt32(0,2),e.setInt32(4,a),e.setInt32(8,b),e.setInt32(12,c),e.setInt32(16,d),kha_network_Session.the().sendControllerUpdate(this._id(),e)}if(null!=this.windowUpListeners)for(var f=0,g=this.windowUpListeners[a];f<g.length;){var h=g[f];++f,h(b,c,d)}},sendMoveEvent:function(a,b,c,d,e){if(null!=kha_network_Session.the()){var f=new haxe_io_Bytes(new ArrayBuffer(24));f.setInt32(0,3),f.setInt32(4,a),f.setInt32(8,b),f.setInt32(12,c),f.setInt32(16,d),f.setInt32(20,e),kha_network_Session.the().sendControllerUpdate(this._id(),f)}if(null!=this.windowMoveListeners)for(var g=0,h=this.windowMoveListeners[a];g<h.length;){var i=h[g];++g,i(b,c,d,e)}},sendWheelEvent:function(a,b){if(null!=kha_network_Session.the()){var c=new haxe_io_Bytes(new ArrayBuffer(12));c.setInt32(0,4),c.setInt32(4,a),c.setInt32(8,b),kha_network_Session.the().sendControllerUpdate(this._id(),c)}if(null!=this.windowWheelListeners)for(var d=0,e=this.windowWheelListeners[a];d<e.length;){var f=e[d];++d,f(b)}},__class__:kha_input_Mouse});var kha_input_MouseImpl=function(){kha_input_Mouse.call(this)};$hxClasses["kha.input.MouseImpl"]=kha_input_MouseImpl,kha_input_MouseImpl.__name__=["kha","input","MouseImpl"],kha_input_MouseImpl.__super__=kha_input_Mouse,kha_input_MouseImpl.prototype=$extend(kha_input_Mouse.prototype,{__class__:kha_input_MouseImpl});var kha_input_Surface=$hx_exports.kha.input.Surface=function(){this.touchStartListeners=[],this.touchEndListeners=[],this.moveListeners=[],kha_input_Surface.instance=this};$hxClasses["kha.input.Surface"]=kha_input_Surface,kha_input_Surface.__name__=["kha","input","Surface"],kha_input_Surface.prototype={sendTouchStartEvent:function(a,b,c){for(var d=0,e=this.touchStartListeners;d<e.length;){var f=e[d];++d,f(a,b,c)}},sendTouchEndEvent:function(a,b,c){for(var d=0,e=this.touchEndListeners;d<e.length;){var f=e[d];++d,f(a,b,c)}},sendMoveEvent:function(a,b,c){for(var d=0,e=this.moveListeners;d<e.length;){var f=e[d];++d,f(a,b,c)}},__class__:kha_input_Surface};var kha_internal_BytesBlob=function(a){this.bytes=a,this.buffer=[]};$hxClasses["kha.internal.BytesBlob"]=kha_internal_BytesBlob,kha_internal_BytesBlob.__name__=["kha","internal","BytesBlob"],kha_internal_BytesBlob.__interfaces__=[kha_Resource],kha_internal_BytesBlob.fromBytes=function(a){return new kha_internal_BytesBlob(a)},kha_internal_BytesBlob.prototype={toString:function(){return this.bytes.toString()},toBytes:function(){return this.bytes},unload:function(){this.bytes=null},__class__:kha_internal_BytesBlob};var kha_internal_HdrFormat=function(){};$hxClasses["kha.internal.HdrFormat"]=kha_internal_HdrFormat,kha_internal_HdrFormat.__name__=["kha","internal","HdrFormat"],kha_internal_HdrFormat.readBuf=function(a){for(var b=0;;)if(a[b++]=255&kha_internal_HdrFormat.buffer[kha_internal_HdrFormat.fileOffset],!(++kha_internal_HdrFormat.fileOffset<kha_internal_HdrFormat.bufferLength&&b<a.length))break;return b},kha_internal_HdrFormat.readBufOffset=function(a,b,c){for(var d=0;;)if(a[b+d++]=255&kha_internal_HdrFormat.buffer[kha_internal_HdrFormat.fileOffset],!(++kha_internal_HdrFormat.fileOffset<kha_internal_HdrFormat.bufferLength&&d<c))break;return d},kha_internal_HdrFormat.readPixelsRaw=function(a,b,c,d){var e=4*d,f=kha_internal_HdrFormat.readBufOffset(b,c,e);if(f<e)return void haxe_Log.trace("Error reading raw pixels: got "+f+" bytes, expected "+e,{fileName:"HdrFormat.hx",lineNumber:43,className:"kha.internal.HdrFormat",methodName:"readPixelsRaw"})},kha_internal_HdrFormat.readPixelsRawRLE=function(a,b,c,d,e){var i,j,k,f=new Uint8Array(4),g=f,h=null,l=new Uint8Array(2),m=l;for(a.length;e>0;){if(kha_internal_HdrFormat.readBuf(g)<g.length)return void haxe_Log.trace("Error reading bytes: expected "+g.length,{fileName:"HdrFormat.hx",lineNumber:59,className:"kha.internal.HdrFormat",methodName:"readPixelsRawRLE"});if(2!=g[0]||2!=g[1]||0!=(128&g[2]))return b[c++]=255&g[0],b[c++]=255&g[1],b[c++]=255&g[2],b[c++]=255&g[3],void kha_internal_HdrFormat.readPixelsRaw(a,b,c,d*e-1);if(((255&g[2])<<8|255&g[3])!=d)return void haxe_Log.trace("Wrong scanline width "+((255&g[2])<<8|255&g[3])+", expected "+d,{fileName:"HdrFormat.hx",lineNumber:74,className:"kha.internal.HdrFormat",methodName:"readPixelsRawRLE"});if(null==h){h=new Uint8Array(4*d)}i=0;for(var p=0;p<4;){var q=p++;for(j=(q+1)*d;i<j;){if(kha_internal_HdrFormat.readBuf(m)<m.length)return void haxe_Log.trace("Error reading 2-byte buffer",{fileName:"HdrFormat.hx",lineNumber:88,className:"kha.internal.HdrFormat",methodName:"readPixelsRawRLE"});if((255&m[0])>128){if(0==(k=(255&m[0])-128)||k>j-i)return void haxe_Log.trace("Bad scanline data",{fileName:"HdrFormat.hx",lineNumber:95,className:"kha.internal.HdrFormat",methodName:"readPixelsRawRLE"});for(;k-- >0;)h[i++]=255&m[1]}else{if(0==(k=255&m[0])||k>j-i)return void haxe_Log.trace("Bad scanline data",{fileName:"HdrFormat.hx",lineNumber:106,className:"kha.internal.HdrFormat",methodName:"readPixelsRawRLE"});if(h[i++]=255&m[1],--k>0){if(kha_internal_HdrFormat.readBufOffset(h,i,k)<k)return void haxe_Log.trace("Error reading non-run data",{fileName:"HdrFormat.hx",lineNumber:112,className:"kha.internal.HdrFormat",methodName:"readPixelsRawRLE"});i+=k}}}}for(var r=0,s=d;r<s;){var t=r++;b[c]=255&h[t],b[c+1]=255&h[t+d],b[c+2]=255&h[t+2*d],b[c+3]=255&h[t+3*d],c+=4}--e}},kha_internal_HdrFormat.readLine=function(){for(var a="";;){var b=kha_internal_HdrFormat.buffer[kha_internal_HdrFormat.fileOffset];if(10==b){++kha_internal_HdrFormat.fileOffset;break}if(a+=String.fromCharCode(b),!(++kha_internal_HdrFormat.fileOffset<kha_internal_HdrFormat.bufferLength))break}return a},kha_internal_HdrFormat.parse=function(a){kha_internal_HdrFormat.buffer=haxe_io__$UInt8Array_UInt8Array_$Impl_$.fromBytes(a),kha_internal_HdrFormat.bufferLength=kha_internal_HdrFormat.buffer.length,kha_internal_HdrFormat.fileOffset=0;for(var b=0,c=0,f=!1,g=0;g<20;){var i=(g++,kha_internal_HdrFormat.readLine());if(kha_internal_HdrFormat.formatPattern.match(i))f=!0;else if(kha_internal_HdrFormat.exposurePattern.match(i))parseFloat(kha_internal_HdrFormat.exposurePattern.matched(1));else if(kha_internal_HdrFormat.widthHeightPattern.match(i)){c=Std.parseInt(kha_internal_HdrFormat.widthHeightPattern.matched(1)),b=Std.parseInt(kha_internal_HdrFormat.widthHeightPattern.matched(2));break}}if(!f)return haxe_Log.trace("File is not run length encoded!",{fileName:"HdrFormat.hx",lineNumber:175,className:"kha.internal.HdrFormat",methodName:"parse"}),null;var j=new Uint8Array(b*c*4),k=j,l=b,m=c;kha_internal_HdrFormat.readPixelsRawRLE(kha_internal_HdrFormat.buffer,k,0,l,m);for(var n=new Float32Array(b*c*4),o=n,p=0;p<k.length;){var q=k[p]/255,r=k[p+1]/255,s=k[p+2]/255,t=k[p+3],u=Math.pow(2,t-128);q*=u,r*=u,s*=u,o[p]=q,o[p+1]=r,o[p+2]=s,o[p+3]=1,p+=4}return{width:b,height:c,data:o}};var kha_js_AEAudioChannel=function(a){this.stopped=!1,this.element=a};$hxClasses["kha.js.AEAudioChannel"]=kha_js_AEAudioChannel,kha_js_AEAudioChannel.__name__=["kha","js","AEAudioChannel"],kha_js_AEAudioChannel.__interfaces__=[kha_audio1_AudioChannel],kha_js_AEAudioChannel.prototype={play:function(){this.stopped=!1,kha_SystemImpl.mobile?kha_SystemImpl.insideInputEvent?(this.element.play(),kha_SystemImpl.mobileAudioPlaying=!0):kha_SystemImpl.mobileAudioPlaying?this.element.play():kha_js_AEAudioChannel.todo.push(this):this.element.play()},__class__:kha_js_AEAudioChannel};var kha_js_AudioElementAudio=function(){};$hxClasses["kha.js.AudioElementAudio"]=kha_js_AudioElementAudio,kha_js_AudioElementAudio.__name__=["kha","js","AudioElementAudio"],kha_js_AudioElementAudio._compile=function(){},kha_js_AudioElementAudio.play=function(a,b){return null==b&&(b=!1),kha_js_AudioElementAudio.stream(a,b)},kha_js_AudioElementAudio.stream=function(a,b){null==b&&(b=!1),a.element.loop=b;var c=new kha_js_AEAudioChannel(a.element);return c.play(),c};var kha_js_CanvasGraphics=function(a){kha_graphics2_Graphics.call(this),this.canvas=a,kha_js_CanvasGraphics.instance=this,this.myColor=kha__$Color_Color_$Impl_$.fromBytes(0,0,0),a.save()};$hxClasses["kha.js.CanvasGraphics"]=kha_js_CanvasGraphics,kha_js_CanvasGraphics.__name__=["kha","js","CanvasGraphics"],kha_js_CanvasGraphics.__super__=kha_graphics2_Graphics,kha_js_CanvasGraphics.prototype=$extend(kha_graphics2_Graphics.prototype,{begin:function(a,b){null==a&&(a=!0),a&&this.clear(b)},clear:function(a){null==a&&(a=0),this.canvas.strokeStyle="rgba("+((16711680&a)>>>16)+","+((65280&a)>>>8)+","+(255&a)+","+.00392156862745098*(a>>>24)+")",this.canvas.fillStyle="rgba("+((16711680&a)>>>16)+","+((65280&a)>>>8)+","+(255&a)+","+.00392156862745098*(a>>>24)+")",.00392156862745098*(a>>>24)==0?this.canvas.clearRect(0,0,this.canvas.canvas.width,this.canvas.canvas.height):this.canvas.fillRect(0,0,this.canvas.canvas.width,this.canvas.canvas.height),this.set_color(this.myColor)},end:function(){},drawImage:function(a,b,c){this.canvas.globalAlpha=this.get_opacity(),this.canvas.drawImage(js_Boot.__cast(a,kha_CanvasImage).image,b,c),this.canvas.globalAlpha=1},drawScaledSubImage:function(a,b,c,d,e,f,g,h,i){this.canvas.globalAlpha=this.get_opacity();try{if(h<0||i<0){this.canvas.save(),this.canvas.translate(f,g);var j=0,k=0;h<0&&(this.canvas.scale(-1,1),j=-h),i<0&&(this.canvas.scale(1,-1),k=-i),this.canvas.drawImage(js_Boot.__cast(a,kha_CanvasImage).image,b,c,d,e,j,k,h,i),this.canvas.restore()}else this.canvas.drawImage(js_Boot.__cast(a,kha_CanvasImage).image,b,c,d,e,f,g,h,i)}catch(a){}this.canvas.globalAlpha=1},set_color:function(a){return this.myColor=a,this.canvas.strokeStyle="rgba("+((16711680&a)>>>16)+","+((65280&a)>>>8)+","+(255&a)+","+.00392156862745098*(a>>>24)+")",this.canvas.fillStyle="rgba("+((16711680&a)>>>16)+","+((65280&a)>>>8)+","+(255&a)+","+.00392156862745098*(a>>>24)+")",a},fillRect:function(a,b,c,d){var e=this.get_opacity();this.canvas.globalAlpha=e*(.00392156862745098*(this.myColor>>>24)),this.canvas.fillRect(a,b,c,d),this.canvas.globalAlpha=this.get_opacity()},drawVideo:function(a,b,c,d,e){this.canvas.drawImage(js_Boot.__cast(a,kha_js_Video).element,b,c,d,e)},__class__:kha_js_CanvasGraphics});var kha_js_EnvironmentVariables=function(){kha_EnvironmentVariables.call(this)};$hxClasses["kha.js.EnvironmentVariables"]=kha_js_EnvironmentVariables,kha_js_EnvironmentVariables.__name__=["kha","js","EnvironmentVariables"],kha_js_EnvironmentVariables.__super__=kha_EnvironmentVariables,kha_js_EnvironmentVariables.prototype=$extend(kha_EnvironmentVariables.prototype,{__class__:kha_js_EnvironmentVariables});var kha_js_Font=function(a){this.images=new haxe_ds_IntMap,this.kravur=a};$hxClasses["kha.js.Font"]=kha_js_Font,kha_js_Font.__name__=["kha","js","Font"],kha_js_Font.__interfaces__=[kha_Font],kha_js_Font.prototype={unload:function(){this.kravur=null,this.images=null},__class__:kha_js_Font};var kha_js_MobileWebAudio=function(){};$hxClasses["kha.js.MobileWebAudio"]=kha_js_MobileWebAudio,kha_js_MobileWebAudio.__name__=["kha","js","MobileWebAudio"],kha_js_MobileWebAudio._init=function(){try{return void(kha_js_MobileWebAudio._context=new AudioContext)}catch(a){}try{return void(this._context=new webkitAudioContext)}catch(a){}},kha_js_MobileWebAudio.play=function(a,b){null==b&&(b=!1);var c=new kha_js_MobileWebAudioChannel(a,b);return c.play(),c},kha_js_MobileWebAudio.stream=function(a,b){return null==b&&(b=!1),kha_js_MobileWebAudio.play(a,b)};var kha_js_MobileWebAudioChannel=function(a,b){this.stopped=!1,this.paused=!1,this.buffer=a._buffer,this.loop=b,this.createSource()};$hxClasses["kha.js.MobileWebAudioChannel"]=kha_js_MobileWebAudioChannel,kha_js_MobileWebAudioChannel.__name__=["kha","js","MobileWebAudioChannel"],kha_js_MobileWebAudioChannel.__interfaces__=[kha_audio1_AudioChannel],kha_js_MobileWebAudioChannel.prototype={createSource:function(){var a=this;this.source=kha_js_MobileWebAudio._context.createBufferSource(),this.source.loop=this.loop,this.source.buffer=this.buffer,this.source.onended=function(){a.stopped=!0},this.gain=kha_js_MobileWebAudio._context.createGain(),this.source.connect(this.gain),this.gain.connect(kha_js_MobileWebAudio._context.destination)},play:function(){(this.paused||this.stopped)&&this.createSource(),this.stopped=!1,this.paused?(this.paused=!1,this.startTime=kha_js_MobileWebAudio._context.currentTime-this.pauseTime,this.source.start(0,this.pauseTime)):(this.startTime=kha_js_MobileWebAudio._context.currentTime,this.source.start())},__class__:kha_js_MobileWebAudioChannel};var kha_js_MobileWebAudioSound=function(a,b){var c=this;kha_Sound.call(this);var d=new XMLHttpRequest;d.open("GET",a,!0),d.responseType="arraybuffer",d.onerror=function(){haxe_Log.trace("Error loading "+a,{fileName:"MobileWebAudioSound.hx",lineNumber:25,className:"kha.js.MobileWebAudioSound",methodName:"new"})},d.onload=function(){c.compressedData=haxe_io_Bytes.ofData(d.response),c.uncompressedData=null,kha_js_MobileWebAudio._context.decodeAudioData(c.compressedData.b.bufferValue,function(a){c._buffer=a,b(c)},function(){throw new js__$Boot_HaxeError("Audio format not supported")})},d.send(null)};$hxClasses["kha.js.MobileWebAudioSound"]=kha_js_MobileWebAudioSound,kha_js_MobileWebAudioSound.__name__=["kha","js","MobileWebAudioSound"],kha_js_MobileWebAudioSound.__super__=kha_Sound,kha_js_MobileWebAudioSound.prototype=$extend(kha_Sound.prototype,{uncompress:function(a){a()},__class__:kha_js_MobileWebAudioSound});var kha_js_Sound=function(a,b){kha_Sound.call(this),this.done=b,kha_js_Sound.loading.push(this),this.element=window.document.createElement("audio"),this.filenames=[];for(var c=0;c<a.length;){var d=a[c];++c,""!=this.element.canPlayType("audio/ogg")&&StringTools.endsWith(d,".ogg")&&this.filenames.push(d),""!=this.element.canPlayType("audio/mp4")&&StringTools.endsWith(d,".mp4")&&this.filenames.push(d)}this.element.addEventListener("error",$bind(this,this.errorListener),!1),this.element.addEventListener("canplay",$bind(this,this.canPlayThroughListener),!1),this.element.src=this.filenames[0],this.element.preload="auto",this.element.load()};$hxClasses["kha.js.Sound"]=kha_js_Sound,kha_js_Sound.__name__=["kha","js","Sound"],kha_js_Sound.__super__=kha_Sound,kha_js_Sound.prototype=$extend(kha_Sound.prototype,{errorListener:function(a){if(4==this.element.error.code)for(var b=0,c=this.filenames.length-1;b<c;){var d=b++;if(this.element.src==this.filenames[d])return void(this.element.src=this.filenames[d+1])}haxe_Log.trace("Error loading "+this.element.src,{fileName:"Sound.hx",lineNumber:108,className:"kha.js.Sound",methodName:"errorListener"}),window.console.log("loadSound failed"),this.finishAsset()},canPlayThroughListener:function(a){this.finishAsset()},finishAsset:function(){this.element.removeEventListener("error",$bind(this,this.errorListener),!1),this.element.removeEventListener("canplaythrough",$bind(this,this.canPlayThroughListener),!1),this.done(this),HxOverrides.remove(kha_js_Sound.loading,this)},uncompress:function(a){a()},__class__:kha_js_Sound});var kha_js_Video=function(a,b){kha_Video.call(this),this.done=b,kha_js_Video.loading.add(this),this.element=window.document.createElement("video"),this.filenames=[];for(var c=0;c<a.length;){var d=a[c];++c,""!=this.element.canPlayType("video/webm")&&StringTools.endsWith(d,".webm")&&this.filenames.push(d),""!=this.element.canPlayType("video/mp4")&&StringTools.endsWith(d,".mp4")&&this.filenames.push(d)}this.element.addEventListener("error",$bind(this,this.errorListener),!1),this.element.addEventListener("canplaythrough",$bind(this,this.canPlayThroughListener),!1),this.element.preload="auto",this.element.src=this.filenames[0]};$hxClasses["kha.js.Video"]=kha_js_Video,kha_js_Video.__name__=["kha","js","Video"],kha_js_Video.__super__=kha_Video,kha_js_Video.prototype=$extend(kha_Video.prototype,{width:function(){return this.element.videoWidth},height:function(){return this.element.videoHeight},play:function(a){null==a&&(a=!1);try{this.element.loop=a,this.element.play()}catch(a){a instanceof js__$Boot_HaxeError&&(a=a.val),haxe_Log.trace(a,{fileName:"Video.hx",lineNumber:55,className:"kha.js.Video",methodName:"play"})}},errorListener:function(a){if(4==this.element.error.code)for(var b=0,c=this.filenames.length-1;b<c;){var d=b++;if(this.element.src==this.filenames[d])return void(this.element.src=this.filenames[d+1])}haxe_Log.trace("Error loading "+this.element.src,{fileName:"Video.hx",lineNumber:102,className:"kha.js.Video",methodName:"errorListener"}),this.finishAsset()},canPlayThroughListener:function(a){this.finishAsset()},finishAsset:function(){this.element.removeEventListener("error",$bind(this,this.errorListener),!1),this.element.removeEventListener("canplaythrough",$bind(this,this.canPlayThroughListener),!1),null!=kha_SystemImpl.gl&&(this.texture=kha_Image.fromVideo(this)),this.done(this),kha_js_Video.loading.remove(this)},__class__:kha_js_Video});var kha_js_WebAudioSound=function(a,b){var c=this;kha_Sound.call(this);var d=new XMLHttpRequest;d.open("GET",a,!0),d.responseType="arraybuffer",d.onerror=function(){haxe_Log.trace("Error loading "+a,{fileName:"WebAudioSound.hx",lineNumber:76,className:"kha.js.WebAudioSound",methodName:"new"})},d.onload=function(){c.compressedData=haxe_io_Bytes.ofData(d.response),c.uncompressedData=null,b(c)},d.send(null)};$hxClasses["kha.js.WebAudioSound"]=kha_js_WebAudioSound,kha_js_WebAudioSound.__name__=["kha","js","WebAudioSound"],kha_js_WebAudioSound.__super__=kha_Sound,kha_js_WebAudioSound.prototype=$extend(kha_Sound.prototype,{superUncompress:function(a){kha_Sound.prototype.uncompress.call(this,a)},uncompress:function(a){var b=this;kha_audio2_Audio._context.decodeAudioData(this.compressedData.b.bufferValue,function(c){var d=2*c.getChannelData(0).length,e=new Array(d);if(b.uncompressedData=e,1==c.numberOfChannels)for(var f=0,g=c.getChannelData(0).length;f<g;){var h=f++;b.uncompressedData[2*h]=c.getChannelData(0)[h],b.uncompressedData[2*h+1]=c.getChannelData(0)[h]}else for(var i=0,j=c.getChannelData(0).length;i<j;){var k=i++;b.uncompressedData[2*k]=c.getChannelData(0)[k],b.uncompressedData[2*k+1]=c.getChannelData(1)[k]}b.compressedData=null,a()},function(){b.superUncompress(a)})},__class__:kha_js_WebAudioSound});var kha_js_graphics4_ConstantLocation=function(a,b){this.value=a,this.type=b};$hxClasses["kha.js.graphics4.ConstantLocation"]=kha_js_graphics4_ConstantLocation,kha_js_graphics4_ConstantLocation.__name__=["kha","js","graphics4","ConstantLocation"],kha_js_graphics4_ConstantLocation.__interfaces__=[kha_graphics4_ConstantLocation],kha_js_graphics4_ConstantLocation.prototype={__class__:kha_js_graphics4_ConstantLocation};var kha_js_graphics4_Graphics=function(a){var b=new Array(9);this.matrix3Cache=b;var c=new Array(16);this.matrixCache=c,this.isDepthAttachment=!1,this.isCubeMap=!1,this.depthMask=!1,this.depthTest=!1,this.renderTarget=a,this.init(),this.instancedExtension=kha_SystemImpl.gl.getExtension("ANGLE_instanced_arrays"),this.blendMinMaxExtension=kha_SystemImpl.gl.getExtension("EXT_blend_minmax")};$hxClasses["kha.js.graphics4.Graphics"]=kha_js_graphics4_Graphics,kha_js_graphics4_Graphics.__name__=["kha","js","graphics4","Graphics"],kha_js_graphics4_Graphics.__interfaces__=[kha_graphics4_Graphics],kha_js_graphics4_Graphics.getBlendFunc=function(a){switch(a[1]){case 0:case 2:return 0;case 1:return 1;case 3:return 770;case 4:return 772;case 5:return 771;case 6:return 773;case 7:return 768;case 8:return 774;case 9:return 769;case 10:return 775}},kha_js_graphics4_Graphics.getBlendOp=function(a){switch(a[1]){case 0:return 32774;case 1:return 32778;case 2:return 32779;case 3:return 32775;case 4:return 32776}},kha_js_graphics4_Graphics.prototype={init:function(){if(null!=this.renderTarget)if(this.isCubeMap=js_Boot.__instanceof(this.renderTarget,kha_graphics4_CubeMap),this.isCubeMap){var a=js_Boot.__cast(this.renderTarget,kha_graphics4_CubeMap);this.renderTargetFrameBuffer=a.frameBuffer,this.renderTargetTexture=a.texture,this.isDepthAttachment=a.isDepthAttachment}else{var b=js_Boot.__cast(this.renderTarget,kha_WebGLImage);this.renderTargetFrameBuffer=b.frameBuffer,this.renderTargetTexture=b.texture}},begin:function(a){if(kha_SystemImpl.gl.enable(3042),kha_SystemImpl.gl.blendFunc(770,771),null==this.renderTarget)kha_SystemImpl.gl.bindFramebuffer(36160,null),kha_SystemImpl.gl.viewport(0,0,kha_System.windowWidth(),kha_System.windowHeight());else if(kha_SystemImpl.gl.bindFramebuffer(36160,this.renderTargetFrameBuffer),kha_SystemImpl.gl.viewport(0,0,this.renderTarget.get_width(),this.renderTarget.get_height()),null!=a){kha_SystemImpl.gl.framebufferTexture2D(36160,kha_SystemImpl.drawBuffers.COLOR_ATTACHMENT0_WEBGL,3553,this.renderTargetTexture,0);for(var b=0,c=a.length;b<c;){var d=b++;kha_SystemImpl.gl.framebufferTexture2D(36160,kha_SystemImpl.drawBuffers.COLOR_ATTACHMENT0_WEBGL+d+1,3553,js_Boot.__cast(a[d],kha_WebGLImage).texture,0)}for(var e=[kha_SystemImpl.drawBuffers.COLOR_ATTACHMENT0_WEBGL],f=0,g=a.length;f<g;){var h=f++;e.push(kha_SystemImpl.drawBuffers.COLOR_ATTACHMENT0_WEBGL+h+1)}kha_SystemImpl.drawBuffers.drawBuffersWEBGL(e)}},beginFace:function(a){kha_SystemImpl.gl.enable(3042),kha_SystemImpl.gl.blendFunc(770,771),kha_SystemImpl.gl.bindFramebuffer(36160,this.renderTargetFrameBuffer),kha_SystemImpl.gl.framebufferTexture2D(36160,this.isDepthAttachment?36096:36064,34069+a,this.renderTargetTexture,0),kha_SystemImpl.gl.viewport(0,0,this.renderTarget.get_width(),this.renderTarget.get_height())},end:function(){},clear:function(a,b,c){var d=0;null!=a&&(d|=16384,kha_SystemImpl.gl.clearColor(.00392156862745098*((16711680&a)>>>16),.00392156862745098*((65280&a)>>>8),.00392156862745098*(255&a),.00392156862745098*(a>>>24))),null!=b&&(d|=256,kha_SystemImpl.gl.enable(2929),kha_SystemImpl.gl.depthMask(!0),kha_SystemImpl.gl.clearDepth(b)),null!=c&&(d|=1024,kha_SystemImpl.gl.enable(2960),kha_SystemImpl.gl.stencilMask(255),kha_SystemImpl.gl.clearStencil(c)),kha_SystemImpl.gl.clear(d),this.depthTest?kha_SystemImpl.gl.enable(2929):kha_SystemImpl.gl.disable(2929),kha_SystemImpl.gl.depthMask(this.depthMask)},viewport:function(a,b,c,d){var e=null==this.renderTarget?kha_System.windowHeight(0):this.renderTarget.get_height();kha_SystemImpl.gl.viewport(a,e-b-d,c,d)},setDepthMode:function(a,b){switch(b[1]){case 0:a?kha_SystemImpl.gl.enable(2929):kha_SystemImpl.gl.disable(2929),this.depthTest=a,kha_SystemImpl.gl.depthFunc(519);break;case 1:kha_SystemImpl.gl.enable(2929),this.depthTest=!0,kha_SystemImpl.gl.depthFunc(512);break;case 2:kha_SystemImpl.gl.enable(2929),this.depthTest=!0,kha_SystemImpl.gl.depthFunc(514);break;case 3:kha_SystemImpl.gl.enable(2929),this.depthTest=!0,kha_SystemImpl.gl.depthFunc(517);break;case 4:kha_SystemImpl.gl.enable(2929),this.depthTest=!0,kha_SystemImpl.gl.depthFunc(513);break;case 5:kha_SystemImpl.gl.enable(2929),this.depthTest=!0,kha_SystemImpl.gl.depthFunc(515);break;case 6:kha_SystemImpl.gl.enable(2929),this.depthTest=!0,kha_SystemImpl.gl.depthFunc(516);break;case 7:kha_SystemImpl.gl.enable(2929),this.depthTest=!0,kha_SystemImpl.gl.depthFunc(518)}kha_SystemImpl.gl.depthMask(a),this.depthMask=a},setBlendingMode:function(a,b,c,d,e,f){a==kha_graphics4_BlendingFactor.BlendOne&&b==kha_graphics4_BlendingFactor.BlendZero?kha_SystemImpl.gl.disable(3042):(kha_SystemImpl.gl.enable(3042),kha_SystemImpl.gl.blendFuncSeparate(kha_js_graphics4_Graphics.getBlendFunc(a),kha_js_graphics4_Graphics.getBlendFunc(b),kha_js_graphics4_Graphics.getBlendFunc(d),kha_js_graphics4_Graphics.getBlendFunc(e)),kha_SystemImpl.gl.blendEquationSeparate(kha_js_graphics4_Graphics.getBlendOp(c),kha_js_graphics4_Graphics.getBlendOp(f)))},setVertexBuffer:function(a){js_Boot.__cast(a,kha_graphics4_VertexBuffer).set(0)},setVertexBuffers:function(a){for(var b=0,c=0;c<a.length;){var d=a[c];++c,b+=js_Boot.__cast(d,kha_graphics4_VertexBuffer).set(b)}},setIndexBuffer:function(a){this.indicesCount=a.count(),js_Boot.__cast(a,kha_graphics4_IndexBuffer).set()},setTexture:function(a,b){null==b?(kha_SystemImpl.gl.activeTexture(33984+js_Boot.__cast(a,kha_js_graphics4_TextureUnit).value),kha_SystemImpl.gl.bindTexture(3553,null)):js_Boot.__cast(b,kha_WebGLImage).set(js_Boot.__cast(a,kha_js_graphics4_TextureUnit).value)},setTextureDepth:function(a,b){js_Boot.__cast(b,kha_WebGLImage).setDepth(js_Boot.__cast(a,kha_js_graphics4_TextureUnit).value)},setTextureParameters:function(a,b,c,d,e,f){switch(kha_SystemImpl.gl.activeTexture(33984+js_Boot.__cast(a,kha_js_graphics4_TextureUnit).value),b[1]){case 0:kha_SystemImpl.gl.texParameteri(3553,10242,10497);break;case 1:kha_SystemImpl.gl.texParameteri(3553,10242,33648);break;case 2:kha_SystemImpl.gl.texParameteri(3553,10242,33071)}switch(c[1]){case 0:kha_SystemImpl.gl.texParameteri(3553,10243,10497);break;case 1:kha_SystemImpl.gl.texParameteri(3553,10243,33648);break;case 2:kha_SystemImpl.gl.texParameteri(3553,10243,33071)}switch(d[1]){case 0:switch(f[1]){case 0:kha_SystemImpl.gl.texParameteri(3553,10241,9728);break;case 1:kha_SystemImpl.gl.texParameteri(3553,10241,9984);break;case 2:kha_SystemImpl.gl.texParameteri(3553,10241,9986)}break;case 1:case 2:switch(f[1]){case 0:kha_SystemImpl.gl.texParameteri(3553,10241,9729);break;case 1:kha_SystemImpl.gl.texParameteri(3553,10241,9985);break;case 2:kha_SystemImpl.gl.texParameteri(3553,10241,9987)}d==kha_graphics4_TextureFilter.AnisotropicFilter&&kha_SystemImpl.gl.texParameteri(3553,kha_SystemImpl.anisotropicFilter.TEXTURE_MAX_ANISOTROPY_EXT,4)}switch(e[1]){case 0:kha_SystemImpl.gl.texParameteri(3553,10240,9728);break;case 1:case 2:kha_SystemImpl.gl.texParameteri(3553,10240,9729)}},setCubeMap:function(a,b){null==b?(kha_SystemImpl.gl.activeTexture(33984+js_Boot.__cast(a,kha_js_graphics4_TextureUnit).value),kha_SystemImpl.gl.bindTexture(34067,null)):b.set(js_Boot.__cast(a,kha_js_graphics4_TextureUnit).value)},setCubeMapDepth:function(a,b){b.setDepth(js_Boot.__cast(a,kha_js_graphics4_TextureUnit).value)},setCullMode:function(a){switch(a[1]){case 0:kha_SystemImpl.gl.enable(2884),kha_SystemImpl.gl.cullFace(1029);break;case 1:kha_SystemImpl.gl.enable(2884),kha_SystemImpl.gl.cullFace(1028);break;case 2:kha_SystemImpl.gl.disable(2884)}},setPipeline:function(a){this.setCullMode(a.cullMode),this.setDepthMode(a.depthWrite,a.depthMode),this.setStencilParameters(a.stencilMode,a.stencilBothPass,a.stencilDepthFail,a.stencilFail,a.stencilReferenceValue,a.stencilReadMask,a.stencilWriteMask),this.setBlendingMode(a.blendSource,a.blendDestination,a.blendOperation,a.alphaBlendSource,a.alphaBlendDestination,a.alphaBlendOperation),a.set()},setBool:function(a,b){kha_SystemImpl.gl.uniform1i(js_Boot.__cast(a,kha_js_graphics4_ConstantLocation).value,b?1:0)},setInt:function(a,b){kha_SystemImpl.gl.uniform1i(js_Boot.__cast(a,kha_js_graphics4_ConstantLocation).value,b)},setFloat:function(a,b){kha_SystemImpl.gl.uniform1f(js_Boot.__cast(a,kha_js_graphics4_ConstantLocation).value,b)},setFloat2:function(a,b,c){kha_SystemImpl.gl.uniform2f(js_Boot.__cast(a,kha_js_graphics4_ConstantLocation).value,b,c)},setFloat3:function(a,b,c,d){kha_SystemImpl.gl.uniform3f(js_Boot.__cast(a,kha_js_graphics4_ConstantLocation).value,b,c,d)},setFloat4:function(a,b,c,d,e){kha_SystemImpl.gl.uniform4f(js_Boot.__cast(a,kha_js_graphics4_ConstantLocation).value,b,c,d,e)},setFloats:function(a,b){var c=js_Boot.__cast(a,kha_js_graphics4_ConstantLocation);switch(c.type){case 35664:kha_SystemImpl.gl.uniform2fv(c.value,b);break;case 35665:kha_SystemImpl.gl.uniform3fv(c.value,b);break;case 35666:kha_SystemImpl.gl.uniform4fv(c.value,b);break;default:kha_SystemImpl.gl.uniform1fv(c.value,b)}},setMatrix:function(a,b){this.matrixCache[0]=b._00,this.matrixCache[1]=b._01,this.matrixCache[2]=b._02,this.matrixCache[3]=b._03,this.matrixCache[4]=b._10,this.matrixCache[5]=b._11,this.matrixCache[6]=b._12,this.matrixCache[7]=b._13,this.matrixCache[8]=b._20,this.matrixCache[9]=b._21,this.matrixCache[10]=b._22,this.matrixCache[11]=b._23,this.matrixCache[12]=b._30,this.matrixCache[13]=b._31,this.matrixCache[14]=b._32,this.matrixCache[15]=b._33,kha_SystemImpl.gl.uniformMatrix4fv(js_Boot.__cast(a,kha_js_graphics4_ConstantLocation).value,!1,this.matrixCache)},setMatrix3:function(a,b){this.matrix3Cache[0]=b._00,this.matrix3Cache[1]=b._01,this.matrix3Cache[2]=b._02,this.matrix3Cache[3]=b._10,this.matrix3Cache[4]=b._11,this.matrix3Cache[5]=b._12,this.matrix3Cache[6]=b._20,this.matrix3Cache[7]=b._21,this.matrix3Cache[8]=b._22,kha_SystemImpl.gl.uniformMatrix3fv(js_Boot.__cast(a,kha_js_graphics4_ConstantLocation).value,!1,this.matrix3Cache)},drawIndexedVertices:function(a,b){null==b&&(b=-1),null==a&&(a=0);var c=null==kha_SystemImpl.elementIndexUint?5123:5125,d=5123==c?2:4;kha_SystemImpl.gl.drawElements(4,-1==b?this.indicesCount:b,c,a*d)},convertStencilAction:function(a){switch(a[1]){case 0:return 7680;case 1:return 0;case 2:return 7681;case 3:return 7682;case 4:return 34055;case 5:return 7683;case 6:return 34056;case 7:return 5386}},setStencilParameters:function(a,b,c,d,e,f,g){if(null==g&&(g=255),null==f&&(f=255),a==kha_graphics4_CompareMode.Always&&b==kha_graphics4_StencilAction.Keep&&c==kha_graphics4_StencilAction.Keep&&d==kha_graphics4_StencilAction.Keep)kha_SystemImpl.gl.disable(2960);else{kha_SystemImpl.gl.enable(2960);var h=0;switch(a[1]){case 0:h=519;break;case 1:h=512;break;case 2:h=514;break;case 3:h=517;break;case 4:h=513;break;case 5:h=515;break;case 6:h=516;break;case 7:h=518}kha_SystemImpl.gl.stencilMask(g),kha_SystemImpl.gl.stencilOp(this.convertStencilAction(d),this.convertStencilAction(c),this.convertStencilAction(b)),kha_SystemImpl.gl.stencilFunc(h,e,f)}},scissor:function(a,b,c,d){kha_SystemImpl.gl.enable(3089),null==this.renderTarget?kha_SystemImpl.gl.scissor(a,kha_System.windowHeight(0)-b-d,c,d):kha_SystemImpl.gl.scissor(a,b,c,d)},disableScissor:function(){kha_SystemImpl.gl.disable(3089)},renderTargetsInvertedY:function(){return!0},drawIndexedVerticesInstanced:function(a,b,c){if(null==c&&(c=-1),null==b&&(b=0),this.instancedRenderingAvailable()){var d=null==kha_SystemImpl.elementIndexUint?5123:5125;this.instancedExtension.drawElementsInstancedANGLE(4,-1==c?this.indicesCount:c,d,2*b,a)}},instancedRenderingAvailable:function(){return this.instancedExtension},__class__:kha_js_graphics4_Graphics};var kha_js_graphics4_Graphics2=function(a){kha_graphics4_Graphics2.call(this,a)};$hxClasses["kha.js.graphics4.Graphics2"]=kha_js_graphics4_Graphics2,kha_js_graphics4_Graphics2.__name__=["kha","js","graphics4","Graphics2"],kha_js_graphics4_Graphics2.__super__=kha_graphics4_Graphics2,kha_js_graphics4_Graphics2.prototype=$extend(kha_graphics4_Graphics2.prototype,{drawVideoInternal:function(a,b,c,d,e){var f=js_Boot.__cast(a,kha_js_Video);this.drawScaledSubImage(f.texture,0,0,f.texture.get_width(),f.texture.get_height(),b,c,d,e)},begin:function(a,b){null==a&&(a=!0),kha_SystemImpl.gl.colorMask(!0,!0,!0,!0),kha_SystemImpl.gl.disable(2929),kha_SystemImpl.gl.depthFunc(519),kha_graphics4_Graphics2.prototype.begin.call(this,a,b)},__class__:kha_js_graphics4_Graphics2});var kha_js_graphics4_TextureUnit=function(a){this.value=a};$hxClasses["kha.js.graphics4.TextureUnit"]=kha_js_graphics4_TextureUnit,kha_js_graphics4_TextureUnit.__name__=["kha","js","graphics4","TextureUnit"],kha_js_graphics4_TextureUnit.__interfaces__=[kha_graphics4_TextureUnit],kha_js_graphics4_TextureUnit.prototype={__class__:kha_js_graphics4_TextureUnit};var kha_vr_VrInterface=function(){};$hxClasses["kha.vr.VrInterface"]=kha_vr_VrInterface,kha_vr_VrInterface.__name__=["kha","vr","VrInterface"],kha_vr_VrInterface.prototype={IsPresenting:function(){return!1},IsVrEnabled:function(){return!1},GetProjectionMatrix:function(a){return null},GetViewMatrix:function(a){return null},onVRRequestPresent:function(){},__class__:kha_vr_VrInterface};var kha_js_vr_VrInterface=function(){this.vrHeight=0,this.vrWidth=0,this.height=0,this.width=0,this.rightViewMatrix=new kha_math_FastMatrix4(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this.leftViewMatrix=new kha_math_FastMatrix4(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this.rightProjectionMatrix=new kha_math_FastMatrix4(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this.leftProjectionMatrix=new kha_math_FastMatrix4(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this.vrEnabled=!1,kha_vr_VrInterface.call(this),navigator.getVRDisplays?(this.vrEnabled=!0,this.getVRDisplays(),haxe_Log.trace("Display enabled.",{fileName:"VrInterface.hx",lineNumber:36,className:"kha.js.vr.VrInterface",methodName:"new"})):(haxe_Log.trace("WebVR is not supported on this browser.",{fileName:"VrInterface.hx",lineNumber:38,className:"kha.js.vr.VrInterface",methodName:"new"}),haxe_Log.trace("To support progressive enhancement your fallback code should render a normal Canvas based WebGL experience for the user.",{fileName:"VrInterface.hx",lineNumber:39,className:"kha.js.vr.VrInterface",methodName:"new"}))};$hxClasses["kha.js.vr.VrInterface"]=kha_js_vr_VrInterface,kha_js_vr_VrInterface.__name__=["kha","js","vr","VrInterface"],kha_js_vr_VrInterface.__super__=kha_vr_VrInterface,kha_js_vr_VrInterface.prototype=$extend(kha_vr_VrInterface.prototype,{getVRDisplays:function(){var a=this;navigator.getVRDisplays().then(function(b){if(b.length>0){a.frameData=new VRFrameData,a.vrDisplay=b[0],a.vrDisplay.depthNear=.1,a.vrDisplay.depthFar=1024;var c=a.vrDisplay.getEyeParameters("left"),d=a.vrDisplay.getEyeParameters("right");a.width=kha_SystemImpl.khanvas.width,a.height=kha_SystemImpl.khanvas.height,a.vrWidth=2*Math.max(c.renderWidth,d.renderWidth)|0,a.vrHeight=0|Math.max(c.renderHeight,d.renderHeight)}else haxe_Log.trace("There are no VR displays connected.",{fileName:"VrInterface.hx",lineNumber:59,className:"kha.js.vr.VrInterface",methodName:"getVRDisplays"})})},onVRRequestPresent:function(){var a=this;try{this.vrDisplay.requestPresent([{source:kha_SystemImpl.khanvas}]).then(function(){a.onResize(),a.vrDisplay.requestAnimationFrame($bind(a,a.onAnimationFrame))})}catch(a){a instanceof js__$Boot_HaxeError&&(a=a.val),haxe_Log.trace("Failed to requestPresent.",{fileName:"VrInterface.hx",lineNumber:71,className:"kha.js.vr.VrInterface",methodName:"onVRRequestPresent"}),haxe_Log.trace(a,{fileName:"VrInterface.hx",lineNumber:72,className:"kha.js.vr.VrInterface",methodName:"onVRRequestPresent"})}},onAnimationFrame:function(a){null!=this.vrDisplay&&this.vrDisplay.isPresenting&&(this.vrDisplay.requestAnimationFrame($bind(this,this.onAnimationFrame)),this.vrDisplay.getFrameData(this.frameData),this.leftProjectionMatrix=this.createMatrixFromArray(this.frameData.leftProjectionMatrix),this.leftViewMatrix=this.createMatrixFromArray(this.frameData.leftViewMatrix),this.rightProjectionMatrix=this.createMatrixFromArray(this.frameData.rightProjectionMatrix),this.rightViewMatrix=this.createMatrixFromArray(this.frameData.rightViewMatrix),this.vrDisplay.submitFrame())},onResize:function(){null!=this.vrDisplay&&this.vrDisplay.isPresenting?(kha_SystemImpl.khanvas.width=this.vrWidth,kha_SystemImpl.khanvas.height=this.vrHeight):(kha_SystemImpl.khanvas.width=this.width,kha_SystemImpl.khanvas.height=this.height)},IsPresenting:function(){return null!=this.vrDisplay&&this.vrDisplay.isPresenting},IsVrEnabled:function(){return this.vrEnabled},GetProjectionMatrix:function(a){return 0==a?this.leftProjectionMatrix:this.rightProjectionMatrix},GetViewMatrix:function(a){return 0==a?this.leftViewMatrix:this.rightViewMatrix},createMatrixFromArray:function(a){var b=new kha_math_FastMatrix4(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);return b._00=a[0],b._01=a[1],b._02=a[2],b._03=a[3],b._10=a[4],b._11=a[5],b._12=a[6],b._13=a[7],b._20=a[8],b._21=a[9],b._22=a[10],b._23=a[11],b._30=a[12],b._31=a[13],b._32=a[14],b._33=a[15],b},__class__:kha_js_vr_VrInterface});var kha_math_FastVector3=function(a,b,c){null==c&&(c=0),null==b&&(b=0),null==a&&(a=0),this.x=a,this.y=b,this.z=c};$hxClasses["kha.math.FastVector3"]=kha_math_FastVector3,kha_math_FastVector3.__name__=["kha","math","FastVector3"],kha_math_FastVector3.prototype={__class__:kha_math_FastVector3};var kha_math_FastVector4=function(a,b,c,d){null==d&&(d=1),null==c&&(c=0),null==b&&(b=0),null==a&&(a=0),this.x=a,this.y=b,this.z=c,this.w=d};$hxClasses["kha.math.FastVector4"]=kha_math_FastVector4,kha_math_FastVector4.__name__=["kha","math","FastVector4"],kha_math_FastVector4.prototype={__class__:kha_math_FastVector4};var kha_network_ControllerBuilder=function(){};$hxClasses["kha.network.ControllerBuilder"]=kha_network_ControllerBuilder,kha_network_ControllerBuilder.__name__=["kha","network","ControllerBuilder"];var kha_network_Session=function(){this.controllers=new haxe_ds_IntMap};$hxClasses["kha.network.Session"]=kha_network_Session,kha_network_Session.__name__=["kha","network","Session"],kha_network_Session.the=function(){return kha_network_Session.instance},kha_network_Session.prototype={sendControllerUpdate:function(a,b){if(this.controllers.h.hasOwnProperty(a)){if(this.controllers.h[a]._inputBuffer.length<this.controllers.h[a]._inputBufferIndex+4+b.length){var c=new haxe_io_Bytes(new ArrayBuffer(this.controllers.h[a]._inputBufferIndex+4+b.length));c.blit(0,this.controllers.h[a]._inputBuffer,0,this.controllers.h[a]._inputBufferIndex),this.controllers.h[a]._inputBuffer=c}this.controllers.h[a]._inputBuffer.setInt32(this.controllers.h[a]._inputBufferIndex,b.length),this.controllers.h[a]._inputBuffer.blit(this.controllers.h[a]._inputBufferIndex+4,b,0,b.length),this.controllers.h[a]._inputBufferIndex+=4+b.length}},__class__:kha_network_Session};var $_,$fid=0;$hxClasses.Math=Math,String.prototype.__class__=$hxClasses.String=String,String.__name__=["String"],$hxClasses.Array=Array,Array.__name__=["Array"],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;armory_data_ConstData.ltc_mat=[2e-4,-0,1,-0,504e-6,-0,1,-0,.002016,-0,1,-0,.004535,-0,1,-0,.008063,-0,1,-0,.012598,-0,1,-0,.018141,-0,1,-0,.024692,-0,1,-0,.032252,-0,1,-0,.040821,-0,1,-0,.0504,-0,1,-0,.060989,-0,1,-0,.072591,-0,1,-0,.085206,-0,1,-0,.098836,-0,1,-0,.113483,-0,1,-0,.129147,-0,1,-0,.145828,-0,1,-0,.163499,-0,1,-0,.181972,-0,1,-0,.199498,-0,1,-0,.220031,-0,1,-0,.241588,-0,1,-0,.26412,-0,1,-0,.287521,-0,1,-0,.311478,-0,1,-0,.335127,-0,1,-0,.359811,-0,1,-0,.386446,-0,1,-0,.413161,-0,1,-0,.439142,-0,1,-0,.467039,-0,1,-0,.49517,-0,1,-0,.522324,-0,1,-0,.551482,-0,1,-0,.579621,-0,1,-0,.608255,-0,1,-0,.636515,-0,1,-0,.664835,-0,1,-0,.692549,-0,1,-0,.720375,-0,1,-0,.747238,-0,1,-0,.773956,-0,1,-0,.799879,-0,1,-0,.824889,-0,1,-0,.849357,-0,1,-0,.873016,-0,1,-0,.89567,-0,1,-0,.917194,-0,1,-0,.937978,-0,1,-0,.957872,-0,1,-0,.976736,-0,1,-0,.994433,-0,1,-0,1.011206,-0,1,-0,1.02682,-0,1,-0,1.04172,-0,1,-0,1.055657,-0,1,-0,1.068642,-0,1,-0,1.080646,-0,1,-0,1.091637,-0,1,-0,1.101837,-0,1,-0,1.111292,-0,1,-0,1.120025,-0,1,-0,1.127918,-0,1,-0,2e-4,-5e-6,1.000623,.024938,504e-6,-13e-6,1.000643,.024938,.002016,-5e-5,1.000618,.024938,.004535,-113e-6,1.000621,.024938,.008063,-201e-6,1.000746,.024938,.012596,-314e-6,1.000463,.024937,.01814,-452e-6,1.000511,.024939,.024693,-616e-6,1.000541,.024938,.032253,-804e-6,1.000684,.024938,.040815,-.001018,1.000524,.02494,.050399,-.001257,1.000582,.024937,.060989,-.001521,1.000655,.024937,.072591,-.00181,1.000608,.024938,.085204,-.002125,1.000622,.024939,.098835,-.002465,1.000632,.024937,.113483,-.00283,1.00064,.024939,.129143,-.00322,1.000568,.024938,.14583,-.003633,1.000635,.024938,.163497,-.004062,1.000626,.024938,.181956,-.004424,1.000612,.024924,.199791,-.004593,1.000627,.02489,.220029,-.00548,1.000594,.024935,.241586,-.00601,1.000616,.024933,.264115,-.00655,1.000607,.024927,.287514,-.007072,1.000595,.024909,.311455,-.007472,1.000616,.024872,.335083,-.007491,1.000589,.024755,.359805,-.00881,1.000601,.024877,.386438,-.009282,1.00064,.024824,.413131,-.009534,1.000599,.024708,.439249,-.009701,1.000497,.024573,.466997,-.010878,1.000467,.024652,.495138,-.010959,1.000539,.024455,.522654,-.011386,1.000518,.024318,.551415,-.012022,1.000533,.024216,.57961,-.011805,1.000495,.023867,.608185,-.012773,1.000474,.023834,.636492,-.012377,1.000488,.023327,.664826,-.013172,1.000576,.023205,.692674,-.012847,1.000505,.022708,.720341,-.013141,1.000424,.022349,.747373,-.013227,1.000449,.021871,.77398,-.012739,1.000478,.021171,.799839,-.012999,1.000396,.020606,.825113,-.012727,1.000425,.020006,.849579,-.01217,1.000469,.019089,.873046,-.011855,1.000411,.018291,.895777,-.011711,1.000426,.017534,.917518,-.011107,1.000373,.016542,.938264,-.010439,1.000322,.015512,.958032,-.009807,1.000324,.014491,.976838,-.009268,1.000341,.013468,.994631,-.008662,1.000318,.012376,1.011434,-.007923,1.000289,.011187,1.027169,-.007132,1.000216,.010078,1.041929,-.006332,1.000096,.008924,1.055767,-.005554,1.000156,.00777,1.068595,-.004811,1.000084,.006611,1.080612,-.00395,1.000047,.005485,1.091785,-.003174,1.000109,.004352,1.101998,-.002363,1.000029,.00318,1.111423,-.001552,.999985,.002091,1.120007,-786e-6,.999947,991e-6,1.127918,4e-6,1,-4e-6,2e-4,-1e-5,1.002495,.049907,504e-6,-25e-6,1.002476,.049908,.002016,-101e-6,1.0025,.049908,.004535,-226e-6,1.002487,.049908,.008062,-402e-6,1.002364,.049908,.012598,-629e-6,1.002412,.049908,.01814,-905e-6,1.002379,.049908,.024691,-.001232,1.00249,.049907,.032251,-.00161,1.002398,.049908,.040821,-.002037,1.002392,.049908,.050398,-.002515,1.002431,.049907,.060989,-.003044,1.002475,.049908,.072592,-.003623,1.002546,.049907,.085204,-.004252,1.002467,.049907,.098832,-.004932,1.00245,.049908,.113481,-.005663,1.002482,.049907,.129145,-.006443,1.002443,.049907,.145825,-.007271,1.002495,.049906,.163491,-.008128,1.002475,.049903,.181911,-.008826,1.002459,.049879,.200065,-.009285,1.002443,.049824,.220025,-.010966,1.00245,.049897,.241581,-.012025,1.002463,.049893,.264099,-.013105,1.002395,.049881,.287493,-.014145,1.00239,.049855,.311399,-.014925,1.002414,.049769,.335096,-.015239,1.002363,.049591,.359815,-.017559,1.002415,.049777,.386365,-.018554,1.002354,.049675,.413017,-.019043,1.002297,.049444,.439519,-.019815,1.002284,.049253,.466938,-.021741,1.002307,.049327,.494999,-.021887,1.002181,.048922,.522922,-.022844,1.002107,.048677,.55127,-.024014,1.002101,.048478,.579771,-.024156,1.00206,.047904,.608156,-.025317,1.002077,.047594,.636662,-.025321,1.001975,.046876,.664846,-.026018,1.001992,.046354,.692877,-.026041,1.001846,.045504,.720316,-.026252,1.001846,.044655,.747658,-.026159,1.001931,.04367,.774252,-.026086,1.001845,.042515,.800179,-.025653,1.001794,.041211,.825525,-.02517,1.001787,.039823,.850013,-.024788,1.001806,.038409,.873593,-.023992,1.001688,.036767,.896343,-.022985,1.001666,.0349,.918062,-.022005,1.001548,.03301,.938928,-.02111,1.001503,.031143,.958667,-.019893,1.001341,.029059,.977457,-.018546,1.001194,.026888,.995243,-.017152,1.001095,.024713,1.012023,-.01575,1.0011,.022496,1.027614,-.014289,1.000851,.020153,1.042389,-.012688,1.000724,.017839,1.056161,-.011118,1.000572,.015529,1.068968,-.00954,1.000407,.01324,1.080866,-.007963,1.000258,.01094,1.091944,-.006416,1.000254,.008716,1.102104,-.004771,1.000175,.006434,1.111571,-.003056,1.000148,.004169,1.120084,-.001458,1.00005,.002033,1.127981,21e-6,.999987,-27e-6,2e-4,-15e-6,1.00562,.07494,504e-6,-38e-6,1.00565,.074939,.002016,-151e-6,1.005613,.074939,.004535,-34e-5,1.005618,.074939,.008062,-604e-6,1.005614,.074939,.012597,-944e-6,1.005616,.07494,.018141,-.001359,1.005558,.074939,.024695,-.001851,1.005495,.07494,.032253,-.002417,1.005616,.074939,.040822,-.003059,1.005591,.07494,.050399,-.003777,1.005596,.07494,.060989,-.00457,1.005599,.074939,.072591,-.00544,1.005616,.07494,.085203,-.006385,1.005616,.074939,.098833,-.007406,1.005595,.074938,.113481,-.008502,1.005605,.074938,.129147,-.009674,1.005605,.074937,.145817,-.010916,1.005513,.074937,.163485,-.012199,1.005579,.074928,.181824,-.013172,1.005552,.074885,.200274,-.0141,1.005524,.074825,.220017,-.016464,1.005529,.074928,.241568,-.018052,1.00549,.074914,.264084,-.019671,1.005457,.074898,.28745,-.021217,1.005431,.07486,.311281,-.022341,1.005395,.074717,.335228,-.023296,1.00532,.074526,.360047,-.025965,1.005302,.074649,.386273,-.027808,1.005285,.074575,.412855,-.028504,1.005167,.074237,.439705,-.030007,1.005129,.074013,.466975,-.032263,1.005082,.073967,.494874,-.032931,1.00496,.073475,.523066,-.034348,1.004834,.073084,.551198,-.035739,1.004806,.072657,.579889,-.036575,1.004687,.072029,.608282,-.037434,1.004605,.071309,.636812,-.038323,1.004589,.070507,.66501,-.038676,1.004403,.069424,.693063,-.039237,1.00434,.06837,.72075,-.039332,1.004224,.066988,.747911,-.039179,1.004117,.065447,.774576,-.03911,1.004035,.063838,.800737,-.038542,1.004027,.061923,.825966,-.037966,1.003825,.059859,.850534,-.036943,1.003786,.057529,.874289,-.035853,1.00356,.055081,.897152,-.03473,1.003549,.052476,.919029,-.033242,1.003454,.049647,.939851,-.031508,1.003215,.04667,.959599,-.029695,1.002916,.043588,.978293,-.027845,1.00272,.040401,.996085,-.025775,1.002445,.03706,1.012768,-.023607,1.002133,.033726,1.028404,-.021374,1.001822,.030217,1.04315,-.019108,1.001602,.02682,1.05676,-.016823,1.001274,.023372,1.069471,-.014378,1.000964,.019891,1.081283,-.011884,1.000684,.016405,1.092238,-.009398,1.000514,.01295,1.102384,-.00703,1.000319,.009579,1.111737,-.004751,1.000225,.006384,1.120274,-.002404,1.000046,.003192,1.128182,31e-6,1.00002,33e-6,2e-4,-2e-5,1.010006,.100065,504e-6,-5e-5,1.009927,.100065,.002016,-202e-6,1.010026,.100064,.004535,-454e-6,1.010018,.100065,.008062,-807e-6,1.009891,.100064,.012599,-.001261,1.010175,.100064,.018141,-.001815,1.010067,.100065,.024692,-.002471,1.010014,.100066,.032251,-.003227,1.00995,.100065,.040818,-.004084,1.009963,.100067,.050401,-.005043,1.010032,.100064,.060988,-.006102,1.009979,.100064,.072588,-.007263,1.009984,.100063,.085205,-.008525,1.010023,.100063,.098832,-.009888,1.00996,.100062,.113479,-.011352,1.009974,.100063,.129142,-.012916,1.009945,.100062,.145817,-.014573,1.009924,.100058,.163468,-.016276,1.009912,.10005,.181674,-.017411,1.009859,.099975,.200435,-.019002,1.009842,.099932,.220005,-.021978,1.00982,.100043,.24155,-.024096,1.009778,.100031,.264058,-.02625,1.009765,.100002,.287399,-.028286,1.009724,.099939,.311134,-.029698,1.009596,.099748,.33535,-.031442,1.009508,.099582,.360295,-.034401,1.009475,.099613,.386112,-.03703,1.009329,.099558,.412733,-.038163,1.00925,.099137,.439833,-.04025,1.009125,.098866,.467099,-.042583,1.009011,.098626,.494828,-.044299,1.008803,.098149,.523217,-.045876,1.008712,.0976,.551338,-.04744,1.008509,.096929,.579917,-.048995,1.008371,.096178,.608454,-.049901,1.008212,.095145,.636785,-.051224,1.007963,.094151,.66522,-.051675,1.007741,.092728,.693194,-.052278,1.007616,.091195,.721008,-.052406,1.007327,.089384,.748196,-.052529,1.007219,.087461,.774975,-.05195,1.006851,.085133,.801129,-.051456,1.006732,.082628,.826668,-.050569,1.006612,.079817,.851291,-.049328,1.006374,.07671,.875056,-.047988,1.006183,.073481,.897872,-.046149,1.005742,.069943,.919803,-.044144,1.005514,.066151,.940701,-.042095,1.005153,.062247,.96058,-.03973,1.004843,.058158,.979427,-.037104,1.004535,.05385,.997157,-.034369,1.004023,.049403,1.013777,-.031555,1.003622,.044944,1.029452,-.028571,1.003212,.040414,1.044029,-.025416,1.002698,.035723,1.057586,-.022217,1.002202,.031072,1.070148,-.019037,1.001703,.026429,1.081875,-.015936,1.001322,.021896,1.092789,-.012734,1.001053,.017288,1.102704,-.009454,1.000604,.012841,1.112011,-.006199,1.000387,.008446,1.12059,-.00301,1.000166,.004122,1.128283,27e-6,.999956,-38e-6,2e-4,-25e-6,1.015664,.125315,504e-6,-63e-6,1.015664,.125316,.002016,-253e-6,1.015727,.125315,.004535,-568e-6,1.015695,.125314,.008063,-.00101,1.015823,.125316,.012599,-.001579,1.015867,.125315,.018141,-.002273,1.015758,.125316,.024691,-.003094,1.015662,.125316,.032252,-.004042,1.015674,.125316,.04082,-.005115,1.015678,.125316,.0504,-.006316,1.015684,.125315,.060989,-.007642,1.015685,.125315,.07259,-.009096,1.015703,.125314,.085203,-.010676,1.015654,.125314,.098833,-.012383,1.01567,.125315,.113477,-.014215,1.015635,.125312,.129138,-.016173,1.015599,.125311,.145815,-.018246,1.01561,.125306,.16345,-.02036,1.015564,.125294,.181595,-.021807,1.01546,.125204,.200563,-.023971,1.01544,.125165,.220186,-.02728,1.015412,.12525,.241528,-.030164,1.015342,.125267,.26402,-.032847,1.015269,.125233,.287311,-.035345,1.015232,.125138,.310993,-.037108,1.015063,.124903,.335467,-.039653,1.01497,.124749,.360497,-.042914,1.014819,.124702,.385986,-.046142,1.014685,.124623,.412703,-.04805,1.014543,.124193,.439929,-.050527,1.014315,.123833,.467163,-.05288,1.014087,.123375,.494824,-.055672,1.013898,.122982,.523222,-.057388,1.013647,.122166,.551557,-.059328,1.013403,.121343,.579884,-.061315,1.013059,.12043,.608619,-.062531,1.012745,.11914,.637014,-.063778,1.012425,.117721,.665425,-.064734,1.012067,.116069,.69358,-.065315,1.011712,.114146,.721194,-.065535,1.0112,.111846,.748586,-.065501,1.010896,.109309,.775437,-.065091,1.010576,.106504,.801554,-.064332,1.010136,.103308,.827079,-.063078,1.009629,.099695,.851693,-.061728,1.009233,.095946,.875586,-.059853,1.008726,.091802,.898589,-.057727,1.008412,.087339,.920421,-.055377,1.007767,.082687,.941533,-.052571,1.007529,.077716,.961426,-.049544,1.006929,.072574,.980287,-.0464,1.006393,.067217,.99808,-.042966,1.005872,.061757,1.01494,-.039321,1.005346,.056072,1.030455,-.035585,1.004609,.05041,1.045078,-.031823,1.004151,.044622,1.058555,-.027947,1.003421,.038893,1.071009,-.023891,1.002704,.032977,1.082594,-.019822,1.002023,.02729,1.093265,-.015765,1.001403,.021543,1.103132,-.01179,1.000944,.016072,1.112348,-.007784,1.00055,.010511,1.120845,-.003849,1.000224,.005174,1.128573,57e-6,.999975,-39e-6,2e-4,-3e-5,1.022609,.150725,504e-6,-76e-6,1.022728,.150725,.002016,-304e-6,1.022728,.150725,.004535,-684e-6,1.022733,.150725,.008062,-.001215,1.022715,.150725,.012598,-.001899,1.02272,.150725,.018141,-.002734,1.022659,.150725,.024694,-.003722,1.022801,.150724,.032254,-.004861,1.022779,.150726,.040815,-.006152,1.022693,.150724,.0504,-.007596,1.022716,.150725,.06099,-.009192,1.022733,.150725,.072587,-.010939,1.02263,.150723,.085203,-.012839,1.022676,.150725,.098828,-.014891,1.022659,.150725,.113473,-.017095,1.022589,.15072,.129137,-.019449,1.022572,.150716,.145803,-.021938,1.022508,.150712,.163417,-.024443,1.022471,.150691,.18158,-.026329,1.022406,.1506,.200667,-.028997,1.022336,.150553,.220429,-.032584,1.022296,.15061,.241497,-.03626,1.022202,.150658,.263975,-.039465,1.022119,.150619,.28721,-.042385,1.021988,.15049,.310935,-.044758,1.021771,.150241,.335556,-.047922,1.021658,.150076,.360667,-.051493,1.021437,.149931,.386028,-.054931,1.021228,.149754,.412665,-.058007,1.021023,.1494,.439951,-.060813,1.020723,.148913,.467262,-.063461,1.020332,.148319,.494972,-.066738,1.020097,.147798,.523153,-.068976,1.01963,.146903,.5517,-.071268,1.019245,.145863,.580046,-.073439,1.018797,.144695,.608649,-.075193,1.018201,.143237,.637239,-.076536,1.017746,.141463,.665388,-.077771,1.017111,.139462,.693755,-.078344,1.016609,.137082,.721345,-.078817,1.015863,.134403,.748879,-.078512,1.01539,.131252,.77556,-.078128,1.014652,.127866,.801897,-.077094,1.013877,.123928,.827193,-.075863,1.013021,.119733,.85199,-.073973,1.012395,.115055,.875823,-.071765,1.011595,.110098,.898655,-.069241,1.010862,.104722,.920915,-.066232,1.010185,.098991,.941969,-.06298,1.009588,.093044,.961882,-.059507,1.008777,.086925,.980952,-.055606,1.008252,.08052,.998955,-.051503,1.007633,.07389,1.015756,-.047292,1.006908,.067302,1.031571,-.042804,1.006338,.060412,1.046095,-.038132,1.005512,.053497,1.059542,-.03338,1.004592,.046569,1.072006,-.028613,1.003731,.039679,1.083348,-.023811,1.002871,.032772,1.093969,-.01893,1.002068,.025894,1.103697,-.014098,1.001284,.019178,1.112813,-.009339,1.00082,.012652,1.121193,-.004661,1.000324,.006226,1.12893,52e-6,.999988,-8e-6,2e-4,-35e-6,1.030857,.176327,504e-6,-89e-6,1.031137,.176326,.002016,-355e-6,1.031049,.176325,.004535,-8e-4,1.031105,.176326,.008062,-.001422,1.030973,.176326,.012598,-.002221,1.031168,.176326,.018141,-.003199,1.031093,.176326,.024695,-.004354,1.031297,.176326,.032253,-.005687,1.031091,.176327,.040821,-.007197,1.031012,.176326,.050399,-.008886,1.031068,.176325,.060987,-.010752,1.030967,.176323,.072588,-.012797,1.031028,.176324,.0852,-.015019,1.030985,.176322,.098829,-.017419,1.030983,.17632,.113474,-.019997,1.030953,.176317,.129133,-.022748,1.030891,.176312,.1458,-.025655,1.030825,.176306,.163372,-.02851,1.030781,.176279,.181578,-.030914,1.030683,.176187,.200761,-.034076,1.030574,.176139,.220645,-.037985,1.030476,.17616,.241473,-.042391,1.030384,.176238,.263922,-.046105,1.030241,.176175,.287074,-.04939,1.030049,.176013,.310915,-.052511,1.029839,.175776,.335604,-.056236,1.029608,.175578,.360775,-.060118,1.029355,.175359,.386196,-.063907,1.029052,.175083,.412599,-.067997,1.028766,.174791,.439916,-.071088,1.028326,.174174,.467444,-.074247,1.02789,.173487,.495132,-.077728,1.027374,.172774,.523117,-.080822,1.026763,.171824,.551783,-.083228,1.026205,.170554,.580234,-.085682,1.025614,.16909,.608568,-.08786,1.024668,.167468,.637357,-.089346,1.023939,.165283,.665507,-.090704,1.022946,.162966,.693704,-.091388,1.02201,.160131,.721396,-.091783,1.021085,.156957,.748676,-.091688,1.019894,.153292,.77537,-.090992,1.018608,.149158,.801547,-.089881,1.017646,.144551,.827013,-.088267,1.016355,.139614,.851708,-.086132,1.015446,.134026,.875652,-.083707,1.014321,.128101,.898703,-.080619,1.013454,.121841,.920904,-.07728,1.012634,.115379,.942077,-.073484,1.01177,.108355,.962245,-.069252,1.010894,.101153,.981385,-.064807,1.010114,.093666,.999379,-.06008,1.009294,.086007,1.016494,-.055007,1.008591,.078194,1.032357,-.04976,1.007821,.070328,1.047061,-.044468,1.006871,.062358,1.060675,-.03896,1.006062,.054279,1.073032,-.033343,1.004911,.046158,1.084293,-.027699,1.003791,.038111,1.094724,-.02213,1.002744,.030239,1.104302,-.016508,1.001815,.022397,1.11329,-.010846,1.001083,.014747,1.121649,-.005294,1.00049,.007234,1.12923,71e-6,.999975,-53e-6,2e-4,-4e-5,1.040431,.202155,504e-6,-102e-6,1.040912,.202154,.002016,-407e-6,1.041328,.202152,.004535,-917e-6,1.040877,.202154,.008063,-.00163,1.040867,.202153,.012598,-.002547,1.04087,.202153,.01814,-.003667,1.040808,.202153,.024692,-.004991,1.040861,.202153,.032252,-.006519,1.040861,.202153,.040822,-.008252,1.040864,.202153,.050397,-.010187,1.040717,.202151,.060988,-.012327,1.040791,.202152,.072582,-.014669,1.04064,.202149,.085198,-.017217,1.040716,.202147,.098827,-.019968,1.040748,.202141,.113467,-.022921,1.040632,.202142,.129129,-.026074,1.040606,.202137,.145793,-.029399,1.040566,.202127,.163294,-.032524,1.040459,.202078,.181589,-.035552,1.040315,.201996,.200844,-.039208,1.040221,.201948,.220835,-.043489,1.040047,.201945,.241471,-.048523,1.039921,.202031,.263854,-.052764,1.039756,.201957,.286935,-.056387,1.039497,.201743,.310902,-.060338,1.039252,.201531,.335642,-.064594,1.038954,.201286,.360859,-.068772,1.038582,.200983,.386419,-.073086,1.03816,.200651,.412588,-.077887,1.037724,.200343,.439836,-.081391,1.037182,.199618,.467538,-.085121,1.036602,.198839,.495286,-.088718,1.035893,.197895,.523231,-.092514,1.035121,.196887,.55173,-.095238,1.034127,.19539,.580302,-.097949,1.033131,.193668,.608559,-.100418,1.031962,.191773,.637224,-.102129,1.030838,.189319,.665597,-.103578,1.029511,.186529,.693535,-.104652,1.028263,.183303,.721325,-.104766,1.026611,.179497,.748384,-.104717,1.025128,.175283,.775058,-.103846,1.023385,.170493,.801387,-.102728,1.022236,.165187,.826412,-.100679,1.019908,.159362,.851314,-.098451,1.018839,.153059,.8751,-.095363,1.017306,.146284,.89828,-.092008,1.016151,.138975,.92045,-.088095,1.01488,.131361,.941727,-.08369,1.013556,.123417,.962308,-.079077,1.012998,.115201,.981364,-.073894,1.011841,.106711,.999798,-.068435,1.011021,.098063,1.016983,-.06283,1.010194,.089183,1.033039,-.056914,1.009292,.08019,1.047994,-.050721,1.008474,.07101,1.06158,-.044454,1.007386,.061867,1.074023,-.038145,1.006135,.052711,1.08547,-.031679,1.00489,.043595,1.095673,-.025157,1.003627,.034506,1.105,-.018702,1.002331,.025468,1.113795,-.012458,1.001278,.016834,1.122012,-.006169,1.000548,.008265,1.129683,78e-6,.999988,-72e-6,2e-4,-46e-6,1.052496,.228243,504e-6,-115e-6,1.052079,.228243,.002016,-46e-5,1.052079,.228241,.004535,-.001035,1.052091,.228242,.008062,-.00184,1.051962,.228242,.012598,-.002875,1.052087,.228242,.018141,-.00414,1.052088,.228242,.024692,-.005636,1.052096,.228239,.032251,-.007361,1.052029,.228243,.04082,-.009316,1.052038,.228241,.050399,-.011501,1.052042,.228239,.06099,-.013917,1.052046,.228238,.072586,-.016562,1.05199,.228236,.085198,-.019437,1.051946,.228234,.098824,-.022542,1.051879,.228229,.113467,-.025875,1.051841,.228227,.129121,-.02943,1.051724,.228219,.14578,-.03317,1.051672,.228205,.163222,-.036567,1.051556,.228143,.181604,-.040245,1.051382,.228069,.200913,-.044395,1.05123,.22801,.221005,-.049088,1.051062,.227988,.241667,-.054506,1.050881,.228044,.263777,-.059437,1.050643,.227986,.286841,-.06359,1.050312,.227755,.310879,-.068224,1.050009,.227525,.33565,-.072986,1.049597,.227253,.360869,-.077435,1.049121,.226845,.386609,-.082385,1.048587,.226466,.412742,-.08757,1.047987,.226059,.439789,-.091929,1.047308,.225331,.467558,-.096038,1.046423,.224409,.495406,-.099938,1.045481,.223288,.523417,-.10405,1.044512,.222066,.551755,-.107503,1.043408,.220487,.580468,-.110234,1.042016,.218451,.608904,-.112993,1.040535,.2162,.63723,-.115173,1.038934,.213458,.665566,-.116433,1.036961,.210158,.693413,-.117589,1.03513,.206457,.721025,-.117885,1.03308,.202197,.748054,-.117606,1.030752,.197296,.774631,-.116771,1.028608,.191813,.800677,-.115194,1.02635,.185691,.826062,-.113138,1.024472,.179053,.85059,-.110359,1.022174,.171839,.87455,-.107072,1.020381,.164067,.897567,-.103268,1.018777,.155959,.919609,-.098794,1.016886,.14732,.941177,-.094067,1.01588,.138365,.961752,-.08867,1.014616,.129051,.981518,-.082965,1.013807,.119515,.99988,-.076971,1.012793,.109897,1.01737,-.070518,1.011894,.099872,1.033661,-.06383,1.010943,.089883,1.048672,-.05704,1.009802,.079691,1.062479,-.049917,1.00867,.069458,1.075052,-.042735,1.007429,.059191,1.086371,-.035513,1.005991,.048894,1.096623,-.028359,1.004468,.03877,1.105871,-.021111,1.002927,.028745,1.114481,-.013908,1.001728,.018884,1.12261,-.006843,1.00074,.009264,1.130165,62e-6,.999983,-6e-6,2e-4,-51e-6,1.064931,.25463,504e-6,-128e-6,1.064668,.25463,.002016,-513e-6,1.064794,.25463,.004535,-.001155,1.064851,.25463,.008063,-.002053,1.064966,.25463,.012598,-.003208,1.06484,.25463,.01814,-.004619,1.064602,.254631,.024695,-.006288,1.064965,.254632,.032251,-.008211,1.064795,.25463,.040821,-.010393,1.064802,.254628,.050398,-.01283,1.064758,.254627,.060987,-.015525,1.064731,.254625,.072584,-.018474,1.064615,.254621,.085199,-.021682,1.064672,.254619,.098826,-.025144,1.06463,.254613,.113465,-.02886,1.064515,.254606,.129119,-.032823,1.064416,.254598,.145767,-.036969,1.064347,.254579,.16319,-.040754,1.064132,.254506,.181622,-.044989,1.063951,.254437,.200981,-.049642,1.063745,.25437,.221145,-.054776,1.063547,.254324,.241896,-.060538,1.063289,.254346,.263684,-.066113,1.063013,.254296,.286796,-.070925,1.062625,.254059,.310867,-.076187,1.062216,.253817,.335644,-.081406,1.061703,.253481,.360917,-.086336,1.061066,.253005,.386786,-.09179,1.060454,.252558,.412921,-.09723,1.059568,.252008,.439722,-.102574,1.058706,.251323,.467559,-.106972,1.057682,.250239,.495605,-.111329,1.056612,.248944,.523589,-.115561,1.055101,.247471,.551787,-.119732,1.053745,.245777,.580426,-.122711,1.051829,.243448,.608778,-.125436,1.049642,.240769,.637069,-.127993,1.047749,.237739,.665251,-.129448,1.045244,.233928,.692977,-.130408,1.042279,.22964,.720346,-.130931,1.039693,.224829,.747365,-.130392,1.036675,.219144,.773734,-.12954,1.033719,.212965,.799578,-.127689,1.030774,.206047,.825002,-.125456,1.028551,.198576,.849564,-.122291,1.0258,.190471,.873412,-.11872,1.023657,.181739,.896628,-.114323,1.021381,.172586,.918952,-.109587,1.019674,.162914,.940602,-.104093,1.018126,.153039,.960917,-.098187,1.016339,.142774,.980911,-.091963,1.01544,.132316,.999686,-.085159,1.014377,.121453,1.017538,-.078139,1.013498,.110527,1.033918,-.070797,1.012332,.099437,1.04939,-.063129,1.011368,.088157,1.063402,-.055354,1.010111,.076951,1.076096,-.047522,1.008774,.065616,1.087562,-.039447,1.007202,.05431,1.097591,-.031359,1.005346,.042948,1.106782,-.023393,1.00371,.031799,1.115234,-.015461,1.002116,.020943,1.123166,-.007589,1.000858,.010288,1.130796,104e-6,1.000032,-24e-6,2e-4,-56e-6,1.07878,.281356,504e-6,-142e-6,1.079271,.281355,.002015,-567e-6,1.078635,.281355,.004535,-.001276,1.079164,.281356,.008064,-.002269,1.0793,.281355,.012598,-.003544,1.079149,.281355,.018143,-.005104,1.079329,.281355,.024691,-.006947,1.079073,.281353,.032254,-.009074,1.079253,.281354,.040822,-.011484,1.079176,.281353,.050399,-.014177,1.079057,.281349,.060987,-.017153,1.079007,.281347,.072586,-.020412,1.078998,.281343,.085203,-.023956,1.078962,.281336,.098823,-.027778,1.078839,.281332,.113464,-.031882,1.078783,.281325,.129114,-.036255,1.078633,.281315,.145748,-.04079,1.078545,.281287,.163179,-.045024,1.078311,.281208,.181649,-.049791,1.078135,.281137,.201042,-.054953,1.077845,.281063,.221267,-.060551,1.077576,.281006,.242114,-.066663,1.077257,.280978,.263568,-.072771,1.076897,.280925,.286744,-.078349,1.076405,.280689,.31084,-.084201,1.075898,.280418,.335612,-.089846,1.075287,.28002,.360975,-.095394,1.074482,.279513,.386932,-.10129,1.073617,.278961,.413171,-.107042,1.072719,.278283,.439886,-.113083,1.071698,.277547,.467535,-.11801,1.070213,.276311,.495701,-.122793,1.068857,.274867,.523772,-.127278,1.067037,.273153,.551849,-.131671,1.064923,.271176,.580338,-.135293,1.062749,.268626,.608771,-.138065,1.059944,.265569,.636756,-.140565,1.056851,.262054,.664574,-.142434,1.053461,.257807,.692151,-.143237,1.04991,.25293,.719376,-.143717,1.046426,.247414,.745852,-.143117,1.042377,.241001,.7723,-.141975,1.038789,.233797,.79805,-.140114,1.03529,.226218,.82337,-.137379,1.032374,.217785,.847735,-.134119,1.028853,.208748,.871897,-.129985,1.026395,.198877,.89495,-.125324,1.023787,.188803,.917909,-.120007,1.022073,.178493,.939567,-.114099,1.020098,.167466,.960534,-.107748,1.018851,.156223,.980423,-.100748,1.017362,.144716,.999334,-.093494,1.015961,.133028,1.017561,-.085728,1.015059,.120953,1.034225,-.077627,1.013888,.108943,1.049937,-.069375,1.012898,.096678,1.064265,-.060807,1.011635,.08435,1.077188,-.052052,1.010095,.071964,1.088637,-.043304,1.008399,.059531,1.098766,-.034458,1.006397,.047134,1.107697,-.025637,1.004354,.034887,1.116055,-.016932,1.002611,.022948,1.123819,-.008437,1.001023,.011386,1.131333,87e-6,.999952,-97e-6,2e-4,-62e-6,1.095622,.308458,504e-6,-155e-6,1.094863,.308458,.002016,-622e-6,1.095169,.308458,.004535,-.001399,1.095156,.308458,.008063,-.002487,1.095413,.308455,.012598,-.003886,1.095147,.308458,.018141,-.005596,1.09515,.308457,.024692,-.007616,1.09514,.308457,.032252,-.009947,1.095098,.308456,.040822,-.012589,1.095096,.308453,.050399,-.015541,1.09507,.308451,.060985,-.018803,1.094922,.308448,.072583,-.022375,1.094902,.308444,.085197,-.026258,1.094882,.308438,.098822,-.030448,1.094775,.308429,.11346,-.034944,1.094641,.308419,.129112,-.039731,1.09453,.308403,.145711,-.04461,1.094332,.308365,.163178,-.049362,1.094149,.308285,.181679,-.054666,1.093876,.30821,.201109,-.060336,1.093603,.308132,.221388,-.066414,1.09325,.308047,.242315,-.072881,1.092835,.307985,.263651,-.079453,1.092391,.307902,.28672,-.085882,1.091866,.307688,.310817,-.092274,1.091225,.307379,.335562,-.098306,1.090346,.306906,.361043,-.104572,1.089423,.306374,.387051,-.110843,1.088437,.30571,.413405,-.117062,1.087228,.304906,.440122,-.123501,1.085879,.304017,.467522,-.129245,1.084197,.302783,.495721,-.134285,1.082284,.301104,.523925,-.139143,1.080109,.299142,.551814,-.143638,1.077043,.296825,.579878,-.147774,1.074071,.294071,.608316,-.150724,1.070621,.290519,.636059,-.153168,1.06639,.286424,.663481,-.155139,1.062069,.281559,.690753,-.155944,1.057211,.276024,.717767,-.156176,1.052682,.269622,.743937,-.155783,1.047747,.262532,.770214,-.154245,1.04351,.254609,.795542,-.152192,1.039121,.246007,.821099,-.149256,1.035962,.236663,.845452,-.145605,1.03232,.226751,.86978,-.141186,1.02939,.216165,.893141,-.136137,1.026485,.204937,.916034,-.130332,1.024389,.193624,.938089,-.12404,1.02227,.181756,.959488,-.117011,1.020457,.169339,.979594,-.109617,1.018871,.156875,.998912,-.101562,1.017533,.144288,1.0171,-.093164,1.016445,.13137,1.034413,-.084488,1.015453,.118322,1.050347,-.075377,1.014259,.104963,1.064958,-.066108,1.013057,.091722,1.078045,-.056702,1.011491,.078231,1.089749,-.047106,1.009662,.064797,1.099831,-.037467,1.007417,.051315,1.108789,-.02799,1.005144,.038064,1.116865,-.018464,1.002925,.025008,1.124609,-.009068,1.001221,.01225,1.13204,93e-6,.999984,-71e-6,2e-4,-67e-6,1.112554,.335981,504e-6,-169e-6,1.11266,.335981,.002016,-677e-6,1.112827,.335981,.004533,-.001523,1.112147,.335982,.008063,-.002709,1.112882,.335979,.012598,-.004233,1.112891,.33598,.018141,-.006095,1.112882,.33598,.024693,-.008296,1.112877,.335978,.032252,-.010834,1.11286,.335976,.040824,-.013713,1.112965,.335974,.050398,-.016927,1.112753,.335971,.060991,-.020482,1.112826,.33597,.072587,-.024371,1.112676,.335962,.085199,-.028597,1.112593,.335955,.098822,-.033159,1.112453,.335943,.113461,-.038052,1.112329,.33593,.129108,-.043255,1.112144,.33591,.145665,-.048412,1.111905,.335857,.163185,-.053786,1.111668,.335781,.18171,-.059608,1.111345,.335696,.201166,-.065794,1.110979,.335606,.221489,-.072361,1.110553,.335505,.242471,-.079184,1.110112,.335396,.2639,-.086213,1.109584,.335271,.286688,-.093491,1.108927,.335089,.310773,-.100406,1.108091,.334737,.335573,-.106987,1.107169,.334208,.361117,-.113844,1.106097,.3336,.387175,-.120463,1.104826,.332828,.413665,-.127245,1.103415,.331929,.440386,-.133927,1.101632,.330851,.467527,-.140496,1.099563,.329538,.49563,-.145874,1.096956,.327618,.523864,-.150997,1.094201,.32539,.551705,-.155713,1.090342,.322688,.579383,-.159993,1.08601,.319483,.607301,-.163238,1.081226,.315522,.634873,-.165667,1.076065,.31084,.662028,-.167606,1.070466,.305377,.688755,-.168626,1.064601,.299056,.715612,-.168578,1.059269,.291963,.741604,-.167961,1.053648,.284018,.767757,-.166439,1.048928,.275474,.793264,-.164023,1.044343,.266056,.818165,-.160965,1.039909,.25575,.843255,-.156896,1.03618,.244843,.867249,-.152262,1.032303,.233464,.890994,-.146655,1.029365,.221128,.913829,-.140574,1.026607,.208554,.936508,-.13364,1.024512,.195772,.95772,-.12622,1.022421,.18242,.97894,-.118164,1.021293,.168852,.998285,-.109558,1.019444,.155261,1.016764,-.100562,1.017825,.141395,1.034387,-.091064,1.016996,.127311,1.050916,-.081468,1.015945,.113089,1.065652,-.071463,1.014547,.098879,1.079155,-.06124,1.013066,.084468,1.090822,-.05098,1.010788,.06994,1.1011,-.040549,1.008563,.055475,1.109824,-.030101,1.00595,.041033,1.117828,-.019884,1.003453,.027022,1.125443,-.0099,1.001484,.013306,1.132869,94e-6,1.000004,-46e-6,2e-4,-73e-6,1.132849,.36397,504e-6,-183e-6,1.132155,.363969,.002016,-734e-6,1.132516,.363969,.004535,-.001651,1.132256,.363969,.008062,-.002934,1.132318,.363966,.012597,-.004585,1.132386,.363968,.018141,-.006602,1.132457,.363967,.024693,-.008987,1.132511,.363967,.032252,-.011737,1.132488,.363965,.040819,-.014853,1.132241,.363959,.050398,-.018336,1.132372,.363958,.060988,-.022185,1.132373,.363954,.072582,-.026396,1.132137,.363943,.085195,-.030973,1.132071,.363935,.098822,-.035913,1.131978,.363922,.113461,-.041209,1.131801,.363905,.129116,-.046833,1.131535,.363867,.14564,-.052346,1.13129,.363814,.163199,-.058275,1.131046,.363734,.181742,-.064623,1.130671,.363642,.201227,-.071336,1.130224,.363539,.221587,-.078396,1.129758,.363419,.242625,-.085545,1.129213,.363256,.264183,-.09311,1.128549,.363097,.286668,-.101206,1.127767,.362939,.310745,-.108586,1.126796,.362516,.335602,-.115827,1.125686,.361953,.361202,-.123212,1.124451,.361275,.387298,-.130294,1.122861,.360376,.413918,-.137553,1.121154,.359362,.44068,-.144577,1.118825,.358069,.467667,-.151558,1.116002,.356581,.495449,-.157621,1.112778,.354531,.523514,-.162844,1.108842,.351915,.55125,-.167744,1.104075,.348797,.578629,-.172132,1.098733,.345222,.605757,-.175733,1.092224,.340665,.633392,-.178109,1.086201,.335286,.660783,-.180009,1.08011,.329286,.687219,-.181105,1.073419,.322319,.713873,-.181046,1.06741,.314616,.740094,-.180219,1.061414,.306014,.765233,-.178559,1.055287,.296704,.790885,-.175806,1.049727,.286394,.815464,-.172354,1.044519,.275189,.840259,-.168048,1.040375,.263441,.864285,-.162904,1.03601,.250918,.888806,-.157194,1.033525,.237611,.911682,-.150486,1.02949,.223809,.934481,-.143212,1.026778,.209705,.956337,-.135233,1.024632,.195281,.97738,-.12665,1.022737,.180878,.997427,-.117552,1.02111,.166112,1.016666,-.107814,1.019869,.151231,1.034337,-.097814,1.018543,.136375,1.051082,-.08733,1.017476,.121187,1.066326,-.076614,1.016083,.106043,1.079897,-.065793,1.014227,.090566,1.092136,-.054654,1.012334,.074988,1.102315,-.043516,1.009627,.059577,1.111105,-.032509,1.006808,.044202,1.118861,-.021381,1.003917,.028995,1.126363,-.010489,1.00167,.014269,1.133598,83e-6,.999989,-35e-6,2e-4,-79e-6,1.155026,.39247,504e-6,-198e-6,1.154184,.392469,.002016,-791e-6,1.15399,.392469,.004535,-.00178,1.154045,.392469,.008063,-.003164,1.154007,.392466,.012598,-.004944,1.154022,.392469,.018141,-.007119,1.154015,.392468,.024692,-.00969,1.154017,.392466,.032254,-.012656,1.154069,.392465,.040826,-.016018,1.15398,.392459,.050399,-.019771,1.153911,.392456,.060987,-.023919,1.15386,.392447,.072588,-.028461,1.153777,.392442,.085197,-.033393,1.153582,.392428,.098822,-.038716,1.153434,.392412,.113462,-.044422,1.153271,.39239,.129101,-.050455,1.153019,.392359,.145642,-.056392,1.152721,.392283,.163223,-.062859,1.152404,.392201,.181779,-.069721,1.151941,.392099,.201289,-.076968,1.151422,.391978,.221678,-.084518,1.150861,.391833,.242752,-.092017,1.150156,.391618,.264474,-.100184,1.149402,.391421,.286768,-.108921,1.148545,.391249,.310719,-.116815,1.147388,.390773,.335638,-.124785,1.146042,.390168,.36124,-.13263,1.144529,.389394,.387443,-.140298,1.142602,.388391,.414067,-.147913,1.140361,.387199,.440904,-.155362,1.137612,.385742,.467771,-.162574,1.133659,.383926,.494907,-.169312,1.129246,.381715,.522801,-.174778,1.124228,.378678,.550751,-.179824,1.118697,.375158,.578018,-.184284,1.112019,.370851,.605291,-.188215,1.105151,.365928,.632269,-.19076,1.097677,.360114,.659432,-.192457,1.090816,.353498,.685839,-.193458,1.083286,.346094,.711876,-.193502,1.076245,.337754,.738184,-.192371,1.069684,.328412,.763723,-.190531,1.063249,.318164,.789192,-.187726,1.057265,.3069,.813744,-.183783,1.051177,.295021,.838408,-.179328,1.045902,.282144,.862116,-.173573,1.040853,.268438,.885636,-.16735,1.036515,.254108,.909342,-.160229,1.033269,.239082,.931962,-.152529,1.029627,.224024,.954671,-.14408,1.027507,.208393,.975707,-.135023,1.024657,.19263,.996644,-.125258,1.022998,.176741,1.015817,-.115089,1.021234,.160926,1.034301,-.104317,1.020025,.145042,1.051131,-.093218,1.018739,.129052,1.066836,-.081828,1.017419,.112905,1.081027,-.070132,1.015714,.096578,1.093225,-.058382,1.013465,.080077,1.103691,-.046527,1.010853,.06358,1.112431,-.034624,1.007702,.047118,1.120035,-.022913,1.004551,.031018,1.127336,-.011284,1.001924,.015283,1.13451,17e-5,.999937,-58e-6,2e-4,-84e-6,1.177044,.421534,504e-6,-212e-6,1.177312,.421533,.002016,-85e-5,1.17773,.421533,.004535,-.001912,1.177722,.421533,.008063,-.003399,1.177844,.421529,.012598,-.00531,1.177768,.421533,.018141,-.007646,1.17773,.421531,.024692,-.010407,1.177663,.42153,.032252,-.013592,1.177681,.421527,.040821,-.017201,1.177562,.421524,.050401,-.021234,1.177445,.421516,.060988,-.025688,1.177461,.421509,.07259,-.030565,1.177364,.421498,.0852,-.03586,1.177205,.421482,.098823,-.041572,1.177011,.421462,.113465,-.047694,1.176794,.421436,.129094,-.054122,1.176504,.421396,.145652,-.06053,1.176203,.421311,.163245,-.067517,1.175805,.421218,.181825,-.074919,1.175271,.421108,.20136,-.0827,1.174717,.420974,.221773,-.090727,1.174021,.420795,.242908,-.098719,1.173173,.420536,.264742,-.107417,1.172285,.420296,.287091,-.116601,1.171326,.420065,.310723,-.125265,1.169907,.419582,.335685,-.133876,1.168352,.418912,.361285,-.14214,1.166322,.418006,.387562,-.150436,1.164136,.416899,.414175,-.158388,1.161162,.415513,.441021,-.166258,1.157608,.413836,.467698,-.17372,1.152519,.411702,.49473,-.180843,1.14702,.409102,.522524,-.186906,1.141256,.405789,.550055,-.192004,1.134114,.401759,.577512,-.196588,1.127086,.397153,.604348,-.20042,1.119029,.391767,.63097,-.20332,1.110308,.385573,.658023,-.204883,1.102643,.378245,.684422,-.205716,1.094573,.370191,.710405,-.205767,1.086405,.361231,.736417,-.204513,1.078712,.351106,.761836,-.202281,1.071619,.340096,.78714,-.199395,1.064873,.328139,.812197,-.195185,1.058313,.315044,.836342,-.190191,1.052085,.300933,.860311,-.184343,1.046705,.286411,.883597,-.177415,1.041072,.270897,.906852,-.170003,1.036797,.254825,.929991,-.161592,1.033264,.238176,.952478,-.152792,1.03025,.221581,.974216,-.143032,1.027331,.204378,.995372,-.132922,1.025135,.18747,1.01533,-.122009,1.02325,.170538,1.03407,-.11074,1.022021,.153777,1.051295,-.099016,1.020271,.136916,1.06746,-.08692,1.018948,.11988,1.082022,-.074729,1.017336,.102565,1.094378,-.062036,1.01482,.084994,1.104998,-.049413,1.011999,.06765,1.113773,-.036812,1.008711,.050148,1.121263,-.024274,1.005141,.032976,1.12842,-.012038,1.002196,.016239,1.135496,106e-6,1.000042,-62e-6,2e-4,-9e-5,1.203048,.451217,504e-6,-227e-6,1.203226,.451215,.002016,-909e-6,1.20345,.451215,.004535,-.002046,1.203569,.451215,.008062,-.003638,1.203609,.451209,.012598,-.005684,1.20358,.451214,.018141,-.008185,1.203515,.451212,.024694,-.011141,1.203618,.451211,.032253,-.014549,1.203609,.451207,.040815,-.018409,1.203302,.451203,.050401,-.022727,1.203454,.451195,.06099,-.027495,1.20348,.451188,.072591,-.032713,1.20322,.451172,.085203,-.038378,1.203058,.451154,.098829,-.044489,1.202838,.45113,.113466,-.051031,1.20253,.451098,.129084,-.057808,1.20227,.451041,.145669,-.064769,1.201904,.450956,.163278,-.072278,1.201411,.450853,.18188,-.080224,1.200825,.450721,.201436,-.088537,1.200164,.450566,.221865,-.097009,1.199335,.450351,.243083,-.105591,1.198383,.450062,.265033,-.114818,1.19738,.449769,.287456,-.124372,1.196137,.449438,.310758,-.133892,1.194554,.448974,.335721,-.143052,1.192649,.448216,.361348,-.151868,1.190233,.447202,.387573,-.160644,1.187211,.445926,.414159,-.169028,1.183452,.444313,.44095,-.177169,1.178562,.442315,.467998,-.18509,1.17354,.43996,.494566,-.192396,1.166344,.436989,.52173,-.198915,1.159283,.433439,.549405,-.20424,1.151503,.428984,.576755,-.208861,1.143004,.423839,.603635,-.212734,1.134099,.418012,.629979,-.215712,1.124555,.411445,.656597,-.217385,1.115293,.403628,.683317,-.218093,1.10646,.394639,.70899,-.217835,1.097389,.385012,.734898,-.216774,1.08894,.373999,.760342,-.21412,1.080385,.362128,.785517,-.210821,1.072959,.349184,.809933,-.206443,1.06545,.33508,.834339,-.200942,1.058701,.320257,.858793,-.194938,1.052711,.304133,.8823,-.187615,1.047044,.287771,.90556,-.179626,1.042083,.270571,.927916,-.170753,1.037077,.252741,.950415,-.16127,1.0332,.234656,.97292,-.151239,1.030418,.216652,.993893,-.140358,1.027479,.198252,1.014204,-.128963,1.024897,.180113,1.033878,-.117128,1.023648,.162282,1.051754,-.104678,1.02223,.144366,1.067924,-.092,1.020453,.126455,1.082643,-.078837,1.018518,.108194,1.095503,-.065669,1.016199,.089966,1.10629,-.052345,1.013113,.07153,1.115219,-.039024,1.009636,.053158,1.122587,-.025789,1.005801,.034959,1.129461,-.012622,1.002442,.017222,1.136468,152e-6,.999964,-65e-6,2e-4,-96e-6,1.231156,.481574,504e-6,-243e-6,1.232187,.481572,.002016,-971e-6,1.231948,.481572,.004535,-.002184,1.231919,.481572,.008061,-.003882,1.231453,.481566,.012597,-.006066,1.2318,.481572,.018142,-.008736,1.231756,.481569,.024693,-.011889,1.232062,.48157,.032254,-.015528,1.231915,.481563,.040822,-.01965,1.231863,.481559,.050402,-.024255,1.231737,.48155,.060992,-.029342,1.231678,.481537,.072592,-.034908,1.231537,.481521,.085207,-.040953,1.231336,.481499,.098834,-.047469,1.231071,.481469,.113474,-.054441,1.230757,.481431,.129077,-.061556,1.230424,.481359,.145691,-.069091,1.230022,.481269,.163321,-.077151,1.229461,.481156,.181936,-.085636,1.228718,.481011,.201516,-.094484,1.228023,.48083,.221963,-.103362,1.227057,.480562,.243264,-.112628,1.225997,.480247,.265291,-.122366,1.224744,.479891,.287824,-.132256,1.223255,.479461,.310927,-.142614,1.221348,.478978,.335749,-.152326,1.218953,.478132,.361361,-.161747,1.215806,.476971,.38748,-.170879,1.211853,.475477,.414231,-.179865,1.207783,.473686,.441065,-.188331,1.202051,.471415,.467923,-.196454,1.195463,.468647,.494526,-.204048,1.187542,.465459,.521318,-.21102,1.179235,.46165,.548654,-.21652,1.17011,.456868,.575778,-.221098,1.160163,.451227,.60261,-.224923,1.149751,.444866,.628891,-.227895,1.139169,.437577,.655635,-.23002,1.129736,.429369,.682115,-.230419,1.119516,.419673,.707514,-.229789,1.108277,.409143,.733169,-.22852,1.099159,.397296,.758342,-.225793,1.089839,.384578,.783477,-.222049,1.081428,.370323,.808497,-.217562,1.073742,.355253,.83279,-.211697,1.06585,.339282,.856677,-.204989,1.058834,.322181,.880662,-.197653,1.053291,.30461,.903474,-.188858,1.046822,.286042,.926313,-.179746,1.041663,.267224,.948458,-.169542,1.036532,.247978,.970873,-.159005,1.033008,.228535,.992958,-.147658,1.029844,.208819,1.013413,-.135771,1.02693,.189486,1.033483,-.123256,1.025545,.170422,1.051872,-.110401,1.023935,.152075,1.068396,-.09686,1.022092,.133169,1.083731,-.083259,1.020221,.114022,1.096849,-.069266,1.017663,.094772,1.107864,-.055203,1.014524,.075432,1.1166,-.041097,1.010514,.05598,1.123871,-.027083,1.006313,.036839,1.130718,-.01351,1.002778,.018156,1.137649,154e-6,1.000033,-28e-6,2e-4,-103e-6,1.264025,.51267,504e-6,-258e-6,1.262437,.512667,.002016,-.001033,1.262691,.512668,.004535,-.002325,1.262834,.512667,.008063,-.004133,1.262783,.512659,.012598,-.006458,1.262803,.512666,.018141,-.009299,1.26272,.512665,.024683,-.012652,1.262061,.512655,.032257,-.016532,1.262858,.512656,.040826,-.020919,1.262709,.512649,.050403,-.02582,1.262685,.512639,.060993,-.031233,1.262544,.512625,.072597,-.037157,1.262435,.512607,.085211,-.043587,1.262209,.512581,.098842,-.05052,1.261907,.512544,.113484,-.057926,1.261575,.5125,.129097,-.06546,1.261293,.51242,.145727,-.073543,1.260736,.512316,.163375,-.082134,1.260117,.51219,.182011,-.091173,1.259299,.512024,.201598,-.10054,1.258381,.51181,.222084,-.109931,1.257293,.511505,.243446,-.119838,1.25605,.511151,.265574,-.13009,1.254607,.510724,.28823,-.140421,1.252808,.510191,.311336,-.151343,1.250489,.509627,.335719,-.161689,1.247279,.508688,.361314,-.171748,1.243467,.507393,.387541,-.181399,1.239145,.505758,.414204,-.190768,1.23376,.503676,.441092,-.199659,1.227433,.501129,.467789,-.207934,1.219247,.498078,.494454,-.215747,1.210441,.49463,.52095,-.222869,1.200559,.490467,.547802,-.228881,1.189872,.485444,.575563,-.23376,1.180081,.479268,.602426,-.237566,1.168544,.472272,.628772,-.240447,1.156546,.46439,.654963,-.242427,1.145123,.455345,.681384,-.24298,1.134322,.444885,.707173,-.24215,1.122665,.433338,.732477,-.240435,1.111733,.420647,.757567,-.237806,1.101271,.406799,.782341,-.233503,1.091341,.391761,.80669,-.228346,1.082042,.375576,.830804,-.222386,1.073504,.358545,.85494,-.215141,1.06588,.340431,.878709,-.207207,1.05885,.32169,.901928,-.198273,1.052588,.30193,.924845,-.188476,1.046521,.281513,.946932,-.177996,1.040966,.261234,.969256,-.166644,1.03667,.240356,.991323,-.154968,1.032694,.219748,1.013013,-.142425,1.030061,.199103,1.032845,-.129456,1.027254,.178936,1.051887,-.115763,1.025497,.159243,1.069179,-.101851,1.023807,.13956,1.084499,-.087357,1.021441,.119607,1.097921,-.072796,1.01878,.099501,1.109281,-.058037,1.015566,.079211,1.118194,-.043226,1.011494,.058873,1.125351,-.028633,1.007089,.038736,1.132002,-.013996,1.003014,.019063,1.138951,132e-6,1.000036,-7e-6,2e-4,-109e-6,1.296791,.544571,504e-6,-274e-6,1.296055,.544568,.002016,-.001098,1.297239,.544568,.004535,-.00247,1.2966,.544568,.008062,-.00439,1.296368,.544559,.012597,-.00686,1.296454,.544566,.018141,-.009878,1.296522,.544565,.024693,-.013444,1.296536,.54456,.032256,-.017559,1.296638,.544557,.040824,-.022218,1.296491,.544547,.050408,-.027426,1.296552,.544532,.060997,-.033173,1.296283,.544518,.0726,-.039463,1.296113,.544496,.08522,-.046292,1.295894,.544466,.098851,-.053648,1.295545,.544422,.113496,-.061487,1.295201,.544371,.129112,-.069467,1.294754,.544273,.145765,-.078092,1.294209,.54416,.163431,-.087231,1.293534,.544017,.182088,-.096837,1.29258,.543828,.201698,-.106713,1.291586,.543585,.222231,-.116699,1.290325,.543238,.243653,-.127208,1.288888,.542836,.265855,-.137949,1.287131,.542329,.288623,-.148847,1.284936,.5417,.31183,-.160204,1.282109,.540997,.335728,-.171324,1.278036,.540045,.361403,-.181915,1.273912,.538603,.387647,-.192124,1.268881,.536741,.414217,-.201807,1.262363,.534432,.44109,-.211093,1.254755,.531623,.467823,-.219678,1.245456,.528314,.494361,-.227581,1.234953,.524391,.521264,-.235087,1.224839,.519902,.547881,-.241508,1.213175,.514574,.574965,-.246315,1.200505,.507837,.601847,-.250061,1.187901,.500286,.628207,-.252822,1.174601,.491502,.654445,-.254691,1.161944,.481726,.680175,-.255318,1.149305,.470727,.706168,-.254257,1.136708,.458045,.731458,-.2521,1.124047,.444438,.756378,-.249115,1.112942,.429611,.781311,-.244899,1.1018,.413501,.805755,-.239225,1.091662,.395889,.829867,-.23283,1.082291,.37786,.853067,-.225193,1.07282,.358704,.877084,-.216648,1.065415,.338413,.900123,-.20739,1.058403,.317596,.92337,-.197095,1.051412,.296301,.946021,-.186084,1.045877,.274498,.967669,-.174262,1.040316,.252565,.989761,-.161814,1.035489,.230312,1.012163,-.149076,1.03254,.208746,1.032547,-.135299,1.029598,.18718,1.052032,-.121277,1.027355,.166482,1.069907,-.106582,1.025622,.145939,1.085563,-.091589,1.023244,.125362,1.099447,-.076263,1.020661,.104087,1.110848,-.060825,1.017035,.083036,1.119923,-.045319,1.012675,.061719,1.126805,-.029852,1.007668,.040583,1.133282,-.014846,1.003335,.019969,1.140128,149e-6,1.000024,-37e-6,2e-4,-116e-6,1.334863,.57735,504e-6,-291e-6,1.33335,.577348,.002015,-.001164,1.332853,.577347,.004535,-.002618,1.333295,.577347,.008062,-.004655,1.333189,.577336,.012598,-.007273,1.333309,.577345,.018141,-.010472,1.333274,.577342,.024694,-.014253,1.333231,.577339,.032254,-.018614,1.333265,.577332,.040827,-.023556,1.333261,.577321,.0504,-.029069,1.332893,.577309,.061,-.035166,1.332998,.577288,.072608,-.041833,1.332901,.577263,.085227,-.049067,1.332603,.577226,.098864,-.05686,1.332264,.577177,.113507,-.065114,1.331825,.577109,.129146,-.07361,1.331311,.577005,.145808,-.082766,1.330639,.576872,.163494,-.092458,1.329878,.576709,.182176,-.102639,1.328889,.576501,.201804,-.112983,1.32771,.576207,.222394,-.12365,1.326256,.575823,.243881,-.13478,1.324593,.575363,.266122,-.145931,1.322426,.574751,.289043,-.1575,1.319837,.574033,.31233,-.169208,1.316301,.573181,.33612,-.181125,1.312251,.572188,.361506,-.192232,1.307003,.570631,.387757,-.202981,1.301068,.568558,.414365,-.21316,1.293695,.566027,.440986,-.222617,1.283958,.562942,.467943,-.231583,1.274057,.559219,.494821,-.239881,1.262864,.554913,.521486,-.247336,1.250633,.549953,.547884,-.253921,1.237448,.544251,.574582,-.259099,1.223164,.53712,.601342,-.262695,1.208784,.52865,.627861,-.265337,1.194424,.518978,.653745,-.266872,1.179361,.508525,.679348,-.267403,1.16501,.496705,.705068,-.266429,1.151693,.482926,.730312,-.263829,1.137584,.468519,.755576,-.260491,1.125328,.452213,.780371,-.256166,1.113759,.435127,.804632,-.250079,1.101656,.416833,.828983,-.243181,1.091235,.397009,.852585,-.235383,1.081475,.376647,.875237,-.226031,1.071806,.355506,.899152,-.216343,1.064453,.333133,.922121,-.205772,1.057161,.311073,.944523,-.19398,1.050447,.287781,.967313,-.18192,1.044531,.26435,.989042,-.168822,1.039312,.241128,1.010881,-.15535,1.035298,.218138,1.032368,-.141231,1.032073,.195579,1.052254,-.126521,1.029395,.173399,1.070207,-.111243,1.026938,.151866,1.086528,-.095617,1.024957,.130711,1.10067,-.079687,1.021924,.108865,1.112461,-.063593,1.018281,.08676,1.121588,-.047313,1.013747,.064575,1.128522,-.031385,1.008433,.042499,1.134759,-.015356,1.003569,.02084,1.141448,114e-6,.999978,-56e-6,2e-4,-122e-6,1.372763,.611086,503e-6,-308e-6,1.371456,.611084,.002016,-.001232,1.37344,.611084,.004535,-.002771,1.373387,.611083,.008061,-.004926,1.372916,.611083,.012601,-.0077,1.373956,.611084,.018142,-.011084,1.373419,.611078,.024695,-.015087,1.373492,.611074,.032255,-.019701,1.37336,.611066,.040827,-.02493,1.373327,.611055,.050408,-.030769,1.373222,.611037,.061004,-.037217,1.373079,.611014,.072613,-.04427,1.372895,.610982,.085238,-.051923,1.372624,.610941,.098878,-.060161,1.372252,.610883,.113522,-.068785,1.371785,.610798,.129176,-.077863,1.371103,.610683,.145876,-.087593,1.370541,.610537,.16357,-.097847,1.369496,.610349,.182283,-.108592,1.368477,.610109,.20193,-.11942,1.36698,.609763,.22257,-.130789,1.365375,.609343,.244123,-.142514,1.363456,.608815,.266437,-.154232,1.360916,.608114,.289467,-.16637,1.357909,.607291,.312861,-.178505,1.353588,.606272,.336736,-.19098,1.349211,.605153,.36174,-.202859,1.343319,.603548,.387878,-.213997,1.335908,.601268,.414357,-.224584,1.326676,.598499,.441442,-.234664,1.317331,.595066,.468409,-.243875,1.305818,.590996,.494999,-.252121,1.291863,.586293,.52173,-.259714,1.278212,.58084,.547894,-.266242,1.262656,.574494,.573865,-.271578,1.246364,.567007,.601124,-.275503,1.231274,.557771,.627606,-.277954,1.215252,.547255,.654004,-.279404,1.199977,.535766,.679554,-.279632,1.183995,.522792,.70428,-.278457,1.167428,.508488,.72983,-.275706,1.15276,.492425,.754376,-.27164,1.137942,.475285,.779209,-.266911,1.125222,.456679,.803562,-.260838,1.112179,.437267,.827985,-.253353,1.101439,.416227,.851737,-.245027,1.08989,.394728,.87485,-.235719,1.080018,.372244,.89768,-.225051,1.070807,.348846,.921351,-.214051,1.06318,.324961,.943818,-.202039,1.056148,.300836,.966368,-.189134,1.049277,.276333,.987426,-.175613,1.042176,.251862,1.010162,-.161473,1.038567,.227217,1.031224,-.146866,1.034102,.203582,1.052317,-.131644,1.0316,.180629,1.070879,-.115909,1.028913,.158165,1.087407,-.099638,1.026193,.135905,1.102159,-.083091,1.023567,.113394,1.114006,-.066178,1.019567,.090325,1.123374,-.04943,1.014856,.067302,1.13031,-.032557,1.009141,.044264,1.136334,-.016157,1.003984,.021807,1.142961,172e-6,.999951,-77e-6,2e-4,-129e-6,1.416584,.645866,504e-6,-326e-6,1.417762,.645865,.002016,-.001302,1.417825,.645866,.004535,-.002929,1.417142,.645865,.008062,-.005207,1.416968,.645864,.012598,-.008136,1.417109,.645862,.018141,-.011715,1.417001,.645859,.02469,-.015941,1.416878,.645853,.032257,-.020823,1.417134,.645843,.040827,-.026347,1.416983,.645829,.050411,-.032518,1.416949,.645808,.061007,-.03933,1.416694,.645781,.072621,-.046783,1.416599,.645746,.085249,-.054865,1.416241,.645695,.098897,-.063563,1.415832,.64563,.113546,-.072607,1.415264,.645529,.12922,-.082257,1.414482,.645396,.145888,-.092515,1.413626,.645268,.163659,-.103393,1.41271,.645018,.182385,-.114684,1.411418,.644739,.202078,-.126098,1.409822,.644348,.222772,-.138145,1.407948,.643872,.24437,-.150405,1.405678,.643255,.266787,-.162798,1.402763,.642463,.289844,-.175434,1.398863,.641504,.31354,-.188158,1.394695,.640346,.337489,-.201014,1.389376,.639042,.362008,-.213719,1.382439,.637412,.38799,-.225248,1.373281,.63493,.414728,-.236348,1.363729,.631861,.441635,-.246701,1.352304,.628155,.468588,-.256167,1.339162,.623625,.495337,-.264662,1.323811,.618458,.521886,-.272207,1.30763,.612373,.548355,-.27889,1.291265,.605263,.574535,-.284442,1.273752,.597048,.60087,-.288389,1.256171,.587401,.627715,-.290816,1.238447,.576001,.65383,-.291886,1.221036,.563198,.679175,-.291629,1.202283,.549249,.704539,-.290489,1.185866,.533881,.729126,-.287529,1.168822,.516966,.754297,-.283184,1.152934,.498501,.778678,-.277732,1.137821,.478728,.802473,-.271203,1.123387,.457814,.826596,-.263494,1.110573,.435865,.850835,-.254572,1.099099,.412597,.874203,-.244815,1.088403,.388995,.897271,-.233993,1.078085,.364487,.919667,-.221934,1.068543,.339344,.943001,-.209714,1.061081,.31377,.965688,-.196367,1.054023,.287928,.987598,-.182263,1.047247,.262157,1.00928,-.167775,1.041376,.236855,1.031762,-.15253,1.037647,.211847,1.051965,-.136809,1.033396,.187546,1.071699,-.120418,1.031021,.164186,1.088881,-.103618,1.028403,.141184,1.103482,-.086271,1.024987,.117665,1.115646,-.068973,1.020884,.093896,1.125258,-.051285,1.015966,.069978,1.132045,-.033998,1.00999,.046126,1.138004,-.016696,1.00427,.022635,1.144463,89e-6,.999987,-16e-6,2e-4,-136e-6,1.463614,.681786,504e-6,-344e-6,1.465345,.681785,.002015,-.001374,1.464172,.681783,.004535,-.003092,1.464846,.681784,.008062,-.005496,1.464783,.681784,.012598,-.008588,1.464883,.681781,.018141,-.012366,1.46474,.681777,.024692,-.016829,1.464665,.68177,.032258,-.02198,1.46472,.68176,.040829,-.027811,1.464625,.681742,.050415,-.034324,1.464571,.68172,.061013,-.041513,1.464346,.681688,.072628,-.049375,1.464131,.681644,.085264,-.057903,1.463847,.681588,.098918,-.067067,1.463369,.681509,.113568,-.07657,1.462549,.681389,.129265,-.086782,1.461703,.681239,.145997,-.097637,1.46084,.681047,.163751,-.109101,1.459737,.680806,.182505,-.120922,1.458231,.68048,.202241,-.133007,1.456393,.680042,.222987,-.145693,1.454258,.679503,.244638,-.158488,1.451543,.678792,.267132,-.171585,1.448115,.677907,.290365,-.184746,1.443992,.676796,.314178,-.198101,1.439271,.675498,.338289,-.21137,1.43283,.673922,.362543,-.224489,1.424163,.672151,.38847,-.236914,1.41516,.669601,.415105,-.248342,1.403811,.666255,.441925,-.258957,1.390149,.662166,.468668,-.268556,1.374104,.657229,.49572,-.277359,1.358102,.651347,.522574,-.285078,1.340754,.644598,.548981,-.291718,1.322033,.63682,.574946,-.297087,1.302148,.627812,.600744,-.301079,1.28213,.617485,.627565,-.303566,1.263339,.605047,.653598,-.30433,1.242712,.591167,.679239,-.30382,1.223212,.576025,.704043,-.302064,1.203763,.559649,.728796,-.299095,1.185434,.541271,.753581,-.294392,1.16763,.5218,.778577,-.288603,1.15193,.500628,.80255,-.281604,1.136072,.478434,.825803,-.273472,1.121673,.455384,.849768,-.264011,1.108491,.430811,.87325,-.253653,1.09655,.405524,.896725,-.242642,1.085905,.380038,.919158,-.230191,1.075091,.353482,.942236,-.217145,1.066848,.326605,.965031,-.203555,1.05931,.299842,.987048,-.188777,1.051749,.272859,1.008718,-.173613,1.044999,.24604,1.031097,-.157972,1.040066,.219826,1.052493,-.141589,1.035951,.194278,1.071773,-.124814,1.03252,.16983,1.089646,-.107321,1.029803,.146135,1.104932,-.089726,1.026612,.122127,1.117687,-.071433,1.022391,.097461,1.127188,-.053395,1.017113,.072556,1.13401,-.035151,1.010934,.047749,1.139746,-.017427,1.004633,.02353,1.146205,151e-6,1.00002,-106e-6,2e-4,-144e-6,1.517643,.718949,504e-6,-362e-6,1.516387,.718947,.002016,-.001449,1.516742,.718946,.004536,-.003261,1.517196,.718946,.008063,-.005796,1.516806,.718945,.012598,-.009057,1.516986,.718943,.01814,-.013039,1.516603,.718937,.024694,-.017747,1.516739,.718929,.03226,-.023178,1.516994,.718917,.040831,-.029325,1.516649,.718896,.050419,-.036192,1.516594,.71887,.061019,-.04377,1.516327,.718833,.072638,-.052056,1.516054,.718782,.085274,-.061039,1.515628,.718714,.098938,-.070676,1.515199,.718623,.113607,-.080679,1.514222,.718483,.129329,-.091485,1.513354,.718316,.146077,-.102931,1.512301,.718096,.163856,-.114986,1.510977,.717818,.18264,-.127305,1.509225,.717432,.202432,-.140147,1.507152,.716939,.223229,-.153468,1.50478,.716331,.244943,-.166875,1.501612,.715527,.267559,-.180658,1.497898,.714523,.290926,-.194405,1.493208,.713266,.314863,-.208302,1.487388,.711758,.339053,-.22202,1.479677,.709982,.363627,-.235683,1.47095,.707958,.388887,-.248723,1.459907,.705346,.415474,-.260563,1.446579,.701644,.442065,-.271352,1.429962,.697134,.469418,-.281541,1.414343,.691665,.496419,-.290429,1.395681,.685227,.523071,-.298032,1.375347,.677815,.549641,-.304679,1.354816,.669063,.575489,-.309902,1.332505,.659071,.601108,-.313771,1.309752,.647799,.627199,-.316225,1.288381,.634856,.653243,-.316679,1.265785,.619627,.67896,-.315816,1.244333,.603244,.704055,-.313776,1.223315,.585191,.728713,-.310417,1.203142,.565969,.753301,-.305786,1.184323,.545347,.77789,-.299262,1.16607,.522753,.802354,-.29183,1.149599,.499017,.826005,-.283281,1.133655,.474335,.84892,-.273512,1.118132,.449019,.872765,-.262525,1.105606,.422329,.89595,-.250769,1.093539,.395057,.918816,-.238257,1.082388,.367709,.941089,-.224381,1.072484,.33935,.964514,-.210289,1.064054,.311239,.987128,-.195488,1.056645,.283272,1.009064,-.179491,1.049549,.255163,1.030163,-.163172,1.042741,.227757,1.052502,-.146457,1.03827,.20097,1.072971,-.129054,1.035014,.175767,1.091223,-.111285,1.032231,.151118,1.106518,-.092617,1.028211,.126196,1.119235,-.074168,1.023686,.100828,1.129311,-.055212,1.018311,.07524,1.135983,-.036571,1.011485,.049558,1.141648,-.017954,1.004952,.024273,1.147938,125e-6,1.000009,-48e-6,199e-6,-151e-6,1.566887,.757466,504e-6,-382e-6,1.574111,.757466,.002016,-.001527,1.573735,.757466,.004535,-.003435,1.573737,.757466,.008062,-.006107,1.573782,.757464,.012599,-.009542,1.573796,.75746,.018142,-.013739,1.57371,.757455,.024694,-.018697,1.573562,.757446,.032259,-.024418,1.573667,.757429,.040834,-.030895,1.573555,.757407,.050422,-.038127,1.573383,.757376,.061025,-.046108,1.573086,.757332,.07265,-.054835,1.572833,.757274,.085296,-.064294,1.572395,.757195,.098962,-.074376,1.571729,.757087,.113649,-.084955,1.570571,.756925,.129389,-.096334,1.569582,.756729,.146167,-.108406,1.568444,.756481,.163973,-.121056,1.566905,.756158,.182798,-.13397,1.564939,.755715,.20265,-.147522,1.562666,.755167,.223502,-.161466,1.559877,.754465,.245269,-.175539,1.556008,.753552,.26801,-.189957,1.552013,.75242,.291474,-.204361,1.546509,.751008,.315527,-.218714,1.539575,.749266,.339954,-.233029,1.530968,.747232,.364649,-.247149,1.520994,.744906,.38952,-.260672,1.507748,.742123,.415717,-.272873,1.491777,.738187,.442862,-.284317,1.475658,.733189,.469939,-.294552,1.456572,.727165,.496916,-.303517,1.435237,.720043,.52348,-.311061,1.412192,.71164,.550092,-.317596,1.389033,.702174,.576384,-.322921,1.365086,.691225,.60228,-.326806,1.341317,.678841,.627676,-.329057,1.316518,.664815,.653458,-.329372,1.291877,.648548,.679227,-.328067,1.268126,.630676,.704476,-.325585,1.244424,.611585,.729232,-.321775,1.22301,.590803,.753405,-.316713,1.201297,.568653,.777274,-.309858,1.181071,.544763,.801882,-.301866,1.162826,.519747,.82603,-.292861,1.145704,.493531,.849359,-.282794,1.129629,.4669,.871837,-.271197,1.114155,.43923,.895896,-.258954,1.102334,.41057,.918951,-.245878,1.090163,.381314,.941148,-.231897,1.078738,.352268,.963464,-.216743,1.068862,.322688,.986628,-.201486,1.061077,.293523,1.009289,-.185521,1.053561,.264125,1.030659,-.168429,1.046627,.235706,1.052382,-.15121,1.040953,.208022,1.073476,-.133289,1.036534,.181245,1.092237,-.114768,1.03358,.155661,1.1082,-.095917,1.029997,.130223,1.121435,-.076492,1.025374,.104098,1.131382,-.057204,1.019485,.077776,1.137994,-.037747,1.012188,.05125,1.143441,-.018673,1.005309,.025245,1.149714,216e-6,1.000004,-12e-5,2e-4,-159e-6,1.633988,.797469,504e-6,-402e-6,1.636076,.797469,.002016,-.001607,1.635679,.797467,.004535,-.003617,1.63604,.797468,.008063,-.00643,1.636159,.797467,.012599,-.010046,1.636128,.797462,.018141,-.014464,1.63573,.797457,.024696,-.019685,1.635836,.797445,.032259,-.025705,1.635719,.797426,.040835,-.032523,1.63561,.797401,.050425,-.040135,1.63546,.797363,.061033,-.048536,1.635182,.797313,.072661,-.057718,1.634817,.797243,.085315,-.067666,1.634314,.79715,.098985,-.078179,1.63335,.797016,.113699,-.089383,1.632253,.796839,.129456,-.101364,1.631025,.796623,.146275,-.114081,1.629867,.796331,.164108,-.127318,1.628043,.795956,.182983,-.140901,1.625813,.795458,.202891,-.155174,1.623149,.794834,.223787,-.169654,1.619686,.794015,.245678,-.18454,1.615694,.793013,.268495,-.199543,1.610812,.791727,.292093,-.214639,1.604629,.790107,.316184,-.229499,1.596061,.788154,.340986,-.244407,1.587195,.785797,.365808,-.258907,1.575031,.783093,.390528,-.272746,1.559448,.77997,.41651,-.285845,1.543294,.775852,.443443,-.297404,1.523476,.770323,.470442,-.307757,1.501515,.763721,.497499,-.316846,1.477841,.755889,.524316,-.324561,1.452427,.746662,.551212,-.33106,1.427421,.736004,.577323,-.335956,1.400369,.72381,.602976,-.339501,1.373093,.710184,.628357,-.341577,1.345853,.695017,.653642,-.342031,1.31904,.677972,.67944,-.340342,1.29249,.658877,.704744,-.337356,1.267182,.638085,.729692,-.333042,1.24328,.615615,.75392,-.327504,1.219751,.592054,.777695,-.320537,1.197796,.566967,.801426,-.31188,1.176872,.540643,.825649,-.302211,1.15816,.512906,.849282,-.291665,1.141257,.484587,.872341,-.28005,1.125469,.455556,.89511,-.266978,1.110222,.425652,.918841,-.253326,1.097419,.395015,.941209,-.238899,1.086101,.364948,.963142,-.223523,1.075023,.334151,.985996,-.207346,1.065628,.303708,1.008718,-.190889,1.057256,.273008,1.030554,-.173517,1.04972,.243221,1.053085,-.155645,1.043837,.214426,1.074267,-.137472,1.039312,.187036,1.093591,-.118385,1.035457,.160512,1.10985,-.098883,1.03163,.134384,1.123516,-.07905,1.026762,.107424,1.133578,-.058977,1.02064,.080317,1.140289,-.039013,1.013096,.052944,1.14561,-.019228,1.005694,.025989,1.151704,105e-6,.999981,-19e-6,2e-4,-168e-6,1.704841,.839096,504e-6,-423e-6,1.704242,.839097,.002016,-.001691,1.703821,.839091,.004534,-.003805,1.703804,.839094,.008063,-.006765,1.704224,.839092,.012598,-.01057,1.704013,.839087,.018142,-.015219,1.703889,.839079,.024697,-.020712,1.704023,.839066,.032261,-.027046,1.703836,.839045,.040837,-.034218,1.703608,.839014,.050429,-.042224,1.703414,.838972,.061041,-.051061,1.703148,.838912,.072676,-.060717,1.702744,.838831,.08534,-.071175,1.702223,.838724,.099023,-.082182,1.700984,.838567,.113759,-.094007,1.699764,.838367,.129546,-.106621,1.698462,.838112,.146382,-.119956,1.696938,.837782,.16426,-.13376,1.694868,.837346,.183188,-.148108,1.692262,.83678,.203158,-.163075,1.689251,.836073,.224147,-.178255,1.685408,.835148,.246147,-.1939,1.680946,.833992,.269072,-.209553,1.675277,.832546,.292718,-.225226,1.667626,.830727,.317159,-.240836,1.658952,.82851,.341979,-.256103,1.647624,.825843,.366844,-.270887,1.633014,.82276,.392043,-.285324,1.617191,.819159,.417356,-.298817,1.597501,.814788,.444093,-.310711,1.575184,.808751,.471379,-.32141,1.55159,.801294,.498267,-.330421,1.524134,.792711,.525401,-.338331,1.496672,.78248,.551846,-.34443,1.467062,.770659,.578009,-.349047,1.436943,.757348,.604054,-.35249,1.407611,.742541,.629387,-.354158,1.377441,.726071,.654435,-.354422,1.347651,.707524,.679845,-.352663,1.318769,.687067,.704892,-.348994,1.2906,.664637,.729763,-.344105,1.263997,.640663,.754345,-.338129,1.239273,.615484,.778629,-.330905,1.215858,.58921,.801939,-.322113,1.192318,.56155,.825723,-.311673,1.17138,.532175,.849387,-.30041,1.152991,.502055,.872792,-.288328,1.136139,.471308,.895083,-.275087,1.119534,.440427,.918335,-.2607,1.105542,.40926,.941577,-.245717,1.09307,.377142,.963992,-.230079,1.081207,.345289,.98651,-.213523,1.071488,.313508,1.008806,-.196157,1.062011,.281962,1.030724,-.178467,1.05324,.251177,1.053782,-.160291,1.047057,.220986,1.075451,-.141308,1.041842,.192256,1.094947,-.121975,1.037704,.165023,1.111783,-.101744,1.0333,.138228,1.125525,-.081476,1.028234,.110679,1.135873,-.06077,1.021695,.082672,1.142478,-.040207,1.013838,.054506,1.147889,-.019908,1.006166,.026938,1.153852,204e-6,.999983,-123e-6,199e-6,-176e-6,1.771601,.882501,504e-6,-445e-6,1.779195,.882504,.002016,-.001779,1.779635,.882498,.004536,-.004003,1.779586,.882499,.008062,-.007115,1.778613,.882496,.012598,-.011116,1.778678,.882492,.018142,-.016005,1.778531,.882481,.024696,-.021782,1.778556,.882466,.032262,-.028444,1.778507,.882442,.040842,-.035987,1.778385,.882408,.050436,-.044404,1.778034,.882364,.061053,-.053695,1.777761,.882287,.072692,-.063842,1.777256,.88219,.085364,-.074821,1.776518,.882067,.099064,-.086368,1.77508,.881884,.113828,-.098805,1.773836,.881657,.129649,-.11209,1.77237,.881361,.146518,-.126067,1.770594,.880982,.16444,-.140493,1.768089,.880484,.183437,-.155646,1.765301,.879843,.203468,-.171266,1.761698,.879035,.224562,-.187231,1.757518,.877982,.246665,-.20354,1.752318,.876667,.269652,-.219916,1.745356,.875028,.293531,-.236255,1.737186,.872977,.318048,-.25241,1.726709,.870448,.342963,-.268192,1.713109,.8674,.368336,-.283587,1.698087,.863882,.393512,-.298186,1.678638,.859724,.418602,-.311882,1.655604,.854835,.44508,-.3245,1.63225,.848353,.472289,-.335295,1.605069,.840218,.499128,-.344256,1.573846,.830556,.525834,-.351716,1.54112,.819269,.553177,-.358241,1.511385,.806222,.57948,-.36264,1.477866,.791647,.605205,-.365513,1.444218,.775398,.630617,-.366822,1.410954,.757144,.65573,-.366785,1.37901,.737323,.680529,-.364904,1.34728,.715601,.7058,-.36099,1.316416,.691547,.73055,-.355397,1.286344,.666141,.75497,-.348664,1.258954,.638929,.779042,-.340774,1.232965,.611015,.802839,-.331767,1.209775,.581877,.825793,-.321054,1.185813,.551509,.849512,-.309016,1.16508,.519698,.87312,-.296369,1.147091,.487506,.895942,-.282704,1.129658,.45532,.917996,-.268007,1.113463,.422605,.941281,-.252329,1.10004,.389347,.964584,-.236203,1.087973,.35643,.986371,-.219209,1.075983,.323089,1.009522,-.201588,1.06694,.290806,1.031976,-.183296,1.057999,.258682,1.053461,-.164509,1.049542,.227722,1.076121,-.145165,1.043718,.197439,1.096597,-.125199,1.039607,.169578,1.113908,-.104921,1.035528,.142222,1.127939,-.083623,1.029807,.113802,1.138391,-.062589,1.023312,.085164,1.14511,-.041376,1.014806,.056186,1.150141,-.020433,1.006501,.027654,1.156069,97e-6,.999949,-46e-6,2e-4,-185e-6,1.858268,.927857,504e-6,-468e-6,1.861583,.927859,.002016,-.00187,1.860659,.927855,.004535,-.004208,1.860963,.927867,.008063,-.00748,1.860766,.927855,.012594,-.011683,1.859996,.927851,.018142,-.016828,1.860739,.927839,.024698,-.022901,1.860763,.927818,.032263,-.029903,1.860501,.927791,.040846,-.037834,1.860431,.927751,.05044,-.04668,1.859827,.92769,.061066,-.056446,1.859624,.92761,.072713,-.067109,1.859039,.927505,.085393,-.078613,1.858144,.927357,.09912,-.090747,1.856618,.927145,.11391,-.10385,1.855221,.926884,.129755,-.117777,1.85347,.926546,.146669,-.132441,1.851413,.926104,.164648,-.147565,1.848498,.92553,.183708,-.16347,1.845281,.924802,.203832,-.179763,1.841273,.923871,.225029,-.196564,1.836481,.922691,.247221,-.213537,1.830273,.921198,.270343,-.230662,1.822374,.91932,.294399,-.24774,1.812975,.917008,.31904,-.264448,1.800693,.914141,.344269,-.280831,1.785923,.910707,.369625,-.296478,1.767203,.906585,.394925,-.311287,1.744434,.901918,.420583,-.325578,1.720938,.89624,.4462,-.338384,1.693005,.889335,.472969,-.349187,1.660901,.880394,.50049,-.358687,1.628806,.869705,.527312,-.366042,1.593001,.857145,.554207,-.372045,1.557046,.842943,.58062,-.376134,1.520192,.826837,.60648,-.378636,1.482947,.808891,.631815,-.379414,1.445954,.789119,.657021,-.378972,1.410833,.767564,.681686,-.376728,1.376575,.744338,.706498,-.372844,1.342935,.718799,.731258,-.366649,1.311052,.691756,.755937,-.359354,1.280478,.662683,.779259,-.350487,1.250585,.632892,.803295,-.340941,1.225722,.60216,.82657,-.330174,1.201003,.57052,.849954,-.317854,1.178488,.537651,.873696,-.304426,1.158302,.503799,.896695,-.29012,1.139886,.469645,.919149,-.275106,1.122884,.435625,.942121,-.259282,1.107691,.401228,.964627,-.242123,1.093661,.367086,.986614,-.224575,1.08158,.332885,1.009623,-.206837,1.071375,.299209,1.033126,-.188092,1.062241,.266187,1.054954,-.168637,1.052912,.233733,1.07766,-.149166,1.047047,.203192,1.097983,-.128587,1.041607,.173918,1.115586,-.107339,1.03685,.145531,1.13017,-.086203,1.031427,.11689,1.141018,-.064171,1.024395,.087388,1.147681,-.04253,1.015719,.057733,1.15256,-.021011,1.006883,.028413,1.158406,158e-6,.999897,-106e-6,2e-4,-195e-6,1.950982,.975366,504e-6,-491e-6,1.950207,.975365,.002015,-.001966,1.950675,.975362,.004535,-.004423,1.951281,.97537,.008062,-.007863,1.951045,.975362,.012597,-.012285,1.951199,.975356,.018145,-.017692,1.951528,.97534,.024699,-.024074,1.951194,.975321,.032266,-.031434,1.950865,.975288,.040853,-.039771,1.951038,.975244,.050452,-.049067,1.950336,.975173,.061077,-.059324,1.949805,.975078,.072736,-.070526,1.949133,.974951,.085431,-.082528,1.947947,.974777,.099182,-.095345,1.946337,.97454,.113999,-.109118,1.944725,.974241,.129888,-.123741,1.942857,.973852,.146842,-.139071,1.940251,.973342,.16489,-.154986,1.937086,.972684,.184025,-.171661,1.933404,.971856,.204245,-.188672,1.92877,.970785,.225528,-.206252,1.923041,.969448,.247841,-.223972,1.915788,.967742,.271157,-.241827,1.907008,.965607,.295297,-.259562,1.895854,.963007,.320121,-.276909,1.881289,.959722,.345566,-.293883,1.864528,.955831,.371012,-.309816,1.842062,.951127,.396834,-.325157,1.818068,.945725,.422277,-.339357,1.788874,.939318,.447928,-.352387,1.758283,.93147,.474315,-.36368,1.723668,.9219,.50156,-.372963,1.686081,.909996,.528391,-.380159,1.645816,.896244,.554754,-.385545,1.603709,.880326,.581888,-.389778,1.565475,.862716,.607791,-.391839,1.524196,.843146,.633511,-.392331,1.483921,.821554,.658621,-.391193,1.445013,.798336,.68316,-.388424,1.406963,.773299,.707429,-.384104,1.370996,.746668,.732212,-.377945,1.335879,.717502,.756871,-.369856,1.302489,.686954,.781065,-.360707,1.271815,.655372,.804167,-.350091,1.242416,.622683,.827948,-.338941,1.217208,.589185,.850901,-.326427,1.192354,.555005,.873589,-.312199,1.169639,.519594,.897085,-.297374,1.150181,.484105,.920459,-.281932,1.132858,.448661,.942637,-.265625,1.115401,.413051,.965341,-.248332,1.101078,.377329,.98753,-.229983,1.087377,.342349,1.010739,-.211647,1.076582,.307824,1.033449,-.192725,1.0659,.273368,1.055618,-.172726,1.056958,.240238,1.079345,-.15264,1.04962,.208322,1.100058,-.131931,1.044084,.178242,1.118547,-.110351,1.039387,.149493,1.132748,-.088128,1.033049,.119673,1.143419,-.066069,1.025521,.089728,1.150316,-.043513,1.016378,.059253,1.155208,-.021593,1.007506,.02914,1.160871,111e-6,.999916,-35e-6,201e-6,-206e-6,2.061,1.025243,504e-6,-516e-6,2.049647,1.025237,.002015,-.002066,2.050169,1.025237,.004535,-.00465,2.051254,1.025255,.008063,-.008266,2.051302,1.025236,.0126,-.012915,2.051508,1.025226,.018144,-.018594,2.050981,1.025215,.0247,-.025304,2.050841,1.02519,.032267,-.033038,2.050537,1.025152,.040852,-.041795,2.05066,1.02509,.05046,-.05157,2.049921,1.025017,.061094,-.062347,2.04935,1.024908,.072762,-.074111,2.048517,1.02476,.085475,-.086661,2.047009,1.024555,.099249,-.10016,2.045261,1.024278,.114106,-.114628,2.043508,1.023941,.130032,-.130002,2.041321,1.023488,.14705,-.145985,2.038299,1.022905,.165164,-.162762,2.034658,1.022151,.18438,-.180172,2.030312,1.0212,.204704,-.198022,2.024944,1.019966,.226129,-.216359,2.018546,1.018424,.248582,-.234923,2.010153,1.016519,.272011,-.253474,1.999659,1.014072,.296259,-.27182,1.986076,1.011071,.321423,-.289959,1.970618,1.007389,.346897,-.307283,1.949667,1.002955,.37275,-.323817,1.925287,.997633,.398603,-.339241,1.896006,.991354,.424351,-.353633,1.863658,.983937,.449887,-.36666,1.82743,.975254,.475715,-.378213,1.789521,.964753,.502204,-.387133,1.745632,.951594,.530179,-.394976,1.705347,.936344,.556732,-.400134,1.658928,.918907,.583123,-.403439,1.613077,.899504,.609477,-.405285,1.567884,.878172,.634927,-.405055,1.523507,.854396,.660357,-.403494,1.481712,.829259,.684851,-.400104,1.439,.802359,.709654,-.395536,1.400956,.773534,.733472,-.388996,1.362156,.74323,.757502,-.380263,1.325113,.71109,.782249,-.370594,1.292913,.677166,.806017,-.359509,1.262088,.642527,.828687,-.347126,1.232059,.607589,.852372,-.334474,1.20716,.571938,.874266,-.320074,1.181978,.535518,.898168,-.304719,1.161156,.498375,.920456,-.288246,1.140667,.461179,.942832,-.271311,1.12278,.424533,.966458,-.254154,1.108743,.387784,.988907,-.235659,1.093872,.351689,1.011557,-.216322,1.081959,.315743,1.035099,-.197007,1.070885,.280402,1.056354,-.176878,1.059968,.246472,1.079854,-.156058,1.051815,.212818,1.101494,-.134772,1.045757,.182143,1.120587,-.113071,1.041169,.152867,1.135399,-.090411,1.034844,.122796,1.146612,-.067477,1.026974,.091888,1.153168,-.044849,1.017303,.060779,1.157912,-.021998,1.007735,.029919,1.163607,121e-6,.999959,3e-6,2e-4,-216e-6,2.163956,1.077737,504e-6,-543e-6,2.161128,1.077732,.002016,-.002173,2.162732,1.077729,.004535,-.004887,2.161402,1.077749,.008066,-.008692,2.163252,1.077732,.012599,-.013576,2.1613,1.077727,.018145,-.019546,2.161151,1.077702,.024702,-.026599,2.161223,1.077675,.032272,-.034729,2.160949,1.077632,.040862,-.043936,2.160967,1.077575,.05047,-.054203,2.160035,1.077473,.061113,-.065528,2.15949,1.077348,.072794,-.077882,2.158517,1.077178,.085528,-.09103,2.156605,1.076937,.099337,-.105251,2.154828,1.076631,.114228,-.120456,2.152812,1.076229,.130202,-.136573,2.150298,1.075713,.147284,-.153306,2.146752,1.075031,.16548,-.170931,2.142744,1.074173,.184793,-.189083,2.137475,1.073063,.205224,-.20784,2.13132,1.071683,.226743,-.226939,2.123154,1.069914,.249401,-.246344,2.114086,1.067718,.272955,-.26564,2.101599,1.064924,.297494,-.284846,2.086612,1.061512,.322731,-.303452,2.067356,1.057359,.348451,-.32133,2.043711,1.052294,.374451,-.338201,2.015033,1.046153,.400454,-.353816,1.981139,1.039003,.426434,-.368216,1.944128,1.030498,.452088,-.381251,1.903094,1.020454,.477901,-.392833,1.860402,1.008793,.504173,-.402408,1.814402,.994791,.53152,-.409545,1.766273,.977733,.558049,-.414351,1.714119,.958625,.584778,-.417437,1.664612,.937189,.610808,-.418519,1.613793,.913543,.636915,-.418094,1.565942,.888137,.662204,-.415742,1.518783,.860728,.686848,-.411746,1.473306,.831793,.710992,-.406153,1.430153,.800862,.735382,-.399519,1.389824,.768768,.759079,-.390927,1.350744,.734825,.782912,-.380111,1.313559,.69945,.806746,-.368383,1.280028,.663191,.830269,-.355606,1.249814,.625927,.853305,-.341988,1.221138,.588644,.876326,-.327545,1.195837,.550849,.898322,-.311779,1.171844,.512694,.921811,-.294944,1.150671,.474225,.944563,-.277333,1.132224,.435772,.967089,-.25934,1.115422,.398001,.989754,-.240836,1.100405,.360802,1.01247,-.221293,1.086533,.323566,1.036426,-.201191,1.075496,.287387,1.058709,-.18059,1.064233,.252184,1.081593,-.15981,1.055296,.218441,1.103146,-.137772,1.047978,.186223,1.122814,-.115347,1.042693,.156019,1.13779,-.092582,1.036049,.125579,1.149184,-.069152,1.027944,.093986,1.156062,-.045661,1.018039,.062122,1.160733,-.022719,1.008072,.03065,1.166487,231e-6,1.000063,-12e-5,201e-6,-228e-6,2.308308,1.133128,504e-6,-571e-6,2.283756,1.133123,.002016,-.002284,2.283756,1.133123,.004535,-.005138,2.28331,1.133144,.008048,-.009119,2.266192,1.133138,.0126,-.014274,2.284377,1.13311,.018147,-.020553,2.284204,1.133093,.024702,-.027964,2.283517,1.13306,.032272,-.03651,2.282997,1.133007,.040866,-.046188,2.282986,1.13293,.050481,-.056979,2.28226,1.132824,.061133,-.068881,2.281533,1.132678,.07283,-.08185,2.280504,1.132481,.085592,-.095657,2.278304,1.132202,.099431,-.110594,2.276269,1.131845,.11436,-.12659,2.27389,1.131383,.130388,-.143454,2.270761,1.130784,.147547,-.161029,2.266794,1.130003,.165836,-.179523,2.262332,1.129016,.185269,-.198527,2.256326,1.127738,.205822,-.218138,2.249031,1.126156,.227527,-.238141,2.239993,1.124132,.250325,-.258302,2.228878,1.121594,.27407,-.278329,2.214204,1.118449,.298793,-.29831,2.196654,1.114528,.324131,-.317462,2.173394,1.109783,.350101,-.335853,2.146395,1.103901,.376293,-.353064,2.112341,1.096954,.402547,-.36895,2.0737,1.088642,.428791,-.383462,2.031152,1.078946,.454976,-.396635,1.986661,1.067536,.480566,-.407873,1.937038,1.054403,.506154,-.417303,1.885155,1.038894,.532862,-.424194,1.830369,1.020535,.560354,-.429344,1.776976,.999295,.587114,-.431949,1.721214,.97599,.613345,-.432547,1.665739,.950239,.639335,-.431338,1.6122,.922467,.664996,-.428473,1.561035,.892593,.688947,-.423355,1.50824,.861325,.713403,-.417235,1.461776,.828289,.737649,-.409848,1.418888,.793863,.761275,-.400901,1.376807,.758074,.784778,-.390174,1.337204,.721974,.808762,-.377683,1.301527,.682718,.831993,-.364037,1.267144,.644001,.854696,-.349494,1.236023,.605478,.877933,-.334499,1.209284,.565588,.90018,-.318435,1.183967,.526138,.923039,-.301669,1.161513,.486524,.945895,-.283298,1.140838,.446747,.968069,-.264438,1.122475,.408041,.991179,-.245463,1.106968,.369477,1.012926,-.22568,1.091435,.331626,1.036995,-.205401,1.079561,.294288,1.060909,-.18431,1.068215,.257696,1.083531,-.162846,1.058133,.223343,1.105644,-.14104,1.050851,.190541,1.125691,-.117965,1.045001,.15931,1.141297,-.094377,1.038028,.128238,1.152672,-.070831,1.029694,.096282,1.159333,-.046853,1.019136,.06372,1.163819,-.022991,1.008518,.031234,1.169564,125e-6,1.000069,-24e-6,202e-6,-241e-6,2.458341,1.191742,504e-6,-6e-4,2.418738,1.19174,.002015,-.002401,2.418821,1.19173,.004535,-.005405,2.421986,1.191756,.008071,-.009618,2.424988,1.191753,.0126,-.015012,2.420242,1.191727,.018145,-.021612,2.419937,1.191703,.024704,-.02941,2.419746,1.191662,.032278,-.038398,2.419409,1.191604,.040874,-.048574,2.418995,1.191515,.050496,-.05992,2.41819,1.191389,.06116,-.072432,2.417487,1.191221,.072871,-.086009,2.415853,1.190984,.085664,-.100559,2.413669,1.190664,.099543,-.116283,2.411423,1.190256,.11452,-.133071,2.408711,1.189719,.130616,-.15067,2.4049,1.189019,.147856,-.169197,2.400512,1.188125,.166235,-.188545,2.394939,1.186972,.185804,-.20848,2.388232,1.185515,.206488,-.228883,2.37919,1.183673,.228383,-.249897,2.369208,1.181382,.251305,-.270851,2.355459,1.178478,.275349,-.29178,2.339142,1.174857,.300106,-.312257,2.316655,1.170411,.325849,-.332225,2.29154,1.164883,.351782,-.350862,2.257242,1.158196,.378248,-.368431,2.218671,1.150173,.404674,-.384428,2.17368,1.140703,.431385,-.39923,2.127083,1.129555,.457407,-.411875,2.073236,1.116436,.483275,-.423013,2.018223,1.101373,.509278,-.432624,1.962674,1.084257,.534751,-.439261,1.900814,1.064592,.561895,-.443801,1.839558,1.040881,.588677,-.445872,1.777763,1.015208,.6149,-.445896,1.71655,.987252,.641051,-.444148,1.657984,.957271,.666409,-.440299,1.600832,.924841,.691872,-.435318,1.548237,.891185,.716638,-.428631,1.497572,.855929,.739864,-.419872,1.447043,.819676,.763707,-.410456,1.403648,.781455,.786744,-.39939,1.360844,.742965,.809585,-.386381,1.320529,.70326,.834164,-.372622,1.286467,.662385,.856713,-.357177,1.252306,.621379,.87982,-.341458,1.22307,.580238,.902721,-.325024,1.197115,.539028,.92465,-.307543,1.172314,.498592,.947613,-.289557,1.151171,.45798,.96959,-.269799,1.129986,.417696,.992961,-.250111,1.113321,.377529,1.014582,-.229761,1.097149,.339096,1.038069,-.209375,1.083913,.301119,1.061661,-.188038,1.071241,.263506,1.085069,-.165874,1.060508,.227921,1.107744,-.143437,1.05293,.194062,1.127982,-.120574,1.046396,.162506,1.144541,-.096569,1.03988,.130788,1.155876,-.072039,1.030946,.098057,1.162719,-.047888,1.020124,.064956,1.167089,-.02374,1.008953,.031966,1.172775,277e-6,1.000067,-111e-6,2e-4,-251e-6,2.573709,1.253951,504e-6,-632e-6,2.572401,1.25394,.002015,-.002527,2.571267,1.253927,.004535,-.005687,2.572481,1.253948,.008062,-.010108,2.571851,1.253941,.012588,-.01578,2.568431,1.253934,.018139,-.022731,2.569765,1.253893,.024709,-.030948,2.572115,1.253853,.032283,-.040401,2.571456,1.253785,.040883,-.051105,2.571041,1.253683,.050514,-.063041,2.570153,1.253538,.061188,-.076195,2.569085,1.253336,.072926,-.090402,2.567184,1.253065,.085746,-.105745,2.564731,1.252697,.099661,-.122296,2.561995,1.252218,.114699,-.139912,2.559019,1.25159,.130882,-.158362,2.555017,1.250766,.148202,-.177856,2.549419,1.249744,.166706,-.198049,2.542908,1.248423,.186404,-.219014,2.535205,1.246741,.207272,-.240376,2.524893,1.244596,.229345,-.26223,2.512804,1.241917,.252494,-.284134,2.496923,1.23861,.27669,-.305828,2.476583,1.234474,.301798,-.327107,2.451548,1.229292,.327423,-.3473,2.41863,1.222997,.353848,-.366699,2.381002,1.215366,.380342,-.384421,2.334413,1.206199,.40739,-.400855,2.28566,1.195374,.433913,-.415241,2.228604,1.18229,.460837,-.428275,2.171532,1.167385,.486381,-.438573,2.105639,1.150401,.511959,-.447348,2.040835,1.13099,.537586,-.454152,1.974797,1.109302,.564035,-.458684,1.907895,1.084131,.59069,-.460058,1.839482,1.055803,.61725,-.459662,1.772332,1.025103,.643406,-.45726,1.707313,.992502,.668794,-.452666,1.644722,.957657,.69393,-.446641,1.586832,.92134,.718708,-.439121,1.531197,.883841,.743469,-.430429,1.480765,.844931,.76608,-.419622,1.430338,.804786,.789801,-.408368,1.386295,.764206,.812718,-.395392,1.343758,.722565,.835453,-.380699,1.304655,.680585,.858801,-.364834,1.269287,.637235,.881537,-.348092,1.237493,.594579,.904656,-.331087,1.208862,.552313,.926357,-.312966,1.182365,.51008,.949001,-.294684,1.159452,.468677,.971598,-.275361,1.138706,.426723,.994905,-.254947,1.120552,.385875,1.017981,-.234109,1.104215,.345751,1.04084,-.21304,1.089276,.306762,1.063893,-.191616,1.075845,.269066,1.086907,-.169272,1.063788,.232171,1.109937,-.146076,1.054977,.197826,1.130808,-.122544,1.048572,.165272,1.146831,-.098492,1.040742,.13328,1.158955,-.07371,1.031818,.100262,1.166161,-.04861,1.020747,.066165,1.170491,-.024209,1.00938,.032741,1.176111,1e-5,1.000042,56e-6,202e-6,-267e-6,2.786357,1.320169,504e-6,-665e-6,2.741889,1.320168,.002015,-.00266,2.74,1.320143,.004536,-.005987,2.744276,1.320161,.008063,-.010644,2.743432,1.320162,.0126,-.016628,2.741741,1.320148,.018144,-.023937,2.741314,1.320127,.024708,-.032577,2.741916,1.320061,.03229,-.042536,2.742132,1.319976,.040894,-.053799,2.741199,1.319861,.050533,-.066361,2.740258,1.319691,.061223,-.080202,2.739045,1.319458,.072985,-.095109,2.736519,1.319138,.085841,-.111296,2.733903,1.318715,.099808,-.128685,2.730944,1.318156,.114903,-.147202,2.727293,1.317424,.131164,-.166575,2.722169,1.316485,.148599,-.187019,2.716148,1.315274,.167245,-.20824,2.708701,1.313733,.187078,-.230151,2.698998,1.311792,.208153,-.252538,2.687341,1.309343,.230418,-.275295,2.672621,1.306247,.253802,-.298066,2.653619,1.302374,.278261,-.320673,2.629943,1.297573,.303527,-.342528,2.599228,1.291625,.329571,-.363531,2.562226,1.284374,.355939,-.382963,2.515491,1.275478,.382987,-.401306,2.464858,1.264866,.409917,-.417455,2.404877,1.252184,.437015,-.432067,2.341408,1.237415,.463474,-.444204,2.271837,1.220687,.489835,-.454631,2.200593,1.200973,.516054,-.463338,2.129733,1.179346,.541397,-.469425,2.055635,1.155039,.566798,-.473526,1.980812,1.127866,.593114,-.474632,1.904723,1.097304,.619945,-.473597,1.832456,1.063603,.646325,-.470656,1.761501,1.027971,.67232,-.465675,1.694248,.990692,.697163,-.458527,1.629227,.951582,.721472,-.449904,1.568132,.911197,.745855,-.44014,1.512084,.869745,.770089,-.429338,1.460694,.827648,.792546,-.416701,1.410739,.784728,.815161,-.403151,1.365438,.741884,.837994,-.388714,1.324811,.6978,.86122,-.372573,1.287723,.653341,.883737,-.355024,1.252491,.609455,.906784,-.337092,1.221844,.565275,.928493,-.31837,1.192881,.521558,.951495,-.299605,1.169131,.478149,.973586,-.280067,1.146316,.436325,.9964,-.259823,1.12786,.394409,1.01978,-.238313,1.110521,.353045,1.042775,-.216506,1.093915,.312803,1.066822,-.194695,1.080326,.2741,1.089869,-.17229,1.067722,.236657,1.113606,-.149264,1.058471,.201603,1.134229,-.124814,1.050701,.168398,1.150922,-.10007,1.043051,.135616,1.163224,-.075155,1.033742,.102144,1.169965,-.049933,1.021818,.067532,1.1742,-.024461,1.009916,.033215,1.179766,188e-6,1.000045,-14e-6,202e-6,-281e-6,2.964186,1.39088,505e-6,-702e-6,2.945157,1.390903,.002015,-.002802,2.931184,1.390863,.004535,-.006307,2.935673,1.3909,.008063,-.011213,2.934274,1.39089,.012598,-.017516,2.932216,1.390876,.018147,-.025221,2.933324,1.390832,.024711,-.034322,2.933945,1.390769,.032295,-.04481,2.933496,1.390674,.040904,-.056673,2.932487,1.390538,.050555,-.069906,2.931571,1.390342,.061259,-.084468,2.929914,1.390064,.073053,-.100152,2.927039,1.389695,.085948,-.117202,2.924241,1.389201,.099968,-.135531,2.92076,1.388548,.115135,-.154906,2.915998,1.387692,.131496,-.175352,2.910285,1.386611,.149049,-.196783,2.903174,1.38519,.167848,-.219066,2.894584,1.383407,.187879,-.241983,2.883171,1.381148,.209143,-.265398,2.869102,1.378261,.231689,-.289254,2.852238,1.37469,.255223,-.312776,2.828264,1.370166,.279952,-.33626,2.800175,1.364591,.305572,-.358865,2.764282,1.357758,.33165,-.380223,2.717845,1.349413,.358491,-.400252,2.665326,1.339084,.385445,-.418422,2.602293,1.326773,.412947,-.434993,2.536973,1.312141,.439681,-.448757,2.459463,1.295205,.467272,-.461427,2.38625,1.275573,.493568,-.471102,2.303225,1.2534,.519743,-.47893,2.221945,1.22889,.544882,-.484098,2.136425,1.20173,.57069,-.488125,2.057093,1.172022,.595905,-.489185,1.975334,1.139312,.622747,-.487535,1.895055,1.103038,.648695,-.483482,1.815995,1.064364,.675159,-.478096,1.744272,1.024098,.700714,-.470492,1.675257,.982186,.725641,-.461398,1.609135,.939137,.748552,-.449825,1.545091,.894791,.772808,-.438185,1.489394,.850373,.795928,-.425073,1.437026,.805287,.8189,-.411028,1.389654,.760003,.841633,-.396047,1.345873,.714914,.863213,-.379637,1.305185,.669271,.886662,-.362227,1.269147,.622935,.908504,-.343068,1.234714,.577757,.931425,-.323982,1.204997,.532922,.953835,-.304347,1.178871,.488154,.975813,-.284219,1.155019,.444885,.997662,-.263544,1.133941,.402224,1.021167,-.242611,1.1161,.36053,1.044038,-.220065,1.098348,.318968,1.068837,-.19758,1.084605,.279107,1.092548,-.174779,1.071217,.241111,1.116157,-.151596,1.060486,.204913,1.137486,-.127478,1.052751,.17141,1.154694,-.101915,1.044807,.137999,1.166867,-.076246,1.034824,.103807,1.173715,-.050661,1.022501,.068802,1.178236,-.025355,1.010324,.034155,1.183545,205e-6,1.000059,-11e-5,201e-6,-294e-6,3.16108,1.466721,505e-6,-74e-5,3.155526,1.466737,.002016,-.002957,3.152852,1.466688,.004537,-.006655,3.150654,1.466667,.008066,-.011828,3.153109,1.466694,.012604,-.018479,3.152143,1.466721,.01815,-.026598,3.151025,1.466636,.024714,-.036191,3.1503,1.466562,.032301,-.047249,3.149861,1.46645,.040924,-.059766,3.149548,1.466289,.050579,-.073703,3.147516,1.466055,.061306,-.089022,3.14568,1.465738,.073135,-.105563,3.142428,1.465301,.086075,-.123544,3.139113,1.464715,.100153,-.142853,3.135064,1.463956,.115411,-.163183,3.129509,1.462962,.131876,-.18476,3.122959,1.46167,.14957,-.207172,3.114153,1.460045,.168523,-.230578,3.103626,1.457945,.188784,-.254658,3.090818,1.455279,.210264,-.279114,3.073352,1.451998,.23303,-.30393,3.052592,1.44778,.256959,-.328517,3.025187,1.442568,.281901,-.352755,2.990341,1.436026,.307728,-.375894,2.94682,1.427979,.334197,-.397924,2.892845,1.418249,.360966,-.417914,2.827937,1.40637,.388478,-.436526,2.758006,1.392134,.415567,-.452366,2.674696,1.375244,.443518,-.466917,2.595136,1.35566,.470631,-.478417,2.504173,1.333123,.497419,-.487825,2.413227,1.308181,.523961,-.495064,2.321239,1.280227,.549708,-.499844,2.228911,1.249894,.575296,-.502844,2.138834,1.21713,.600168,-.503368,2.04903,1.181412,.625874,-.501622,1.962267,1.142648,.652164,-.496936,1.8769,1.101268,.678029,-.490319,1.796344,1.057782,.703248,-.481575,1.718925,1.012884,.72852,-.471822,1.648358,.966487,.752577,-.460134,1.581989,.91988,.776163,-.447164,1.520109,.873087,.800016,-.433601,1.465081,.825803,.822176,-.418388,1.412564,.778249,.844873,-.402704,1.366184,.730849,.865955,-.385633,1.321865,.684037,.888173,-.368255,1.283464,.637192,.910994,-.349332,1.249215,.590131,.93427,-.329612,1.218366,.543213,.956653,-.309228,1.189808,.497752,.978476,-.28831,1.163674,.452837,1.000755,-.267243,1.141389,.409481,1.023827,-.246015,1.122012,.367354,1.045572,-.223777,1.103303,.325171,1.070445,-.200837,1.08801,.284442,1.094268,-.177211,1.07365,.245138,1.118639,-.153531,1.063051,.208289,1.139786,-.129074,1.053921,.173607,1.157848,-.104051,1.045968,.140467,1.170697,-.077694,1.035782,.105594,1.177874,-.051393,1.023483,.069898,1.182242,-.025392,1.01062,.034532,1.187612,-32e-6,1.000062,-35e-6,202e-6,-313e-6,3.450327,1.548291,504e-6,-78e-5,3.396162,1.548289,.002015,-.00312,3.395621,1.54826,.004533,-.007019,3.394299,1.548217,.008066,-.012486,3.398803,1.548274,.0126,-.0195,3.396363,1.548245,.018151,-.028076,3.396805,1.548192,.024722,-.038209,3.396384,1.548109,.032306,-.049868,3.395158,1.547979,.040936,-.063077,3.394303,1.547785,.05061,-.077791,3.392979,1.547513,.06136,-.093869,3.38991,1.547134,.073227,-.11138,3.386669,1.546619,.086217,-.130371,3.382974,1.545938,.100364,-.150684,3.378046,1.545039,.115733,-.172116,3.371719,1.54388,.132309,-.194809,3.363764,1.54238,.150174,-.218431,3.353699,1.540462,.16934,-.242954,3.341397,1.538002,.189788,-.268175,3.324957,1.534894,.211581,-.293776,3.304776,1.530954,.234561,-.319619,3.278192,1.526033,.258776,-.345089,3.24491,1.519926,.284059,-.370176,3.203338,1.512296,.310312,-.394171,3.152477,1.502956,.336748,-.416137,3.083616,1.491463,.364029,-.436752,3.010481,1.477493,.391575,-.455102,2.925454,1.460933,.419409,-.471378,2.83438,1.441554,.446811,-.484714,2.733329,1.418861,.474489,-.496021,2.63363,1.393405,.501751,-.504991,2.530935,1.364633,.528488,-.511392,2.426653,1.333234,.554428,-.515395,2.323633,1.299138,.580434,-.517761,2.224964,1.262462,.605474,-.517598,2.127228,1.223784,.629888,-.514946,2.030545,1.182321,.655579,-.510177,1.93907,1.138515,.68194,-.503097,1.852355,1.091502,.707228,-.493537,1.768084,1.043464,.731894,-.482372,1.69084,.994242,.756741,-.470312,1.619277,.944749,.78016,-.456412,1.55343,.894816,.803384,-.441492,1.493357,.845202,.826347,-.425944,1.43783,.795954,.849145,-.409532,1.388578,.746915,.870617,-.391988,1.341527,.698025,.892943,-.374229,1.302188,.649579,.913828,-.355148,1.262877,.601833,.93683,-.335238,1.230136,.554521,.958687,-.313939,1.199596,.507208,.982008,-.292741,1.173619,.461357,1.003691,-.27094,1.149015,.416031,1.027223,-.249102,1.128689,.372457,1.050048,-.226899,1.109444,.330281,1.074105,-.204329,1.092943,.288987,1.098971,-.18056,1.078591,.249075,1.123324,-.155987,1.066885,.211519,1.145445,-.130929,1.057617,.176506,1.162856,-.105269,1.048453,.142345,1.17536,-.079267,1.037439,.107452,1.182514,-.052547,1.024393,.071252,1.186575,-.025744,1.011093,.035019,1.19205,318e-6,1.000013,-152e-6,204e-6,-334e-6,3.909175,1.636412,504e-6,-825e-6,3.678647,1.63641,.002015,-.003298,3.678315,1.636387,.004533,-.007417,3.674126,1.63631,.008062,-.01319,3.676771,1.636376,.012603,-.020613,3.678135,1.636369,.018153,-.029675,3.677315,1.636299,.024723,-.040378,3.676872,1.636196,.032318,-.052708,3.67575,1.636038,.040955,-.06666,3.674803,1.63581,.050645,-.082203,3.672735,1.635494,.061429,-.09915,3.669047,1.635048,.073333,-.117679,3.665401,1.634437,.086388,-.137725,3.661315,1.633634,.10062,-.159081,3.654992,1.632571,.116087,-.181721,3.647341,1.631202,.13282,-.205611,3.637877,1.629432,.150867,-.230542,3.626333,1.627161,.170234,-.256239,3.610671,1.624266,.190981,-.282751,3.591685,1.620589,.213013,-.30943,3.565864,1.615999,.236387,-.336427,3.534826,1.610216,.260943,-.362931,3.493984,1.603047,.286497,-.388644,3.442075,1.59392,.312769,-.412912,3.375973,1.582961,.339832,-.435635,3.299355,1.569343,.367214,-.456181,3.208994,1.553137,.394935,-.474325,3.10891,1.533791,.422935,-.490318,3.001767,1.511093,.451166,-.503827,2.891735,1.485145,.478695,-.514185,2.77343,1.455617,.506313,-.522502,2.657639,1.422946,.533427,-.528119,2.541132,1.387843,.559942,-.53143,2.42695,1.349542,.58515,-.531978,2.312437,1.309303,.6105,-.531054,2.205966,1.26628,.63538,-.528058,2.101993,1.221709,.659852,-.522751,2.00295,1.175062,.685151,-.515026,1.908647,1.125078,.71092,-.50502,1.819389,1.074296,.736066,-.493268,1.735806,1.02242,.760503,-.480032,1.658607,.97023,.785091,-.465986,1.589424,.917077,.807523,-.449721,1.522533,.864888,.830974,-.433461,1.465416,.813006,.852659,-.415808,1.409076,.761689,.874841,-.397855,1.360758,.711258,.896322,-.379041,1.316829,.661721,.918134,-.360048,1.278574,.612263,.939356,-.340108,1.2422,.564369,.961025,-.318877,1.210305,.516506,.984371,-.29713,1.183689,.469342,1.006905,-.274661,1.157466,.42308,1.029941,-.252234,1.135066,.378315,1.052751,-.229268,1.114518,.335169,1.077981,-.206662,1.09776,.293336,1.102542,-.183331,1.082051,.252984,1.126539,-.158797,1.068935,.21499,1.149023,-.133014,1.058996,.178903,1.16755,-.106641,1.050245,.144559,1.179994,-.079952,1.038648,.108667,1.187104,-.053316,1.025284,.072209,1.191406,-.026826,1.011453,.035833,1.196748,226e-6,1.000034,-61e-6,2e-4,-346e-6,3.996419,1.732034,504e-6,-873e-6,4.000138,1.732038,.002016,-.003492,4.002078,1.732012,.004538,-.007859,4.005626,1.731962,.008064,-.013963,3.9985,1.731999,.01259,-.021794,3.995024,1.732004,.018154,-.031406,3.999233,1.731901,.024727,-.042733,3.998497,1.731774,.032327,-.055781,3.997064,1.731599,.040974,-.070543,3.995856,1.731325,.050685,-.086984,3.993839,1.730945,.061506,-.104897,3.989519,1.730417,.073458,-.124506,3.985313,1.729697,.086573,-.145706,3.979984,1.728747,.100909,-.168211,3.972562,1.727491,.116509,-.192198,3.963836,1.725854,.133404,-.21728,3.951919,1.723749,.151659,-.243556,3.937734,1.721093,.171288,-.270611,3.919021,1.71764,.192301,-.298389,3.895171,1.713272,.214683,-.326338,3.864171,1.707825,.238392,-.354394,3.824682,1.700956,.263151,-.381636,3.771168,1.692392,.289155,-.408266,3.709961,1.681769,.315832,-.43307,3.630302,1.668539,.342942,-.455741,3.534719,1.652513,.370892,-.476655,3.431531,1.633428,.398985,-.494692,3.314933,1.610694,.427206,-.510313,3.189741,1.58424,.455266,-.52276,3.058325,1.554195,.483472,-.532872,2.927213,1.520805,.511192,-.540229,2.794112,1.484026,.538706,-.545105,2.663786,1.443796,.565422,-.547251,2.534841,1.401429,.59127,-.547115,2.408437,1.356231,.616787,-.545113,2.291284,1.308887,.64138,-.540853,2.177478,1.260447,.665344,-.534561,2.069265,1.210634,.690147,-.527115,1.969776,1.158569,.714578,-.516171,1.870847,1.104593,.740349,-.504048,1.782674,1.049578,.764563,-.489683,1.698614,.994458,.78871,-.474541,1.624447,.938612,.812154,-.458099,1.554453,.883694,.834566,-.440345,1.490045,.83022,.857486,-.422491,1.432889,.776499,.879224,-.403588,1.380669,.724257,.899971,-.383819,1.333124,.673311,.922111,-.36425,1.292648,.622999,.942842,-.343873,1.253933,.573304,.964398,-.323206,1.221027,.52509,.98686,-.301711,1.191806,.47758,1.00976,-.278695,1.165162,.430624,1.033347,-.255591,1.141715,.384482,1.055937,-.232039,1.119739,.340532,1.081178,-.208664,1.102117,.297311,1.105696,-.184935,1.085062,.256227,1.129575,-.160673,1.070918,.217709,1.152135,-.135414,1.060642,.181471,1.171221,-.108462,1.051041,.14638,1.184412,-.081008,1.039694,.11012,1.19182,-.05371,1.025903,.073052,1.196195,-.026625,1.011816,.036129,1.201677,-175e-6,.999945,98e-6,196e-6,-36e-5,4.100786,1.83629,504e-6,-925e-6,4.370184,1.836295,.002018,-.003706,4.385247,1.836243,.004534,-.008324,4.370146,1.83621,.008064,-.014805,4.372335,1.836256,.012597,-.023116,4.359918,1.836259,.018158,-.033299,4.371503,1.836123,.024732,-.045301,4.370533,1.835988,.032344,-.059143,4.369649,1.835768,.040999,-.074779,4.367861,1.835454,.050739,-.092178,4.364322,1.834974,.061594,-.111161,4.359221,1.834355,.073604,-.131958,4.35462,1.833499,.086796,-.154393,4.347915,1.832355,.101246,-.178201,4.339152,1.83088,.11699,-.203531,4.328327,1.828936,.134086,-.230043,4.31424,1.826442,.152589,-.257718,4.296795,1.82323,.172514,-.286176,4.273985,1.819124,.193853,-.315295,4.244136,1.813909,.216582,-.344507,4.205152,1.80741,.240668,-.373646,4.154781,1.799084,.265904,-.401897,4.091563,1.788905,.292226,-.429136,4.013199,1.776206,.319045,-.454057,3.912886,1.7605,.346721,-.477219,3.800927,1.741586,.374849,-.497883,3.675652,1.718818,.403078,-.515504,3.536892,1.692138,.431597,-.530621,3.391351,1.661434,.460246,-.542852,3.242817,1.626989,.488899,-.552238,3.093685,1.588582,.517215,-.559045,2.944163,1.5463,.54448,-.562351,2.794189,1.501299,.571542,-.563394,2.650239,1.453758,.598167,-.56259,2.513757,1.403321,.624104,-.559636,2.384203,1.352431,.648789,-.554148,2.259149,1.298758,.672715,-.546779,2.14025,1.244943,.696258,-.537896,2.030401,1.189971,.720048,-.527401,1.928311,1.134526,.744078,-.514142,1.830175,1.076504,.768895,-.499352,1.740731,1.018032,.792551,-.482982,1.658911,.96025,.817007,-.466406,1.586579,.903029,.839035,-.447616,1.516969,.846484,.862742,-.429261,1.458675,.79142,.884307,-.409479,1.402989,.737125,.905641,-.389303,1.352817,.683912,.926185,-.368344,1.306684,.63269,.947229,-.347366,1.267395,.581739,.969502,-.32672,1.233192,.532305,.990758,-.304973,1.201017,.484166,1.012749,-.282816,1.173018,.437385,1.035533,-.259084,1.147184,.390755,1.059915,-.235239,1.125388,.345399,1.084348,-.211044,1.105859,.301356,1.109544,-.186698,1.088888,.259708,1.13377,-.1619,1.073848,.220324,1.157553,-.136604,1.06319,.183857,1.176461,-.110428,1.05311,.148521,1.190137,-.082898,1.041484,.112124,1.197215,-.054554,1.026844,.07416,1.201654,-.026744,1.012264,.036527,1.207085,399e-6,1.000034,-201e-6,191e-6,-373e-6,4.194318,1.950551,504e-6,-983e-6,4.80435,1.950552,.002015,-.003931,4.80282,1.950518,.004536,-.008847,4.805254,1.950472,.008064,-.015725,4.804152,1.950517,.012693,-.02474,4.826828,1.949914,.018159,-.035365,4.803103,1.950349,.02474,-.048122,4.80322,1.950183,.032361,-.062822,4.801522,1.949917,.041034,-.07943,4.799593,1.949538,.050815,-.097841,4.797179,1.948972,.061702,-.118026,4.789557,1.948246,.073766,-.140112,4.783293,1.947204,.087066,-.163819,4.775698,1.945855,.101637,-.189122,4.764612,1.944052,.117558,-.215884,4.751486,1.94171,.134884,-.243968,4.734791,1.938727,.153637,-.27317,4.712078,1.934891,.17389,-.303146,4.683575,1.929976,.195643,-.333704,4.646766,1.92374,.218767,-.36417,4.596814,1.915888,.243337,-.39453,4.535509,1.90597,.26886,-.423512,4.452006,1.893623,.295173,-.450609,4.345682,1.878286,.322784,-.476488,4.231632,1.859391,.350616,-.49942,4.093553,1.836912,.379127,-.519862,3.944127,1.809625,.40786,-.537373,3.782223,1.778529,.436717,-.551802,3.615563,1.742684,.465345,-.562951,3.440672,1.702289,.494158,-.571334,3.26807,1.658666,.522896,-.577227,3.100668,1.611027,.551379,-.580514,2.937615,1.559742,.578992,-.58061,2.778703,1.507257,.605095,-.577729,2.621626,1.451941,.630653,-.573,2.476506,1.395218,.656175,-.566944,2.341592,1.337862,.681036,-.558988,2.216478,1.279275,.704713,-.549211,2.096972,1.220526,.726894,-.53719,1.983311,1.161709,.749865,-.524167,1.8811,1.102095,.773553,-.508991,1.785637,1.042039,.797102,-.491658,1.697234,.981588,.821187,-.474093,1.62025,.921265,.843848,-.45498,1.547071,.862757,.866662,-.435421,1.482008,.8047,.888696,-.41499,1.424116,.749432,.910945,-.394472,1.372658,.694767,.9323,-.373239,1.325157,.641106,.95285,-.351347,1.282217,.589689,.974718,-.329809,1.244897,.539322,.996445,-.307902,1.212306,.490083,1.01758,-.285392,1.181402,.442702,1.040342,-.262782,1.155996,.395911,1.064399,-.238995,1.131708,.350206,1.089464,-.214297,1.111215,.305175,1.115565,-.189293,1.093094,.262686,1.14064,-.163843,1.077994,.223078,1.163824,-.137789,1.066014,.185651,1.182577,-.111087,1.055615,.150045,1.195775,-.083945,1.04294,.113457,1.203175,-.056145,1.028015,.075453,1.207282,-.027685,1.012552,.037217,1.213019,362e-6,.999938,-293e-6,187e-6,-388e-6,4.316009,2.0765,504e-6,-.001048,5.317799,2.076499,.002014,-.004182,5.306557,2.076523,.004539,-.009425,5.317505,2.076453,.008063,-.016737,5.312143,2.07641,.012614,-.026171,5.316434,2.076389,.018158,-.037641,5.307836,2.076265,.024767,-.051266,5.315297,2.076044,.032372,-.066859,5.307433,2.075743,.041066,-.084538,5.304809,2.07527,.050871,-.104062,5.299277,2.074622,.061821,-.125613,5.293419,2.073708,.07397,-.149085,5.286629,2.072457,.087375,-.174214,5.275937,2.070804,.102105,-.201136,5.263267,2.068647,.118223,-.229505,5.246309,2.065846,.135814,-.259217,5.225496,2.062189,.154887,-.28999,5.19658,2.057566,.17551,-.321618,5.160716,2.051593,.197636,-.353632,5.112202,2.043949,.221168,-.385303,5.046981,2.034445,.246099,-.416511,4.965386,2.022368,.27207,-.446377,4.860735,2.00716,.29909,-.474279,4.73514,1.988598,.326702,-.499809,4.584962,1.965865,.355017,-.52279,4.420447,1.938705,.383856,-.542755,4.241942,1.90637,.413059,-.559903,4.053302,1.869455,.441882,-.573174,3.852753,1.827946,.471516,-.584151,3.660377,1.781652,.500872,-.591843,3.466027,1.730885,.529677,-.596253,3.272812,1.676821,.557683,-.597604,3.084286,1.620064,.585652,-.596591,2.906111,1.560909,.612819,-.593138,2.738258,1.500318,.639848,-.588245,2.584172,1.438127,.664758,-.58014,2.430697,1.375746,.688754,-.570189,2.290701,1.312727,.712848,-.55942,2.162679,1.250063,.735111,-.54657,2.042186,1.18784,.757521,-.532944,1.933435,1.125513,.780056,-.517981,1.833524,1.063827,.802513,-.500724,1.739053,1.002154,.825462,-.481625,1.652381,.939811,.848973,-.462327,1.57756,.878279,.871521,-.441928,1.509291,.8192,.892325,-.420297,1.443799,.761607,.914935,-.399072,1.389647,.705351,.936429,-.377232,1.339903,.650213,.957614,-.355091,1.295467,.597773,.979578,-.332767,1.256692,.545914,1.00086,-.310147,1.221666,.495661,1.02255,-.287395,1.190775,.448026,1.045005,-.264582,1.162641,.40049,1.068703,-.241464,1.138358,.354088,1.093098,-.217504,1.115973,.309812,1.11923,-.19214,1.096284,.266297,1.144608,-.165975,1.080042,.225831,1.168599,-.139174,1.067749,.187761,1.18797,-.11191,1.056635,.151322,1.20124,-.083978,1.043566,.114337,1.208895,-.056089,1.028366,.076083,1.213344,-.028369,1.013074,.037735,1.21922,-534e-6,.999968,76e-6,182e-6,-404e-6,4.433519,2.216201,504e-6,-.001117,5.911693,2.216198,.002017,-.004469,5.919142,2.21619,.004536,-.010051,5.913172,2.21613,.008065,-.017867,5.911791,2.216145,.012467,-.027603,5.785357,2.216447,.018156,-.040159,5.901121,2.215958,.024758,-.05467,5.908781,2.215654,.032395,-.071352,5.906098,2.215283,.041108,-.090201,5.902558,2.214715,.050955,-.111004,5.895707,2.213905,.061968,-.134002,5.888736,2.212807,.074206,-.159038,5.880633,2.211303,.087742,-.185801,5.867001,2.209297,.102652,-.214368,5.851446,2.206657,.119006,-.244573,5.830722,2.203232,.136883,-.276067,5.802688,2.198778,.156335,-.30866,5.767185,2.193091,.177396,-.34194,5.719726,2.185858,.20007,-.375591,5.658792,2.176584,.224067,-.408564,5.573508,2.164759,.24942,-.440668,5.465696,2.149777,.275879,-.471138,5.332207,2.131225,.303307,-.499204,5.173339,2.108794,.331189,-.524547,4.985102,2.080585,.359932,-.547256,4.785788,2.047792,.389063,-.566479,4.569344,2.009518,.418725,-.583031,4.349557,1.965601,.448181,-.595809,4.121278,1.916911,.477703,-.605102,3.892291,1.86353,.507999,-.612462,3.676557,1.806286,.536889,-.615451,3.456241,1.745841,.565778,-.616029,3.249464,1.681137,.593863,-.613644,3.050273,1.615238,.62077,-.608268,2.859599,1.548003,.647171,-.601116,2.683287,1.480447,.673458,-.59284,2.524036,1.412084,.698064,-.581973,2.371046,1.34513,.721011,-.568963,2.229104,1.27844,.744293,-.555642,2.103213,1.212448,.766314,-.540934,1.98537,1.146287,.788164,-.525271,1.878842,1.0826,.809019,-.507986,1.779821,1.019978,.830947,-.489717,1.69163,.956931,.853732,-.469345,1.607513,.894207,.874904,-.447618,1.531176,.833436,.897289,-.426124,1.467302,.773611,.919226,-.404025,1.408321,.716016,.94086,-.381454,1.356209,.659515,.962764,-.358901,1.310082,.604629,.984322,-.335983,1.268485,.552335,1.005343,-.312533,1.230662,.501591,1.028153,-.289452,1.199168,.452032,1.049283,-.265754,1.168575,.404347,1.073687,-.242571,1.143533,.357445,1.097546,-.218681,1.119859,.312534,1.12334,-.194465,1.099634,.269437,1.148166,-.168797,1.081968,.228586,1.172518,-.141552,1.068789,.189866,1.19293,-.113325,1.057548,.152772,1.206816,-.0848,1.044145,.11539,1.215045,-.056019,1.028938,.076493,1.220048,-.027733,1.013338,.037767,1.225852,5e-5,.999927,-16e-5,178e-6,-422e-6,4.587902,2.372253,504e-6,-.001195,6.624675,2.372248,.002016,-.004782,6.626884,2.372187,.004531,-.010746,6.607379,2.372318,.008081,-.019161,6.640102,2.372084,.012637,-.029945,6.653708,2.372128,.018167,-.042999,6.623837,2.371902,.024769,-.058516,6.624484,2.371595,.032421,-.07637,6.620877,2.37112,.041164,-.096474,6.615235,2.370428,.051057,-.118786,6.607844,2.36944,.062136,-.14339,6.599216,2.368075,.07449,-.170034,6.588018,2.366218,.088179,-.198717,6.572526,2.363747,.103307,-.229147,6.551868,2.360517,.119964,-.261253,6.526089,2.356304,.138173,-.294703,6.489593,2.350797,.158072,-.329261,6.443573,2.343783,.179592,-.364298,6.379764,2.334673,.202709,-.399375,6.295845,2.323125,.227335,-.433616,6.184929,2.308547,.25323,-.466794,6.045905,2.28998,.2801,-.497509,5.871803,2.266964,.308146,-.525956,5.672422,2.239074,.336544,-.551101,5.443256,2.204809,.365223,-.572471,5.188034,2.164827,.395484,-.592088,4.943783,2.119489,.424416,-.606026,4.6664,2.067262,.455641,-.619671,4.418961,2.009937,.485298,-.627583,4.152737,1.9489,.514774,-.632072,3.893344,1.882692,.544172,-.634033,3.645332,1.814073,.573283,-.633239,3.414651,1.742717,.602155,-.630008,3.195712,1.669703,.63052,-.62455,2.994536,1.596021,.657121,-.615749,2.799373,1.522572,.682071,-.604738,2.616102,1.448978,.707605,-.593301,2.456112,1.37625,.731492,-.579628,2.303517,1.305297,.754139,-.564473,2.16534,1.235548,.776505,-.548787,2.041646,1.167051,.796833,-.531415,1.923334,1.100534,.817565,-.513778,1.818176,1.035144,.837981,-.495167,1.72383,.971583,.858513,-.47569,1.638448,.908841,.879892,-.454099,1.55942,.846701,.902258,-.432038,1.491471,.785332,.924114,-.409316,1.428878,.726409,.94423,-.385618,1.370785,.668588,.967001,-.362604,1.323529,.612943,.988579,-.339117,1.279679,.559038,1.01021,-.315355,1.240104,.506867,1.032084,-.291408,1.205261,.456934,1.054671,-.267387,1.175197,.407792,1.078314,-.243346,1.148153,.360992,1.102443,-.219205,1.123799,.315577,1.128524,-.194996,1.102624,.271742,1.153989,-.169897,1.085134,.230702,1.17942,-.14396,1.071699,.192146,1.200098,-.116173,1.060179,.155164,1.214837,-.086655,1.04629,.117071,1.222749,-.056956,1.03004,.07745,1.227273,-.027883,1.01365,.038092,1.233293,831e-6,1.000043,-462e-6,173e-6,-442e-6,4.741539,2.547922,504e-6,-.001284,7.491127,2.547919,.002014,-.005132,7.484889,2.547844,.004523,-.011521,7.439875,2.547587,.008059,-.020524,7.483694,2.547725,.012586,-.032029,7.470912,2.547685,.018081,-.045948,7.422534,2.547686,.024783,-.062844,7.487581,2.547107,.032451,-.082011,7.483603,2.546522,.041233,-.10354,7.475124,2.545684,.051181,-.127537,7.467521,2.544438,.062347,-.153921,7.456266,2.542744,.074829,-.182427,7.440422,2.540459,.088703,-.213134,7.420694,2.53738,.10408,-.24575,7.394875,2.533347,.12105,-.279941,7.358515,2.528069,.139697,-.315591,7.313001,2.521237,.160036,-.35198,7.246342,2.512378,.182147,-.388993,7.163688,2.500993,.205799,-.42557,7.048339,2.48645,.231091,-.461093,6.902586,2.468174,.257405,-.494668,6.712721,2.444774,.284956,-.525889,6.491261,2.415538,.31318,-.553693,6.232833,2.38061,.342327,-.578724,5.953834,2.338525,.371689,-.599706,5.649698,2.290256,.401919,-.617615,5.3479,2.235157,.432204,-.631632,5.036417,2.173932,.463151,-.643082,4.735976,2.107298,.493388,-.64997,4.432044,2.036121,.524128,-.654188,4.145472,1.961595,.55393,-.654671,3.866877,1.883602,.583856,-.653051,3.607848,1.804521,.611762,-.646994,3.356237,1.724047,.639117,-.63886,3.122531,1.643016,.666279,-.629093,2.913178,1.563932,.692936,-.617862,2.722675,1.484614,.716498,-.603279,2.536926,1.406734,.742273,-.589878,2.381054,1.331469,.764031,-.572744,2.228312,1.256796,.786601,-.555933,2.095451,1.18529,.807776,-.537992,1.972866,1.11594,.8284,-.519596,1.863394,1.048371,.847412,-.499847,1.76063,.982934,.86685,-.47992,1.670998,.919972,.88634,-.459434,1.587962,.8581,.906933,-.437767,1.515505,.796714,.92749,-.414068,1.448243,.736162,.950217,-.39091,1.390505,.677613,.971545,-.366964,1.337865,.620477,.992901,-.342603,1.291104,.565807,1.01546,-.318596,1.251138,.513086,1.037859,-.294242,1.214291,.461573,1.060535,-.269601,1.182517,.411838,1.086885,-.245608,1.1553,.363221,1.111237,-.220589,1.129715,.317174,1.138718,-.196008,1.108103,.273213,1.164223,-.170408,1.08964,.231968,1.187256,-.144205,1.074145,.192987,1.207851,-.116945,1.061615,.156118,1.222217,-.088852,1.047599,.118674,1.230315,-.059381,1.030869,.078993,1.235052,-.029145,1.014126,.038924,1.241359,479e-6,1.000114,-211e-6,169e-6,-465e-6,4.953966,2.747437,504e-6,-.001384,8.54453,2.74743,.002015,-.005537,8.545147,2.747339,.004542,-.012477,8.557734,2.747125,.008064,-.022143,8.530193,2.747341,.012543,-.034411,8.465151,2.747411,.018178,-.049792,8.543328,2.746874,.02481,-.067784,8.547247,2.746396,.032489,-.088416,8.537436,2.74573,.041313,-.11158,8.526655,2.744596,.051332,-.137462,8.517438,2.743082,.062603,-.16586,8.502803,2.74095,.07524,-.196548,8.481507,2.738057,.089341,-.22944,8.454287,2.734174,.105021,-.264395,8.420289,2.729086,.122399,-.30102,8.373503,2.72242,.141526,-.338997,8.309059,2.713686,.162451,-.377589,8.221539,2.702492,.185098,-.416349,8.100116,2.687893,.209406,-.454284,7.941704,2.669386,.235098,-.49045,7.733318,2.64559,.2621,-.524592,7.48612,2.615709,.290103,-.555558,7.193498,2.579231,.319135,-.583516,6.874796,2.534957,.348286,-.606714,6.516118,2.483017,.37884,-.62785,6.163912,2.424214,.409608,-.644715,5.801404,2.357563,.440553,-.657657,5.435955,2.285835,.470599,-.665621,5.063481,2.20794,.503172,-.673767,4.743532,2.12644,.533884,-.676009,4.413409,2.040694,.563808,-.674536,4.092169,1.953979,.591849,-.668913,3.787057,1.865897,.621474,-.663159,3.520578,1.777762,.6505,-.655018,3.275065,1.689902,.678011,-.643949,3.043141,1.603528,.70349,-.63003,2.827104,1.519484,.72825,-.61491,2.63262,1.436677,.752165,-.598649,2.45557,1.355753,.775894,-.581771,2.295932,1.278884,.79765,-.563193,2.152291,1.202767,.818505,-.54375,2.022099,1.130338,.838596,-.524017,1.903562,1.060263,.858396,-.504064,1.797204,.993077,.877088,-.483418,1.701208,.928606,.896606,-.462786,1.617736,.866039,.914342,-.440943,1.539227,.804293,.93355,-.419129,1.470383,.745206,.955237,-.3961,1.4091,.685832,.9767,-.371743,1.35493,.627953,.997681,-.346882,1.305249,.572127,1.020784,-.322391,1.262603,.517941,1.04384,-.297564,1.225115,.466188,1.067224,-.272639,1.190817,.415499,1.092358,-.247664,1.161265,.366782,1.117573,-.22226,1.133935,.319377,1.14573,-.196933,1.11175,.275293,1.170822,-.170577,1.091981,.233306,1.194559,-.143878,1.07581,.19395,1.214819,-.116347,1.062438,.156724,1.22983,-.088233,1.048092,.118984,1.238185,-.059408,1.031325,.079385,1.243527,-.030703,1.014698,.039893,1.249724,-.00152,.999819,76e-5,164e-6,-489e-6,5.157359,2.9763,505e-6,-.001502,9.891415,2.976286,.002016,-.006,9.85773,2.976197,.004543,-.013519,9.870651,2.975832,.008064,-.023985,9.85578,2.97617,.012611,-.037471,9.850209,2.975941,.018162,-.053866,9.827134,2.974968,.02482,-.07339,9.849955,2.97501,.032545,-.095758,9.842021,2.974073,.041418,-.120834,9.829989,2.9727,.051511,-.148861,9.817421,2.970736,.06292,-.179456,9.797347,2.968033,.075744,-.212674,9.771533,2.964371,.090131,-.248193,9.735924,2.959437,.106187,-.285748,9.687707,2.952881,.124035,-.325017,9.622684,2.944273,.143733,-.365463,9.531452,2.933093,.165262,-.406157,9.401732,2.918484,.188622,-.446833,9.232451,2.899529,.213693,-.486209,9.013432,2.875137,.239987,-.522925,8.725671,2.844166,.267796,-.557452,8.400028,2.805649,.296547,-.588266,8.023041,2.75872,.325838,-.614837,7.606773,2.702676,.355479,-.63676,7.16068,2.638483,.386984,-.65723,6.736765,2.566849,.418853,-.673592,6.313742,2.488091,.450302,-.684966,5.884479,2.402458,.481149,-.691591,5.455771,2.311816,.512177,-.695337,5.055698,2.21733,.543437,-.69637,4.681506,2.121285,.574309,-.694186,4.334716,2.02416,.604787,-.689158,4.008524,1.927738,.633483,-.68058,3.703505,1.830456,.660766,-.669088,3.418386,1.734934,.688471,-.656673,3.168101,1.642316,.715729,-.64282,2.941735,1.550744,.740435,-.626155,2.73057,1.463345,.764114,-.608299,2.537561,1.378151,.787028,-.589519,2.364323,1.29763,.807985,-.569257,2.20797,1.21783,.830663,-.550055,2.076646,1.142746,.850416,-.528812,1.948085,1.070757,.869609,-.507478,1.834684,1.001282,.888324,-.486131,1.734879,.934987,.907482,-.46491,1.645974,.871203,.924829,-.442742,1.56355,.80926,.942958,-.420777,1.491264,.750037,.961999,-.398842,1.428069,.691715,.981043,-.375967,1.369668,.635669,1.002371,-.351469,1.318588,.578689,1.025343,-.326601,1.273628,.524424,1.048511,-.301395,1.234572,.471403,1.072242,-.275835,1.198354,.41995,1.096758,-.2502,1.166392,.370733,1.122781,-.224474,1.138991,.322864,1.150871,-.198592,1.114313,.277723,1.177319,-.171805,1.093534,.23495,1.201765,-.144291,1.077462,.195376,1.222629,-.115949,1.063288,.157315,1.237334,-.08714,1.048366,.118843,1.246153,-.058094,1.031224,.079207,1.25257,-.029194,1.014695,.039376,1.25906,-418e-6,.999881,307e-6,159e-6,-515e-6,5.393984,3.241865,505e-6,-.001636,11.548038,3.241848,.002016,-.006534,11.50664,3.241718,.004537,-.014706,11.51346,3.241196,.008068,-.026134,11.510533,3.241693,.012573,-.040676,11.428978,3.24103,.018212,-.058794,11.510745,3.240924,.024847,-.079926,11.497339,3.240201,.032603,-.10416,11.484607,3.238994,.041543,-.131552,11.470801,3.237182,.051738,-.162012,11.453219,3.234635,.063313,-.19526,11.427244,3.231153,.076381,-.231205,11.388534,3.226361,.091096,-.269678,11.340406,3.219943,.1076,-.31017,11.270127,3.211448,.126017,-.352435,11.178583,3.200168,.146411,-.395551,11.046559,3.185328,.168663,-.438627,10.858624,3.165972,.19273,-.48066,10.606379,3.140735,.218497,-.520987,10.288093,3.108388,.245752,-.558483,9.90748,3.067586,.273993,-.59209,9.453246,3.016931,.303495,-.622416,8.966138,2.956444,.333717,-.648303,8.443776,2.885116,.363928,-.66864,7.894122,2.805963,.39624,-.687748,7.385728,2.718338,.427161,-.699903,6.838511,2.622346,.460175,-.71121,6.356371,2.522476,.492593,-.717734,5.878312,2.417984,.524449,-.719956,5.423285,2.310941,.55601,-.719127,4.997909,2.201885,.587032,-.715077,4.600426,2.09333,.61703,-.707574,4.235885,1.986585,.644684,-.695781,3.881712,1.881279,.674483,-.685313,3.59096,1.777918,.70029,-.669619,3.303138,1.678004,.727892,-.654728,3.057771,1.581162,.751694,-.635727,2.826642,1.487769,.776271,-.617343,2.622178,1.399628,.799502,-.597683,2.441265,1.313195,.821768,-.57709,2.276954,1.232316,.84196,-.555165,2.125744,1.153914,.861582,-.532983,1.991236,1.079598,.88146,-.510933,1.874027,1.008883,.899952,-.488321,1.766812,.940802,.918954,-.466405,1.673436,.875653,.93613,-.443623,1.586986,.81313,.954799,-.421532,1.513558,.752241,.972435,-.398897,1.445787,.694711,.990147,-.376302,1.384382,.63877,1.009189,-.353623,1.331934,.583826,1.029687,-.330635,1.284478,.530476,1.052604,-.305698,1.243632,.477187,1.076524,-.279917,1.204997,.425349,1.101701,-.253951,1.17175,.375165,1.127264,-.227541,1.142519,.326869,1.156397,-.201265,1.116817,.280912,1.18302,-.173943,1.095289,.237447,1.208448,-.14586,1.078296,.196694,1.230417,-.116901,1.064416,.158409,1.248617,-.087507,1.050504,.119483,1.25731,-.057353,1.032796,.079092,1.263076,-.027785,1.015128,.038883,1.26987,.001331,.999935,-557e-6,154e-6,-549e-6,5.705205,3.554136,506e-6,-.001797,13.703335,3.554133,.002014,-.007156,13.614074,3.553937,.004544,-.016145,13.657344,3.553096,.00807,-.028652,13.627997,3.553894,.012584,-.044617,13.606235,3.554,.01818,-.064288,13.581339,3.549637,.024887,-.087627,13.608851,3.552006,.03269,-.114134,13.599099,3.550341,.041705,-.144154,13.579829,3.547982,.052035,-.1774,13.552845,3.544641,.06381,-.213813,13.515619,3.539941,.077171,-.252978,13.46046,3.533696,.092329,-.294852,13.393559,3.524977,.10939,-.338688,13.292376,3.513655,.128455,-.384018,13.147332,3.498484,.149661,-.42996,12.945774,3.478323,.172694,-.475024,12.658979,3.451862,.19765,-.518614,12.289564,3.417602,.224156,-.559298,11.828307,3.372913,.252008,-.59611,11.285162,3.317454,.281165,-.629292,10.684922,3.251171,.311434,-.658379,10.052939,3.172222,.342741,-.683455,9.405296,3.082825,.373543,-.701674,8.716078,2.983976,.407008,-.719664,8.108425,2.876244,.438623,-.729882,7.461252,2.763279,.471872,-.738696,6.880182,2.64559,.5047,-.743136,6.324308,2.52468,.537118,-.743676,5.808302,2.402723,.569412,-.741181,5.332306,2.281437,.598202,-.732348,4.857402,2.161401,.62964,-.724832,4.465554,2.043872,.659239,-.713435,4.093661,1.930129,.686547,-.698539,3.752593,1.817654,.715529,-.684471,3.457593,1.712567,.739456,-.664983,3.17122,1.610687,.764892,-.646322,2.929674,1.512031,.789301,-.626393,2.710719,1.419033,.809881,-.603498,2.506139,1.330115,.833385,-.582934,2.336089,1.245859,.854254,-.560419,2.17847,1.165042,.873964,-.537294,2.040087,1.086633,.893433,-.514264,1.911969,1.015028,.911756,-.490657,1.79984,.944938,.930894,-.467601,1.703188,.878743,.948078,-.444043,1.612092,.815356,.966162,-.421155,1.534444,.753883,.984166,-.398238,1.462397,.695534,1.002184,-.375278,1.400793,.638806,1.019669,-.352159,1.344172,.584549,1.039571,-.329651,1.295227,.53166,1.059989,-.306804,1.251281,.480529,1.081116,-.283345,1.211504,.430071,1.105742,-.258568,1.1764,.380277,1.13308,-.232146,1.144519,.331076,1.161888,-.205244,1.118059,.28404,1.192408,-.177932,1.097561,.239958,1.221043,-.149532,1.082021,.198751,1.244141,-.120046,1.067634,.160114,1.259465,-.089542,1.051626,.121101,1.268124,-.058593,1.033296,.079898,1.27433,-.028011,1.015382,.039038,1.28159,.00233,1.000087,-.001259,149e-6,-587e-6,6.059834,3.927143,507e-6,-.001992,16.5604,3.927149,.002014,-.00791,16.406326,3.926821,.004549,-.017856,16.545532,3.927027,.008064,-.031632,16.375853,3.925487,.01245,-.048749,15.928564,3.928272,.01803,-.070371,16.072989,3.917862,.024964,-.096897,16.458925,3.924489,.032807,-.126073,16.377851,3.921896,.041917,-.159205,16.351561,3.91886,.052416,-.195762,16.307037,3.914339,.064464,-.235784,16.255514,3.907954,.078225,-.278812,16.176226,3.899254,.0939,-.324457,16.06653,3.887455,.111657,-.372174,15.913818,3.871777,.131478,-.42053,15.669197,3.850776,.153574,-.46933,15.355453,3.822348,.177505,-.516029,14.908978,3.785168,.203383,-.560585,14.352687,3.736602,.230569,-.600607,13.666022,3.675046,.259188,-.636296,12.900244,3.599811,.289272,-.668312,12.111226,3.51055,.32049,-.695986,11.292102,3.408535,.353031,-.719848,10.493485,3.295667,.385228,-.737073,9.661955,3.171998,.419219,-.752419,8.909942,3.042428,.452096,-.761179,8.155107,2.907108,.484909,-.766166,7.450609,2.769858,.518306,-.768596,6.811866,2.631935,.550067,-.765683,6.205275,2.49287,.582562,-.761197,5.663215,2.358645,.61445,-.753834,5.165358,2.227377,.644563,-.74286,4.712554,2.097547,.673658,-.729294,4.306101,1.97492,.702857,-.714839,3.943352,1.857613,.72935,-.696774,3.609432,1.743601,.754958,-.677394,3.308389,1.636607,.779575,-.657018,3.043803,1.533841,.800491,-.633342,2.793592,1.437092,.82503,-.612471,2.590307,1.344272,.847535,-.589882,2.406477,1.256436,.865979,-.56485,2.231999,1.173938,.886254,-.541357,2.083556,1.094722,.905566,-.517353,1.950928,1.021107,.924607,-.49332,1.835979,.948941,.943365,-.469366,1.731417,.88106,.960405,-.444745,1.635838,.816479,.977893,-.420493,1.552981,.754604,.996573,-.39715,1.481595,.694917,1.014,-.373483,1.41407,.638445,1.031807,-.349985,1.356031,.584035,1.051877,-.327062,1.305041,.53001,1.071701,-.304134,1.258836,.479439,1.093109,-.280962,1.217297,.429763,1.116681,-.258121,1.182063,.38105,1.143886,-.235365,1.150039,.333395,1.175163,-.211621,1.125074,.287477,1.203675,-.184061,1.102339,.243301,1.230477,-.154815,1.083927,.201826,1.253134,-.124513,1.067989,.162271,1.270092,-.093383,1.052032,.122855,1.279576,-.06177,1.033685,.081639,1.286472,-.030317,1.015583,.040411,1.294476,964e-6,1.000206,-454e-6,144e-6,-63e-5,6.467978,4.381146,504e-6,-.002208,20.193617,4.381151,.002017,-.008834,20.206446,4.380687,.004536,-.019864,20.183254,4.38055,.008174,-.035759,20.564249,4.381247,.012608,-.055034,20.111612,4.38239,.018198,-.079119,20.106096,4.379815,.025057,-.108067,20.215635,4.376874,.032962,-.14063,20.153549,4.374143,.042199,-.17735,20.084061,4.369558,.052928,-.218094,20.026609,4.363287,.065327,-.262407,19.940054,4.354386,.079568,-.309833,19.806814,4.342127,.095961,-.360074,19.641878,4.325533,.114516,-.411747,19.370914,4.30295,.135349,-.463726,18.9839,4.271991,.158293,-.514211,18.433926,4.230856,.183348,-.562511,17.733471,4.17625,.209959,-.60631,16.864214,4.105895,.238736,-.646958,15.935207,4.020104,.268543,-.681574,14.890014,3.916094,.299996,-.712458,13.846786,3.798239,.33193,-.73713,12.758296,3.664191,.365222,-.758156,11.73294,3.521867,.399061,-.774364,10.741743,3.369831,.43348,-.786412,9.812527,3.212079,.467002,-.792373,8.91513,3.053715,.500754,-.79541,8.094276,2.894526,.534023,-.794617,7.342067,2.735959,.566988,-.790689,6.664186,2.58116,.59996,-.784433,6.052983,2.432318,.630599,-.773378,5.486277,2.28763,.660807,-.760334,4.982516,2.150183,.690103,-.74543,4.531104,2.017266,.717315,-.727511,4.120734,1.891699,.743819,-.708376,3.759599,1.77268,.770147,-.688632,3.441912,1.66062,.79351,-.665931,3.1526,1.553166,.816535,-.643045,2.898883,1.45208,.839163,-.619917,2.674488,1.355544,.859066,-.594923,2.469262,1.267232,.879489,-.570343,2.292209,1.181702,.898525,-.544975,2.131086,1.102089,.918359,-.520585,1.994526,1.024744,.937502,-.496044,1.873079,.951712,.955573,-.47101,1.761232,.883374,.972957,-.445712,1.661604,.818008,.991248,-.421201,1.577169,.754446,1.008997,-.396444,1.499653,.694518,1.028127,-.372362,1.43203,.637259,1.04571,-.347895,1.36987,.581515,1.065977,-.324409,1.317341,.527713,1.087469,-.301181,1.270447,.476281,1.109943,-.277866,1.228398,.426403,1.13444,-.254849,1.190986,.377822,1.160986,-.231754,1.157681,.33074,1.188458,-.207973,1.128665,.286014,1.214405,-.183424,1.103711,.2436,1.239504,-.157972,1.084253,.203686,1.262961,-.130607,1.068258,.165214,1.28034,-.099652,1.051919,.126067,1.292129,-.067363,1.034016,.084791,1.299876,-.035026,1.015775,.042786,1.308328,-.002944,.999963,.001385,138e-6,-681e-6,6.943771,4.946556,503e-6,-.002486,25.346689,4.946532,.002016,-.009973,25.49432,4.946311,.004539,-.02244,25.484949,4.945823,.008069,-.039836,25.420902,4.945311,.012628,-.062172,25.394403,4.945041,.018294,-.089609,25.440279,4.943295,.025079,-.121584,25.399988,4.939368,.033142,-.158595,25.356537,4.9362,.042596,-.199971,25.295067,4.929842,.053628,-.245624,25.196465,4.920586,.066496,-.29524,25.055311,4.9077,.081434,-.348006,24.84617,4.889647,.09864,-.403167,24.527803,4.86468,.118231,-.459106,24.051735,4.830574,.140139,-.513907,23.352467,4.78353,.164198,-.565953,22.418245,4.72053,.190502,-.614858,21.324049,4.638075,.21853,-.658304,20.038671,4.535464,.248094,-.696133,18.639786,4.411646,.279435,-.729388,17.234526,4.268872,.312002,-.757534,15.830426,4.109603,.346173,-.781866,14.495901,3.938782,.379435,-.797579,13.136444,3.756138,.414945,-.812334,11.946491,3.571258,.449991,-.821119,10.811908,3.384217,.484636,-.825066,9.763482,3.198076,.518675,-.824728,8.796811,3.015808,.552559,-.82171,7.932528,2.836886,.587272,-.817478,7.185156,2.664995,.61696,-.804441,6.445302,2.502223,.648054,-.792063,5.818812,2.345851,.678575,-.777793,5.264731,2.19715,.707287,-.760476,4.766033,2.056042,.735851,-.742541,4.335871,1.922805,.760594,-.720503,3.928021,1.798585,.784534,-.697719,3.579153,1.680605,.811029,-.677036,3.285307,1.568942,.831809,-.651479,3.001423,1.465496,.854364,-.627376,2.760672,1.367849,.872639,-.600496,2.540697,1.275644,.894296,-.576297,2.355273,1.188638,.913123,-.550377,2.188563,1.105652,.932025,-.52464,2.040739,1.028614,.949876,-.498402,1.910315,.954421,.968933,-.47322,1.79575,.884061,.985366,-.447086,1.690336,.817765,1.00494,-.422394,1.599626,.753295,1.022217,-.396726,1.519055,.69338,1.04149,-.371854,1.448745,.635747,1.05992,-.346769,1.384292,.579508,1.080408,-.322343,1.328798,.525045,1.101632,-.297979,1.279898,.473773,1.124812,-.274059,1.234005,.422949,1.148503,-.249954,1.195373,.374609,1.174554,-.225988,1.160362,.32735,1.202931,-.201932,1.131307,.283494,1.229335,-.176886,1.105885,.241092,1.254254,-.151225,1.085802,.201514,1.275743,-.124282,1.068524,.162866,1.292929,-.097122,1.051493,.124991,1.305805,-.068939,1.03389,.085521,1.314991,-.040082,1.015927,.045247,1.324033,-.009923,.999893,.004738,131e-6,-745e-6,7.562414,5.671075,473e-6,-.002681,27.216688,5.670949,.002021,-.011462,32.962402,5.670177,.00454,-.025728,33.183949,5.670197,.008087,-.045746,33.185688,5.667313,.012673,-.071427,33.170441,5.668396,.018358,-.102673,33.145138,5.665252,.025299,-.13978,33.303326,5.653404,.033469,-.181718,33.107243,5.652829,.043139,-.228698,32.859524,5.645676,.054622,-.280648,32.694893,5.631547,.068115,-.336524,32.422569,5.611561,.083957,-.395671,32.035511,5.583449,.102259,-.456164,31.415047,5.543651,.123021,-.515765,30.47044,5.488278,.146127,-.572309,29.186451,5.413118,.171749,-.62571,27.653852,5.312369,.199549,-.673853,25.902435,5.185774,.229188,-.715905,23.978609,5.030582,.260421,-.751533,21.999035,4.853484,.293421,-.782309,20.087366,4.656137,.327077,-.806332,18.186535,4.443975,.361892,-.825818,16.418409,4.223844,.397146,-.840019,14.774344,3.998959,.434169,-.852434,13.321097,3.775443,.469288,-.856632,11.929448,3.552818,.504319,-.85713,10.675201,3.338825,.540067,-.855903,9.5919,3.130547,.575404,-.851565,8.607655,2.93293,.606782,-.839818,7.69056,2.743876,.63866,-.827508,6.900781,2.565115,.670577,-.814154,6.216821,2.395215,.696718,-.793162,5.551886,2.238233,.72599,-.775291,5.015406,2.090264,.75414,-.755758,4.546843,1.950834,.775992,-.729824,4.094254,1.820582,.80299,-.708909,3.732984,1.699191,.828291,-.686483,3.413194,1.583805,.847406,-.659162,3.103861,1.478093,.864951,-.631051,2.832976,1.378496,.887154,-.60659,2.616645,1.282127,.906337,-.580124,2.413988,1.194643,.927184,-.554835,2.24438,1.110354,.94381,-.527583,2.081964,1.031996,.96363,-.502243,1.948979,.956718,.979691,-.475006,1.822701,.886957,.99769,-.448815,1.715714,.819006,1.01646,-.423044,1.621868,.754892,1.035485,-.397637,1.539537,.693707,1.053165,-.371775,1.462285,.634867,1.072394,-.346372,1.396193,.578574,1.093397,-.321291,1.338344,.524341,1.115194,-.296102,1.287594,.472059,1.137943,-.271023,1.240495,.421674,1.164163,-.246367,1.201224,.371963,1.191457,-.221414,1.164472,.32504,1.220253,-.196228,1.134325,.280343,1.245456,-.169991,1.108214,.238098,1.270647,-.143314,1.087277,.197886,1.292124,-.115881,1.069397,.15956,1.309091,-.087816,1.051426,.120547,1.32113,-.059301,1.032904,.080834,1.332484,-.030912,1.015767,.040933,1.342834,-.002172,.999591,.001185,125e-6,-83e-5,8.392562,6.634228,443e-6,-.002936,29.687805,6.634032,.002016,-.013374,45.025234,6.633008,.00454,-.030089,45.020294,6.633056,.008092,-.053499,45.066029,6.626466,.01271,-.08361,44.810101,6.63033,.018485,-.12026,45.216747,6.614516,.025134,-.161031,44.674168,6.600349,.033897,-.212161,44.819195,6.610186,.043978,-.266661,44.450245,6.593605,.056094,-.326582,44.134544,6.570142,.070528,-.390342,43.591648,6.536712,.087498,-.456162,42.70816,6.488329,.107138,-.521609,41.365093,6.420198,.129461,-.584225,39.525822,6.323702,.154245,-.641931,37.186111,6.193606,.181228,-.692829,34.47847,6.026897,.210711,-.73844,31.680904,5.825769,.242181,-.777397,28.828054,5.595428,.275337,-.80998,26.042755,5.342321,.309698,-.83599,23.376804,5.073076,.345702,-.858077,20.965754,4.794572,.382135,-.874122,18.710079,4.516676,.419871,-.887133,16.713011,4.241767,.455609,-.891199,14.819674,3.972124,.492617,-.894082,13.187921,3.717271,.528186,-.89127,11.708584,3.471719,.563462,-.885719,10.422834,3.23776,.596013,-.874241,9.237741,3.01906,.629455,-.862814,8.248549,2.813572,.66111,-.848126,7.358398,2.621046,.690314,-.829798,6.569392,2.441627,.720589,-.812314,5.905934,2.274629,.745631,-.788704,5.2768,2.119423,.771488,-.766133,4.752773,1.97438,.798704,-.744726,4.306095,1.839482,.820172,-.718062,3.889792,1.713244,.844368,-.693972,3.545456,1.594809,.863128,-.665748,3.212762,1.487512,.880094,-.637003,2.926572,1.386724,.904252,-.613728,2.70426,1.288131,.920506,-.585217,2.483164,1.199845,.940919,-.559603,2.300348,1.114958,.957044,-.531597,2.130516,1.034754,.972648,-.503583,1.979313,.960912,.994318,-.478813,1.859664,.889786,1.008754,-.450943,1.742705,.820833,1.028667,-.425516,1.64522,.756332,1.046145,-.398977,1.557184,.693921,1.067212,-.373657,1.480814,.635955,1.084111,-.346657,1.408762,.578832,1.106749,-.321392,1.350468,.523561,1.12844,-.295773,1.294865,.471146,1.151073,-.270028,1.246118,.420298,1.178601,-.244816,1.204226,.370575,1.206845,-.219027,1.166896,.323716,1.235963,-.192622,1.135756,.278058,1.26303,-.165331,1.10924,.235743,1.288937,-.137489,1.088379,.19539,1.310681,-.108685,1.068987,.156439,1.334352,-.07971,1.054273,.117096,1.344847,-.049947,1.034598,.076554,1.354943,-.020272,1.016079,.035585,1.365515,.00917,.999969,-.004771,117e-6,-935e-6,9.424866,7.979243,41e-5,-.003275,33.013195,7.979422,.002009,-.016024,64.370331,7.977156,.004541,-.036176,64.655952,7.976128,.008109,-.064384,64.864494,7.964988,.012694,-.099984,64.487198,7.971348,.018554,-.143991,64.63797,7.923116,.025303,-.19204,61.930538,7.953975,.035297,-.259442,66.274422,7.921861,.045226,-.31837,63.33469,7.909609,.05837,-.388821,62.686401,7.864696,.074083,-.461667,61.332054,7.801843,.092537,-.533744,59.125607,7.708949,.113781,-.601905,55.997845,7.575799,.137786,-.664409,52.177567,7.393524,.16477,-.721193,48.019485,7.161756,.193894,-.768842,43.460278,6.882018,.225586,-.810332,39.08659,6.564607,.259311,-.845096,34.896049,6.221983,.294517,-.872849,30.952213,5.865831,.331163,-.895159,27.375792,5.507064,.368964,-.91286,24.21331,5.149763,.407255,-.925338,21.364958,4.806172,.444704,-.930956,18.791691,4.472272,.482041,-.932576,16.52116,4.160864,.519572,-.931547,14.589918,3.865206,.556236,-.926554,12.887797,3.590445,.590431,-.915839,11.352402,3.332747,.622723,-.901266,10.00266,3.093264,.657029,-.888747,8.90521,2.873842,.686164,-.868666,7.876704,2.66674,.719168,-.853152,7.051816,2.479017,.742294,-.826169,6.226034,2.306498,.77032,-.804936,5.590831,2.141328,.792337,-.777772,4.984083,1.994663,.81905,-.755478,4.507655,1.85395,.837684,-.726072,4.049884,1.72559,.861324,-.701424,3.678201,1.606303,.880741,-.673615,3.337163,1.495452,.903335,-.648506,3.05572,1.391162,.920311,-.61964,2.792068,1.294734,.935769,-.590245,2.554566,1.204518,.956592,-.564944,2.366468,1.11863,.972424,-.536842,2.187863,1.038323,.986269,-.50802,2.02348,.963803,1.006122,-.482411,1.895137,.890986,1.022504,-.45511,1.775886,.820936,1.037905,-.42745,1.665951,.758556,1.059281,-.402198,1.577363,.696126,1.076613,-.375156,1.493391,.636676,1.097828,-.349577,1.421129,.579947,1.116671,-.322955,1.355205,.52514,1.140514,-.297406,1.299979,.47146,1.166473,-.271786,1.249847,.420473,1.192591,-.245461,1.204625,.371118,1.223349,-.219412,1.166686,.3226,1.254833,-.19266,1.134121,.277572,1.285808,-.165167,1.108617,.234417,1.322015,-.137236,1.093841,.19464,1.342172,-.106871,1.074616,.155001,1.357238,-.075759,1.05355,.114648,1.367725,-.044279,1.033851,.073254,1.379461,-.013001,1.015713,.031895,1.391625,.018075,1.000203,-.009397,109e-6,-.001093,10.98682,9.992467,378e-6,-.003779,37.989063,9.992861,.002028,-.020252,101.850441,9.988345,.004557,-.045429,101.10675,9.983879,.008115,-.080453,100.646606,9.953411,.012864,-.125836,101.366592,9.943727,.018734,-.17935,100.786118,9.908408,.026314,-.24368,99.779343,9.821631,.0355,-.313552,98.608231,9.78245,.047562,-.394644,97.689568,9.845875,.062065,-.476697,95.177795,9.755218,.079552,-.557933,91.095581,9.615121,.099905,-.632818,85.110382,9.408299,.123231,-.699926,77.948921,9.120996,.14998,-.760671,70.491119,8.764173,.17955,-.812251,62.821407,8.341752,.211839,-.855909,55.51289,7.876337,.246434,-.892023,48.744549,7.386268,.282317,-.9192,42.462059,6.886009,.31958,-.940333,36.901031,6.400318,.360135,-.962176,32.353752,5.937503,.397805,-.969755,27.996445,5.489783,.437077,-.976494,24.359192,5.072855,.474388,-.975265,21.1243,4.684682,.513695,-.975335,18.476677,4.326597,.551542,-.970264,16.167391,3.999049,.587525,-.960365,14.143442,3.696317,.621251,-.945944,12.374341,3.414176,.654738,-.930709,10.877112,3.160455,.685794,-.911702,9.580887,2.921461,.717135,-.892948,8.481939,2.707478,.740798,-.865086,7.435941,2.510382,.77092,-.845137,6.650625,2.329648,.792303,-.815956,5.879976,2.163206,.818363,-.792225,5.274404,2.008042,.837362,-.762396,4.70096,1.867576,.862266,-.738465,4.254798,1.735819,.880069,-.70889,3.828697,1.61469,.896021,-.678588,3.451655,1.503477,.920156,-.654832,3.168722,1.3958,.934948,-.62474,2.879533,1.299955,.949686,-.595203,2.628258,1.208597,.970989,-.570041,2.433689,1.12231,.985606,-.541116,2.241461,1.042168,1.000819,-.512835,2.075567,.966543,1.012209,-.483024,1.919932,.895758,1.03532,-.459125,1.807884,.825668,1.052077,-.432333,1.695689,.760812,1.070459,-.406131,1.595491,.699897,1.088704,-.379721,1.508512,.640575,1.103817,-.352104,1.428159,.583765,1.131711,-.328122,1.366565,.52824,1.156448,-.302568,1.306843,.473988,1.181821,-.276487,1.252861,.422189,1.211347,-.25054,1.205265,.372005,1.243636,-.224264,1.165943,.324184,1.283038,-.198289,1.137772,.278419,1.316722,-.170179,1.115057,.235425,1.342715,-.140095,1.092994,.195084,1.363288,-.108794,1.071875,.155439,1.380656,-.076774,1.052475,.114636,1.394826,-.044509,1.032525,.07289,1.40883,-.011968,1.015459,.031101,1.42237,.020555,.999808,-.011002,1e-4,-.001334,13.377127,13.342275,342e-6,-.004563,45.758434,13.34271,.002026,-.027004,179.672058,13.331846,.004559,-.060563,179.294235,13.314877,.008232,-.108154,181.242035,13.222856,.013031,-.16759,179.684509,13.15386,.019526,-.242041,181.004608,12.986094,.026364,-.309289,159.606293,13.247752,.03767,-.409755,179.468521,12.368877,.051804,-.512051,167.955582,12.981333,.068214,-.601994,156.278793,12.704532,.088295,-.686849,143.096878,12.316531,.111478,-.75867,127.423111,11.793048,.138336,-.821348,111.763031,11.157992,.168447,-.873616,96.887924,10.447472,.201411,-.916322,83.225327,9.696606,.237443,-.95309,71.403137,8.949244,.274234,-.977751,60.739277,8.225874,.314566,-1.003135,52.115578,7.547433,.353932,-1.016312,44.341869,6.910326,.393858,-1.024848,37.827263,6.324401,.433805,-1.02895,32.380932,5.790555,.475812,-1.034084,27.955982,5.312826,.513254,-1.026743,23.977417,4.866118,.549965,-1.01674,20.628025,4.468437,.5903,-1.01203,18.036856,4.105483,.62642,-.998919,15.669224,3.780593,.658897,-.979874,13.603898,3.482054,.687252,-.955238,11.788331,3.211213,.718941,-.935663,10.355552,2.962083,.749877,-.915206,9.131123,2.741382,.772094,-.884837,7.973935,2.536501,.799495,-.861214,7.08623,2.347282,.820136,-.830976,6.240769,2.179332,.846715,-.807408,5.604792,2.018005,.865176,-.776657,4.975034,1.877021,.8811,-.744657,4.442767,1.743528,.907637,-.722088,4.035177,1.621563,.922239,-.690432,3.63316,1.506158,.936558,-.65965,3.281798,1.403606,.950047,-.629105,2.974179,1.304276,.961959,-.598277,2.704483,1.213888,.98741,-.576085,2.510453,1.125569,.999996,-.546494,2.304016,1.045567,1.014127,-.518186,2.127867,.970718,1.036275,-.494009,1.985804,.897557,1.049695,-.465659,1.845074,.830584,1.064617,-.438159,1.72513,.766083,1.077131,-.409813,1.613818,.705101,1.101054,-.385632,1.528694,.644828,1.122361,-.360045,1.447086,.587878,1.147359,-.335186,1.377588,.53213,1.169881,-.30904,1.313673,.478843,1.200554,-.28459,1.257256,.426855,1.232047,-.259332,1.208431,.376125,1.275402,-.235215,1.174692,.326614,1.306595,-.207508,1.141042,.281524,1.334304,-.17829,1.111778,.238694,1.364678,-.14853,1.090976,.198549,1.387168,-.117114,1.069308,.158529,1.408657,-.084977,1.050625,.118042,1.426214,-.052052,1.031444,.076541,1.444257,-.018653,1.014298,.034061,1.460618,.015206,.999413,-.008132,1e-4,-.002003,20.052612,20.032721,297e-6,-.005947,59.540512,20.033842,.002022,-.040439,404.848511,20.032743,.004588,-.090999,403.741241,19.910591,.008769,-.169802,441.471558,19.572552,.013708,-.253629,411.667816,19.145721,.020331,-.349396,371.322571,18.591049,.030259,-.468121,385.816498,18.331083,.04519,-.611444,391.924133,15.807686,.058476,-.676875,319.638641,16.947781,.079894,-.781421,278.80426,17.512903,.103871,-.855116,235.999786,16.290295,.131756,-.915747,197.168076,14.956566,.163487,-.966333,163.452347,13.60801,.198693,-1.008386,135.632706,12.299661,.236157,-1.039862,111.919281,11.08879,.274579,-1.059988,92.136581,9.983883,.317164,-1.084069,77.063034,9.008505,.357624,-1.092124,63.963051,8.127298,.399009,-1.09756,53.483341,7.347628,.441182,-1.100981,45.052429,6.658191,.481606,-1.097318,37.93264,6.047333,.524253,-1.09657,32.395638,5.505878,.564351,-1.088739,27.67938,5.018494,.600843,-1.073396,23.611519,4.58077,.635527,-1.055024,20.207081,4.194785,.672045,-1.039775,17.469036,3.847436,.698372,-1.009545,14.928226,3.532546,.729336,-.987168,12.95317,3.248834,.761147,-.966299,11.346271,2.994166,.78227,-.932841,9.813129,2.762244,.811832,-.910431,8.672224,2.549933,.832053,-.878369,7.578633,2.363132,.849383,-.844673,6.648379,2.189266,.86602,-.811703,5.850784,2.031716,.893083,-.789181,5.273372,1.88448,.909212,-.757541,4.700618,1.750298,.923169,-.725157,4.19664,1.62759,.937112,-.693769,3.764841,1.514906,.961901,-.670828,3.444598,1.406839,.975245,-.64024,3.120745,1.307873,.989696,-.611032,2.840732,1.216417,1.002057,-.581144,2.591596,1.132553,1.014022,-.55162,2.37382,1.051695,1.025307,-.522268,2.177992,.9775,1.05219,-.500826,2.042511,.904301,1.064408,-.472355,1.891934,.837557,1.077876,-.444815,1.761054,.773004,1.088939,-.416531,1.638939,.713958,1.118551,-.395057,1.555724,.652485,1.134469,-.368289,1.46549,.59633,1.162778,-.345095,1.390977,.539703,1.185298,-.319527,1.321225,.48625,1.208419,-.29359,1.259318,.434178,1.261013,-.273471,1.219767,.382032,1.297811,-.248226,1.176422,.33419,1.326591,-.220354,1.139881,.289075,1.357918,-.191937,1.111418,.246259,1.38759,-.162282,1.086511,.205129,1.415797,-.131515,1.067072,.165601,1.440194,-.099555,1.047799,.125462,1.4656,-.066957,1.030406,.084082,1.487714,-.033496,1.013889,.041981,1.509947,663e-6,.998773,-485e-6,1e-4,-.004009,40.102047,40.087105,228e-6,-.009141,91.431366,40.074432,.001522,-.060544,605.651733,39.918827,.004919,-.188871,1712.9823,38.873421,.009053,-.320325,1583.453125,39.715633,.015375,-.471415,1486.033691,39.162876,.029306,-.735111,1751.70105,28.0832,.04345,-.859759,1392.47522,24.599945,.079075,-1.220033,1629.972656,18.507019,.09013,-1.091255,940.347351,17.961655,.098008,-.945965,425.901093,24.47801,.138246,-1.084105,416.823944,20.003433,.174489,-1.133148,302.730042,18.550846,.207969,-1.138483,242.853577,15.923334,.249132,-1.168197,191.649445,13.940813,.291391,-1.187038,152.910309,12.263267,.332856,-1.192793,121.905075,10.822873,.377473,-1.202846,99.145561,9.618412,.422601,-1.208871,81.343315,8.591735,.465276,-1.204545,66.742569,7.692911,.50471,-1.190839,54.787876,6.915612,.544909,-1.178827,45.507313,6.242786,.582125,-1.16059,37.819912,5.65169,.620694,-1.145481,31.926588,5.12366,.659127,-1.130178,27.14731,4.669475,.684358,-1.093728,22.650702,4.258717,.719453,-1.074591,19.454103,3.901225,.751695,-1.051678,16.735672,3.57687,.775082,-1.017716,14.281039,3.287471,.796233,-.982759,12.261332,3.023708,.827404,-.961227,10.767912,2.78774,.848149,-.928433,9.37135,2.570737,.864891,-.892838,8.142364,2.379204,.880979,-.858193,7.118954,2.20447,.910434,-.837281,6.389041,2.041554,.925396,-.803638,5.643217,1.893353,.942463,-.772925,5.031223,1.757331,.955217,-.73972,4.486978,1.633572,.96857,-.708048,4.014621,1.520414,.981672,-.677109,3.617768,1.412506,.992829,-.645712,3.258773,1.317079,1.02127,-.625746,3.00664,1.222611,1.031247,-.594628,2.733073,1.137911,1.043581,-.56554,2.498495,1.058439,1.05593,-.536962,2.289843,.984428,1.066727,-.508076,2.108603,.912794,1.081225,-.481297,1.951454,.845536,1.088198,-.451563,1.801891,.782718,1.123316,-.433247,1.704316,.721664,1.133206,-.404812,1.586153,.662761,1.152889,-.379901,1.490958,.606866,1.188158,-.359421,1.41573,.550666,1.217064,-.336049,1.344172,.496748,1.257727,-.314816,1.283196,.443538,1.286647,-.28953,1.225903,.394018,1.308729,-.262053,1.173928,.346255,1.351453,-.237704,1.139992,.300393,1.380284,-.209733,1.105997,.256661,1.414621,-.181613,1.082109,.215429,1.453045,-.152797,1.063853,.177098,1.481066,-.121803,1.043185,.137203,1.514113,-.09025,1.027072,.096998,1.547317,-.057603,1.012551,.055328,1.577983,-.023799,.999267,.013094,108e-6,-.12497,1249.704346,1249.703491,14e-5,-.119585,1195.855469,1195.85437,.003995,-.927433,9274.246094,232.443573,.012013,-1.13158,11315.999023,98.211105,.023892,-1.216018,12162.739258,67.2145,.047506,-1.517865,15186.294922,42.410069,.082523,-1.812564,18145.71875,24.421545,.112452,-1.805072,11112.966797,18.450365,.16446,-2.016784,8086.032715,14.043465,.19587,-1.898199,4245.658203,13.178202,.197797,-1.556158,1315.561768,30.760096,.21954,-1.433455,802.380371,25.037956,.268696,-1.483235,579.715515,20.975695,.265968,-1.261051,386.583649,12.017023,.325369,-1.343349,316.795959,12.612406,.387968,-1.411606,232.491623,13.29694,.435543,-1.411236,181.515228,11.646996,.482729,-1.405722,143.425354,10.265131,.531742,-1.402782,114.920082,9.114828,.559383,-1.346165,88.589005,8.089214,.607851,-1.342407,73.05661,7.249064,.656928,-1.338238,60.826897,6.531094,.681212,-1.285692,48.727219,5.868711,.729238,-1.279951,41.256016,5.324553,.751172,-1.230045,33.72826,4.816513,.773107,-1.184288,27.913816,4.377203,.815726,-1.171653,24.065962,3.999965,.837886,-1.130636,20.25486,3.658493,.857674,-1.089071,17.138168,3.34793,.87612,-1.048303,14.572968,3.072666,.893935,-1.00904,12.496377,2.825165,.927998,-.989064,11.040731,2.60552,.928445,-.935017,9.365102,2.401481,.945279,-.899993,8.177711,2.222282,.959378,-.863854,7.155303,2.059342,.971761,-.827684,6.284632,1.909314,.987812,-.795878,5.583837,1.771094,1.001958,-.76354,4.962345,1.645968,1.014357,-.730897,4.435898,1.527438,1.025946,-.698675,3.973241,1.421337,1.036435,-.666662,3.568025,1.323677,1.046807,-.635466,3.218647,1.232678,1.052974,-.60266,2.902273,1.147675,1.086089,-.585364,2.694939,1.068352,1.09466,-.554784,2.454491,.993445,1.117131,-.5315,2.270746,.923758,1.114009,-.496581,2.063934,.858381,1.137328,-.473914,1.91799,.79498,1.158671,-.450127,1.786523,.735697,1.177878,-.425306,1.662454,.677498,1.20751,-.403797,1.559058,.621762,1.244496,-.383812,1.466801,.56619,1.240412,-.35108,1.366853,.514288,1.321257,-.3412,1.309808,.464621,1.336512,-.31271,1.241822,.413228,1.365047,-.286935,1.186612,.366092,1.418984,-.265184,1.15212,.321528,1.388864,-.22775,1.089937,.271827,1.464383,-.207168,1.077271,.232838,1.473125,-.17577,1.041835,.193289,1.542908,-.150424,1.036794,.156153,1.563005,-.118748,1.013029,.114866,1.637048,-.089604,1.013493,.076804,1.670777,-.056398,.999208,.032691],armory_data_ConstData.ltc_mag=[1,1,1,1,1,1,1,1,1,1,1,1,.999995,.99999,.999971,.999937,.999853,.99967,.999138,.996746,.979578,.979309,.978836,.977972,.976223,.972205,.962466,.953919,.949829,.942492,.92987,.921319,.911112,.896015,.885105,.869971,.855017,.838328,.821241,.802352,.783873,.763309,.743058,.721929,.699755,.677721,.655456,.632681,.609629,.586831,.564287,.541772,.519428,.497353,.475624,.454606,.434099,.414085,.394605,.375698,.357386,.339871,.323085,.306905,1,1,1,1,1,1,1,1,.999999,.999999,.999998,.999995,.99999,.99998,.999959,.999923,.999842,.99966,.999119,.996613,.981824,.979298,.978826,.977957,.976184,.972091,.962188,.953875,.949746,.942335,.930166,.921211,.910927,.896979,.88494,.869864,.854835,.8382,.821049,.802552,.783659,.763512,.742927,.721715,.699938,.677775,.655246,.632555,.609805,.586996,.564225,.541606,.519346,.497419,.475863,.454738,.434099,.414003,.394547,.375747,.357564,.340012,.323099,.306861,1,1,1,1,1,1,1,1,1,.999999,.999998,.999995,.999991,.999979,.999959,.999917,.999839,.999648,.999074,.996168,.98377,.979279,.9788,.977905,.976058,.971727,.96212,.953901,.949485,.941859,.930911,.920853,.910394,.8976,.884427,.870101,.854522,.838325,.820754,.802707,.783223,.763605,.742872,.721565,.699935,.677726,.655242,.63258,.609766,.586946,.564275,.541759,.519467,.497478,.475886,.454794,.434233,.414207,.394751,.375892,.357683,.340146,.323287,.307095,1,1,1,1,1,1,1,.999999,.999999,.999998,.999996,.999992,.999987,.999975,.999953,.999913,.99983,.99963,.998993,.995279,.985142,.979252,.978754,.977821,.975838,.971088,.962563,.954785,.949048,.941052,.93142,.920812,.90975,.897867,.883856,.870091,.854353,.838166,.820661,.802465,.783308,.763346,.742734,.721608,.699747,.677626,.655245,.632547,.609793,.587044,.56434,.541779,.519529,.497633,.476114,.45503,.43443,.414406,.394974,.376154,.357979,.340443,.323572,.307379,1,1,1,1,1,1,1,1,.999998,.999998,.999996,.999991,.999984,.99997,.999946,.999905,.999815,.999599,.998856,.993704,.986135,.979212,.97869,.977691,.975504,.970133,.962951,.955649,.948405,.940418,.93166,.920881,.909376,.897785,.883844,.869756,.854326,.837732,.820617,.802053,.783195,.763119,.74261,.721344,.699709,.677624,.655114,.632523,.609812,.587052,.564417,.541966,.519751,.497824,.476309,.455271,.434735,.414736,.395317,.376524,.358364,.340852,.323988,.307786,1,1,1,1,1,1,.999999,.999999,.999997,.999996,.999994,.999989,.99998,.999965,.99994,.999895,.999796,.999559,.998638,.992774,.986878,.980297,.978602,.977514,.975026,.969169,.963214,.956267,.947689,.940054,.931637,.920678,.90899,.897349,.883905,.869139,.854177,.837476,.820295,.801977,.782798,.762978,.742418,.721193,.69956,.677402,.655108,.632543,.609804,.587158,.564557,.542096,.519908,.498088,.476632,.455623,.435104,.415161,.395783,.377005,.358843,.341345,.324529,.308355,1,1,1,1,1,.999999,.999999,.999998,.999997,.999992,.999991,.999985,.999977,.999959,.999935,.999878,.999773,.999505,.998284,.992353,.987457,.981665,.978492,.977277,.97436,.968716,.963373,.956629,.947397,.939657,.931339,.920588,.908975,.896712,.883763,.86889,.853731,.837333,.819702,.801738,.782454,.762712,.742024,.721037,.699325,.677359,.65503,.632439,.609869,.587221,.564663,.542328,.52022,.4984,.476997,.456053,.435593,.415658,.3963,.377577,.359473,.342004,.32517,.308997,1,1,1,1,1,.999999,.999998,.999998,.999996,.999993,.999988,.999981,.999971,.999951,.999921,.999863,.999748,.999433,.997681,.99212,.98792,.982864,.978353,.976961,.973451,.968396,.9634,.95668,.947529,.939151,.930747,.920511,.908867,.896142,.883335,.868764,.853025,.837015,.819452,.801249,.782176,.762345,.741843,.720721,.699135,.677194,.654889,.632487,.609902,.587328,.564891,.542567,.520501,.498793,.477442,.456528,.436131,.416273,.39698,.378276,.360176,.342738,.32595,.309803,1,1,1,1,.999999,.999998,.999999,.999997,.999995,.999991,.999985,.999978,.999963,.999942,.999907,.999844,.999715,.999332,.996612,.991974,.988297,.983843,.978349,.97654,.972351,.968109,.96328,.956464,.947779,.938754,.929952,.920253,.90853,.895785,.882679,.868456,.852669,.836406,.819138,.800708,.781803,.761855,.741534,.720405,.698959,.676964,.654827,.632411,.609922,.587477,.565051,.542829,.520889,.499225,.477951,.457148,.436792,.416963,.397723,.379068,.361025,.343608,.326842,.310718,1,1,1,1,1,.999999,.999998,.999995,.999994,.99999,.999983,.999971,.999954,.999932,.999892,.99982,.999675,.99919,.995492,.991911,.98861,.984662,.979221,.975975,.971671,.967788,.963002,.955938,.947965,.938692,.929309,.919781,.908268,.895518,.882022,.867884,.852346,.835746,.818607,.800261,.781335,.761539,.741063,.720116,.698617,.676815,.6547,.632389,.610037,.587591,.565328,.543205,.521293,.499745,.478562,.457776,.437515,.417776,.398586,.379963,.361984,.344616,.327857,.311751,1,1,1,1,1,.999999,.999997,.999996,.999992,.999986,.999977,.999965,.999947,.999916,.999873,.999794,.999628,.998966,.994914,.991849,.988873,.985288,.98017,.975207,.971156,.967476,.962538,.955601,.947978,.938542,.928618,.919056,.90789,.895098,.881352,.867263,.851806,.835168,.818003,.799785,.780633,.76108,.740618,.719795,.698332,.676629,.654544,.632411,.610042,.587805,.565593,.543549,.521793,.500309,.479195,.458546,.438353,.418669,.399557,.381012,.363049,.34571,.329006,.312948,1,1,1,1,1,.999999,.999997,.999993,.99999,.999984,.999972,.99996,.999939,.999906,.999853,.999765,.999567,.998603,.994519,.991794,.989089,.985781,.980956,.974161,.970688,.967064,.96189,.955292,.947848,.938359,.928226,.918214,.907361,.894702,.880834,.8665,.851209,.834627,.817211,.79925,.780131,.760512,.740218,.719264,.698063,.676325,.65445,.632316,.61017,.587988,.565891,.544013,.522305,.500958,.479971,.459376,.439271,.419699,.40062,.382126,.364246,.346967,.330273,.314236,1,1,1,1,.999999,.999998,.999996,.999994,.999988,.999979,.999967,.999952,.999924,.999888,.999833,.999733,.99949,.997946,.994192,.991812,.989274,.986224,.981547,.974,.970269,.966545,.961031,.954921,.947416,.938226,.928003,.91739,.906553,.894191,.880329,.86554,.850476,.834058,.816467,.798509,.779561,.759828,.739738,.718878,.697718,.676138,.654342,.632317,.610292,.588207,.566289,.544443,.522927,.501674,.480765,.460314,.440304,.420782,.401824,.38341,.365538,.348312,.331692,.315688,1,1,1,1,.999999,.999998,.999996,.999993,.999985,.999976,.999961,.999943,.999913,.999872,.999807,.999691,.99939,.996859,.994003,.991808,.989423,.986523,.981783,.974511,.969791,.965933,.960377,.954434,.946803,.938026,.92762,.916545,.905639,.893489,.87982,.864852,.849513,.833311,.815878,.797621,.778938,.759253,.739142,.718479,.697274,.675902,.654135,.632357,.610364,.588497,.566631,.545012,.523579,.502429,.48168,.461304,.441425,.422039,.403135,.384779,.366976,.349796,.333231,.317277,1,1,1,1,.999999,.999998,.999996,.999991,.999983,.999974,.999956,.999932,.999901,.999852,.99978,.999646,.999248,.996193,.993784,.991782,.989539,.986694,.981765,.975135,.969309,.965128,.959788,.953831,.946255,.937664,.927351,.916044,.904715,.892528,.879111,.864256,.848452,.832434,.815129,.796806,.778118,.758668,.738466,.718024,.696958,.675642,.654067,.632325,.610546,.588786,.567123,.545617,.524312,.503348,.482637,.462418,.442657,.423338,.404564,.386277,.368545,.351448,.334906,.318961,1,1,1,.999999,.999999,.999998,.999994,.999989,.999979,.999968,.999949,.999921,.999886,.999833,.999747,.999596,.999029,.995749,.993677,.991724,.98962,.986723,.981515,.975767,.969056,.964124,.959142,.953036,.94565,.937022,.926971,.915515,.903584,.891603,.878212,.863472,.847652,.831398,.814299,.796105,.777231,.757977,.737895,.717415,.696595,.675317,.65398,.632343,.610735,.589076,.56762,.546251,.525165,.504255,.483759,.463666,.443987,.424783,.406042,.387891,.370293,.353221,.336715,.320806,1,1,1,.999999,.999998,.999998,.999993,.999987,.999977,.999964,.999943,.999911,.999867,.999807,.999714,.999531,.998645,.995399,.993512,.991717,.989661,.986652,.981559,.976183,.969411,.963317,.958457,.952091,.944951,.936307,.926454,.915043,.902668,.890462,.877245,.862672,.846823,.830201,.813293,.795306,.776393,.757199,.737324,.716808,.696187,.675094,.653814,.632453,.610885,.589483,.568099,.546975,.525953,.505268,.484936,.464988,.445458,.426314,.40775,.38967,.372098,.355105,.338682,.322825,1,1,1,1,.999999,.999996,.999992,.999983,.999976,.999959,.999933,.999898,.999849,.99978,.999676,.999454,.997884,.995166,.993394,.991723,.989654,.986389,.981632,.976607,.969701,.962555,.957605,.951232,.944099,.935556,.925699,.914492,.902027,.889116,.876093,.861649,.845956,.829238,.81222,.79442,.775657,.756265,.736673,.716372,.695669,.674886,.653728,.632568,.611217,.589929,.568783,.547752,.526931,.506425,.486238,.466425,.446945,.428026,.409536,.391551,.374087,.357155,.340787,.324974,1,1,1,1,.999998,.999996,.99999,.999984,.99997,.999952,.999925,.999886,.999831,.999757,.999633,.999356,.997017,.994868,.993337,.99171,.98958,.985848,.98164,.976711,.969755,.962166,.956609,.950365,.943026,.934693,.92488,.913729,.90135,.887966,.874726,.860474,.844905,.828269,.810905,.793364,.774812,.755478,.735886,.715847,.695231,.674537,.653667,.632527,.611475,.590363,.569462,.548571,.527976,.507634,.487632,.467901,.44868,.429833,.411467,.393568,.376197,.359374,.343034,.327273,1,1,1,.999999,.999998,.999993,.999989,.99998,.999965,.999945,.999913,.999869,.99981,.999723,.999583,.999213,.99654,.99474,.993244,.991671,.989411,.985533,.981616,.976847,.969968,.962315,.955468,.94942,.942016,.933617,.923949,.912899,.900495,.887022,.873283,.859153,.84383,.827325,.809888,.792172,.773832,.754686,.735035,.715297,.694955,.674242,.65366,.632752,.611804,.590993,.570154,.549539,.529087,.508974,.48903,.469599,.450466,.431761,.413508,.395761,.37848,.361679,.345465,.329752,1,1,1,1,.999997,.999994,.999987,.999978,.999961,.999936,.999903,.999855,.999786,.999689,.999527,.998988,.996137,.994527,.993108,.991599,.989084,.985308,.981527,.976677,.970079,.962535,.95449,.948271,.940942,.932422,.922836,.911896,.899632,.886118,.871864,.857719,.842536,.826163,.808849,.79086,.772802,.75386,.734335,.714582,.694543,.674071,.653544,.632922,.612153,.591573,.570951,.55052,.530352,.510311,.490707,.471359,.452396,.433837,.415736,.398052,.380874,.364232,.348023,.332368,1,1,1,.999999,.999998,.999994,.999988,.999976,.999957,.999928,.999891,.999837,.999759,.99965,.999463,.998551,.995879,.994366,.992964,.991479,.988521,.985101,.981482,.976168,.970242,.962585,.95395,.946973,.939686,.931248,.921614,.910765,.898617,.885183,.870772,.856138,.84112,.824962,.807732,.789813,.771638,.753008,.733686,.713927,.694082,.673967,.653549,.633135,.612702,.5922,.571904,.551679,.531678,.511898,.492437,.473239,.454451,.436067,.418054,.400542,.383486,.366848,.350781,.335182,1,1,1,.999999,.999997,.999993,.999985,.999972,.999951,.999919,.999877,.999817,.999733,.999608,.99938,.997685,.995603,.994264,.992911,.991287,.987923,.984871,.981239,.975933,.970149,.962511,.953824,.945699,.938285,.929907,.920343,.909537,.897435,.884056,.869626,.85449,.839459,.823511,.806511,.788752,.77044,.751995,.732962,.713424,.693525,.673798,.653622,.633301,.613224,.592938,.572833,.552904,.53303,.513556,.494215,.475279,.456673,.438411,.420583,.403178,.386178,.369728,.353688,.338147,1,1,1,.999999,.999997,.999991,.999984,.999967,.999944,.999912,.999863,.999796,.999703,.999563,.999279,.997104,.995394,.994111,.992825,.990979,.987529,.984661,.980774,.975758,.969866,.962465,.953678,.944489,.936886,.928356,.91882,.908073,.896092,.882833,.868463,.853212,.837744,.822048,.805333,.787643,.769414,.75083,.732178,.712972,.693227,.673569,.653744,.633739,.613735,.593822,.573916,.554158,.534652,.515248,.496233,.477436,.459009,.440929,.423259,.405951,.389136,.37269,.356789,.341329,1,1,1,.999999,.999996,.999991,.999981,.999966,.999939,.999903,.999847,.999771,.999666,.99951,.999131,.99669,.995147,.993882,.992696,.990474,.987227,.984334,.980153,.975438,.969406,.962238,.953598,.943868,.935356,.926721,.917122,.90643,.89455,.881354,.867131,.851954,.835972,.820331,.803911,.786452,.76842,.749821,.731298,.712393,.692979,.673418,.653859,.634232,.614327,.594732,.575131,.555584,.536346,.517175,.498323,.479744,.461485,.443645,.426061,.408969,.392155,.375921,.36006,.344677,1,1,1,.999999,.999997,.999991,.999979,.99996,.999931,.999891,.999832,.999748,.999629,.999449,.99888,.996305,.995024,.993812,.992508,.989721,.986936,.983936,.979629,.974979,.968928,.96197,.953291,.943458,.933644,.925007,.915388,.904755,.892932,.879831,.865794,.850672,.834591,.818398,.802304,.785151,.76745,.748987,.730325,.711758,.692761,.673417,.653908,.634686,.615168,.595707,.576393,.557198,.538018,.519253,.500555,.48222,.464197,.446414,.429106,.412035,.395508,.379284,.363538,.34822,1,1,1,.999999,.999995,.999989,.999977,.999955,.999924,.999879,.999813,.999722,.99959,.999381,.998335,.996088,.994814,.993709,.99222,.989209,.986575,.983383,.979084,.974272,.968359,.961275,.953025,.943098,.932434,.923101,.913477,.902861,.891059,.878072,.864118,.849188,.833281,.816808,.800596,.783745,.766331,.748123,.729686,.711078,.692527,.673491,.654296,.635113,.616048,.596847,.57772,.558879,.540028,.521371,.502996,.484858,.466997,.449477,.432217,.415426,.398924,.38289,.367206,.351955,1,1,1,.999998,.999996,.999988,.999974,.999953,.999918,.999865,.999791,.99969,.999542,.999293,.997535,.99579,.994609,.993557,.991766,.988767,.986255,.982544,.978541,.973528,.9677,.960596,.952299,.942684,.931653,.921211,.911489,.900818,.889018,.876245,.862406,.847517,.831852,.815367,.798719,.782224,.765167,.747304,.729133,.710485,.692196,.673589,.65477,.635717,.616986,.598119,.579298,.56056,.542163,.523669,.505564,.487642,.469991,.452658,.43562,.418937,.402612,.386633,.371091,.355949,1,1,.999999,.999998,.999995,.999986,.999973,.999948,.999909,.999852,.999769,.999656,.99949,.999186,.997059,.995624,.99451,.993327,.99102,.988379,.985771,.981971,.978051,.972892,.96702,.959965,.951625,.941902,.930951,.91937,.909285,.898562,.886809,.874251,.860597,.845808,.830365,.813972,.79726,.780597,.763854,.746401,.728519,.710203,.691882,.673687,.655275,.636621,.617909,.599473,.581032,.56256,.544295,.526228,.508293,.490652,.473242,.456004,.439212,.422663,.406476,.390647,.375204,.360129,1,1,1,.999999,.999994,.999984,.999969,.99994,.999898,.999837,.999746,.999617,.999438,.999016,.996703,.995302,.994356,.992993,.99039,.988072,.985152,.981447,.977273,.972234,.966113,.959033,.950869,.941217,.930175,.918279,.906941,.896201,.884509,.87192,.85842,.843906,.82873,.812524,.795978,.778979,.76245,.745459,.727966,.710046,.691808,.673739,.655756,.637574,.619153,.600887,.582796,.564748,.546636,.528904,.511252,.493791,.476563,.459695,.442942,.426632,.410558,.394895,.379517,.36456,1,1,1,.999998,.999994,.999984,.999966,.999934,.999887,.999819,.99972,.999578,.999367,.998696,.996353,.995201,.994115,.992665,.989948,.987633,.984331,.980827,.97639,.971327,.965201,.957977,.949712,.940128,.929187,.917237,.904645,.893711,.882112,.869516,.856236,.841929,.826924,.810991,.794686,.777761,.76098,.744384,.727314,.709877,.691988,.674098,.656243,.638603,.620606,.602574,.584694,.567018,.549311,.531673,.514403,.497148,.480177,.463439,.446998,.430743,.414943,.399304,.384121,.369251,1,1,1,.999997,.999992,.999981,.999962,.999927,.999874,.999798,.999691,.999533,.999291,.997909,.996117,.995029,.99388,.992142,.989576,.987185,.983587,.980055,.975487,.970172,.963998,.956738,.948637,.939083,.928169,.916144,.903147,.890916,.879389,.866895,.853826,.839729,.824957,.809472,.793341,.776743,.759808,.743277,.726643,.709685,.692249,.674639,.657008,.639576,.622114,.604471,.586851,.56934,.552135,.534806,.517599,.500765,.484035,.46744,.451212,.43524,.419399,.404083,.388944,.374182,1,1,1,.999998,.999993,.999979,.999958,.999919,.999861,.999774,.999656,.999482,.999195,.997307,.995837,.994722,.993707,.991391,.989169,.986461,.982904,.979062,.974536,.969035,.962653,.955486,.947243,.937747,.926861,.914936,.901835,.888472,.876571,.864223,.851252,.837374,.822985,.807788,.791927,.775702,.758928,.742347,.725914,.709495,.692569,.675363,.658085,.640639,.623698,.606505,.589267,.572008,.554939,.538132,.521211,.504487,.488048,.471807,.455651,.439858,.424332,.408983,.394071,.379402,1,1,1,.999997,.999992,.999978,.999954,.999913,.999844,.999753,.999618,.999424,.999067,.996875,.995659,.994603,.99342,.990874,.988713,.985585,.982193,.978145,.973416,.967801,.961483,.954069,.945704,.936138,.925374,.913395,.900339,.886675,.873512,.861326,.848513,.834956,.82082,.805943,.790574,.774677,.758279,.741807,.725271,.709231,.692874,.676189,.659352,.642296,.62525,.6087,.591823,.575012,.558143,.541491,.525075,.508558,.492277,.47627,.460459,.44474,.4294,.414309,.399421,.384907,1,1,1,.999997,.99999,.999977,.999947,.999902,.999832,.99973,.999577,.999359,.998845,.996554,.995328,.994442,.992919,.990393,.98817,.984855,.981312,.977149,.972137,.966207,.959967,.952454,.943873,.934434,.923813,.911942,.898928,.88512,.871043,.858248,.845666,.832346,.818482,.804029,.788982,.773571,.7577,.741484,.725186,.708915,.693244,.677028,.660656,.644079,.627377,.610804,.594542,.578112,.56165,.545163,.528962,.512926,.496893,.481007,.465397,.450042,.43474,.419831,.405156,.390692,1,1,.999999,.999997,.999989,.999973,.999942,.999891,.999813,.999698,.999532,.999285,.998286,.996295,.995215,.994182,.992032,.989855,.987415,.984047,.98005,.976017,.970845,.964767,.958269,.9506,.942033,.932501,.921807,.910017,.897149,.883414,.869182,.855055,.842687,.829548,.816162,.802072,.787436,.772533,.757043,.741263,.72533,.709262,.693497,.678038,.662128,.646068,.629824,.613437,.597334,.581401,.565372,.549288,.533182,.517405,.501765,.486143,.470675,.455465,.440532,.42563,.411113,.396887,1,1,.999999,.999996,.999989,.99997,.999934,.999879,.999793,.999665,.999481,.999192,.997506,.995926,.995009,.993736,.991298,.989326,.986371,.983199,.979032,.974596,.969364,.963198,.956385,.948509,.939993,.930421,.91959,.90814,.895349,.881699,.867456,.852784,.8395,.826629,.813602,.799983,.785873,.77134,.75648,.74119,.725687,.709997,.694192,.678975,.663673,.648135,.632442,.616477,.600565,.584772,.569202,.553595,.537881,.522193,.506784,.491554,.476349,.461278,.446419,.431913,.417443,.403271,1,1,.999999,.999995,.999986,.999966,.999927,.999867,.999772,.999629,.999423,.999075,.997024,.995773,.994651,.993353,.990822,.988569,.985596,.982182,.977871,.97314,.967584,.961408,.954294,.946398,.937603,.927937,.917305,.905833,.893138,.87977,.86572,.851023,.836801,.823784,.810909,.797886,.784177,.770243,.755925,.741144,.726214,.710971,.695563,.680212,.665304,.650297,.635168,.619796,.604217,.588692,.573254,.557998,.542839,.52747,.512162,.497115,.482296,.467477,.452812,.43831,.424184,.410163,1,1,.999999,.999996,.999984,.999962,.99992,.999852,.999745,.999586,.999354,.998894,.996686,.995485,.994493,.992573,.990323,.987772,.984692,.980887,.976446,.971625,.965717,.959421,.951975,.944086,.935066,.925403,.914814,.903208,.890958,.877817,.863828,.849289,.834872,.820889,.808183,.79566,.782556,.769066,.755386,.741229,.726726,.71217,.697209,.68217,.667203,.652689,.637938,.623262,.60819,.593002,.577817,.562737,.547836,.533036,.518052,.503135,.488422,.473986,.459552,.445282,.431149,.417407,1,1,.999999,.999994,.999983,.999957,.999914,.999835,.999718,.999538,.999275,.998454,.996341,.995246,.994222,.991844,.989829,.986688,.983562,.979638,.974932,.969827,.963621,.957146,.949365,.941398,.932245,.922556,.911949,.900627,.88844,.875544,.862005,.84781,.833372,.819134,.805508,.793339,.780916,.767837,.754858,.741307,.727496,.713386,.699131,.684542,.669878,.655261,.641035,.626685,.612377,.597625,.582805,.56803,.553204,.538684,.524269,.509662,.495119,.480735,.466634,.452593,.438748,.424915,1,1,.999998,.999994,.999982,.999956,.999901,.999818,.999683,.999487,.999185,.997584,.996004,.99505,.993715,.991212,.989057,.985879,.982243,.978206,.973119,.967919,.961343,.954603,.946712,.938378,.929266,.919443,.908911,.897725,.885589,.873254,.859889,.846123,.832094,.817898,.803866,.791061,.779235,.766885,.754292,.741565,.728331,.714861,.701179,.687166,.673012,.658716,.644442,.630472,.616519,.602514,.588172,.573689,.559281,.544768,.530543,.516485,.502303,.4881,.474095,.460245,.446598,.433169,1,1,.999997,.999993,.99998,.999947,.999891,.999794,.999647,.999425,.999062,.997049,.995778,.994652,.992778,.990482,.988004,.984893,.980881,.976605,.971199,.96561,.958925,.951746,.943791,.9352,.926018,.916028,.905724,.894528,.882914,.87074,.857802,.844552,.830857,.816921,.803102,.789625,.77748,.765891,.753908,.741795,.72939,.71644,.703411,.690068,.676438,.662586,.648697,.634732,.620997,.607451,.593765,.579748,.565661,.551594,.537396,.523433,.509708,.495972,.482082,.468427,.45489,.441623,1,1,.999999,.999991,.999977,.99994,.999875,.999769,.999605,.999352,.998882,.996665,.995459,.99438,.992014,.989912,.986796,.983537,.979326,.974792,.96914,.96316,.956222,.948807,.940518,.931755,.922452,.912319,.902227,.891142,.879838,.868047,.855745,.842718,.829827,.816398,.802786,.789396,.776581,.764901,.75371,.742102,.730448,.718337,.705768,.693172,.680153,.666882,.653401,.639837,.626152,.612676,.599435,.586109,.572473,.558715,.544964,.531112,.517416,.503992,.490653,.477162,.463832,.450645,1,1,.999999,.999992,.999973,.999933,.999861,.999741,.999554,.999267,.998411,.996303,.995191,.993945,.991406,.989019,.98572,.982057,.977501,.972605,.966697,.96034,.953031,.945347,.936866,.927917,.918562,.908598,.898486,.887794,.876545,.865379,.853428,.841167,.828649,.815967,.802957,.789865,.777077,.764695,.753544,.742694,.731571,.720304,.70849,.696351,.684134,.67147,.658541,.645376,.632209,.618776,.605511,.592527,.579546,.56631,.55286,.539492,.526005,.512564,.49934,.48636,.473357,.460306,1,1,.999998,.999991,.99997,.999926,.999842,.99971,.999498,.999164,.997464,.99587,.994917,.992911,.990682,.987816,.98441,.980551,.975693,.970263,.963946,.957248,.949765,.941571,.932941,.923873,.914332,.90456,.894394,.884127,.873294,.862503,.851335,.839566,.827776,.815708,.80337,.790821,.778386,.766121,.754193,.74342,.732975,.722326,.711376,.699992,.68818,.676354,.664004,.651449,.6386,.625776,.61266,.599603,.586719,.574078,.561273,.548129,.535155,.522015,.508851,.495837,.48319,.470624,1,1,.999998,.999988,.999965,.999916,.999823,.999669,.999425,.999025,.996874,.99567,.994415,.991991,.989766,.986646,.982812,.978356,.973317,.967612,.96082,.953603,.945969,.937323,.928661,.919507,.909833,.900245,.89039,.880252,.87,.859518,.849163,.838101,.82696,.815688,.804126,.792234,.780356,.768474,.756678,.745159,.734601,.724624,.714339,.703751,.692766,.681267,.669799,.657871,.645577,.633102,.62056,.607737,.59489,.582143,.569779,.55736,.544651,.531942,.519228,.506467,.49371,.481143,1,1,.999998,.999988,.999961,.999902,.999798,.999622,.999341,.998801,.996397,.995225,.993927,.991338,.9885,.985327,.981195,.976383,.970726,.964471,.957386,.949813,.941694,.932681,.923974,.914755,.905026,.895649,.886178,.876277,.866629,.85689,.846934,.836887,.826373,.815885,.805169,.794133,.782812,.771547,.760175,.748896,.737687,.727152,.717601,.70767,.697425,.686788,.675664,.664513,.652962,.640965,.628851,.616551,.604168,.591559,.579009,.566648,.554597,.542382,.529999,.517655,.505254,.492894,1,1,.999997,.999986,.999956,.999889,.999766,.999562,.99924,.997952,.996094,.994979,.992773,.990536,.987214,.983322,.978938,.973714,.967681,.960981,.953144,.945475,.936909,.927734,.918826,.90959,.900085,.890867,.881801,.872565,.863236,.854239,.84506,.835686,.826251,.816284,.806586,.796419,.785914,.77521,.764461,.753599,.742805,.731872,.72137,.711898,.702337,.692383,.682137,.671365,.660479,.649314,.637685,.625899,.613898,.601865,.589582,.577285,.565013,.553106,.54128,.529367,.51732,.505411,1,1,.999997,.999983,.999948,.999869,.999732,.999499,.999111,.997167,.99572,.994349,.991727,.989197,.985883,.981483,.976618,.970597,.964122,.956994,.948639,.9405,.931606,.922385,.913291,.904205,.894938,.88589,.877334,.868754,.860053,.851683,.843447,.834889,.826304,.817441,.808285,.799141,.78957,.7796,.76951,.759155,.748882,.738346,.727629,.717273,.707467,.698283,.688609,.678748,.668371,.657739,.646951,.635765,.624254,.612647,.6009,.589061,.576998,.564991,.553102,.541517,.530027,.518495,1,1,.999997,.999983,.999939,.999851,.999684,.999412,.998925,.996597,.995207,.993603,.990903,.987594,.983814,.979016,.973647,.967048,.960109,.952123,.94356,.9349,.925747,.916566,.907305,.898441,.889629,.881042,.872874,.865064,.857225,.849446,.842063,.834561,.826814,.818875,.810748,.802316,.793699,.784704,.775198,.765643,.755735,.745873,.735526,.725229,.714892,.704807,.695502,.686241,.676633,.666688,.656384,.645871,.635174,.624113,.612788,.601426,.589925,.578399,.566612,.554931,.543383,.532065,1,1,.999996,.999977,.999928,.999824,.999633,.999306,.998429,.996133,.99489,.992316,.989752,.986095,.981564,.976234,.970081,.962779,.955232,.946702,.937716,.928604,.919281,.910167,.901046,.892446,.884183,.876253,.868619,.861545,.854673,.847885,.841074,.83461,.827984,.820945,.813648,.806232,.798444,.790232,.781853,.772897,.763648,.754227,.744542,.734689,.724526,.714204,.704152,.694222,.685143,.67586,.666319,.656415,.646273,.635902,.625399,.614563,.60349,.592413,.581217,.57,.558608,.547242,1,.999999,.999995,.999972,.999915,.99979,.999562,.999168,.997237,.995672,.994074,.99122,.987792,.983822,.978599,.972804,.965718,.958053,.94946,.940503,.931011,.921608,.912409,.903378,.894606,.886369,.878756,.871573,.864862,.858421,.852541,.846802,.841027,.835206,.829628,.82373,.817415,.810655,.803873,.796659,.788887,.78094,.772537,.763507,.754487,.745163,.735572,.725687,.715611,.705398,.695418,.685592,.676518,.667304,.657875,.648182,.638235,.628062,.617813,.607283,.596552,.58577,.575033,.564153,1,1,.999995,.99997,.999898,.999748,.999472,.998969,.996528,.995102,.992701,.989963,.985981,.981194,.975183,.968501,.960502,.952012,.942861,.933376,.923506,.914042,.904921,.896282,.887987,.880341,.873536,.867293,.861556,.856148,.850987,.846352,.841684,.83688,.832036,.827091,.8219,.816206,.810042,.803629,.796918,.789653,.781915,.774014,.76553,.756526,.747669,.738342,.72877,.718942,.708942,.698855,.688933,.679131,.669855,.660811,.651549,.642127,.632454,.622651,.612709,.602606,.592344,.581877,1,.999999,.999993,.999963,.999874,.999691,.99935,.998431,.995873,.994456,.991327,.987798,.983232,.9775,.970828,.962815,.954228,.944752,.935126,.925179,.915102,.905763,.897087,.888933,.881452,.874687,.868716,.863585,.858931,.854662,.850569,.846719,.843151,.839426,.835588,.831443,.827004,.822395,.817254,.81163,.805464,.799124,.792382,.785091,.777315,.76936,.760908,.751957,.743128,.733917,.72434,.714713,.704721,.694835,.684862,.675099,.66557,.656644,.647651,.638581,.629337,.619926,.610358,.600707,1,1,.99999,.999953,.999843,.999613,.999186,.997025,.995317,.99285,.98976,.98527,.979807,.973049,.965228,.956248,.946394,.936324,.926124,.915808,.905942,.89706,.889001,.881755,.875351,.869688,.864736,.860745,.857305,.85419,.851261,.848484,.845642,.842948,.84006,.836901,.833379,.829393,.825103,.820431,.815288,.809575,.803326,.796949,.790174,.782873,.775048,.767139,.758772,.750019,.74112,.732127,.722743,.713225,.703637,.693768,.684016,.674277,.664703,.655328,.64655,.637812,.629036,.620129,1,1,.999988,.999933,.9998,.999508,.998917,.996236,.994617,.991176,.987089,.98188,.974966,.967156,.957914,.947585,.936937,.926318,.915662,.905567,.896223,.888166,.881117,.875079,.869981,.865675,.862091,.859183,.856981,.855065,.853273,.851572,.849782,.847768,.845668,.843345,.840703,.837646,.834094,.83003,.825631,.820873,.815619,.809856,.803578,.797096,.790359,.783152,.775507,.767504,.759411,.750982,.742208,.733383,.724445,.71519,.705827,.69644,.686773,.677242,.667735,.658471,.649236,.640305,1,.999999,.999984,.999918,.999737,.99935,.997576,.995476,.992614,.988817,.983601,.97688,.968694,.959092,.948297,.936831,.925592,.914494,.904159,.894643,.886417,.87962,.874023,.869533,.865967,.863238,.861113,.859527,.858367,.857594,.856882,.856172,.855316,.854197,.852818,.851062,.849046,.846747,.844043,.840842,.837164,.832985,.828344,.823544,.818276,.812543,.806374,.799838,.79317,.786246,.778956,.771297,.763278,.755252,.746984,.738445,.729688,.721045,.712189,.703099,.694045,.68493,.675601,.66648,1,.999999,.999978,.999888,.999639,.999093,.99631,.994405,.990527,.985186,.978518,.969748,.959597,.948104,.935724,.923704,.912023,.901356,.89185,.883847,.87728,.872289,.868583,.865913,.864098,.862993,.862356,.862125,.862107,.862168,.862359,.86249,.86243,.862063,.861431,.860386,.85895,.85709,.854848,.852381,.849503,.846167,.842399,.838194,.833566,.828579,.823464,.817951,.812079,.805873,.79932,.792533,.785715,.778636,.77126,.763618,.755719,.747815,.739825,.731602,.723212,.714845,.706465,.697933,1,.999998,.999969,.999836,.999475,.997943,.995219,.99176,.986663,.979592,.970218,.959155,.946575,.933047,.920022,.907749,.896801,.887506,.880077,.874322,.870126,.867481,.865949,.865293,.865287,.865746,.866502,.867439,.868442,.869382,.870161,.870782,.871303,.871511,.871427,.870978,.870136,.868892,.867248,.865209,.862775,.859944,.857004,.853671,.849984,.845927,.841518,.836774,.83175,.826407,.821001,.815333,.809412,.803238,.796802,.790204,.783457,.776713,.769749,.762596,.755239,.74769,.740127,.732595,1,.999997,.99995,.999744,.999162,.996124,.992844,.987757,.980062,.969642,.957087,.942735,.927747,.913622,.900889,.890115,.881584,.875288,.870926,.868307,.867033,.866972,.867692,.86895,.870549,.87232,.874144,.875947,.877674,.879192,.880478,.881539,.882307,.882739,.882902,.882847,.882461,.881725,.880636,.879197,.877422,.875296,.872849,.870076,.866988,.863637,.860159,.856475,.852525,.848328,.843883,.839198,.834322,.829221,.823907,.818461,.812972,.807316,.801474,.795459,.789276,.783025,.776615,.770223,.999999,.999994,.999909,.999536,.997195,.994123,.988168,.979344,.967003,.951763,.934724,.917948,.902918,.890432,.880902,.874401,.870394,.868503,.868209,.869062,.870725,.873006,.875558,.87823,.880893,.883445,.885832,.888059,.890058,.891782,.893247,.89446,.895397,.896023,.89638,.896433,.896198,.895673,.894865,.893908,.8927,.891224,.889501,.887539,.885336,.882903,.880244,.877373,.874296,.871019,.867549,.863933,.860153,.856355,.852395,.848277,.844006,.839587,.835045,.830378,.825579,.820649,.815592,.810432,.999998,.999988,.999795,.998892,.994635,.98729,.975397,.958508,.938352,.917733,.8998,.885878,.876516,.8712,.869099,.869317,.871112,.87387,.87716,.880682,.884228,.887737,.891076,.894161,.896981,.899543,.901847,.903882,.905672,.907188,.908451,.90948,.910289,.910878,.911259,.91143,.911396,.911154,.910712,.910081,.909266,.908264,.907094,.905752,.904244,.902577,.900799,.898931,.896923,.894782,.892513,.890117,.8876,.884968,.882222,.879369,.876408,.873345,.870183,.866926,.863575,.86016,.856672,.853098,.999991,.999947,.999158,.992842,.980107,.95723,.928231,.901539,.882688,.872588,.869394,.870671,.874458,.879378,.884639,.88977,.894601,.898972,.90293,.906456,.909568,.912329,.91475,.916893,.918774,.920429,.921868,.92311,.924185,.925089,.925842,.926457,.926934,.927285,.927522,.927639,.92765,.927553,.927356,.927061,.926671,.926187,.925617,.924962,.924224,.923409,.922519,.921555,.920521,.919419,.918252,.917021,.915729,.914377,.912967,.911503,.909984,.908414,.906791,.905122,.903401,.901637,.899826,.897972,.987461,.940121,.871507,.898572,.916705,.926425,.931922,.935265,.937431,.938899,.93995,.940717,.941301,.941754,.942111,.942397,.942631,.942823,.942983,.943117,.943231,.943329,.943412,.943484,.943545,.943599,.943644,.943682,.943716,.943744,.943766,.943785,.943799,.943808,.943815,.943818,.943818,.943814,.943807,.943797,.943784,.943769,.943751,.94373,.943707,.943681,.943652,.943623,.943589,.943554,.943518,.943479,.943438,.943396,.943351,.943305,.943257,.943207,.943156,.943104,.943049,.942993,.942936,.942877],armory_renderpath_DynamicResolutionScale.dynamicScale=1,armory_renderpath_HosekWilkieData.datasetRGB1=[-1.099459,-.1335146,-4.083223,5.919603,-.1104166,1.600158,-1326538e-12,4.917807,.5127716,-1.169858,-.1832793,.9694744,.09495762,-.04738918,.2194171,.1095749,3.603604,.3815119,-.9665225,-.1403888,5.194457,-1.107607,-.8135181,4.969661,-.2300508,-2.48935,1.279158,-1.292508,-.1299552,-2.071404,-.04752482,1.215598,-1.904179,.3027985,8.707768,.06332446,-.9264666,-.169678,4.57407,-.4232936,-7.575833,5.079755,-.2576343,-4.506805,.6908129,-1.139072,-.1796056,1.923311,6.788529,-2.364389,-1.064041,.171701,1.534681,.501581,-1.107257,-.1384411,-4.285744,5.713157,-.1015992,1.372638,.06555893,5.127514,.6550471,-1.187337,-.1969013,.8551048,.05289708,-.07626406,.01733153,.1779454,3.801038,.4742709,-.9685321,-.1553308,4.732492,-1.178935,-.7852791,4.604492,-.2666518,-2.367663,1.177527,-1.252817,-.05129949,-2.800433,-.01295992,1.308964,-2.204331,.7276011,8.699265,.1188388,-.9459509,-.2322133,4.375041,-.1712018,-7.451681,5.078019,-.4223538,-4.595561,1.074719,-1.125092,-.179675,1.626399,6.989743,-2.406382,-.9060383,.2961611,1.337715,.543814,-1.135338,-.171616,-1.499253,2.373491,-.1654023,.9566404,.1113453,4.528473,.6579439,-1.13278,-.1456214,-1.736672,1.756589,-.1087003,.3757927,.252507,7.178513,.5003814,-1.167176,-.2927225,5.727667,-3.139244,-.6425204,2.822634,-.1457812,-6.78708,1.017072,-1.042529,.04110823,-4.000629,4.362364,1.09054,-1.338674,.8246964,10.95249,.2912211,-1.061598,-.2096143,3.803155,-7.977069,-3.63788,3.707671,-.1903128,-3.397953,.99715,-1.07356,-.2077964,1.492052,16.26322,-5.015304,-.4059889,.2659782,.639538,.5634436,-1.172794,-.2111186,-1.360013,1.60408,-.08473723,.7217312,.154803,4.25701,.6328974,-1.238374,-.2670827,.3247678,.5466311,-.7425952,.527644,.02678026,5.484169,.6814734,-1.176923,-.2574586,2.304045,-2.797678,1.464405,1.998552,.2550559,-4.199772,.7544892,-1.003284,.01943984,-2.145066,10.30924,-15.25413,-2.02301,.5448699,8.159497,.5539148,-1.060017,-.2037206,2.483018,-4.595459,6.526991,4.031804,.1206513,-2.586527,.7875752,-1.081141,-.2123302,1.092275,2.683841,-4.166938,-1.396582,.4371205,1.030233,.6664862,-1.222392,-.2651924,-.4625037,.3521964,.02148855,.5078494,.179159,3.852516,.5998216,-1.42461,-.4710155,-.1826815,1.786277,-1.952442,.5277612,-.01773629,2.415874,.6701272,-1.130655,-.1358609,.9171203,-4.660394,6.251162,1.904529,.2639668,1.85613,.822844,-.9739015,-.06674749,-.4768897,12.48589,-19.94688,-2.353043,.5885575,1.287251,.4830135,-1.082178,-.1974495,1.050245,-4.792855,8.663406,3.246969,.1556731,.8117442,.8050376,-1.063354,-.1727108,.9681592,2.736077,-4.969269,-.836057,.5994612,1.024039,.6786935,-1.261936,-.3053676,-.4262222,.4000196,-.02059388,.4721802,.1480028,3.505343,.6121337,-1.681088,-.6971919,-.1105652,.7437426,-.6594399,.2254221,.08710195,1.263913,.5681865,-.9453001,.03460388,.6067038,-1.985128,3.457236,2.655483,-.01162354,3.304716,1.00195,-1.086609,-.2029011,-.639917,6.926885,-15.12189,-3.793051,.945612,.2222222,.2893725,-1.041259,-.138879,1.147331,6.282086,3.679836,4.398314,-.1355232,1.031134,.9273509,-1.063473,-.1916051,.6556979,-.003371891,-3.699664,-1.926783,.7371154,1.179975,.6367068,-1.33639,-.3778927,-.7259477,.2270247,.4627513,.1366459,.2637347,3.292059,.4998211,-2.119878,-1.055472,.5422052,.7826648,-1.286065,.9517905,-.1432358,-.2379816,.5910513,-.7761432,.2124336,-.6845184,-.9812342,4.347257,.967198,.377315,5.789529,.9646598,-1.118734,-.3513815,.5500918,.9449627,-12.6207,-1.82528,.473126,-3.326892,.3568768,-1.026437,-.08257946,.3221701,11.98372,1.55513,2.560304,.1406465,2.912858,.8643181,-1.069949,-.2029607,.5825042,-.002398595,-3.278335,-1.349882,.7208433,.8505164,.6625391,-1.392309,-.4454945,-.5664,.6283393,-.3761727,.6949802,.07748178,3.192797,.5968661,-2.713405,-1.395112,.202923,.1877272,-.3715859,-.1652929,.2385861,-.4150768,.1375467,-.9588644,.024339,-1.527493,-.9632874,5.496269,1.094931,.2004044,6.084554,1.369604,-.8028546,-.2473563,1.617898,2.073591,-11.49446,-.8394131,.2726847,-4.634538,.1367293,-1.198326,-.1804865,-.3565414,4.0732,1.662086,1.23977,.3367978,2.997402,.9360383,-1.013531,-.185906,.5799857,13.31883,-4.346873,-1.11382,.5275714,.8045177,.6496373,-1.530103,-.6107468,-.3841771,1.881508,-1.464807,.665469,-5950797e-12,2.738912,.8101012,-2.415469,-1.057499,-.4161968,-2.357548,.6300296,.6224915,.01545048,2.038561,-.1339415,-3.096796,-1.465688,-1.199232,4.567061,3.26098,-.9794907,.8950491,2.049235,1.331015,.2713904,.2852852,1.20209,-8.206784,-5.805762,1.804431,-.6090648,-1.990902,.3288858,-1.45658,-.345596,-.06409257,16.67697,-2.311094,-.9771104,.6759863,1.245136,.7911932,-.9860389,-.2099564,.294665,-.0035478,-2.268313,-.06205647,.4705185,.8657995,.6856284,-1.971736,-.9414047,-.3400557,1.468763,-1.474284,.5501062,-110975e-10,2.35637,.9001702,-1.589845,-.7797079,-.558224,-.8137376,.5846617,.1129459,-.02658005,2.707248,-.2112486,-6.940173,-2.823963,-1.620848,1.090696,2.39173,1.370047,.5890462,1.7284,1.331253,1.293144,-.001919778,1.644206,-.8666967,-7.161953,-1.385018,-.1505374,-1.388643,.2530122,-1.48888,-.2495496,-.2377137,11.67714,-.8617124,1.053828,.1992744,.3633564,.8553304,-1.060891,-.4035829,.2823207,-.002369798,-1.876577,-.5950265,.4241017,.3140802,.6631669,-1.101204,-.1351353,-4.030882,6.096353,-.1148599,1.606507,-1555474e-12,4.436084,.5973715,-1.154597,-.1923378,.8512132,.2934895,-.06522777,.1389077,.09091469,3.133307,.2108541,-1.031588,-.1546804,5.266214,-.949139,-.7184867,4.875626,-.1911907,-2.865642,1.087895,-1.159454,-.09546699,-1.508146,-.02031411,1.040653,-2.333508,.2540592,8.594981,.0931677,-1.03594,-.2021151,4.719343,-.9019318,-7.858046,3.901234,-.2233137,-4.344739,.6550733,-1.096669,-.1558196,2.057553,6.274495,-2.678352,-1.814927,.1550676,1.903276,.4998989,-1.114209,-.1473531,-7.602914,8.973685,-.04980074,1.289198,.08366906,4.557987,.6118757,-1.149397,-.1981628,4.914096,-3.498986,-.0625709,.1667401,.104898,2.284689,.5935965,-1.056121,-.1456172,.4272656,2.912649,-.5501745,4.406542,-.138768,1.245555,.9733011,-1.125047,-.04003662,1.058457,-3.462236,.4395278,-2.395805,.5177589,4.866247,.4253189,-1.051444,-.2804541,3.364668,3.293787,-10.15741,3.807407,-.3592377,-3.367415,.7900825,-1.093847,-.1436965,2.38478,5.78707,-2.445987,-1.311171,.2326563,1.158439,.5555416,-1.134824,-.1680468,-3.32562,4.458596,-.1135063,1.1045,.07794544,4.609952,.6854854,-1.143017,-.1565926,.3014687,-.1763027,-.03557925,-.2342406,.2528705,5.884085,.4750602,-1.136801,-.2907502,3.682423,-.4061202,-.8728159,4.00151,-.1522202,-5.528713,1.044847,-1.063652,.07808107,-1.983678,.3648078,2.102276,-3.06505,.8431951,10.3883,.2662834,-1.061015,-.2859814,4.223615,-2.290138,-8.31401,4.405718,-.4613627,-4.50291,1.008383,-1.106302,-.1697123,2.087196,8.238929,-2.992416,-1.821776,.3434859,.7755179,.534119,-1.17111,-.2106304,-1.614361,2.378103,-.1625969,.8504483,.1059312,4.046256,.6618227,-1.20048,-.2235733,1.01439,-1.174074,-.444018,.2262406,.1665868,5.461829,.567631,-1.223587,-.3502622,1.699106,.6724266,1.268567,2.135102,.0008039374,-5.221111,.944569,-.9452673,.1468459,-1.335034,4.346628,-12.85652,-1.807046,.8175243,9.301065,.3656798,-1.134681,-.3310951,3.571244,-2.208948,6.04158,3.107577,-.3112127,-4.186351,.9188333,-1.083237,-.1831394,2.062654,1.385424,-5.00495,-1.332669,.3627352,.332315,.6191181,-1.211527,-.2590617,-.1660874,.3627905,-.1039258,.4697924,.1671653,3.507497,.6022506,-1.433017,-.4733592,.1724445,.9953236,-1.874457,.4432099,.0171581,2.339272,.644147,-1.08492,-.1587903,.8999585,-2.537516,5.877859,2.014554,.09689141,.3177242,.9030399,-1.008242,.00279303,-.3507469,10.283,-20.80454,-2.781026,.899509,3.366951,.3473867,-1.103151,-.2799598,2.525791,-4.255704,9.903388,3.722668,-.3603941,-1.303292,.9369454,-1.102235,-.2025061,2.08566,1.686787,-5.010957,-1.656458,.4584029,-.2751759,.6184162,-1.25613,-.3104904,.163935,.1315502,-.7297583,.477848,.1259265,3.012108,.6202728,-1.620114,-.655267,-.2877157,1.094371,.2818914,.369683,.09428521,1.450951,.5681308,-.9686204,-.03755647,1.46998,-3.103414,2.856583,1.883209,-.05746099,1.286383,1.001751,-1.089377,-.1023062,-1.498891,10.66455,-17.20184,-2.759314,1.061258,2.910211,.2624701,-1.044681,-.2156857,3.230136,-.5863862,6.09664,3.550019,-.4255773,-1.500033,.9687696,-1.133658,-.2505101,1.71784,.008480428,-5.011789,-1.740989,.498343,-.2081829,.6088641,-1.335366,-.3863319,-.5279971,.3638324,.3230699,.08339707,.2483293,2.678646,.4998346,-2.004511,-.9957121,1.250807,.01625025,-.3410754,.7858244,-.09506757,.02651876,.5788643,-.8714157,.1192051,-.8486879,-.3702497,1.818277,1.103427,.2454866,3.841575,.984735,-1.042618,-.2285793,.3620175,2.983368,-9.776844,-1.971587,.6691674,-.7901947,.32132,-1.099112,-.1869868,2.044065,2.062964,1.265668,2.71013,-.1099443,.2179353,.9024108,-1.106985,-.2396881,1.809807,8.523319,-5.011788,-1.590086,.3248449,-.1003187,.6550606,-1.421285,-.4767024,-.3885004,.827459,-.3644229,.6999513,.0519671,2.578431,.624631,-2.611217,-1.398846,.4527425,-.5932142,.2224617,-.5593581,.3389633,-.7767112,.06536004,-.9881543,.04684782,-.8616613,.8799807,4.00313,1.739543,-.08098378,5.524802,1.499673,-.7544759,-.2314808,.812577,-.7724135,-9.577645,-1.629433,.6790832,-4.193895,-.02526624,-1.273719,-.218703,1.401798,5.231832,.7405093,1.775166,-.07269476,1.996087,1.05745,-1.046864,-.2247559,1.679449,11.40057,-4.948829,-1.182664,.3241038,-.2470012,.61159,-1.514607,-.598543,-.187761,1.75693,-1.314206,.611581,-597046e-11,2.412975,.8124304,-2.308414,-1.083797,-.1179959,-1.728246,.7784742,.5494505,.006203168,.9326251,-.1419518,-3.230837,-1.43867,-.9868286,2.974393,1.949339,-.6337857,.8160271,3.278606,1.354373,.5149378,.2754789,1.040965,-4.501186,-3.399057,.9661861,-.4736173,-4.037574,.2794847,-1.62187,-.3192763,.8786242,9.785565,-2.727652,.01903691,.5521261,2.138764,.8419871,-.9951701,-.2550607,1.498952,-.002737197,-3.101832,-.5921329,.2864422,-.4405218,.663141,-1.902954,-.9056918,-.206957,1.191499,-1.092577,.5849556,-9649602e-12,2.048407,.9001527,-1.271627,-.7193923,-.01136606,-.1167951,.003286175,-.05262827,-.02473874,1.716125,-.2187133,-7.647175,-3.114129,-1.490128,-.5266488,3.06309,1.474262,.5481458,2.052174,1.353089,2.191403,.342112,1.44651,2.170943,-7.768187,-1.471207,-.1456708,-1.753574,.2310576,-1.932296,-.3814739,.6245422,6.748294,-.3060171,1.067747,.2500671,-.1252596,.8614611,-.9471101,-.405264,1.300174,-.003951536,-1.908284,-.5385721,.2133578,-.6250292,.6658012],armory_renderpath_HosekWilkieData.datasetRGBRad1=[1.962684,1.159831,4.450588,5.079633,4.437388,4.324573,1.946487,1.287515,3.703696,8.782833,3.440437,5.160333,1.88217,1.335878,2.648641,13.58368,3.105473,5.907387,1.738159,1.624289,-.008786695,21.18253,2.770255,7.055672,1.571896,2.301786,-4.028545,29.66806,1.630876,8.711031,1.475048,2.679086,-6.311315,33.77896,2.140975,9.385283,1.326174,3.378759,-9.831444,39.42061,2.852702,10.82542,1.153344,3.967771,-12.65181,41.95016,7.468239,12.2135,.9746081,4.051626,-12.98454,37.54964,17.49232,14.20619,.8448016,3.181809,-8.757338,21.97962,35.24033,16.39549,2.029623,1.364434,4.201529,5.415099,9.825839,10.63328,2.023126,1.494728,3.420413,9.072178,9.205157,11.86639,1.956307,1.648665,2.039712,14.30239,9.039526,13.30453,1.825053,1.985022,-.8036307,22.02493,9.415361,15.17659,1.650367,2.593201,-4.469328,29.69817,9.410977,17.4485,1.555202,2.962925,-6.60817,33.29887,10.64559,18.50816,1.412478,3.439403,-9.196616,36.85077,13.45341,20.03128,1.25299,3.820805,-11.15338,37.21593,20.14916,21.8232,1.091952,3.663027,-10.3133,29.78985,32.96835,23.7545,.9501691,2.664579,-5.545167,12.81159,51.54768,25.74284],armory_renderpath_HosekWilkieData.datasetRGB2=[-1.14053,-.1982747,-7.51273,8.403899,-.05699038,.9015907,.03392161,4.772522,.5111184,-1.165117,-.1852955,2.963684,-2.262274,-.1571683,.6339974,.04977879,7.243307,.4220053,-1.169936,-.3357429,1.911291,-.2391074,-.4791643,1.446113,-.09178108,-4.700239,.8096219,-1.060246,-.1051633,.5013829,2.832309,-.3707855,1.523131,.09163749,5.604183,.7208566,-1.089753,-.2382167,2.360312,-5.902562,-8.799894,1.377692,-.06131633,-1.415472,.6124057,-1.075481,-.1242391,1.425781,8.810319,-2.922646,1.48652,.0327058,3.889783,.4999482,-1.149342,-.2076337,-7.446587,8.014559,-.04866227,.8203043,.06386483,4.894198,.5452051,-1.120531,-.1513311,2.735504,-2.417591,-.1361114,.4296342,.09427488,8.171403,.4102448,-1.226964,-.3516378,1.308298,-.05097487,-.4846783,1.654619,-.113494,-3.347854,1.131147,-.9664377,.02767589,.1658235,2.407439,-.1300304,.9170958,.2742895,6.642633,.2550064,-1.153358,-.3126223,2.078934,-5.857733,-8.659848,1.758505,-.09616094,-1.230863,.9663832,-1.05385,-.1330743,1.481738,10.49485,-3.528854,.9142363,.124488,2.644615,.5001048,-1.173687,-.2360362,-3.741454,4.088507,-.07528205,.6645237,.07718265,4.65122,.5586318,-1.213757,-.2589561,.7132551,-.4259327,-.1980821,.3627815,.0466656,5.807984,.5847377,-1.108794,-.225987,1.574179,-.3753731,-.5984743,1.659414,-.01681021,.6785219,.8647325,-1.060896,-.0134669,-.7529656,1.711319,-.9792435,.2022433,.3826487,5.725157,.5290714,-1.085145,-.2840715,2.088029,-4.935097,-9.056542,1.976149,-.03912485,-.8636064,.7452125,-1.077983,-.1416633,1.100848,10.15875,-2.943712,.5255135,.2164224,2.941143,.6699937,-1.223293,-.2867444,-1.624136,1.668299,-.09537589,.5015947,.1130741,4.244812,.5082152,-1.325342,-.4280991,.470549,.06926592,-.4572587,.5344144,-.02554192,3.093939,.6639401,-1.113581,-.1192133,.4011536,.7011889,.2052842,.9880724,.01807533,4.69016,.857624,-1.016063,-.1038138,-.2280391,.7898918,-11.27333,.2074545,.5388182,1.364263,.4660455,-1.099582,-.2228607,1.332648,5.135188,1.653152,1.41702,-.1087532,1.809275,.8080874,-1.064357,-.1520775,.8207368,-.001323565,-5.009523,.3946298,.4337902,2.593198,.6719172,-1.278702,-.3512866,-.4511055,.389576,-.2429672,.4270577,.1135348,3.71913,.4998867,-1.580069,-.7095475,-.3198904,1.715748,-1.185915,.4523161,-.01026159,.7927188,.553835,-.9474023,.1173703,.4881381,-2.618684,3.251661,1.213931,-.01736274,8.000768,1.025998,-1.129091,-.3287694,-.3524077,3.352892,-14.16073,-.8485617,.6560766,-2.820937,.3111303,-1.030884,-.1137581,1.109855,8.082276,1.519214,2.112433,-.1592299,3.675905,.8703367,-1.075192,-.1627166,.351491,1.168164,-4.255822,-.6015348,.6265776,2.884818,.6548384,-1.316017,-.3889652,-.5030854,.4488704,-.31868,.4570763,.08909201,3.659274,.5011746,-1.731876,-.8493806,.1194871,2.002781,-2.006547,.4872233,-.02854606,.2662137,.4611629,-.927368,.1380954,-.3302179,-3.553265,4.633345,.9696729,.08799775,8.291129,1.094451,-1.099377,-.3325392,.2501063,2.613712,-13.28142,-.5579527,.4992081,-3.504402,.3022924,-1.04842,-.1227773,.5845373,11.05869,.03813151,1.330409,.01978131,3.95943,.8396439,-1.063233,-.1560639,.2840033,.8751565,-3.41182,-.1436564,.584658,2.899292,.6799095,-1.376715,-.4541567,-1.445491,1.569898,-.1390627,.555827,.04109877,3.349451,.5516123,-1.953391,-1.035869,1.690563,-.196469,-.7787096,.5799605,.02945626,.04217906,.2451373,-1.012422,.07136451,-1.862534,-.7228653,.1947997,.2091805,.06399233,7.928994,1.290733,-.9706708,-.288095,1.107797,-2.731734,-8.445995,.4296774,.5117648,-3.824277,.1761207,-1.110611,-.1789409,.2108488,20.7143,-1.763174,.09554695,-.02943103,3.422079,.8815496,-1.048334,-.1614087,.2475184,.02146938,-2.983901,.2538224,.560137,2.461925,.6777394,-1.393719,-.5002724,-2.40894,2.680983,-.1362825,.7395067,-3300343e-12,3.260889,.8132057,-2.128663,-1.151182,2.923026,-1.931838,-.442617,.2309983,-.00548589,.3279529,-.2229467,-1.618022,-.376649,-3.163544,1.611608,-.3967476,.393368,.3006742,6.835177,1.613765,-.5669064,-.1481749,2.071817,-8.157422,-5.988088,.2387202,.1447191,-4.296385,.05011258,-1.241724,-.2519348,-.1908609,29.52235,-3.33366,-.01837651,.1022249,2.92932,.8867262,-1.02167,-.1667327,.1789771,-.002178108,-2.641572,-.05641484,.5303758,2.138196,.678035,-1.669332,-.7588708,-2.993557,3.17876,-.08066442,.6544672,-808988e-11,2.628924,.9001272,-1.755806,-.8735348,3.258881,-2.504785,-.3300791,.1180565,-.009315982,1.785154,-.3205824,-3.720277,-1.73335,-3.332272,1.515869,.1734218,.8011956,.199544,3.817666,1.638502,.4724641,.3209828,2.051443,-5.105574,-6.509139,-.4232041,.2598931,-2.151756,-.00349391,-1.5256,-.4897606,-.09891121,23.46818,-2.278152,.1681219,-.04469389,1.051,.9294666,-.9908649,-.2008182,.1605143,-.002463113,-2.477349,-.1218647,.4750121,1.460813,.6661364,-2.122119,-1.125475,-3.066599,3.145078,-.05411593,.5133628,-7823408e-12,2.268448,.9001416,-1.528158,-.9370249,2.567559,-1.591439,-.363446,.1763256,.001119624,1.811848,-.2637929,-6.524387,-2.673507,-2.940472,-.6025609,.7852067,1.073499,-.03540435,3.517416,1.490466,.8886026,-.09681828,1.430554,4.993717,-6.071355,-.6053986,.5092997,-1.27301,.07491329,-1.481997,-.5897282,.2659264,1.267239,-.5741291,.05983011,-.2217312,-.3016452,.926083,-1.010943,-.2075134,.05066749,14.70708,-3.780501,.07253223,.4045458,1.320164,.6559925,-1.129907,-.1884011,-8.04767,9.035776,-.05539419,.8823349,.03197135,4.839388,.5042822,-1.133821,-.1510781,3.362822,-2.453381,-.1463925,.4728708,.0595814,7.6363,.4805162,-1.176518,-.3549902,1.729044,-.2160966,-.5075865,1.675584,-.08906902,-5.386842,.5452218,-1.043563,-.07520975,.8750644,2.510518,.007584882,.936125,.07889083,6.066644,.5813108,-1.081304,-.2222253,2.517638,-4.45382,-8.663691,.8662558,-.04802657,-.8965449,.4886656,-1.083774,-.1375469,1.685818,5.63112,-3.100752,.4045941,.02346895,3.390321,.5008309,-1.143158,-.2058334,-9.660198,10.62394,-.04434119,.8607615,.03177325,4.416481,.5918162,-1.146773,-.1727385,4.626048,-4.684602,-.08307137,.1619616,.1484866,7.572868,.2681126,-1.151324,-.3099303,.4125596,2.340752,-.4214444,1.987375,-.191341,-3.845978,1.337311,-1.034258,-.007778759,.7050094,-.8036369,.313857,.2469452,.355997,7.485917,.04790329,-1.096568,-.2673169,2.575654,-.8057121,-8.884928,1.41617,-.2091315,-1.543494,1.065445,-1.083304,-.1528265,1.697727,2.503702,-2.885296,-.12985,.154887,2.479652,.5066496,-1.165736,-.2329945,-5.967964,6.705959,-.05931355,.7485638,.03913878,4.221591,.6183926,-1.212422,-.254591,2.418626,-2.266104,-.1102014,.01363887,.1055411,5.648062,.4557412,-1.070436,-.2163341,.7098718,.7843075,-.432393,2.109823,-.095897,-.1985193,1.060428,-1.104879,-.03013622,.02976276,1.069707,.141,-.488002,.4452288,6.41859,.3195986,-1.048969,-.2655317,2.689426,-3.941038,-9.506461,1.837119,-.1892124,-1.562146,.9043414,-1.106145,-.1601642,1.544544,7.388492,-2.9246,-.4328453,.1763161,2.523111,.5851902,-1.203666,-.2776587,-2.084286,2.45084,-.08746613,.5258507,.07983316,3.860055,.5486167,-1.340448,-.423059,.3462849,.4707607,-.2512626,.1530746,.02724218,3.035216,.5876133,-1.014554,-.116879,.9477794,-1.061218,-.419673,2.058832,-.05989624,3.058168,.9763861,-1.137388,-.0985403,-.2984893,3.64782,-.6585571,-1.47918,.6102932,3.265914,.3480333,-1.021816,-.2344957,2.463671,-7.240685,-8.862697,2.514058,-.2122768,-.03313968,.9028136,-1.126581,-.1874347,1.454154,10.34398,-3.237393,-.8654927,.2457248,1.845769,.6002482,-1.263727,-.3439354,-.1786388,.3980166,-.3349517,.3825166,.1029225,3.331096,.4998955,-1.53001,-.6879698,.2380415,1.608216,-1.682679,.354636,-.00391522,.4517655,.5128605,-.9685659,.09480403,.06076844,-3.217561,4.568074,1.069299,.02083638,7.301088,1.072165,-1.113925,-.3112382,.3954133,5.105907,-14.56866,-.4917378,.5289909,-2.678374,.3014709,-1.046864,-.1215754,1.778308,4.661489,.2565583,1.35368,-.1175767,3.415972,.8457746,-1.10448,-.1940913,1.343668,-.001759206,-5.009204,-.4186951,.312571,1.628183,.6720408,-1.286902,-.3781238,-.08977253,.3545393,-.4866515,.3843664,.08281675,3.122231,.5046991,-1.712597,-.8549112,.4809286,1.515398,-2.212211,.2539029,.02335997,-.06089466,.4268444,-.8807283,.1646097,-.4437898,-3.188247,5.984417,1.334779,-.04026975,7.546431,1.175751,-1.147253,-.3538199,.6101836,4.43778,-15.59813,-1.103222,.6242039,-3.091472,.217429,-1.03823,-.1213475,1.547505,5.893176,1.368738,1.663127,-.137713,3.185279,.8736453,-1.101026,-.1874907,1.272667,3.596524,-5.007243,-.6352483,.3048985,1.931613,.6788844,-1.342753,-.4384971,-1.213491,1.621399,-.1551441,.5614218,.02591739,2.958967,.5782132,-1.937684,-1.066019,1.913336,-.7347719,-.5916167,.158759,.1092568,-.6275002,.1599071,-.9302391,.1486187,-1.603835,.1783713,1.100461,1.174181,-.1602361,7.868331,1.468971,-1.053631,-.372705,1.114117,-.9603286,-10.62469,-1.16214,.7952797,-4.478765,-.04440862,-1.083629,-.1261405,1.229344,11.27825,.131901,1.624729,-.2825898,3.661082,1.036911,-1.09395,-.2067455,1.258035,7.548645,-4.598387,-.8944932,.3292634,1.311304,.6291871,-1.385867,-.5068139,-1.48649,1.969049,-.1698025,.6629167,-5289365e-12,2.760315,.8644368,-2.107367,-1.175639,2.313241,-1.001653,-.4843139,.1124485,3901494e-11,-.3502469,-.320478,-1.475244,-.2833055,-2.085824,1.192563,-.76452,.8380081,.220358,7.157885,1.753702,-.6644372,-.2549735,1.600273,-8.589034,-6.144718,-.7599731,.289837,-5.770923,-.09656242,-1.211687,-.1653494,.83934,27.92988,-3.395461,.9933752,-.03976877,3.776659,.9546526,-1.063757,-.2037563,1.117207,-.001252806,-3.33233,-.6971409,.3388719,1.311398,.6635171,-1.678889,-.7992295,-2.421687,2.871029,-.07662842,.6046208,-7598099e-12,2.002314,.9001307,-1.692144,-.880425,3.060895,-2.000009,-.3183563,.08385862,-.006326713,1.206639,-.3369967,-3.676795,-1.719207,-2.534697,1.005285,.1550407,1.07291,.1318094,3.717018,1.689191,.5424542,.3263528,1.551055,-3.841058,-6.598996,-1.201779,.3530669,-2.542945,-.06482523,-1.553849,-.457686,.9324676,19.50982,-2.344516,1.12102,-.1221537,.7285496,.9582816,-1.02065,-.2215797,1.009774,-.002056855,-2.740338,-.8122355,.3328967,.8982766,.6594676,-2.24736,-1.221267,-3.072346,3.385139,-.04387559,.5084887,-7418833e-12,1.750107,.9001401,-1.248499,-.8442718,3.062611,-2.020314,-.2815341,.05254745,.003345008,1.433225,-.2835911,-7.004119,-2.927978,-2.649852,.7971894,.5466893,1.442667,-.06063912,2.806194,1.547429,1.434882,.09114639,1.170089,.03512808,-5.861915,-1.411843,.5400486,-.7746522,.02386984,-1.559053,-.5502302,1.200396,13.47741,-2.344397,.8868907,-.3292661,-1.362105,.9217826,-1.044436,-.2360719,.7054471,-.002904518,-2.092829,-.5119668,.4174861,.9687435,.6588427],armory_renderpath_HosekWilkieData.datasetRGBRad2=[1.59033,1.355401,1.151412,13.59116,5.857714,8.090833,1.55254,1.51004,.1276413,16.04643,5.912162,8.350009,1.470871,1.880464,-1.865398,20.30808,5.471461,9.109834,1.356563,2.373866,-4.653245,25.70922,5.686009,10.0948,1.244232,2.851519,-7.130942,29.93449,6.38212,11.14578,1.173693,3.120604,-8.491886,31.87393,7.290615,11.80066,1.091845,3.368888,-9.722083,32.68508,10.32424,12.36508,.9858985,3.500541,-10.26328,30.92956,16.10881,13.31222,.8864993,3.172888,-8.68755,23.62161,26.21851,14.74967,.7946973,2.189355,-4.207953,9.399091,40.62849,16.81753,1.711696,1.657311,.9328021,13.1788,15.06751,18.63556,1.666968,1.849993,-.2088601,15.86653,14.8688,19.40719,1.584846,2.170022,-2.019597,19.70826,14.90684,20.45055,1.469412,2.524017,-4.197267,23.65249,16.64588,21.34477,1.369714,2.843548,-6.059031,26.34993,18.81361,22.32186,1.310477,2.984444,-6.831686,26.8234,21.23267,22.59755,1.222552,3.176523,-7.731496,26.7176,24.84358,23.36863,1.115781,3.130635,-7.581744,23.36531,31.71048,24.13859,1.013181,2.699342,-5.602709,15.00158,42.17613,25.15957,.8976323,1.726948,-1.29612,1.183675,55.03215,26.43066],armory_renderpath_HosekWilkieData.datasetRGB3=[-1.372629,-.4905585,-41.00789,41.22169,-.00738936,.4839359,.006474757,3.471755,.5092936,-1.523025,-.6497084,6.249857,-5.662543,-.01908402,.551281,-2181049e-11,2.507663,.4339598,-1.035567,-.0747874,.922103,-2.140047,-.02374146,.3795517,-.01769134,7.479831,.7729303,-1.271086,-.558819,.6908023,2.096832,-.2453967,1.410648,.04475036,-4.719115,.5741186,-.9712598,-.07033926,.9167274,-.9502097,.3004684,.4547054,-.05929017,5.266196,.7204135,-1.087457,-.1888896,.8156686,.3101712,-2.155419,1.422205,.09692261,3.122404,.499943,-1.42528,-.5413508,-34.54883,34.81142,-.008686975,.4914268,-2479243e-12,3.239879,.6094201,-1.688557,-.8070865,7.018459,-6.244574,-.02149341,.3993971,.01252502,1.630662,.109786,-.8664152,.07869125,-.5236535,-1.21896,-.02059093,.6684898,-.05584112,8.602299,1.410496,-1.319763,-.5985323,1.253918,1.914706,-.3216739,.9011213,.1324845,-5.252749,.06231252,-.9706008,-.05914059,.569315,-1.175362,.5221644,.7518213,-.08247655,5.875635,.9850863,-1.08533,-.1956105,.8019605,.5338101,-3.423464,1.110444,.1507923,2.864942,.4999481,-1.431967,-.5478935,-32.86288,33.05288,-.008380797,.477205,-3044274e-12,3.289973,.5976303,-1.801361,-.9315889,5.391756,-4.588592,-.02040076,.4144684,.01814534,1.051795,.1145651,-.7905357,.1451332,-.1605661,-1.592174,.0004561348,.3380323,-.07770275,8.775384,1.489512,-1.308575,-.5539232,.9184133,2.011479,-.3842472,1.432274,.1637153,-4.408856,.05272957,-.9829872,-.08183048,.4464556,-1.442716,1.029641,-.06991617,.008702356,5.706417,.9116452,-1.08713,-.2038013,.7260801,.9164376,-5.006183,1.511271,.1257134,2.715439,.6201652,-1.448662,-.5799075,-28.33268,28.58023,-.009134061,.4404783,-2709026e-12,3.029357,.5540071,-2.061772,-1.14519,7.918478,-7.212525,-.0202076,.2962715,.0468967,.8517209,.2334587,-.6413755,.1780425,-2.412919,1.064484,-.01949986,.6769741,-.175276,7.262714,1.325869,-1.304871,-.3975581,1.219002,.7285178,-.2710105,.7779727,.3247139,-.8818168,.1839517,-1.001104,-.1994801,.3676742,-1.409737,.2901555,.250694,.002468899,3.398923,.8584645,-1.111552,-.2487204,.7410842,1.703749,-5.007855,1.057763,.1354511,2.088715,.6600013,-1.547227,-.6679466,-18.61465,18.84045,-.0124221,.4157339,-2432805e-12,2.812423,.5446957,-2.04389,-1.149081,2.304118,-1.715757,-.02433628,.2816836,.07185458,1.06486,.2706789,-.904072,-.08274472,-.2555676,-.6326215,-.0277088,.6676024,-.2513532,5.903839,1.241452,-1.000013,-.1010774,.3699166,.8774526,-.3042007,.6951053,.4361813,.6793421,.2573892,-1.171332,-.3768188,.3701377,-1.470757,.5525942,.02991456,.01581823,2.365233,.8214514,-1.068667,-.232633,.6725059,2.243733,-4.61437,1.033677,.1376291,2.013334,.6865304,-1.592991,-.7246948,-25.98204,26.2196,-.008365176,.4207571,-2742772e-12,2.623735,.587319,-2.271349,-1.280884,6.308739,-5.75835,-.01977049,.3671835,.06698038,1.150597,.1759218,-.636862,-.007436052,-2.230026,1.640997,-.01548497,.3145331,-.2492644,5.083843,1.260215,-1.177925,-.09628114,.3051152,-.03749544,-.2713209,1.164226,.4559969,2.175429,.2874284,-1.0785,-.3801779,.4788906,-.4795969,.5977621,-.4488535,.03386874,1.538143,.8062054,-1.108028,-.2596892,.5162202,1.557081,-4.265039,1.182535,.1563762,2.095084,.6883383,-1.668427,-.7908511,-27.7969,27.99746,-.007186935,.3757766,-3326858e-12,2.563421,.5439687,-2.156175,-1.220004,3.585732,-3.235988,-.01086239,.1846143,.1046017,1.234427,.2842191,-1.117051,-.4101627,-.846373,.7671472,-.02226609,.8574943,-.3434124,4.475715,1.154824,-.744484,.2312078,-.5393724,.1574213,-.1763914,.2751692,.55642,2.217672,.3483932,-1.273036,-.5275562,.4902512,-.04498436,.4339366,.2386682,.02380879,1.413444,.7855923,-1.084192,-.2936753,.4719432,1.384436,-3.257789,.6119543,.1681884,1.650441,.6936631,-1.84849,-.951267,-30.05251,30.24315,-.005635304,.344778,-2782999e-12,2.309422,.5643559,-2.300008,-1.252335,-1.218876,1.49373,-.0061071,.0797486,.1023449,1.505934,.2360948,-1.483705,-.8547575,-.7797146,.6447971,-.02678052,1.091263,-.3344889,3.830416,1.189425,-.5348005,.3982733,-.4071573,.3265569,-.08658789,-.2370892,.5369097,1.478279,.3143303,-1.320401,-.6043247,.3019196,-.07732911,.4768381,.6745764,.03694098,1.158234,.8169056,-1.10104,-.3420019,.3775661,1.769338,-2.990515,.1649529,.1970125,1.453355,.6759757,-2.251946,-1.229349,-32.71808,32.83114,-.004252027,.3372289,-3001937e-12,2.154046,.5842674,-1.867834,-.9531252,-12.29365,12.69149,-.006844772,.1185107,.07539587,1.846381,.1899412,-3.398629,-2.180862,2.335213,-3.382823,-.008613985,.8431602,-.2393567,3.11246,1.218556,.5708381,.940603,-.6890113,2.746233,-.05772068,.1096005,.3491978,.7281453,.3212049,-1.705909,-.8517224,.113116,-2.141434,.4274043,.33976,.178649,.9026101,.78828,-1.012865,-.3495551,.3369038,3.724205,-3.089586,.1266964,.146179,1.170199,.6931052,-2.890318,-1.665573,-34.93756,35.00369,-.002984251,.2622419,-425936e-11,1.947681,.6905752,-1.956022,-1.0629,-19.19714,19.75164,-.008865396,.216554,.05475637,1.761134,.003164249,-5.612198,-3.101371,4.098034,-6.144001,.009944958,.2905472,-.170711,3.199107,1.33766,.8353756,.4855943,-1.243589,5.147385,-.07013963,.938041,.2335714,.1727744,.2802696,-1.524329,-.7388547,.3259025,-4.050634,.4058549,-.2591384,.1898299,.3556071,.7884126,-1.070371,-.4207858,.1739862,5.29341,-3.136757,.2323856,.1673706,1.007227,.6844287,-1.34172,-.4834889,-46.33447,46.82148,-.006137296,.4599216,.007047323,2.895798,.4999398,-1.529104,-.6498631,15.34103,-14.50675,-.01531439,.3280082,.01682926,1.901587,.5013227,-1.014776,-.1454495,-4.071085,2.954982,-.02630348,.5681531,-.03016505,6.773854,.5003504,-1.172413,-.402632,2.960428,.202071,-.2004947,.9375572,.05998168,-4.945934,.4502898,-.9898161,-.05772814,.4470024,-.5786656,.1158168,.346804,-.0504336,6.867947,.8012363,-1.085111,-.1882675,1.223748,.3565495,-3.688357,.5653723,.06727646,2.69013,.49994,-1.389119,-.529025,-40.55774,41.05972,-.007062577,.456006,-1736334e-12,2.775512,.6671455,-1.584641,-.7200619,12.48067,-11.56028,-.01659568,.3050029,.01099895,1.438927,-.02138015,-.9826068,-.08887254,-2.960031,1.808816,-.02478159,.6035733,-.04868441,7.347705,1.584739,-1.150423,-.4073793,2.412991,.487084,-.2337902,.8295114,.1129914,-5.150045,-.09016643,-1.016933,-.06311501,.5218937,-.571643,.1250993,.3601524,-.05497586,7.060139,1.018333,-1.073151,-.1845444,1.155394,.3004486,-3.431711,.4657031,.09401223,2.68862,.4999544,-1.391257,-.5365815,-42.55881,42.99132,-.005838466,.4229134,-2760038e-12,2.775531,.6234597,-1.780062,-.922888,13.76172,-12.60946,-.01507526,.3117435,.02205045,.6093731,.03463446,-.7388169,.127567,-3.999528,2.223993,-.01856853,.543931,-.08834054,8.037139,1.645951,-1.322387,-.5320143,2.659359,1.086712,-.2129712,.8704649,.1800315,-4.967241,-.138372,-.9378288,-.01599895,.3607555,-1.980561,.3791456,.1212268,-.02845992,6.825542,1.059139,-1.100832,-.2172313,1.211561,2.002721,-5.010011,.5717583,.06777702,2.160006,.5676392,-1.409373,-.5708751,-30.34974,30.79809,-.007280715,.3723304,-2436279e-12,2.577348,.5913377,-1.954312,-1.11651,5.399148,-4.299553,-.01724739,.3742824,.04187077,.1044883,.1232727,-.6772215,.2001396,-.3670523,-1.014628,-.003497152,.4099858,-.1584633,7.7504,1.514559,-1.2916,-.4977437,.9641914,1.56242,-.3227782,.9055427,.3046444,-3.385619,.009546291,-.9750857,-.0877056,.9054256,-1.429236,.8974777,-.1217961,-.05194608,4.909409,.9589153,-1.088007,-.1959301,.9745799,1.260761,-5.008864,.7271248,.1096661,2.717295,.6340731,-1.45605,-.6223072,-22.28088,22.69604,-.009340812,.4118308,-2418083e-12,2.442117,.5589638,-2.176449,-1.302416,2.222836,-1.22273,-.01728051,.1323513,.07027731,.04835745,.2093351,-.5789641,.2215407,.2142291,-1.201725,-.01185728,.8122982,-.238042,6.706841,1.404146,-1.307463,-.4515174,.6447827,1.223841,-.2902391,.4986588,.4073652,-1.706696,.1060885,-.9698678,-.1307094,.9389347,-1.522852,.7768797,-.1368595,-.03857426,3.676935,.8980966,-1.104349,-.2380323,1.047043,1.865421,-5.011664,.7014954,.09622701,1.89136,.6687354,-1.502249,-.6724523,-28.88092,29.3036,-.006685766,.3685464,-2469442e-12,2.310797,.5566754,-2.217125,-1.364924,4.048243,-3.111333,-.01317747,.1921948,.08627702,.001981769,.2213689,-.6215757,.1687995,-.5949131,-.1551293,.0003356129,.6897657,-.2855053,6.271042,1.363084,-1.216317,-.3489429,.7566226,.5409809,-.2830843,.6191825,.4755163,-.9131387,.1383909,-1.030437,-.2034064,.8335995,-1.050947,.8689093,-.367231,-.04056183,3.111269,.8856842,-1.078984,-.2070549,.9683145,1.497022,-5.007653,.7702541,.1285822,2.225188,.6587911,-1.559291,-.7374039,-35.96311,36.3447,-.004667132,.3277964,-2487945e-12,2.215652,.5764681,-2.356929,-1.444755,6.244526,-5.540162,-.00879451,.17921,.09578517,.3737676,.1922194,-.6589752,-.0292691,-1.831779,1.869962,-.002030095,.7552089,-.3168157,4.632196,1.294054,-1.161046,-.1472506,.6494138,-.8327174,-.2320724,.3391212,.5269637,.9376341,.2458573,-1.034427,-.3062504,.8975634,.3203531,.8565142,-.1250162,-.04094017,1.861304,.8223468,-1.109954,-.2740277,1.063811,.7077398,-4.695734,.5621696,.1248956,1.297723,.678972,-1.788293,-.9368751,-43.8298,44.24963,-.00365253,.3094331,-2810503e-12,1.904402,.5861599,-2.268206,-1.312676,2.863082,-2.373727,-.00514498,.1711072,.09316041,.9309598,.1791683,-1.376966,-.7418582,-1.349589,1.563419,-.003124219,.6967139,-.3061887,3.602731,1.255669,-.601754,.2815928,.5424052,-.688545,-.1620001,.2980046,.4995571,.7371203,.2812466,-1.278853,-.5245326,.787052,.3125067,.7748105,-.07788581,.003490956,1.283748,.813019,-1.05093,-.2786331,1.056344,1.053002,-4.047789,.4432174,.1169077,.9532621,.6806764,-2.084927,-1.203954,-48.81638,49.2016,-.002896045,.2882977,-3073517e-12,1.702211,.637418,-2.328567,-1.238023,-1.891019,2.45152,-.005847581,.2084702,.0784813,1.211048,.08095008,-2.634632,-1.78946,-.1370558,-.3326435,.002783737,.5239451,-.2548881,2.896327,1.324116,.06882616,.5997821,.1535398,1.375209,-.1267285,.4239743,.4013122,.1794675,.2395382,-1.430918,-.6439041,.832598,-1.705612,.7236426,-.05567593,.06408718,.6836524,.8388887,-1.037956,-.3215402,.9457349,3.178114,-4.152156,.2230992,.1156198,.7606223,.6656923,-2.967314,-1.728778,-37.30988,37.55578,-.002588835,.2927966,-3935038e-12,1.592161,.6868694,-2.123311,-1.175148,-13.14988,13.86882,-.007828537,.1852026,.05481038,1.294309,.02428177,-5.443597,-3.156344,2.110838,-3.421556,.0118189,.1196951,-.1742902,2.404353,1.272805,1.029898,.5912521,-.3983531,3.286069,-.09252065,1.331381,.2560642,.8001754,.3624178,-1.547574,-.7881604,1.020902,-2.897069,.521347,-.9242315,.1185594,-1.150721,.7317211,-.9621043,-.1991406,.6531287,3.925839,-3.596904,.6317332,.1531334,1.457846,.6966285],armory_renderpath_HosekWilkieData.datasetRGBRad3=[.9926518,1.999494,-4.136109,18.5627,13.51028,13.90238,.9634366,2.119694,-4.614523,19.19701,13.76644,14.18731,.9446537,2.17161,-4.915556,19.1824,15.37135,14.0053,.9073074,2.330536,-5.577596,19.61615,16.88365,14.46955,.8739124,2.388682,-5.842995,19.23265,18.87735,14.85698,.8563688,2.391534,-5.769133,18.28709,20.97209,14.69587,.8270533,2.34279,-5.558071,16.84993,23.56498,15.05975,.7908339,2.190341,-4.852571,13.74862,28.06846,15.48444,.7403619,1.783998,-2.983854,7.622563,35.0761,16.15805,.6840111,1.154457,-.239383,-.7896893,42.82765,17.79469,1.1683,1.860993,-2.129074,12.51952,30.32499,29.38716,1.150338,1.918813,-2.413527,12.74862,30.87134,29.51432,1.114719,1.964689,-2.625423,12.47837,32.37949,29.43596,1.077948,2.006292,-2.846934,11.90195,34.59293,29.37492,1.035143,1.986681,-2.752584,10.60972,37.22185,29.18594,1.015992,1.992054,-2.812626,10.01416,38.473,29.24624,.9756887,1.939897,-2.533281,8.319176,40.83907,29.25586,.9264164,1.716454,-1.597044,4.739725,45.07683,28.78915,.8595191,1.346034,-.02801895,-.6582906,50.17523,28.52953,.7754116,.7709245,2.200201,-7.487661,54.36622,28.93432],armory_renderpath_HosekWilkieData.datasetsRGB=[armory_renderpath_HosekWilkieData.datasetRGB1,armory_renderpath_HosekWilkieData.datasetRGB2,armory_renderpath_HosekWilkieData.datasetRGB3],armory_renderpath_HosekWilkieData.datasetsRGBRad=[armory_renderpath_HosekWilkieData.datasetRGBRad1,armory_renderpath_HosekWilkieData.datasetRGBRad2,armory_renderpath_HosekWilkieData.datasetRGBRad3],armory_trait_VRNavigation.speed=5,armory_trait_WalkNavigation.speed=5,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_object_Object.uidCounter=0,iron_object_Object.seed=1,iron_system_Time.step=.016666666666666666,iron_system_Time.delta=.016666666666666666,iron_system_Time.last=0,iron_system_Time.realDelta=0,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,armory_trait_internal_MovieTexture.created=!1,armory_trait_internal_SpaceArmory.first=!0,armory_trait_internal_SpaceArmory.patchTime=0,haxe_Unserializer.DEFAULT_RESOLVER=new haxe__$Unserializer_DefaultResolver,haxe_Unserializer.BASE64="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789%:",haxe_ds_ObjectMap.count=0,haxe_io_FPHelper.i64tmp=function(a){return 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_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_RenderPath.voxelized=0,iron_data_RenderPath.gpFrame=0,iron_data_ShaderData.structureRectLength=0,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_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(),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.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_Tween.eases=[iron_system_Tween.easeLinear,iron_system_Tween.easeExpoOut],iron_system_Tween.anims=[],iron_system_Tween.map=new haxe_ds_ObjectMap,js_Boot.__toStr={}.toString,js_html_compat_Float32Array.BYTES_PER_ELEMENT=4,js_html_compat_Uint8Array.BYTES_PER_ELEMENT=1,kha_CompilerDefines.canvas_id="khanvas",kha_Scheduler.DIF_COUNT=3,kha_Scheduler.maxframetime=.5,kha_Scheduler.startTime=0,kha_Shaders.Leaves_004_mesh_fragData0="s2170:I3ZlcnNpb24gMTAwCnByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwpwcmVjaXNpb24gaGlnaHAgaW50OwoKdW5pZm9ybSBoaWdocCB2ZWMzIGxpZ2h0RGlyOwp1bmlmb3JtIGhpZ2hwIHNhbXBsZXIyRCBzaGFkb3dNYXA7CnVuaWZvcm0gaGlnaHAgZmxvYXQgc2hhZG93c0JpYXM7CnVuaWZvcm0gaGlnaHAgdmVjMyBsaWdodENvbG9yOwp1bmlmb3JtIGhpZ2hwIHNhbXBsZXJDdWJlIHNoYWRvd01hcEN1YmU7CnVuaWZvcm0gaGlnaHAgZmxvYXQgZW52bWFwU3RyZW5ndGg7Cgp2YXJ5aW5nIGhpZ2hwIHZlYzMgd25vcm1hbDsKdmFyeWluZyBoaWdocCB2ZWM0IGxhbXBQb3M7Cgp2b2lkIG1haW4oKQp7CiAgICBoaWdocCB2ZWMzIG4gPSBub3JtYWxpemUod25vcm1hbCk7CiAgICBoaWdocCB2ZWMzIGJhc2Vjb2wgPSB2ZWMzKDAuNDc4ODk3NTcxNTYzNzIwNzAzMTI1LCAwLjY2MTg2ODQ1MzAyNTgxNzg3MTA5Mzc1LCAwLjIxODYwNjQxMjQxMDczNjA4Mzk4NDM3NSk7CiAgICBoaWdocCBmbG9hdCB2aXNpYmlsaXR5ID0gMS4wOwogICAgaGlnaHAgZmxvYXQgZG90TkwgPSBkb3QobiwgbGlnaHREaXIpOwogICAgaWYgKGxhbXBQb3MudyA%IDAuMCkKICAgIHsKICAgICAgICBoaWdocCB2ZWMzIGxwb3MgPSBsYW1wUG9zLnh5eiAvIHZlYzMobGFtcFBvcy53KTsKICAgICAgICB2aXNpYmlsaXR5ID0gMC4wOwogICAgICAgIHZpc2liaWxpdHkgKz0gZmxvYXQoKHRleHR1cmUyRChzaGFkb3dNYXAsIGxwb3MueHkpLnggKyBzaGFkb3dzQmlhcykgPiBscG9zLnopOwogICAgICAgIHZpc2liaWxpdHkgKz0gKGZsb2F0KCh0ZXh0dXJlMkQoc2hhZG93TWFwLCBscG9zLnh5ICsgdmVjMigwLjAwMDk3NjU2MjUsIDAuMCkpLnggKyBzaGFkb3dzQmlhcykgPiBscG9zLnopICogMC41KTsKICAgICAgICB2aXNpYmlsaXR5ICs9IChmbG9hdCgodGV4dHVyZTJEKHNoYWRvd01hcCwgbHBvcy54eSArIHZlYzIoLTAuMDAwOTc2NTYyNSwgMC4wKSkueCArIHNoYWRvd3NCaWFzKSA%IGxwb3MueikgKiAwLjI1KTsKICAgICAgICB2aXNpYmlsaXR5ICs9IChmbG9hdCgodGV4dHVyZTJEKHNoYWRvd01hcCwgbHBvcy54eSArIHZlYzIoMC4wLCAwLjAwMDk3NjU2MjUpKS54ICsgc2hhZG93c0JpYXMpID4gbHBvcy56KSAqIDAuNSk7CiAgICAgICAgdmlzaWJpbGl0eSArPSAoZmxvYXQoKHRleHR1cmUyRChzaGFkb3dNYXAsIGxwb3MueHkgKyB2ZWMyKDAuMCwgLTAuMDAwOTc2NTYyNSkpLnggKyBzaGFkb3dzQmlhcykgPiBscG9zLnopICogMC4yNSk7CiAgICAgICAgdmlzaWJpbGl0eSAvPSAyLjU7CiAgICAgICAgdmlzaWJpbGl0eSA9IG1heCh2aXNpYmlsaXR5LCAwLjUpOwogICAgfQogICAgaGlnaHAgdmVjMyBkaXJlY3QgPSBiYXNlY29sICogbWF4KGRvdE5MLCAwLjEwMDAwMDAwMTQ5MDExNjExOTM4NDc2NTYyNSk7CiAgICBnbF9GcmFnRGF0YVswXSA9IHZlYzQoKGRpcmVjdCAqIGxpZ2h0Q29sb3IpICogdmlzaWJpbGl0eSwgMS4wKTsKICAgIGhpZ2hwIHZlYzMgXzE2NSA9IHBvdyhnbF9GcmFnRGF0YVswXS54eXosIHZlYzMoMC40NTQ1NDU0NjgwOTE5NjQ3MjE2Nzk2ODc1KSk7CiAgICBnbF9GcmFnRGF0YVswXSA9IHZlYzQoXzE2NS54LCBfMTY1LnksIF8xNjUueiwgZ2xfRnJhZ0RhdGFbMF0udyk7Cn0KCg",kha_Shaders.Leaves_004_mesh_vertData0="s391:I3ZlcnNpb24gMTAwCgp1bmlmb3JtIG1hdDMgTjsKdW5pZm9ybSBtYXQ0IFdWUDsKdW5pZm9ybSBtYXQ0IExXVlA7CgphdHRyaWJ1dGUgdmVjMyBwb3M7CnZhcnlpbmcgdmVjMyB3bm9ybWFsOwphdHRyaWJ1dGUgdmVjMyBub3I7CnZhcnlpbmcgdmVjNCBsYW1wUG9zOwoKdm9pZCBtYWluKCkKewogICAgdmVjNCBzcG9zID0gdmVjNChwb3MsIDEuMCk7CiAgICB3bm9ybWFsID0gbm9ybWFsaXplKE4gKiBub3IpOwogICAgZ2xfUG9zaXRpb24gPSBXVlAgKiBzcG9zOwogICAgbGFtcFBvcyA9IExXVlAgKiBzcG9zOwp9Cgo",kha_Shaders.Leaves_004_shadowmap_fragData0="s103:I3ZlcnNpb24gMTAwCnByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwpwcmVjaXNpb24gaGlnaHAgaW50OwoKdm9pZCBtYWluKCkKewp9Cgo",kha_Shaders.Leaves_004_shadowmap_vertData0="s207:I3ZlcnNpb24gMTAwCgp1bmlmb3JtIG1hdDQgTFdWUDsKCmF0dHJpYnV0ZSB2ZWMzIHBvczsKYXR0cmlidXRlIHZlYzMgbm9yOwoKdm9pZCBtYWluKCkKewogICAgdmVjNCBzcG9zID0gdmVjNChwb3MsIDEuMCk7CiAgICBnbF9Qb3NpdGlvbiA9IExXVlAgKiBzcG9zOwp9Cgo",kha_Shaders.Material_004_mesh_fragData0="s2070:I3ZlcnNpb24gMTAwCnByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwpwcmVjaXNpb24gaGlnaHAgaW50OwoKdW5pZm9ybSBoaWdocCB2ZWMzIGxpZ2h0RGlyOwp1bmlmb3JtIGhpZ2hwIHNhbXBsZXIyRCBzaGFkb3dNYXA7CnVuaWZvcm0gaGlnaHAgZmxvYXQgc2hhZG93c0JpYXM7CnVuaWZvcm0gaGlnaHAgdmVjMyBsaWdodENvbG9yOwp1bmlmb3JtIGhpZ2hwIHNhbXBsZXJDdWJlIHNoYWRvd01hcEN1YmU7CnVuaWZvcm0gaGlnaHAgZmxvYXQgZW52bWFwU3RyZW5ndGg7Cgp2YXJ5aW5nIGhpZ2hwIHZlYzMgd25vcm1hbDsKdmFyeWluZyBoaWdocCB2ZWM0IGxhbXBQb3M7Cgp2b2lkIG1haW4oKQp7CiAgICBoaWdocCB2ZWMzIG4gPSBub3JtYWxpemUod25vcm1hbCk7CiAgICBoaWdocCB2ZWMzIGJhc2Vjb2wgPSB2ZWMzKDAuMCk7CiAgICBoaWdocCBmbG9hdCB2aXNpYmlsaXR5ID0gMS4wOwogICAgaGlnaHAgZmxvYXQgZG90TkwgPSBkb3QobiwgbGlnaHREaXIpOwogICAgaWYgKGxhbXBQb3MudyA%IDAuMCkKICAgIHsKICAgICAgICBoaWdocCB2ZWMzIGxwb3MgPSBsYW1wUG9zLnh5eiAvIHZlYzMobGFtcFBvcy53KTsKICAgICAgICB2aXNpYmlsaXR5ID0gMC4wOwogICAgICAgIHZpc2liaWxpdHkgKz0gZmxvYXQoKHRleHR1cmUyRChzaGFkb3dNYXAsIGxwb3MueHkpLnggKyBzaGFkb3dzQmlhcykgPiBscG9zLnopOwogICAgICAgIHZpc2liaWxpdHkgKz0gKGZsb2F0KCh0ZXh0dXJlMkQoc2hhZG93TWFwLCBscG9zLnh5ICsgdmVjMigwLjAwMDk3NjU2MjUsIDAuMCkpLnggKyBzaGFkb3dzQmlhcykgPiBscG9zLnopICogMC41KTsKICAgICAgICB2aXNpYmlsaXR5ICs9IChmbG9hdCgodGV4dHVyZTJEKHNoYWRvd01hcCwgbHBvcy54eSArIHZlYzIoLTAuMDAwOTc2NTYyNSwgMC4wKSkueCArIHNoYWRvd3NCaWFzKSA%IGxwb3MueikgKiAwLjI1KTsKICAgICAgICB2aXNpYmlsaXR5ICs9IChmbG9hdCgodGV4dHVyZTJEKHNoYWRvd01hcCwgbHBvcy54eSArIHZlYzIoMC4wLCAwLjAwMDk3NjU2MjUpKS54ICsgc2hhZG93c0JpYXMpID4gbHBvcy56KSAqIDAuNSk7CiAgICAgICAgdmlzaWJpbGl0eSArPSAoZmxvYXQoKHRleHR1cmUyRChzaGFkb3dNYXAsIGxwb3MueHkgKyB2ZWMyKDAuMCwgLTAuMDAwOTc2NTYyNSkpLnggKyBzaGFkb3dzQmlhcykgPiBscG9zLnopICogMC4yNSk7CiAgICAgICAgdmlzaWJpbGl0eSAvPSAyLjU7CiAgICAgICAgdmlzaWJpbGl0eSA9IG1heCh2aXNpYmlsaXR5LCAwLjUpOwogICAgfQogICAgaGlnaHAgdmVjMyBkaXJlY3QgPSBiYXNlY29sICogbWF4KGRvdE5MLCAwLjEwMDAwMDAwMTQ5MDExNjExOTM4NDc2NTYyNSk7CiAgICBnbF9GcmFnRGF0YVswXSA9IHZlYzQoKGRpcmVjdCAqIGxpZ2h0Q29sb3IpICogdmlzaWJpbGl0eSwgMS4wKTsKICAgIGhpZ2hwIHZlYzMgXzE2MiA9IHBvdyhnbF9GcmFnRGF0YVswXS54eXosIHZlYzMoMC40NTQ1NDU0NjgwOTE5NjQ3MjE2Nzk2ODc1KSk7CiAgICBnbF9GcmFnRGF0YVswXSA9IHZlYzQoXzE2Mi54LCBfMTYyLnksIF8xNjIueiwgZ2xfRnJhZ0RhdGFbMF0udyk7Cn0KCg",kha_Shaders.Material_004_mesh_vertData0="s391:I3ZlcnNpb24gMTAwCgp1bmlmb3JtIG1hdDMgTjsKdW5pZm9ybSBtYXQ0IFdWUDsKdW5pZm9ybSBtYXQ0IExXVlA7CgphdHRyaWJ1dGUgdmVjMyBwb3M7CnZhcnlpbmcgdmVjMyB3bm9ybWFsOwphdHRyaWJ1dGUgdmVjMyBub3I7CnZhcnlpbmcgdmVjNCBsYW1wUG9zOwoKdm9pZCBtYWluKCkKewogICAgdmVjNCBzcG9zID0gdmVjNChwb3MsIDEuMCk7CiAgICB3bm9ybWFsID0gbm9ybWFsaXplKE4gKiBub3IpOwogICAgZ2xfUG9zaXRpb24gPSBXVlAgKiBzcG9zOwogICAgbGFtcFBvcyA9IExXVlAgKiBzcG9zOwp9Cgo",kha_Shaders.Material_004_shadowmap_fragData0="s103:I3ZlcnNpb24gMTAwCnByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwpwcmVjaXNpb24gaGlnaHAgaW50OwoKdm9pZCBtYWluKCkKewp9Cgo",kha_Shaders.Material_004_shadowmap_vertData0="s207:I3ZlcnNpb24gMTAwCgp1bmlmb3JtIG1hdDQgTFdWUDsKCmF0dHJpYnV0ZSB2ZWMzIHBvczsKYXR0cmlidXRlIHZlYzMgbm9yOwoKdm9pZCBtYWluKCkKewogICAgdmVjNCBzcG9zID0gdmVjNChwb3MsIDEuMCk7CiAgICBnbF9Qb3NpdGlvbiA9IExXVlAgKiBzcG9zOwp9Cgo",kha_Shaders.Material_007_mesh_fragData0="s2178:I3ZlcnNpb24gMTAwCnByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwpwcmVjaXNpb24gaGlnaHAgaW50OwoKdW5pZm9ybSBoaWdocCB2ZWMzIGxpZ2h0RGlyOwp1bmlmb3JtIGhpZ2hwIHNhbXBsZXIyRCBzaGFkb3dNYXA7CnVuaWZvcm0gaGlnaHAgZmxvYXQgc2hhZG93c0JpYXM7CnVuaWZvcm0gaGlnaHAgdmVjMyBsaWdodENvbG9yOwp1bmlmb3JtIGhpZ2hwIHNhbXBsZXJDdWJlIHNoYWRvd01hcEN1YmU7CnVuaWZvcm0gaGlnaHAgZmxvYXQgZW52bWFwU3RyZW5ndGg7Cgp2YXJ5aW5nIGhpZ2hwIHZlYzMgd25vcm1hbDsKdmFyeWluZyBoaWdocCB2ZWM0IGxhbXBQb3M7Cgp2b2lkIG1haW4oKQp7CiAgICBoaWdocCB2ZWMzIG4gPSBub3JtYWxpemUod25vcm1hbCk7CiAgICBoaWdocCB2ZWMzIGJhc2Vjb2wgPSB2ZWMzKDAuNDExNjU3ODk5NjE4MTQ4ODAzNzEwOTM3NSwgMC4zNDU2NzgzODkwNzI0MTgyMTI4OTA2MjUsIDAuMTQ3NzM5ODU3NDM1MjI2NDQwNDI5Njg3NSk7CiAgICBoaWdocCBmbG9hdCB2aXNpYmlsaXR5ID0gMS4wOwogICAgaGlnaHAgZmxvYXQgZG90TkwgPSBkb3QobiwgbGlnaHREaXIpOwogICAgaWYgKGxhbXBQb3MudyA%IDAuMCkKICAgIHsKICAgICAgICBoaWdocCB2ZWMzIGxwb3MgPSBsYW1wUG9zLnh5eiAvIHZlYzMobGFtcFBvcy53KTsKICAgICAgICB2aXNpYmlsaXR5ID0gMC4wOwogICAgICAgIHZpc2liaWxpdHkgKz0gZmxvYXQoKHRleHR1cmUyRChzaGFkb3dNYXAsIGxwb3MueHkpLnggKyBzaGFkb3dzQmlhcykgPiBscG9zLnopOwogICAgICAgIHZpc2liaWxpdHkgKz0gKGZsb2F0KCh0ZXh0dXJlMkQoc2hhZG93TWFwLCBscG9zLnh5ICsgdmVjMigwLjAwMDk3NjU2MjUsIDAuMCkpLnggKyBzaGFkb3dzQmlhcykgPiBscG9zLnopICogMC41KTsKICAgICAgICB2aXNpYmlsaXR5ICs9IChmbG9hdCgodGV4dHVyZTJEKHNoYWRvd01hcCwgbHBvcy54eSArIHZlYzIoLTAuMDAwOTc2NTYyNSwgMC4wKSkueCArIHNoYWRvd3NCaWFzKSA%IGxwb3MueikgKiAwLjI1KTsKICAgICAgICB2aXNpYmlsaXR5ICs9IChmbG9hdCgodGV4dHVyZTJEKHNoYWRvd01hcCwgbHBvcy54eSArIHZlYzIoMC4wLCAwLjAwMDk3NjU2MjUpKS54ICsgc2hhZG93c0JpYXMpID4gbHBvcy56KSAqIDAuNSk7CiAgICAgICAgdmlzaWJpbGl0eSArPSAoZmxvYXQoKHRleHR1cmUyRChzaGFkb3dNYXAsIGxwb3MueHkgKyB2ZWMyKDAuMCwgLTAuMDAwOTc2NTYyNSkpLnggKyBzaGFkb3dzQmlhcykgPiBscG9zLnopICogMC4yNSk7CiAgICAgICAgdmlzaWJpbGl0eSAvPSAyLjU7CiAgICAgICAgdmlzaWJpbGl0eSA9IG1heCh2aXNpYmlsaXR5LCAwLjUpOwogICAgfQogICAgaGlnaHAgdmVjMyBkaXJlY3QgPSBiYXNlY29sICogbWF4KGRvdE5MLCAwLjEwMDAwMDAwMTQ5MDExNjExOTM4NDc2NTYyNSk7CiAgICBnbF9GcmFnRGF0YVswXSA9IHZlYzQoKGRpcmVjdCAqIGxpZ2h0Q29sb3IpICogdmlzaWJpbGl0eSwgMS4wKTsKICAgIGhpZ2hwIHZlYzMgXzE2NSA9IHBvdyhnbF9GcmFnRGF0YVswXS54eXosIHZlYzMoMC40NTQ1NDU0NjgwOTE5NjQ3MjE2Nzk2ODc1KSk7CiAgICBnbF9GcmFnRGF0YVswXSA9IHZlYzQoXzE2NS54LCBfMTY1LnksIF8xNjUueiwgZ2xfRnJhZ0RhdGFbMF0udyk7Cn0KCg",kha_Shaders.Material_007_mesh_vertData0="s391:I3ZlcnNpb24gMTAwCgp1bmlmb3JtIG1hdDMgTjsKdW5pZm9ybSBtYXQ0IFdWUDsKdW5pZm9ybSBtYXQ0IExXVlA7CgphdHRyaWJ1dGUgdmVjMyBwb3M7CnZhcnlpbmcgdmVjMyB3bm9ybWFsOwphdHRyaWJ1dGUgdmVjMyBub3I7CnZhcnlpbmcgdmVjNCBsYW1wUG9zOwoKdm9pZCBtYWluKCkKewogICAgdmVjNCBzcG9zID0gdmVjNChwb3MsIDEuMCk7CiAgICB3bm9ybWFsID0gbm9ybWFsaXplKE4gKiBub3IpOwogICAgZ2xfUG9zaXRpb24gPSBXVlAgKiBzcG9zOwogICAgbGFtcFBvcyA9IExXVlAgKiBzcG9zOwp9Cgo",kha_Shaders.Material_007_shadowmap_fragData0="s103:I3ZlcnNpb24gMTAwCnByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwpwcmVjaXNpb24gaGlnaHAgaW50OwoKdm9pZCBtYWluKCkKewp9Cgo",kha_Shaders.Material_007_shadowmap_vertData0="s207:I3ZlcnNpb24gMTAwCgp1bmlmb3JtIG1hdDQgTFdWUDsKCmF0dHJpYnV0ZSB2ZWMzIHBvczsKYXR0cmlidXRlIHZlYzMgbm9yOwoKdm9pZCBtYWluKCkKewogICAgdmVjNCBzcG9zID0gdmVjNChwb3MsIDEuMCk7CiAgICBnbF9Qb3NpdGlvbiA9IExXVlAgKiBzcG9zOwp9Cgo",kha_Shaders.Material_008_mesh_fragData0="s2183:I3ZlcnNpb24gMTAwCnByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwpwcmVjaXNpb24gaGlnaHAgaW50OwoKdW5pZm9ybSBoaWdocCB2ZWMzIGxpZ2h0RGlyOwp1bmlmb3JtIGhpZ2hwIHNhbXBsZXIyRCBzaGFkb3dNYXA7CnVuaWZvcm0gaGlnaHAgZmxvYXQgc2hhZG93c0JpYXM7CnVuaWZvcm0gaGlnaHAgdmVjMyBsaWdodENvbG9yOwp1bmlmb3JtIGhpZ2hwIHNhbXBsZXJDdWJlIHNoYWRvd01hcEN1YmU7CnVuaWZvcm0gaGlnaHAgZmxvYXQgZW52bWFwU3RyZW5ndGg7Cgp2YXJ5aW5nIGhpZ2hwIHZlYzMgd25vcm1hbDsKdmFyeWluZyBoaWdocCB2ZWM0IGxhbXBQb3M7Cgp2b2lkIG1haW4oKQp7CiAgICBoaWdocCB2ZWMzIG4gPSBub3JtYWxpemUod25vcm1hbCk7CiAgICBoaWdocCB2ZWMzIGJhc2Vjb2wgPSB2ZWMzKDAuMTM3NDY0MDYxMzc5NDMyNjc4MjIyNjU2MjUsIDAuMDgzMzI2MjM1NDEzNTUxMzMwNTY2NDA2MjUsIDAuMDY1MjQ2ODA1NTQ4NjY3OTA3NzE0ODQzNzUpOwogICAgaGlnaHAgZmxvYXQgdmlzaWJpbGl0eSA9IDEuMDsKICAgIGhpZ2hwIGZsb2F0IGRvdE5MID0gZG90KG4sIGxpZ2h0RGlyKTsKICAgIGlmIChsYW1wUG9zLncgPiAwLjApCiAgICB7CiAgICAgICAgaGlnaHAgdmVjMyBscG9zID0gbGFtcFBvcy54eXogLyB2ZWMzKGxhbXBQb3Mudyk7CiAgICAgICAgdmlzaWJpbGl0eSA9IDAuMDsKICAgICAgICB2aXNpYmlsaXR5ICs9IGZsb2F0KCh0ZXh0dXJlMkQoc2hhZG93TWFwLCBscG9zLnh5KS54ICsgc2hhZG93c0JpYXMpID4gbHBvcy56KTsKICAgICAgICB2aXNpYmlsaXR5ICs9IChmbG9hdCgodGV4dHVyZTJEKHNoYWRvd01hcCwgbHBvcy54eSArIHZlYzIoMC4wMDA5NzY1NjI1LCAwLjApKS54ICsgc2hhZG93c0JpYXMpID4gbHBvcy56KSAqIDAuNSk7CiAgICAgICAgdmlzaWJpbGl0eSArPSAoZmxvYXQoKHRleHR1cmUyRChzaGFkb3dNYXAsIGxwb3MueHkgKyB2ZWMyKC0wLjAwMDk3NjU2MjUsIDAuMCkpLnggKyBzaGFkb3dzQmlhcykgPiBscG9zLnopICogMC4yNSk7CiAgICAgICAgdmlzaWJpbGl0eSArPSAoZmxvYXQoKHRleHR1cmUyRChzaGFkb3dNYXAsIGxwb3MueHkgKyB2ZWMyKDAuMCwgMC4wMDA5NzY1NjI1KSkueCArIHNoYWRvd3NCaWFzKSA%IGxwb3MueikgKiAwLjUpOwogICAgICAgIHZpc2liaWxpdHkgKz0gKGZsb2F0KCh0ZXh0dXJlMkQoc2hhZG93TWFwLCBscG9zLnh5ICsgdmVjMigwLjAsIC0wLjAwMDk3NjU2MjUpKS54ICsgc2hhZG93c0JpYXMpID4gbHBvcy56KSAqIDAuMjUpOwogICAgICAgIHZpc2liaWxpdHkgLz0gMi41OwogICAgICAgIHZpc2liaWxpdHkgPSBtYXgodmlzaWJpbGl0eSwgMC41KTsKICAgIH0KICAgIGhpZ2hwIHZlYzMgZGlyZWN0ID0gYmFzZWNvbCAqIG1heChkb3ROTCwgMC4xMDAwMDAwMDE0OTAxMTYxMTkzODQ3NjU2MjUpOwogICAgZ2xfRnJhZ0RhdGFbMF0gPSB2ZWM0KChkaXJlY3QgKiBsaWdodENvbG9yKSAqIHZpc2liaWxpdHksIDEuMCk7CiAgICBoaWdocCB2ZWMzIF8xNjUgPSBwb3coZ2xfRnJhZ0RhdGFbMF0ueHl6LCB2ZWMzKDAuNDU0NTQ1NDY4MDkxOTY0NzIxNjc5Njg3NSkpOwogICAgZ2xfRnJhZ0RhdGFbMF0gPSB2ZWM0KF8xNjUueCwgXzE2NS55LCBfMTY1LnosIGdsX0ZyYWdEYXRhWzBdLncpOwp9Cgo",kha_Shaders.Material_008_mesh_vertData0="s391:I3ZlcnNpb24gMTAwCgp1bmlmb3JtIG1hdDMgTjsKdW5pZm9ybSBtYXQ0IFdWUDsKdW5pZm9ybSBtYXQ0IExXVlA7CgphdHRyaWJ1dGUgdmVjMyBwb3M7CnZhcnlpbmcgdmVjMyB3bm9ybWFsOwphdHRyaWJ1dGUgdmVjMyBub3I7CnZhcnlpbmcgdmVjNCBsYW1wUG9zOwoKdm9pZCBtYWluKCkKewogICAgdmVjNCBzcG9zID0gdmVjNChwb3MsIDEuMCk7CiAgICB3bm9ybWFsID0gbm9ybWFsaXplKE4gKiBub3IpOwogICAgZ2xfUG9zaXRpb24gPSBXVlAgKiBzcG9zOwogICAgbGFtcFBvcyA9IExXVlAgKiBzcG9zOwp9Cgo",kha_Shaders.Material_008_shadowmap_fragData0="s103:I3ZlcnNpb24gMTAwCnByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwpwcmVjaXNpb24gaGlnaHAgaW50OwoKdm9pZCBtYWluKCkKewp9Cgo",kha_Shaders.Material_008_shadowmap_vertData0="s207:I3ZlcnNpb24gMTAwCgp1bmlmb3JtIG1hdDQgTFdWUDsKCmF0dHJpYnV0ZSB2ZWMzIHBvczsKYXR0cmlidXRlIHZlYzMgbm9yOwoKdm9pZCBtYWluKCkKewogICAgdmVjNCBzcG9zID0gdmVjNChwb3MsIDEuMCk7CiAgICBnbF9Qb3NpdGlvbiA9IExXVlAgKiBzcG9zOwp9Cgo",kha_Shaders.Wood_mesh_fragData0="s2174:I3ZlcnNpb24gMTAwCnByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwpwcmVjaXNpb24gaGlnaHAgaW50OwoKdW5pZm9ybSBoaWdocCB2ZWMzIGxpZ2h0RGlyOwp1bmlmb3JtIGhpZ2hwIHNhbXBsZXIyRCBzaGFkb3dNYXA7CnVuaWZvcm0gaGlnaHAgZmxvYXQgc2hhZG93c0JpYXM7CnVuaWZvcm0gaGlnaHAgdmVjMyBsaWdodENvbG9yOwp1bmlmb3JtIGhpZ2hwIHNhbXBsZXJDdWJlIHNoYWRvd01hcEN1YmU7CnVuaWZvcm0gaGlnaHAgZmxvYXQgZW52bWFwU3RyZW5ndGg7Cgp2YXJ5aW5nIGhpZ2hwIHZlYzMgd25vcm1hbDsKdmFyeWluZyBoaWdocCB2ZWM0IGxhbXBQb3M7Cgp2b2lkIG1haW4oKQp7CiAgICBoaWdocCB2ZWMzIG4gPSBub3JtYWxpemUod25vcm1hbCk7CiAgICBoaWdocCB2ZWMzIGJhc2Vjb2wgPSB2ZWMzKDAuMjMzMDE4MTg5NjY4NjU1Mzk1NTA3ODEyNSwgMC4xNzE4NDQ5NTkyNTkwMzMyMDMxMjUsIDAuMDk5NzExOTg0Mzk1OTgwODM0OTYwOTM3NSk7CiAgICBoaWdocCBmbG9hdCB2aXNpYmlsaXR5ID0gMS4wOwogICAgaGlnaHAgZmxvYXQgZG90TkwgPSBkb3QobiwgbGlnaHREaXIpOwogICAgaWYgKGxhbXBQb3MudyA%IDAuMCkKICAgIHsKICAgICAgICBoaWdocCB2ZWMzIGxwb3MgPSBsYW1wUG9zLnh5eiAvIHZlYzMobGFtcFBvcy53KTsKICAgICAgICB2aXNpYmlsaXR5ID0gMC4wOwogICAgICAgIHZpc2liaWxpdHkgKz0gZmxvYXQoKHRleHR1cmUyRChzaGFkb3dNYXAsIGxwb3MueHkpLnggKyBzaGFkb3dzQmlhcykgPiBscG9zLnopOwogICAgICAgIHZpc2liaWxpdHkgKz0gKGZsb2F0KCh0ZXh0dXJlMkQoc2hhZG93TWFwLCBscG9zLnh5ICsgdmVjMigwLjAwMDk3NjU2MjUsIDAuMCkpLnggKyBzaGFkb3dzQmlhcykgPiBscG9zLnopICogMC41KTsKICAgICAgICB2aXNpYmlsaXR5ICs9IChmbG9hdCgodGV4dHVyZTJEKHNoYWRvd01hcCwgbHBvcy54eSArIHZlYzIoLTAuMDAwOTc2NTYyNSwgMC4wKSkueCArIHNoYWRvd3NCaWFzKSA%IGxwb3MueikgKiAwLjI1KTsKICAgICAgICB2aXNpYmlsaXR5ICs9IChmbG9hdCgodGV4dHVyZTJEKHNoYWRvd01hcCwgbHBvcy54eSArIHZlYzIoMC4wLCAwLjAwMDk3NjU2MjUpKS54ICsgc2hhZG93c0JpYXMpID4gbHBvcy56KSAqIDAuNSk7CiAgICAgICAgdmlzaWJpbGl0eSArPSAoZmxvYXQoKHRleHR1cmUyRChzaGFkb3dNYXAsIGxwb3MueHkgKyB2ZWMyKDAuMCwgLTAuMDAwOTc2NTYyNSkpLnggKyBzaGFkb3dzQmlhcykgPiBscG9zLnopICogMC4yNSk7CiAgICAgICAgdmlzaWJpbGl0eSAvPSAyLjU7CiAgICAgICAgdmlzaWJpbGl0eSA9IG1heCh2aXNpYmlsaXR5LCAwLjUpOwogICAgfQogICAgaGlnaHAgdmVjMyBkaXJlY3QgPSBiYXNlY29sICogbWF4KGRvdE5MLCAwLjEwMDAwMDAwMTQ5MDExNjExOTM4NDc2NTYyNSk7CiAgICBnbF9GcmFnRGF0YVswXSA9IHZlYzQoKGRpcmVjdCAqIGxpZ2h0Q29sb3IpICogdmlzaWJpbGl0eSwgMS4wKTsKICAgIGhpZ2hwIHZlYzMgXzE2NSA9IHBvdyhnbF9GcmFnRGF0YVswXS54eXosIHZlYzMoMC40NTQ1NDU0NjgwOTE5NjQ3MjE2Nzk2ODc1KSk7CiAgICBnbF9GcmFnRGF0YVswXSA9IHZlYzQoXzE2NS54LCBfMTY1LnksIF8xNjUueiwgZ2xfRnJhZ0RhdGFbMF0udyk7Cn0KCg",kha_Shaders.Wood_mesh_vertData0="s391:I3ZlcnNpb24gMTAwCgp1bmlmb3JtIG1hdDMgTjsKdW5pZm9ybSBtYXQ0IFdWUDsKdW5pZm9ybSBtYXQ0IExXVlA7CgphdHRyaWJ1dGUgdmVjMyBwb3M7CnZhcnlpbmcgdmVjMyB3bm9ybWFsOwphdHRyaWJ1dGUgdmVjMyBub3I7CnZhcnlpbmcgdmVjNCBsYW1wUG9zOwoKdm9pZCBtYWluKCkKewogICAgdmVjNCBzcG9zID0gdmVjNChwb3MsIDEuMCk7CiAgICB3bm9ybWFsID0gbm9ybWFsaXplKE4gKiBub3IpOwogICAgZ2xfUG9zaXRpb24gPSBXVlAgKiBzcG9zOwogICAgbGFtcFBvcyA9IExXVlAgKiBzcG9zOwp9Cgo",kha_Shaders.Wood_shadowmap_fragData0="s103:I3ZlcnNpb24gMTAwCnByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwpwcmVjaXNpb24gaGlnaHAgaW50OwoKdm9pZCBtYWluKCkKewp9Cgo",kha_Shaders.Wood_shadowmap_vertData0="s207:I3ZlcnNpb24gMTAwCgp1bmlmb3JtIG1hdDQgTFdWUDsKCmF0dHJpYnV0ZSB2ZWMzIHBvczsKYXR0cmlidXRlIHZlYzMgbm9yOwoKdm9pZCBtYWluKCkKewogICAgdmVjNCBzcG9zID0gdmVjNChwb3MsIDEuMCk7CiAgICBnbF9Qb3NpdGlvbiA9IExXVlAgKiBzcG9zOwp9Cgo",kha_Shaders.grass_mesh_fragData0="s2191:I3ZlcnNpb24gMTAwCnByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwpwcmVjaXNpb24gaGlnaHAgaW50OwoKdW5pZm9ybSBoaWdocCB2ZWMzIGxpZ2h0RGlyOwp1bmlmb3JtIGhpZ2hwIHNhbXBsZXIyRCBzaGFkb3dNYXA7CnVuaWZvcm0gaGlnaHAgZmxvYXQgc2hhZG93c0JpYXM7CnVuaWZvcm0gaGlnaHAgdmVjMyBsaWdodENvbG9yOwp1bmlmb3JtIGhpZ2hwIHNhbXBsZXJDdWJlIHNoYWRvd01hcEN1YmU7CnVuaWZvcm0gaGlnaHAgZmxvYXQgZW52bWFwU3RyZW5ndGg7Cgp2YXJ5aW5nIGhpZ2hwIHZlYzMgd25vcm1hbDsKdmFyeWluZyBoaWdocCB2ZWM0IGxhbXBQb3M7Cgp2b2lkIG1haW4oKQp7CiAgICBoaWdocCB2ZWMzIG4gPSBub3JtYWxpemUod25vcm1hbCk7CiAgICBoaWdocCB2ZWMzIGJhc2Vjb2wgPSB2ZWMzKDAuMTA3NjYwMzQ1NzMzMTY1NzQwOTY2Nzk2ODc1LCAwLjQ2NzIwMDk2NDY4OTI1NDc2MDc0MjE4NzUsIDAuMDAyMjAzMzMwMTY0Nzc1MjUyMzQyMjI0MTIxMDkzNzUpOwogICAgaGlnaHAgZmxvYXQgdmlzaWJpbGl0eSA9IDEuMDsKICAgIGhpZ2hwIGZsb2F0IGRvdE5MID0gZG90KG4sIGxpZ2h0RGlyKTsKICAgIGlmIChsYW1wUG9zLncgPiAwLjApCiAgICB7CiAgICAgICAgaGlnaHAgdmVjMyBscG9zID0gbGFtcFBvcy54eXogLyB2ZWMzKGxhbXBQb3Mudyk7CiAgICAgICAgdmlzaWJpbGl0eSA9IDAuMDsKICAgICAgICB2aXNpYmlsaXR5ICs9IGZsb2F0KCh0ZXh0dXJlMkQoc2hhZG93TWFwLCBscG9zLnh5KS54ICsgc2hhZG93c0JpYXMpID4gbHBvcy56KTsKICAgICAgICB2aXNpYmlsaXR5ICs9IChmbG9hdCgodGV4dHVyZTJEKHNoYWRvd01hcCwgbHBvcy54eSArIHZlYzIoMC4wMDA5NzY1NjI1LCAwLjApKS54ICsgc2hhZG93c0JpYXMpID4gbHBvcy56KSAqIDAuNSk7CiAgICAgICAgdmlzaWJpbGl0eSArPSAoZmxvYXQoKHRleHR1cmUyRChzaGFkb3dNYXAsIGxwb3MueHkgKyB2ZWMyKC0wLjAwMDk3NjU2MjUsIDAuMCkpLnggKyBzaGFkb3dzQmlhcykgPiBscG9zLnopICogMC4yNSk7CiAgICAgICAgdmlzaWJpbGl0eSArPSAoZmxvYXQoKHRleHR1cmUyRChzaGFkb3dNYXAsIGxwb3MueHkgKyB2ZWMyKDAuMCwgMC4wMDA5NzY1NjI1KSkueCArIHNoYWRvd3NCaWFzKSA%IGxwb3MueikgKiAwLjUpOwogICAgICAgIHZpc2liaWxpdHkgKz0gKGZsb2F0KCh0ZXh0dXJlMkQoc2hhZG93TWFwLCBscG9zLnh5ICsgdmVjMigwLjAsIC0wLjAwMDk3NjU2MjUpKS54ICsgc2hhZG93c0JpYXMpID4gbHBvcy56KSAqIDAuMjUpOwogICAgICAgIHZpc2liaWxpdHkgLz0gMi41OwogICAgICAgIHZpc2liaWxpdHkgPSBtYXgodmlzaWJpbGl0eSwgMC41KTsKICAgIH0KICAgIGhpZ2hwIHZlYzMgZGlyZWN0ID0gYmFzZWNvbCAqIG1heChkb3ROTCwgMC4xMDAwMDAwMDE0OTAxMTYxMTkzODQ3NjU2MjUpOwogICAgZ2xfRnJhZ0RhdGFbMF0gPSB2ZWM0KChkaXJlY3QgKiBsaWdodENvbG9yKSAqIHZpc2liaWxpdHksIDEuMCk7CiAgICBoaWdocCB2ZWMzIF8xNjUgPSBwb3coZ2xfRnJhZ0RhdGFbMF0ueHl6LCB2ZWMzKDAuNDU0NTQ1NDY4MDkxOTY0NzIxNjc5Njg3NSkpOwogICAgZ2xfRnJhZ0RhdGFbMF0gPSB2ZWM0KF8xNjUueCwgXzE2NS55LCBfMTY1LnosIGdsX0ZyYWdEYXRhWzBdLncpOwp9Cgo",kha_Shaders.grass_mesh_vertData0="s391:I3ZlcnNpb24gMTAwCgp1bmlmb3JtIG1hdDMgTjsKdW5pZm9ybSBtYXQ0IFdWUDsKdW5pZm9ybSBtYXQ0IExXVlA7CgphdHRyaWJ1dGUgdmVjMyBwb3M7CnZhcnlpbmcgdmVjMyB3bm9ybWFsOwphdHRyaWJ1dGUgdmVjMyBub3I7CnZhcnlpbmcgdmVjNCBsYW1wUG9zOwoKdm9pZCBtYWluKCkKewogICAgdmVjNCBzcG9zID0gdmVjNChwb3MsIDEuMCk7CiAgICB3bm9ybWFsID0gbm9ybWFsaXplKE4gKiBub3IpOwogICAgZ2xfUG9zaXRpb24gPSBXVlAgKiBzcG9zOwogICAgbGFtcFBvcyA9IExXVlAgKiBzcG9zOwp9Cgo",kha_Shaders.grass_shadowmap_fragData0="s103:I3ZlcnNpb24gMTAwCnByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwpwcmVjaXNpb24gaGlnaHAgaW50OwoKdm9pZCBtYWluKCkKewp9Cgo",kha_Shaders.grass_shadowmap_vertData0="s207:I3ZlcnNpb24gMTAwCgp1bmlmb3JtIG1hdDQgTFdWUDsKCmF0dHJpYnV0ZSB2ZWMzIHBvczsKYXR0cmlidXRlIHZlYzMgbm9yOwoKdm9pZCBtYWluKCkKewogICAgdmVjNCBzcG9zID0gdmVjNChwb3MsIDEuMCk7CiAgICBnbF9Qb3NpdGlvbiA9IExXVlAgKiBzcG9zOwp9Cgo",kha_Shaders.stone_mesh_fragData0="s2174:I3ZlcnNpb24gMTAwCnByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwpwcmVjaXNpb24gaGlnaHAgaW50OwoKdW5pZm9ybSBoaWdocCB2ZWMzIGxpZ2h0RGlyOwp1bmlmb3JtIGhpZ2hwIHNhbXBsZXIyRCBzaGFkb3dNYXA7CnVuaWZvcm0gaGlnaHAgZmxvYXQgc2hhZG93c0JpYXM7CnVuaWZvcm0gaGlnaHAgdmVjMyBsaWdodENvbG9yOwp1bmlmb3JtIGhpZ2hwIHNhbXBsZXJDdWJlIHNoYWRvd01hcEN1YmU7CnVuaWZvcm0gaGlnaHAgZmxvYXQgZW52bWFwU3RyZW5ndGg7Cgp2YXJ5aW5nIGhpZ2hwIHZlYzMgd25vcm1hbDsKdmFyeWluZyBoaWdocCB2ZWM0IGxhbXBQb3M7Cgp2b2lkIG1haW4oKQp7CiAgICBoaWdocCB2ZWMzIG4gPSBub3JtYWxpemUod25vcm1hbCk7CiAgICBoaWdocCB2ZWMzIGJhc2Vjb2wgPSB2ZWMzKDAuNDgwMjA5NzA4MjEzODA2MTUyMzQzNzUsIDAuNjAzNzI3MjgxMDkzNTk3NDEyMTA5Mzc1LCAwLjU3NTg2NzU5MzI4ODQyMTYzMDg1OTM3NSk7CiAgICBoaWdocCBmbG9hdCB2aXNpYmlsaXR5ID0gMS4wOwogICAgaGlnaHAgZmxvYXQgZG90TkwgPSBkb3QobiwgbGlnaHREaXIpOwogICAgaWYgKGxhbXBQb3MudyA%IDAuMCkKICAgIHsKICAgICAgICBoaWdocCB2ZWMzIGxwb3MgPSBsYW1wUG9zLnh5eiAvIHZlYzMobGFtcFBvcy53KTsKICAgICAgICB2aXNpYmlsaXR5ID0gMC4wOwogICAgICAgIHZpc2liaWxpdHkgKz0gZmxvYXQoKHRleHR1cmUyRChzaGFkb3dNYXAsIGxwb3MueHkpLnggKyBzaGFkb3dzQmlhcykgPiBscG9zLnopOwogICAgICAgIHZpc2liaWxpdHkgKz0gKGZsb2F0KCh0ZXh0dXJlMkQoc2hhZG93TWFwLCBscG9zLnh5ICsgdmVjMigwLjAwMDk3NjU2MjUsIDAuMCkpLnggKyBzaGFkb3dzQmlhcykgPiBscG9zLnopICogMC41KTsKICAgICAgICB2aXNpYmlsaXR5ICs9IChmbG9hdCgodGV4dHVyZTJEKHNoYWRvd01hcCwgbHBvcy54eSArIHZlYzIoLTAuMDAwOTc2NTYyNSwgMC4wKSkueCArIHNoYWRvd3NCaWFzKSA%IGxwb3MueikgKiAwLjI1KTsKICAgICAgICB2aXNpYmlsaXR5ICs9IChmbG9hdCgodGV4dHVyZTJEKHNoYWRvd01hcCwgbHBvcy54eSArIHZlYzIoMC4wLCAwLjAwMDk3NjU2MjUpKS54ICsgc2hhZG93c0JpYXMpID4gbHBvcy56KSAqIDAuNSk7CiAgICAgICAgdmlzaWJpbGl0eSArPSAoZmxvYXQoKHRleHR1cmUyRChzaGFkb3dNYXAsIGxwb3MueHkgKyB2ZWMyKDAuMCwgLTAuMDAwOTc2NTYyNSkpLnggKyBzaGFkb3dzQmlhcykgPiBscG9zLnopICogMC4yNSk7CiAgICAgICAgdmlzaWJpbGl0eSAvPSAyLjU7CiAgICAgICAgdmlzaWJpbGl0eSA9IG1heCh2aXNpYmlsaXR5LCAwLjUpOwogICAgfQogICAgaGlnaHAgdmVjMyBkaXJlY3QgPSBiYXNlY29sICogbWF4KGRvdE5MLCAwLjEwMDAwMDAwMTQ5MDExNjExOTM4NDc2NTYyNSk7CiAgICBnbF9GcmFnRGF0YVswXSA9IHZlYzQoKGRpcmVjdCAqIGxpZ2h0Q29sb3IpICogdmlzaWJpbGl0eSwgMS4wKTsKICAgIGhpZ2hwIHZlYzMgXzE2NSA9IHBvdyhnbF9GcmFnRGF0YVswXS54eXosIHZlYzMoMC40NTQ1NDU0NjgwOTE5NjQ3MjE2Nzk2ODc1KSk7CiAgICBnbF9GcmFnRGF0YVswXSA9IHZlYzQoXzE2NS54LCBfMTY1LnksIF8xNjUueiwgZ2xfRnJhZ0RhdGFbMF0udyk7Cn0KCg",kha_Shaders.stone_mesh_vertData0="s391:I3ZlcnNpb24gMTAwCgp1bmlmb3JtIG1hdDMgTjsKdW5pZm9ybSBtYXQ0IFdWUDsKdW5pZm9ybSBtYXQ0IExXVlA7CgphdHRyaWJ1dGUgdmVjMyBwb3M7CnZhcnlpbmcgdmVjMyB3bm9ybWFsOwphdHRyaWJ1dGUgdmVjMyBub3I7CnZhcnlpbmcgdmVjNCBsYW1wUG9zOwoKdm9pZCBtYWluKCkKewogICAgdmVjNCBzcG9zID0gdmVjNChwb3MsIDEuMCk7CiAgICB3bm9ybWFsID0gbm9ybWFsaXplKE4gKiBub3IpOwogICAgZ2xfUG9zaXRpb24gPSBXVlAgKiBzcG9zOwogICAgbGFtcFBvcyA9IExXVlAgKiBzcG9zOwp9Cgo",kha_Shaders.stone_shadowmap_fragData0="s103:I3ZlcnNpb24gMTAwCnByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwpwcmVjaXNpb24gaGlnaHAgaW50OwoKdm9pZCBtYWluKCkKewp9Cgo",kha_Shaders.stone_shadowmap_vertData0="s207:I3ZlcnNpb24gMTAwCgp1bmlmb3JtIG1hdDQgTFdWUDsKCmF0dHJpYnV0ZSB2ZWMzIHBvczsKYXR0cmlidXRlIHZlYzMgbm9yOwoKdm9pZCBtYWluKCkKewogICAgdmVjNCBzcG9zID0gdmVjNChwb3MsIDEuMCk7CiAgICBnbF9Qb3NpdGlvbiA9IExXVlAgKiBzcG9zOwp9Cgo",kha_Shaders.world_Irr_EnvCol_LDR_VR_fragData0="s559:I3ZlcnNpb24gMTAwCnByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwpwcmVjaXNpb24gaGlnaHAgaW50OwoKdW5pZm9ybSBoaWdocCB2ZWMzIGJhY2tncm91bmRDb2w7CnVuaWZvcm0gaGlnaHAgZmxvYXQgZW52bWFwU3RyZW5ndGg7Cgp2YXJ5aW5nIGhpZ2hwIHZlYzMgbm9ybWFsOwoKdm9pZCBtYWluKCkKewogICAgZ2xfRnJhZ0RhdGFbMF0gPSB2ZWM0KGJhY2tncm91bmRDb2wueCwgYmFja2dyb3VuZENvbC55LCBiYWNrZ3JvdW5kQ29sLnosIGdsX0ZyYWdEYXRhWzBdLncpOwogICAgaGlnaHAgdmVjMyBfMjAgPSBwb3coZ2xfRnJhZ0RhdGFbMF0ueHl6LCB2ZWMzKDAuNDU0NTQ1NDY4MDkxOTY0NzIxNjc5Njg3NSkpOwogICAgZ2xfRnJhZ0RhdGFbMF0gPSB2ZWM0KF8yMC54LCBfMjAueSwgXzIwLnosIGdsX0ZyYWdEYXRhWzBdLncpOwp9Cgo",kha_Shaders.world_Irr_EnvCol_LDR_VR_vertData0="s278:I3ZlcnNpb24gMTAwCgp1bmlmb3JtIG1hdDQgU01WUDsKCnZhcnlpbmcgdmVjMyBub3JtYWw7CmF0dHJpYnV0ZSB2ZWMzIG5vcjsKYXR0cmlidXRlIHZlYzMgcG9zOwoKdm9pZCBtYWluKCkKewogICAgbm9ybWFsID0gbm9yOwogICAgdmVjNCBwb3NpdGlvbiA9IFNNVlAgKiB2ZWM0KHBvcywgMS4wKTsKICAgIGdsX1Bvc2l0aW9uID0gdmVjNChwb3NpdGlvbik7Cn0KCg",kha_Shaders.painter_colored_fragData0="s198:I3ZlcnNpb24gMTAwCnByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwpwcmVjaXNpb24gaGlnaHAgaW50OwoKdmFyeWluZyBoaWdocCB2ZWM0IGZyYWdtZW50Q29sb3I7Cgp2b2lkIG1haW4oKQp7CiAgICBnbF9GcmFnRGF0YVswXSA9IGZyYWdtZW50Q29sb3I7Cn0KCg",kha_Shaders.painter_colored_vertData0="s331:I3ZlcnNpb24gMTAwCgp1bmlmb3JtIG1hdDQgcHJvamVjdGlvbk1hdHJpeDsKCmF0dHJpYnV0ZSB2ZWMzIHZlcnRleFBvc2l0aW9uOwp2YXJ5aW5nIHZlYzQgZnJhZ21lbnRDb2xvcjsKYXR0cmlidXRlIHZlYzQgdmVydGV4Q29sb3I7Cgp2b2lkIG1haW4oKQp7CiAgICBnbF9Qb3NpdGlvbiA9IHByb2plY3Rpb25NYXRyaXggKiB2ZWM0KHZlcnRleFBvc2l0aW9uLCAxLjApOwogICAgZnJhZ21lbnRDb2xvciA9IHZlcnRleENvbG9yOwp9Cgo",kha_Shaders.painter_image_fragData0="s471:I3ZlcnNpb24gMTAwCnByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwpwcmVjaXNpb24gaGlnaHAgaW50OwoKdW5pZm9ybSBoaWdocCBzYW1wbGVyMkQgdGV4OwoKdmFyeWluZyBoaWdocCB2ZWMyIHRleENvb3JkOwp2YXJ5aW5nIGhpZ2hwIHZlYzQgY29sb3I7Cgp2b2lkIG1haW4oKQp7CiAgICBoaWdocCB2ZWM0IHRleGNvbG9yID0gdGV4dHVyZTJEKHRleCwgdGV4Q29vcmQpICogY29sb3I7CiAgICBoaWdocCB2ZWMzIF8zMiA9IHRleGNvbG9yLnh5eiAqIGNvbG9yLnc7CiAgICB0ZXhjb2xvciA9IHZlYzQoXzMyLngsIF8zMi55LCBfMzIueiwgdGV4Y29sb3Iudyk7CiAgICBnbF9GcmFnRGF0YVswXSA9IHRleGNvbG9yOwp9Cgo",kha_Shaders.painter_image_vertData0="s415:I3ZlcnNpb24gMTAwCgp1bmlmb3JtIG1hdDQgcHJvamVjdGlvbk1hdHJpeDsKCmF0dHJpYnV0ZSB2ZWMzIHZlcnRleFBvc2l0aW9uOwp2YXJ5aW5nIHZlYzIgdGV4Q29vcmQ7CmF0dHJpYnV0ZSB2ZWMyIHRleFBvc2l0aW9uOwp2YXJ5aW5nIHZlYzQgY29sb3I7CmF0dHJpYnV0ZSB2ZWM0IHZlcnRleENvbG9yOwoKdm9pZCBtYWluKCkKewogICAgZ2xfUG9zaXRpb24gPSBwcm9qZWN0aW9uTWF0cml4ICogdmVjNCh2ZXJ0ZXhQb3NpdGlvbiwgMS4wKTsKICAgIHRleENvb3JkID0gdGV4UG9zaXRpb247CiAgICBjb2xvciA9IHZlcnRleENvbG9yOwp9Cgo",kha_Shaders.painter_text_fragData0="s351:I3ZlcnNpb24gMTAwCnByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwpwcmVjaXNpb24gaGlnaHAgaW50OwoKdW5pZm9ybSBoaWdocCBzYW1wbGVyMkQgdGV4OwoKdmFyeWluZyBoaWdocCB2ZWM0IGZyYWdtZW50Q29sb3I7CnZhcnlpbmcgaGlnaHAgdmVjMiB0ZXhDb29yZDsKCnZvaWQgbWFpbigpCnsKICAgIGdsX0ZyYWdEYXRhWzBdID0gdmVjNChmcmFnbWVudENvbG9yLnh5eiwgdGV4dHVyZTJEKHRleCwgdGV4Q29vcmQpLnggKiBmcmFnbWVudENvbG9yLncpOwp9Cgo",kha_Shaders.painter_text_vertData0="s436:I3ZlcnNpb24gMTAwCgp1bmlmb3JtIG1hdDQgcHJvamVjdGlvbk1hdHJpeDsKCmF0dHJpYnV0ZSB2ZWMzIHZlcnRleFBvc2l0aW9uOwp2YXJ5aW5nIHZlYzIgdGV4Q29vcmQ7CmF0dHJpYnV0ZSB2ZWMyIHRleFBvc2l0aW9uOwp2YXJ5aW5nIHZlYzQgZnJhZ21lbnRDb2xvcjsKYXR0cmlidXRlIHZlYzQgdmVydGV4Q29sb3I7Cgp2b2lkIG1haW4oKQp7CiAgICBnbF9Qb3NpdGlvbiA9IHByb2plY3Rpb25NYXRyaXggKiB2ZWM0KHZlcnRleFBvc2l0aW9uLCAxLjApOwogICAgdGV4Q29vcmQgPSB0ZXhQb3NpdGlvbjsKICAgIGZyYWdtZW50Q29sb3IgPSB2ZXJ0ZXhDb2xvcjsKfQoK",kha_Shaders.painter_video_fragData0="s471:I3ZlcnNpb24gMTAwCnByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwpwcmVjaXNpb24gaGlnaHAgaW50OwoKdW5pZm9ybSBoaWdocCBzYW1wbGVyMkQgdGV4OwoKdmFyeWluZyBoaWdocCB2ZWMyIHRleENvb3JkOwp2YXJ5aW5nIGhpZ2hwIHZlYzQgY29sb3I7Cgp2b2lkIG1haW4oKQp7CiAgICBoaWdocCB2ZWM0IHRleGNvbG9yID0gdGV4dHVyZTJEKHRleCwgdGV4Q29vcmQpICogY29sb3I7CiAgICBoaWdocCB2ZWMzIF8zMiA9IHRleGNvbG9yLnh5eiAqIGNvbG9yLnc7CiAgICB0ZXhjb2xvciA9IHZlYzQoXzMyLngsIF8zMi55LCBfMzIueiwgdGV4Y29sb3Iudyk7CiAgICBnbF9GcmFnRGF0YVswXSA9IHRleGNvbG9yOwp9Cgo",kha_Shaders.painter_video_vertData0="s415:I3ZlcnNpb24gMTAwCgp1bmlmb3JtIG1hdDQgcHJvamVjdGlvbk1hdHJpeDsKCmF0dHJpYnV0ZSB2ZWMzIHZlcnRleFBvc2l0aW9uOwp2YXJ5aW5nIHZlYzIgdGV4Q29vcmQ7CmF0dHJpYnV0ZSB2ZWMyIHRleFBvc2l0aW9uOwp2YXJ5aW5nIHZlYzQgY29sb3I7CmF0dHJpYnV0ZSB2ZWM0IHZlcnRleENvbG9yOwoKdm9pZCBtYWluKCkKewogICAgZ2xfUG9zaXRpb24gPSBwcm9qZWN0aW9uTWF0cml4ICogdmVjNCh2ZXJ0ZXhQb3NpdGlvbiwgMS4wKTsKICAgIHRleENvb3JkID0gdGV4UG9zaXRpb247CiAgICBjb2xvciA9IHZlcnRleENvbG9yOwp9Cgo",kha_System.renderListeners=[],kha_System.foregroundListeners=[],kha_System.backgroundListeners=[],kha_SystemImpl.mobile=!1,kha_SystemImpl.mobileAudioPlaying=!1,kha_SystemImpl.chrome=!1,kha_SystemImpl.insideInputEvent=!1,kha_SystemImpl.maxGamepads=4,kha_SystemImpl.leftMouseCtrlDown=!1,kha_SystemImpl.minimumScroll=999,kha_SystemImpl.lastFirstTouchX=0,kha_SystemImpl.lastFirstTouchY=0,kha_SystemImpl.iosSoundEnabled=!1,kha_audio2_ogg_vorbis_VorbisDecodeState.INVALID_BITS=-1,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_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}}},kha_input_Mouse.__meta__={fields:{sendLeaveEvent:{input:null},sendDownEvent:{input:null},sendUpEvent:{input:null},sendMoveEvent:{input:null},sendWheelEvent:{input:null}}},kha_internal_HdrFormat.exposurePattern=new EReg("EXPOSURE=\\s*([0-9]*[.][0-9]*)","i"),kha_internal_HdrFormat.formatPattern=new EReg("FORMAT=32-bit_rle_rgbe","i"),kha_internal_HdrFormat.widthHeightPattern=new EReg("-Y ([0-9]+) \\+X ([0-9]+)","i"),kha_js_AEAudioChannel.todo=[],kha_js_Sound.loading=[],kha_js_Video.loading=new List,kha_network_ControllerBuilder.nextId=0,Main.main()}("undefined"!=typeof exports?exports:"undefined"!=typeof window?window:"undefined"!=typeof self?self:this,"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this);