!function(t,e){"use strict";function i(t,e){function i(){}i.prototype=t;var s=new i;for(var n in e)s[n]=e[n];return e.toString!==Object.prototype.toString&&(s.toString=e.toString),s}function s(t){return t instanceof Array?function(){return M.iter(t)}:"function"==typeof t.iterator?n(t,t.iterator):t.iterator}function n(t,e){if(null==e)return null;null==e.__id__&&(e.__id__=ta++);var i;return null==t.hx__closures__?t.hx__closures__={}:i=t.hx__closures__[e.__id__],null==i&&(i=function(){return i.method.apply(i.scope,arguments)},i.scope=t,i.method=e,t.hx__closures__[e.__id__]=i),i}var r={},o=function(){return _i.__string_rec(this,"")},a=r.Achievement_v0={__ename__:["Achievement_v0"],__constructs__:["CompleteAGame","CompleteAGameWith500","CompleteAGameWith1000","CompleteAGameWith2000","AllOneColor","ClearBoard","Harvest5MushroomsAtOnce","Harvest3OakTreesAtOnce","Harvest6OakTreesAtOnce","Harvest4PineTreesAtOnce","Harvest8PineTreesAtOnce","Harvest6FlowersAtOnce","Harvest10FlowersAtOnce","Harvest9PlantsAtOnce","Harvest12PlantsAtOnce","Harvest15PlantsAtOnce","Grow1PineTree","Grow1OakTree","Harvest1Mushroom","Decay1Mushroom","Decay3MushroomsAtOnce","Chase3BirdsAtOnce","Chase6BirdsAtOnce"]};a.CompleteAGame=["CompleteAGame",0],a.CompleteAGame.toString=o,a.CompleteAGame.__enum__=a,a.CompleteAGameWith500=["CompleteAGameWith500",1],a.CompleteAGameWith500.toString=o,a.CompleteAGameWith500.__enum__=a,a.CompleteAGameWith1000=["CompleteAGameWith1000",2],a.CompleteAGameWith1000.toString=o,a.CompleteAGameWith1000.__enum__=a,a.CompleteAGameWith2000=["CompleteAGameWith2000",3],a.CompleteAGameWith2000.toString=o,a.CompleteAGameWith2000.__enum__=a,a.AllOneColor=["AllOneColor",4],a.AllOneColor.toString=o,a.AllOneColor.__enum__=a,a.ClearBoard=["ClearBoard",5],a.ClearBoard.toString=o,a.ClearBoard.__enum__=a,a.Harvest5MushroomsAtOnce=["Harvest5MushroomsAtOnce",6],a.Harvest5MushroomsAtOnce.toString=o,a.Harvest5MushroomsAtOnce.__enum__=a,a.Harvest3OakTreesAtOnce=["Harvest3OakTreesAtOnce",7],a.Harvest3OakTreesAtOnce.toString=o,a.Harvest3OakTreesAtOnce.__enum__=a,a.Harvest6OakTreesAtOnce=["Harvest6OakTreesAtOnce",8],a.Harvest6OakTreesAtOnce.toString=o,a.Harvest6OakTreesAtOnce.__enum__=a,a.Harvest4PineTreesAtOnce=["Harvest4PineTreesAtOnce",9],a.Harvest4PineTreesAtOnce.toString=o,a.Harvest4PineTreesAtOnce.__enum__=a,a.Harvest8PineTreesAtOnce=["Harvest8PineTreesAtOnce",10],a.Harvest8PineTreesAtOnce.toString=o,a.Harvest8PineTreesAtOnce.__enum__=a,a.Harvest6FlowersAtOnce=["Harvest6FlowersAtOnce",11],a.Harvest6FlowersAtOnce.toString=o,a.Harvest6FlowersAtOnce.__enum__=a,a.Harvest10FlowersAtOnce=["Harvest10FlowersAtOnce",12],a.Harvest10FlowersAtOnce.toString=o,a.Harvest10FlowersAtOnce.__enum__=a,a.Harvest9PlantsAtOnce=["Harvest9PlantsAtOnce",13],a.Harvest9PlantsAtOnce.toString=o,a.Harvest9PlantsAtOnce.__enum__=a,a.Harvest12PlantsAtOnce=["Harvest12PlantsAtOnce",14],a.Harvest12PlantsAtOnce.toString=o,a.Harvest12PlantsAtOnce.__enum__=a,a.Harvest15PlantsAtOnce=["Harvest15PlantsAtOnce",15],a.Harvest15PlantsAtOnce.toString=o,a.Harvest15PlantsAtOnce.__enum__=a,a.Grow1PineTree=["Grow1PineTree",16],a.Grow1PineTree.toString=o,a.Grow1PineTree.__enum__=a,a.Grow1OakTree=["Grow1OakTree",17],a.Grow1OakTree.toString=o,a.Grow1OakTree.__enum__=a,a.Harvest1Mushroom=["Harvest1Mushroom",18],a.Harvest1Mushroom.toString=o,a.Harvest1Mushroom.__enum__=a,a.Decay1Mushroom=["Decay1Mushroom",19],a.Decay1Mushroom.toString=o,a.Decay1Mushroom.__enum__=a,a.Decay3MushroomsAtOnce=["Decay3MushroomsAtOnce",20],a.Decay3MushroomsAtOnce.toString=o,a.Decay3MushroomsAtOnce.__enum__=a,a.Chase3BirdsAtOnce=["Chase3BirdsAtOnce",21],a.Chase3BirdsAtOnce.toString=o,a.Chase3BirdsAtOnce.__enum__=a,a.Chase6BirdsAtOnce=["Chase6BirdsAtOnce",22],a.Chase6BirdsAtOnce.toString=o,a.Chase6BirdsAtOnce.__enum__=a,a.__empty_constructs__=[a.CompleteAGame,a.CompleteAGameWith500,a.CompleteAGameWith1000,a.CompleteAGameWith2000,a.AllOneColor,a.ClearBoard,a.Harvest5MushroomsAtOnce,a.Harvest3OakTreesAtOnce,a.Harvest6OakTreesAtOnce,a.Harvest4PineTreesAtOnce,a.Harvest8PineTreesAtOnce,a.Harvest6FlowersAtOnce,a.Harvest10FlowersAtOnce,a.Harvest9PlantsAtOnce,a.Harvest12PlantsAtOnce,a.Harvest15PlantsAtOnce,a.Grow1PineTree,a.Grow1OakTree,a.Harvest1Mushroom,a.Decay1Mushroom,a.Decay3MushroomsAtOnce,a.Chase3BirdsAtOnce,a.Chase6BirdsAtOnce];var l=function(){};r.Achievements=l,l.__name__=["Achievements"],l.init=function(){b.set_authenticated.push(function(t){l.is_authenticated=t})},l.unlock=function(t,e){null==e&&(e=0)},l.get_skus=function(t){return l.skus.get(t)},l.is_complete=function(t){return Ce.achievements.exists(t)&&Ce.achievements.get(t).completed?!0:!1},l.count_completed=function(){for(var t=0,e=0,i=de.allEnums(a);ee;){var i=(e++,I.make_animate_vector_data());t.push(i)}for(var s=0;so;){var a=(o++,I.make_animate_color_data());r.push(a)}for(var l=0;lh;){var g=(h++,I.make_animate_func_data());u.push(g)}for(var c=0;c0)continue;s.time=0,s.direction*=-1}s.time>s.duration&&(s.time=s.duration),0>n&&null!=s.on_start&&s.on_start();for(var r=s.easing.calculate(s.time/s.duration),o=0;o0&&a.set_x(I.lerp_float(s.src[o].x,s.dst.x,r)),s.mask.y>0&&a.set_y(I.lerp_float(s.src[o].y,s.dst.y,r)),s.mask.z>0&&a.set_z(I.lerp_float(s.src[o].z,s.dst.z,r)),o++}s.time==s.duration&&(s.repeat&&s.reflect?(null!=s.on_repeat&&s.on_repeat(),s.direction*=-1):s.repeat?(s.time=0,null!=s.on_repeat&&s.on_repeat()):(null!=s.on_complete&&s.on_complete(),s.destroy=!0))}}for(var l=0;l0)continue;g.time=0,g.direction*=-1}g.time>g.duration&&(g.time=g.duration),0>c&&null!=g.on_start&&g.on_start();for(var d=g.easing.calculate(g.time/g.duration),p=0;p0&&m.set_r(I.lerp_float(g.src[p].r,g.dst.r,d)),g.mask.g>0&&m.set_g(I.lerp_float(g.src[p].g,g.dst.g,d)),g.mask.b>0&&m.set_b(I.lerp_float(g.src[p].b,g.dst.b,d)),g.mask.a>0&&(m.a=I.lerp_float(g.src[p].a,g.dst.a,d)),p++}g.time==g.duration&&(g.repeat&&g.reflect?(null!=g.on_repeat&&g.on_repeat(),g.direction*=-1):g.repeat?(g.time=0,null!=g.on_repeat&&g.on_repeat()):(null!=g.on_complete&&g.on_complete(),g.destroy=!0))}}for(l=0;l0)continue;v.time=0,v.direction*=-1}v.time>v.duration&&(v.time=v.duration),0>y&&null!=v.on_start&&v.on_start();var b=v.easing.calculate(v.time/v.duration);v.func(I.lerp_float(v.src,v.dst,b)),v.time==v.duration&&(v.repeat&&v.reflect?(null!=v.on_repeat&&v.on_repeat(),v.direction*=-1):v.repeat?(v.time=0,null!=v.on_repeat&&v.on_repeat()):(null!=v.on_complete&&v.on_complete(),v.destroy=!0))}}for(l=0;l0?t=I.cold_vector_interps.shift():(t=new h,t.dst=new pr,t.mask=new pr),t.active=!0,t.destroy=!1,t.easing=dn.get_easeNone(),t.duration=0,t.time=0,t.direction=1,t.timescale=1,t.repeat=!1,t.on_start=null,t.on_complete=null,t.on_repeat=null,t.vectors=[],t.src=[],t.dst.set_xyz(0,0,0),t.mask.set_xyz(1,1,1),t},I.make_animate_color_data=function(){var t;return I.cold_color_interps.length>0?t=I.cold_color_interps.shift():(t=new g,t.dst=new ns,t.mask=new ns),t.active=!0,t.destroy=!1,t.easing=dn.get_easeNone(),t.duration=0,t.time=0,t.direction=1,t.timescale=1,t.colors=[],t.src=[],t.repeat=!1,t.on_start=null,t.on_complete=null,t.on_repeat=null,t.dst.set(0,0,0,0),t.mask.set(1,1,1,1),t},I.make_animate_func_data=function(){var t;return t=I.cold_func_interps.length>0?I.cold_func_interps.shift():new c,t.active=!0,t.destroy=!1,t.easing=dn.get_easeNone(),t.duration=0,t.time=0,t.direction=1,t.timescale=1,t.func=null,t.src=0,t.dst=0,t.repeat=!1,t.on_start=null,t.on_complete=null,t.on_repeat=null,t},I.stop_vector=function(t){for(var e=0;et?(i=n,s=e/t*i):(s=n,i=t/e*s);var r=this.bg.state.texture,o=r.width,a=r.height,l=new nr(o*i*this.scroll_x,a*s*this.scroll_y,o*i,a*s);this.bg.uv(l),this.bg.resize_xy(t,e),this.bg.transform.local.pos.set_xy(t*-.5,e*-.5)},update_decor_uv:function(){var t=V.core.screen.width,e=V.core.screen.height,i=this.decor.state.texture,s=i.width,n=i.height,r=19*(t/e),o=1,a=t/r,l=new nr(s*r*-.5,0,s*r,n*o);this.decor.uv(l),this.decor.transform.local.pos.set_xy(t*-.5,e*-.5-.5*a),this.decor.resize_xy(t,a)},arrange:function(){this.update_bg_uv(),this.update_decor_uv()},onresize:function(){this.batcher.enabled&&this.arrange()},__class__:p};var m=function(){};r.Bundle=m,m.__name__=["Bundle"],m.init=function(){m.bundle=JSON.parse(je.getString("bundle")),m.tokens=m.parse_token_data(),m.drop_table=m.parse_drop_table(),m.tiles=m.parse_tiles(),m.difficulty_model=m.parse_difficulty_model(),m.bird_offsets=m.parse_bird_offsets()},m.parse_bird_offsets=function(){var t,e=new De,i=new pr(2,-55);null!=aa.acorn?e.setReserved("acorn",i):e.h.acorn=i;var s=new pr(-4,-85);null!=aa.oak?e.setReserved("oak",s):e.h.oak=s;var n=new pr(0,-70);null!=aa.pinecone?e.setReserved("pinecone",n):e.h.pinecone=n;var r=new pr(-2,-34);null!=aa.seeds?e.setReserved("seeds",r):e.h.seeds=r;var o=new pr(0,-66);null!=aa.flower?e.setReserved("flower",o):e.h.flower=o;var a=new pr(-4,-80);null!=aa.thistle?e.setReserved("thistle",a):e.h.thistle=a;var l=new pr(0,-72);null!=aa.shrub?e.setReserved("shrub",l):e.h.shrub=l;var _=new pr(0,-70);null!=aa.fern?e.setReserved("fern",_):e.h.fern=_;var u=new pr(1,-80);null!=aa.pine?e.setReserved("pine",u):e.h.pine=u;var h=new pr(-4,-64);null!=aa.mushroom?e.setReserved("mushroom",h):e.h.mushroom=h;var g=new pr(-4,-64);null!=aa.spade?e.setReserved("spade",g):e.h.spade=g;var c=new pr(0,0);return null!=aa.bird?e.setReserved("bird",c):e.h.bird=c,t=e},m.parse_difficulty_model=function(){var t=m.bundle.difficulty_model,e={increment:re.parseFloat(t[0].increment),base:re.parseInt(t[0].base),step:re.parseInt(t[0].step),offset:re.parseInt(t[0].offset)};return e},m.parse_tiles=function(){for(var t=m.bundle.tiles,e=[],i=0,s=t.length;s>i;){var n=i++,r=t[n],o=r.texture_name,a=re.parseInt(r.surface_color),l=re.parseInt(r.border_color),_={texture_name:o,surface_color:a,border_color:l};e.push(_)}return e},m.parse_token_data=function(){for(var t=m.bundle.token_variants,e=new Ke,i=0,s=t.length;s>i;){var n=i++,r=t[n],o=de.createEnum(w,r.kind),a=re.parseInt(r.value),l=re.parseInt(r.bird_chance),_=r.tooltip,u=r.texture_0,h=r.texture_1,g=re.parseInt(r.grow_time),c=re.parseInt(r.decay_time),I=re.parseInt(r.hit_points),d="TRUE"==r.spreads,p="TRUE"==r.explodes,C={kind:o,value:a,bird_chance:l,tooltip:_,texture_0:u,texture_1:h,grow_time:g,decay_time:c,hit_points:I,spreads:d,explodes:p};e.set(o,C)}return e},m.parse_drop_table=function(){for(var t=m.bundle.drop_table,e=[],i=100,s=0,n=t.length;n>s;)for(var r=s++,o=t[r],a=de.createEnum(w,o.kind),l=1;i>l;){var _=te.getProperty(o,""+l);if(null!=_&&_.length>0){var u=parseFloat(_);null==e[l-1]&&(e[l-1]={kinds:[],weights:[]});var h=e[l-1];h.kinds.push(a),h.weights.push(u)}l++}for(var g=0;gf;){var y=f++,b=c.weights[y]/I;c.weights[y]=A,A+=b}}return e},m.prototype={__class__:m};var C=r.ClientState={__ename__:["ClientState"],__constructs__:["None","Home","Tutorial","Playing","ConfirmRestart","EndingSequence","Menu","GameOver","OutOfPlays","AchievementsList","Favorites","Thanks","Waiting","ChooseLocale","Options","WatchedAd","NoSponsors","About","Peek","Debug"]};C.None=["None",0],C.None.toString=o,C.None.__enum__=C,C.Home=["Home",1],C.Home.toString=o,C.Home.__enum__=C,C.Tutorial=["Tutorial",2],C.Tutorial.toString=o,C.Tutorial.__enum__=C,C.Playing=["Playing",3],C.Playing.toString=o,C.Playing.__enum__=C,C.ConfirmRestart=["ConfirmRestart",4],C.ConfirmRestart.toString=o,C.ConfirmRestart.__enum__=C,C.EndingSequence=["EndingSequence",5],C.EndingSequence.toString=o,C.EndingSequence.__enum__=C,C.Menu=["Menu",6],C.Menu.toString=o,C.Menu.__enum__=C,C.GameOver=["GameOver",7],C.GameOver.toString=o,C.GameOver.__enum__=C,C.OutOfPlays=["OutOfPlays",8],C.OutOfPlays.toString=o,C.OutOfPlays.__enum__=C,C.AchievementsList=["AchievementsList",9],C.AchievementsList.toString=o,C.AchievementsList.__enum__=C,C.Favorites=["Favorites",10],C.Favorites.toString=o,C.Favorites.__enum__=C,C.Thanks=["Thanks",11],C.Thanks.toString=o,C.Thanks.__enum__=C,C.Waiting=["Waiting",12],C.Waiting.toString=o,C.Waiting.__enum__=C,C.ChooseLocale=["ChooseLocale",13],C.ChooseLocale.toString=o,C.ChooseLocale.__enum__=C,C.Options=["Options",14],C.Options.toString=o,C.Options.__enum__=C,C.WatchedAd=["WatchedAd",15],C.WatchedAd.toString=o,C.WatchedAd.__enum__=C,C.NoSponsors=["NoSponsors",16],C.NoSponsors.toString=o,C.NoSponsors.__enum__=C,C.About=["About",17],C.About.toString=o,C.About.__enum__=C,C.Peek=["Peek",18],C.Peek.toString=o,C.Peek.__enum__=C,C.Debug=["Debug",19],C.Debug.toString=o,C.Debug.__enum__=C,C.__empty_constructs__=[C.None,C.Home,C.Tutorial,C.Playing,C.ConfirmRestart,C.EndingSequence,C.Menu,C.GameOver,C.OutOfPlays,C.AchievementsList,C.Favorites,C.Thanks,C.Waiting,C.ChooseLocale,C.Options,C.WatchedAd,C.NoSponsors,C.About,C.Peek,C.Debug];var A=r.LayoutStyle={__ename__:["LayoutStyle"],__constructs__:["None","List","Fill","FillAvailable","Footer"]};A.None=["None",0],A.None.toString=o,A.None.__enum__=A,A.List=["List",1],A.List.toString=o,A.List.__enum__=A,A.Fill=["Fill",2],A.Fill.toString=o,A.Fill.__enum__=A,A.FillAvailable=["FillAvailable",3],A.FillAvailable.toString=o,A.FillAvailable.__enum__=A,A.Footer=["Footer",4],A.Footer.toString=o,A.Footer.__enum__=A,A.__empty_constructs__=[A.None,A.List,A.Fill,A.FillAvailable,A.Footer];var f=function(){};r.LayoutParameters=f,f.__name__=["LayoutParameters"],f.prototype={pad:null,em:null,w:null,h:null,transition_offset:null,text_offset_ratio:null,__class__:f};var v=function(){};r.LayoutGroup=v,v.__name__=["LayoutGroup"],v.prototype={auto_layout:null,params:null,blocks:null,visible_states:null,interactable_states:null,disabled_root_states:null,visible:null,interactable:null,was_visible:null,was_interactable:null,__class__:v};var y=function(){};r.LayoutBlock=y,y.__name__=["LayoutBlock"],y.prototype={group:null,mode:null,weight:null,pos:null,size:null,update_layout:null,set_dimensions:function(t,e,i,s){this.pos.set_xy(t,e),this.size.set_xy(i,s),this.update_layout(this)},__class__:y};var b=function(){};r.Client=b,b.__name__=["Client"],b.on_query_price=function(t,e){b.set_upgrade_price(e)},b.on_purchase_success=function(t){Ce.premium_enabled=!0,Ce.save(),K.report_event("purchase_succeeded",{product_id:t}),K.flush_event_queue(),b.awaiting_purchase&&(b.set_state(C.Thanks),b.awaiting_purchase=!1)},b.on_purchase_failed=function(){b.awaiting_purchase&&b.set_state(C.OutOfPlays)},b.on_purchase_restored=function(){Ce.premium_enabled=!0,Ce.save(),b.state==C.Waiting&&b.set_state(C.Options)},b.on_ad_opened=function(){},b.on_ad_closed=function(){},b.on_ad_played=function(t,e){Ce.ads_count++,Ce.play_credits_count+=e,Ce.play_credits_earned_count+=e,Ce.save(),b.set_state(C.WatchedAd),K.report_event("ad_played",{reward_name:t,reward_amount:e,plays_count:Ce.plays_count,ads_count:Ce.ads_count,play_credits_count:Ce.play_credits_count,play_credits_earned_count:Ce.play_credits_earned_count})},b.on_ad_failed=function(t,e){b.set_state(C.NoSponsors),K.report_event("ad_failed",{error_code:t,error_message:e,plays_count:Ce.plays_count,ads_count:Ce.ads_count,play_credits_count:Ce.play_credits_count,play_credits_earned_count:Ce.play_credits_earned_count})},b.on_availability_changed=function(t){b.set_ad_availability(t)},b.on_authentication_changed=function(t){Be.trace("authentication changed: "+(null==t?"null":""+t),{fileName:"Client.hx",lineNumber:274,className:"Client",methodName:"on_authentication_changed"});for(var e=0,i=b.set_authenticated;es/n&&(i=s/n);var r=1;768>=t?r=1.125:1080>=t&&(r=1.1);var o=.125*Math.min(i*n,s)*.25*r,a=o,l=3*o,_=.5*i,u=1.5*o;b.shared_params.pad=a,b.shared_params.em=o,b.shared_params.w=t,b.shared_params.h=e,b.shared_params.transition_offset=.015,b.shared_params.text_offset_ratio=0,"ja"==Ce.locale&&(b.shared_params.text_offset_ratio=.08);for(var h=0,g=b.groups;h=0,_=M.indexOf(a.interactable_states,t,0)>=0,u=M.indexOf(a.disabled_root_states,b.root_state,0)>=0,h=a.visible,g=a.interactable;a.visible=l&&!u,a.interactable=_&&!u,a.was_visible=h,a.was_interactable=g}for(var c=0,I=b.after_state_change_handlers;c0){var s=b.scheduled_events_queue[0];s.delay-=t,s.delay<=0&&(s.handler(),b.scheduled_events_queue.shift())}for(var n=0,r=b.update_handlers;n=0)return b.go_back(),void se.play_effect(ee.ButtonRelease)}if(b.state==C.AchievementsList){if(t.keycode==bo.left)return void b.scroll_achievements_to_prev();if(t.keycode==bo.right)return void b.scroll_achievements_to_next()}(b.state==C.Menu||b.state==C.GameOver)&&(114==t.keycode&&b.set_state(C.ConfirmRestart),102==t.keycode&&b.set_state(C.Favorites)),b.state==C.ConfirmRestart&&13==t.keycode&&(b.awaiting_play=!0,b.play())}},b.onkeyup=function(t){b.state!=C.None&&122==t.keycode&&b.state==C.Playing&&b.puzzle.undo_move()},b.ondragdown=function(t){if(b.root.get_active()&&null==b.drag){var e=b.query_hitbox_at_point(t.pos);return null!=e?(e.press(),b.drag={id:t.id,pos:t.pos.clone(),origin:t.pos.clone(),delta:new pr,elapsed:0,data:{hitbox:e}},void e.on_down(b.drag)):void(M.indexOf(b.dismissible_states,b.state,0)>=0)}},b.ondragmove=function(t){if(b.root.get_active()&&null!=b.drag&&t.id==b.drag.id){var e=b.drag.data.hitbox,i=b.query_hitbox_at_point(t.pos),s=pr.Subtract(t.pos,b.drag.pos);b.drag.pos.copy_from(t.pos),b.drag.delta.copy_from(s),e.on_move(b.drag),1==e.is_pressed&&i!=e&&e.release(),i==e&&0==e.is_pressed&&e.press()}},b.ondragup=function(t){if(!b.root.get_active()||null==b.drag||t.id!=b.drag.id)return void(b.state==C.Peek&&b.set_state(C.GameOver));var e=b.drag.data.hitbox,i=b.query_hitbox_at_point(t.pos);e.on_up(b.drag),e==i&&(e.activate(),e.release()),b.drag=null},b.make_group=function(t,e){var i=new v;return i.params=t,i.auto_layout=e,i.blocks=[],i.visible=!1,i.interactable=!1,i.visible_states=[],i.interactable_states=[],i.disabled_root_states=[],b.groups.push(i),i},b.make_block=function(t,e){var i=new y;return i.update_layout=e,i.group=t,i.mode=0,i.weight=1,i.pos=new pr,i.size=new pr,t.blocks.push(i),i},b.make_hitbox=function(t){var e=new j({batcher:b.batcher,parent:b.root});return e.on_activate=t,e.enabled=!1,b.hitboxes.push(e),e},b.make_geom=function(t){null==t&&(t=b.batcher);var e=new B({batcher:t,parent:b.root});return e.set_visible(!1),e},b.make_rounded_geom=function(t){null==t&&(t=b.batcher);var e=new Z({batcher:t});return e.transform.set_parent(b.root.get_transform()),e.set_texture_by_name("corner_fancy"),e.set_shader(V.resources.cache.get("channel")),e.set_visible(!1),e},b.make_label=function(t){null==t&&(t=b.batcher);var e=new $i({batcher:t,parent:b.root,align:2,align_vertical:2,font:V.resources.cache.get("assets/pn_soft.fnt")});return e.set_visible(!1),e},b.attach_geom_hitbox_events=function(t,e){e.set_parent(t.get_parent()),e.on_press=function(){var e=I.animate_vector(t.get_scale());e.dst.set_xy(.97,.97),e.duration=.1,e.easing=sn.get_easeOut(),se.play_effect(ee.ButtonPress)},e.on_release=function(){var e=I.animate_vector(t.get_scale());e.dst.set_xy(1,1),e.duration=.1,e.easing=sn.get_easeOut(),se.play_effect(ee.ButtonRelease)}},b.attach_rounded_geom_hitbox_events=function(t,e,i,s){null==s&&(s=16777215),null==i&&(i=16052463),e.get_transform().set_parent(t.transform.parent);var n=(new ns).rgb(i),r=(new ns).rgb(s);t.color.rgb(s),e.on_press=function(){Ae.copy_color_by_value(t.color,n);var e=I.animate_vector(t.scale);e.dst.set_xy(.97,.97),e.duration=.1,e.easing=sn.get_easeOut(),se.play_effect(ee.ButtonPress)},e.on_release=function(){Ae.copy_color_by_value(t.color,r);var e=I.animate_vector(t.scale);e.dst.set_xy(1,1),e.duration=.1,e.easing=sn.get_easeOut(),se.play_effect(ee.ButtonRelease)};var o=function(e,i){null==i&&(i=16777215),null==e&&(e=16052463),n.rgb(e),r.rgb(i),t.color.rgb(i)};return{set_colors:o}},b.layout_geom_hitbox=function(t,e,i,s){null==s&&(s=1),null==i&&(i=1),e.get_pos().copy_from(t.get_pos()),e.size.set_xy(t.size.x*i,t.size.y*s)},b.layout_rounded_geom_hitbox=function(t,e,i,s){null==s&&(s=1),null==i&&(i=1),e.get_pos().copy_from(t.pos),e.size.set_xy(t.size.x*i,t.size.y*s)},b.play=function(){return Ce.play_credits_count<=0&&!Ce.premium_enabled?void b.set_state(C.OutOfPlays):((b.awaiting_tutorial||0==Ce.plays_count)&&(Ce.tutorial_enabled=!0),b.awaiting_play=!1,b.awaiting_tutorial=!1,Ce.premium_enabled||b.puzzle.state==q.Playing&&0==b.puzzle.num_tokens_placed||b.puzzle.state==q.Playing&&b.puzzle.tutorial_enabled||(Ce.play_credits_count-=1),Ce.plays_count++,Ce.tutorial_enabled&&Ce.tutorial_plays_count++,Ce.save(),void b.puzzle.play())},b.go_back=function(){return b.awaiting_play=!1,b.awaiting_tutorial=!1,b.awaiting_purchase=!1,b.state==C.Waiting?void b.set_state(C.OutOfPlays):(b.state==C.Thanks,b.state==C.ChooseLocale?void b.set_state(C.Options):b.state==C.NoSponsors?void b.set_state(C.OutOfPlays):b.state==C.About?void b.set_state(C.Options):b.root_state==C.GameOver?void b.set_state(C.GameOver):b.root_state!=C.Playing&&b.root_state!=C.Tutorial||b.state==C.Menu?M.indexOf(b.modal_states,b.state,0)>=0?void b.set_state(b.prev_state):M.indexOf(b.dismissible_states,b.state,0)>=0?void b.set_state(b.root_state):M.indexOf(b.modal_states,b.state,0)>=0?void b.set_state(b.prev_state):void b.set_state(b.root_state):void b.set_state(C.Menu))},b.init=function(){b.root=new O({name:"client"}),b.root.set_active(!1),b.batcher=V.renderer.create_batcher({camera:V.camera.view,layer:5}),b.batcher.name="client_batcher",b.state=C.None,b.root.set_active(!1),b.batcher.enabled=!1,b.scheduled_events=[],b.scheduled_events_queue=[],b.before_state_change_handlers=[],b.after_state_change_handlers=[],b.update_handlers=[],b.dismissible_states=[],b.modal_states=[],b.hitboxes=[],b.groups=[],V.events.listen("resize",b.onresize),V.events.listen("dragdown",b.ondragdown),V.events.listen("dragmove",b.ondragmove),V.events.listen("dragup",b.ondragup),V.events.listen("keydown",b.onkeydown),V.events.listen("keyup",b.onkeyup),b.shared_params=new f,b.root_state=C.Home,b.awaiting_play=!1,b.awaiting_tutorial=!1,b.dismissible_states=[C.ConfirmRestart,C.ChooseLocale,C.OutOfPlays,C.Options,C.ChooseLocale,C.Thanks],b.modal_states=[C.ConfirmRestart,C.AchievementsList,C.OutOfPlays,C.ChooseLocale];var t=[C.Home,C.Playing,C.Tutorial,C.GameOver];b.puzzle=new $,b.init_render_textures();var e=function(e,i){M.indexOf(t,i,0)>=0&&(b.root_state=i)};b.before_state_change_handlers.push(e);var i=function(t,e){e==C.AchievementsList&&l.mark_completed_as_seen()};b.before_state_change_handlers.push(i);var s=b.make_group(b.shared_params,A.FillAvailable);s.disabled_root_states=[C.Home],s.visible_states=[C.Playing,C.Tutorial,C.EndingSequence,C.GameOver,C.ConfirmRestart,C.OutOfPlays,C.AchievementsList,C.Menu,C.Waiting,C.Thanks,C.ChooseLocale,C.Options,C.WatchedAd,C.NoSponsors,C.Favorites,C.Peek],s.interactable_states=[C.Playing,C.Tutorial],b.puzzle.batcher.enabled=!0;var n=function(t){var e=(t.group.params.em,b.puzzle.tile_map),i=e.tile_size,s=.03*t.size.x,n=t.size.x+s,r=t.size.y,o=n/e.size.x,a=r/(e.size.y+2.5*i.y),l=Math.min(o,a),_=0,u=e.tile_size.y*l*.525; e.get_scale().set_xy(l,l),e.get_pos().set_xy(_,u)},r=(b.make_block(s,n),function(t,e){e==C.Playing||e==C.Tutorial?(Wr.next_queue.push(function(){b.puzzle.focused=!0,b.puzzle.set_active(!0),b.puzzle.set_timescale(1)}),se.set_effect_volume(ee.Ambience,.3)):(b.puzzle.focused=!1,b.puzzle.set_active(!1),b.puzzle.set_timescale(0),se.set_effect_volume(ee.Ambience,.15)),b.puzzle.set_active(s.visible),e==C.Menu});b.after_state_change_handlers.push(r);var o=b.make_group(b.shared_params,A.FillAvailable);o.visible_states=[C.Menu],o.interactable_states=[C.Menu];var a=[],_=new O;_.set_parent(b.root);var u=new O;u.set_parent(_);var h=b.make_label();h.set_text("TOPSOIL"),h.set_parent(u),h.set_font(V.resources.cache.get("assets/heading.fnt")),h.set_depth(200);var g=new O;g.set_parent(_);for(var c=30,v=V.resources.cache.get("assets/heading_italic.fnt"),y=[],k=0;c>k;){var Z=(k++,b.make_label());Z.set_parent(g),Z.set_depth(200),Z.set_font(v),Z.set_align(2),y.push(Z)}var S="",z=function(t){S=t;for(var e=0,i=0;i=B.length&&(W=0),j.color.rgb(B[W])})}},X=null;X=function(){var t=0,e=2.4;T.push(b.schedule(t,F)),t+=e,T.push(b.schedule(t,F)),t+=e,T.push(b.schedule(t,F)),t+=e,T.push(b.schedule(t,X))},L=X;{var Y=function(t,e){var i=b.make_rounded_geom();i.set_texture_by_name("corner_fancy_thick"),i.transform.set_parent(_.get_transform()),i.set_depth(200);var s=b.make_label();s.set_depth(200),s.color.rgb(5194820),s.get_transform().set_parent(i.transform);var n=b.make_hitbox(e);b.attach_rounded_geom_hitbox_events(i,n);var r={text:t,geom:i,label:s,hitbox:n};return a.push(r),r},U=Y("menu.continue",function(){b.set_state(b.root_state)}),P=Y("menu.restart",function(){b.set_state(C.ConfirmRestart)}),D=Y("menu.tutorial",function(){b.awaiting_tutorial=!0,b.set_state(C.ConfirmRestart)}),Q=!1,te=function(t){var e=t.size.x,i=(t.size.y,t.pos.x),s=t.pos.y,n=t.group.params.em,r=t.group.params.pad,l=1.5*n*.42,u=1.5*n;h.set_point_size(3*n),h.set_letter_spacing(.13*n);var c=Ae.get_safe_point_size(v,S,1.8*n,.8*e);N=.125*n;for(var d=0,p=0,m=v.width_of(S,c,p,null),C=0;C0;){var n=T.pop();M.remove(b.scheduled_events,n)}};b.make_block(o,te)}b.after_state_change_handlers.push(ie);var ne=b.make_group(b.shared_params,A.FillAvailable);ne.visible_states=[C.Waiting],ne.interactable_states=[C.Waiting];var re=new O;re.set_parent(b.root);var oe=b.make_label();oe.set_parent(re),oe.set_font(V.resources.cache.get("assets/heading_italic.fnt")),oe.set_depth(200);for(var ae=[],le=0;3>le;){var _e=(le++,b.make_label());_e.set_font(V.resources.cache.get("assets/symbols.fnt")),_e.set_text("●"),_e.set_depth(200),ae.push(_e),_e.set_parent(re)}ae[0].color.rgb(16771736),ae[1].color.rgb(13758622),ae[2].color.rgb(11396306);var ue,he=function(t){var e=I.animate_vector(t.get_scale());e.dst.set_xy(.8,.8),e.duration=.25,e.easing=sn.get_easeOut(),e.on_complete=function(){var e=I.animate_vector(t.get_scale());e.time=-.1,e.dst.set_xy(1,1),e.duration=.25,e.easing=sn.get_easeOut(),e.on_complete}},ge=[],ce=null;ce=function(){var t=0,e=2.4,i=.3;ge.push(b.schedule(t,function(){he(ae[0])})),t+=i,ge.push(b.schedule(t,function(){he(ae[1])})),t+=i,ge.push(b.schedule(t,function(){he(ae[2])})),t+=e,ge.push(b.schedule(t,ce))},ue=ce;{var Ie=!1,de=function(t){var e=(t.size.x,t.size.y,t.pos.x),i=t.pos.y,s=t.group.params.em,n=t.group.params.pad;oe.set_point_size(1.8*s),i+=n*-.5,oe.get_pos().set_xy(e,i),i+=oe.geom.text_height;for(var r=1.4*s,o=e-3*r*.5+.575*r,a=0;a0;){var i=ge.pop();M.remove(b.scheduled_events,i)}};b.make_block(ne,de)}b.after_state_change_handlers.push(pe);var me=b.make_group(b.shared_params,A.FillAvailable);me.visible_states=[C.Thanks],me.interactable_states=[C.Thanks];var fe=[],ve=new O;ve.set_parent(b.root);var ye=b.make_label();ye.set_parent(ve),ye.set_font(V.resources.cache.get("assets/heading.fnt")),ye.set_depth(200);var be=b.make_geom();be.set_shader(V.resources.cache.get("channel")),be.set_depth(200);var we=b.make_geom();we.set_shader(V.resources.cache.get("channel")),we.set_depth(199);var xe=d.get_texture("heart");be.set_texture(xe.texture),be.set_uv(xe.uv),be.color.rgb(16428204),be.get_scale().set_xy(1,.975);var ke=I.animate_vector(be.get_scale());ke.dst.set_xy(1.2,1.15),ke.duration=.6,ke.repeat=!0,ke.reflect=!0,ke.easing=Zn.get_easeInOut(),we.set_texture(be.texture),we.set_parent(be),we.set_uv(be.uv),we.color.set(0,0,0,.1);var Ze=b.make_label();Ze.set_parent(ve),Ze.set_font(V.resources.cache.get("assets/heading_italic.fnt")),Ze.set_depth(200);{var Se=function(t,e){var i=b.make_rounded_geom();i.set_texture_by_name("corner_fancy_thick"),i.transform.set_parent(ve.get_transform()),i.set_depth(200);var s=b.make_label();s.set_depth(200),s.color.rgb(5194820),s.get_transform().set_parent(i.transform);var n=b.make_hitbox(e);b.attach_rounded_geom_hitbox_events(i,n);var r={text:t,geom:i,label:s,hitbox:n};return fe.push(r),r},ze=(Se("menu.continue",function(){b.awaiting_play?b.play():b.root_state==C.Playing||b.root_state==C.Tutorial?b.set_state(C.Menu):b.root_state==C.GameOver&&b.set_state(b.root_state)}),!1),Ne=function(t){var e=t.size.x,i=(t.size.y,t.pos.x),s=t.pos.y,n=t.group.params.em,r=t.group.params.pad,o=1.5*n*.42,a=1.5*n;ye.set_point_size(3*n),ye.set_letter_spacing(.13*n),Ze.set_point_size(1.8*n),Ae.scale_text_for_limit(ye,e-2*n),Ae.scale_text_for_limit(Ze,e-2*n);for(var l=0,_=0;_e?(us=_s,hs=i/e*us):(hs=_s,us=e/i*hs),rs){Ae.copy_color_by_value(Pi.color,os);var s=I.animate_color(Pi.color);Ae.copy_color_by_value(s.dst,as),s.duration=.5,s.easing=sn.get_easeOut(),rs=!1}else if(ss){Ae.copy_color_by_value(Pi.color,os);var n=I.animate_color(Pi.color);Ae.copy_color_by_value(n.dst,as),n.duration=1,n.easing=sn.get_easeOut(),ss=!1}else I.stop_color(Pi.color),Ae.copy_color_by_value(Pi.color,as)},Is=function(t,e){if(Pi.set_visible(Ui.visible),e!=t&&(Ae.copy_color_by_value(as,es),e==C.GameOver&&t==C.EndingSequence&&(ss=!0,Ae.copy_color_by_value(os,ts),Ae.copy_color_by_value(as,es)),(e==C.OutOfPlays&&b.root_state==C.GameOver||e==C.AchievementsList||e==C.OutOfPlays)&&(Ae.copy_color_by_value(os,es),Ae.copy_color_by_value(as,is))),Ui.visible&&!ls){var i=I.animate_func(gs);i.src=0,i.dst=1,i.repeat=!0,i.duration=13,ls=!0}else Ui.visible||(I.stop_func(gs),ls=!1);Ui.visible?e==C.GameOver&&t==C.EndingSequence?b.puzzle.animate_blur():Ui.visible&&!Ui.was_visible&&(b.puzzle.destroy_blur(),b.puzzle.compose_blur(!0)):b.puzzle.hide_blur()};b.make_block(Ui,cs)}b.after_state_change_handlers.push(Is);var ds=b.make_group(b.shared_params,A.FillAvailable);ds.visible_states=[C.AchievementsList,C.OutOfPlays,C.Waiting,C.Thanks,C.ChooseLocale,C.Options,C.WatchedAd,C.NoSponsors,C.Favorites,C.Debug,C.About],ds.interactable_states=[C.AchievementsList,C.OutOfPlays,C.Waiting,C.Thanks,C.ChooseLocale,C.Options,C.WatchedAd,C.NoSponsors,C.Favorites,C.Debug,C.About];var ps=b.make_rounded_geom();ps.set_depth(200),ps.color.rgb(16777215);var ms=b.make_hitbox(b.go_back);b.attach_rounded_geom_hitbox_events(ps,ms);var Cs=b.make_label();Cs.get_transform().set_parent(ps.transform),Cs.color.rgb(5194820),Cs.set_depth(201);var As=function(t){var e=t.size.x,i=t.size.y,s=t.pos.x,n=t.pos.y,r=t.group.params.em,o=t.group.params.pad,a=2.25*r;Cs.set_point_size(a);var l=(Cs.geom.text_width,2.25*r),_=2.25*r;"‹"==Cs.get_text()?Cs.get_pos().set_xy(.015*a,a*-.0325):Cs.get_pos().set_xy(.035*a,.07*a);var u=.5*_;ps.pos.set_xy(s-.5*e+.5*l,n-.5*i+.5*o+.5*_),ps.size.set_xy(l,_),ps.set_radius(u),b.layout_rounded_geom_hitbox(ps,ms,2,2)},fs=(b.make_block(ds,As),function(t,e){Cs.set_visible(ds.visible),ps.set_visible(ds.visible),ms.enabled=ds.interactable,Cs.set_text(e==C.AchievementsList||e==C.OutOfPlays||e==C.Thanks||e==C.ChooseLocale||e==C.Options||e==C.WatchedAd||e==C.NoSponsors||e==C.About||e==C.Favorites?"‹":"×")});b.after_state_change_handlers.push(fs);var vs=b.make_group(b.shared_params,A.Fill);vs.visible_states=[C.Playing,C.Tutorial,C.EndingSequence,C.Home,C.GameOver,C.OutOfPlays,C.ConfirmRestart,C.AchievementsList,C.Menu,C.Options,C.Peek];var ys=[C.Home],bs=new p;bs.batcher=b.puzzle.batcher,bs.init();{var ws=function(){bs.arrange()},xs=function(t,e){bs.decor.set_visible(vs.visible&&M.indexOf(ys,e,0)<0&&b.root_state!=C.Home)};b.make_block(vs,ws)}b.after_state_change_handlers.push(xs);var ks=b.make_group(b.shared_params,A.FillAvailable);ks.visible_states=[C.Favorites],ks.interactable_states=[C.Favorites];var Zs=x.kinds,Ss=(w.Pine,w.Fern,w.Mushroom,w.Oak,new O);Ss.set_parent(b.root);var zs=b.make_label();zs.set_parent(Ss),zs.set_font(V.resources.cache.get("assets/body_italic.fnt")),zs.set_depth(200),zs.set_align_vertical(4);for(var Ns=null,Os=[],Gs=function(t,e){var i=b.make_rounded_geom();i.set_texture_by_name("corner_fancy_thick"),i.transform.set_parent(Ss.get_transform()),i.set_depth(200);var s=m.tokens.get(t),n=s.texture_0;(t==w.Oak||t==w.Thistle||t==w.Pine)&&(n=s.texture_1);var r=d.get_texture(n),o=d.get_texture(""+n+"_outline"),a=d.get_texture("lock"),l=d.get_texture("bird"),_=d.get_texture("bird_outline"),u=d.get_texture("heart"),h=r.size.clone(),g=Math.max(h.x/256,h.y/238)*(.675/H.manifest.texture_scaling)*1.5,c=Math.max(o.size.x/256,o.size.y/238)*(.675/H.manifest.texture_scaling)*1.5,I=b.make_geom();I.set_depth(202),I.color.rgb(5194820),I.get_transform().set_parent(i.transform),I.set_texture(r.texture),I.set_size(r.size.clone()),I.set_uv(r.uv);var p=b.make_geom();p.set_depth(201),p.color.rgb(14141361),p.get_transform().set_parent(i.transform),p.set_texture(o.texture),p.set_size(o.size.clone()),p.set_uv(o.uv),p.set_shader(V.resources.cache.get("channel"));var C=b.make_geom();C.set_depth(202),C.color.rgb(5194820),C.get_transform().set_parent(i.transform),C.set_texture(u.texture),C.set_size(u.size.clone()),C.set_uv(u.uv);var A=b.make_geom();A.set_depth(202),A.color.rgb(5194820),A.get_transform().set_parent(i.transform),A.set_texture(a.texture),A.set_size(a.size.clone()),A.set_uv(a.uv);var f=b.make_geom();f.set_depth(204),f.color.rgb(5194820),f.get_transform().set_parent(i.transform),f.set_texture(l.texture),f.set_size(l.size.clone()),f.set_uv(l.uv);var v=b.make_geom();v.set_depth(204),v.color.rgb(5194820),v.get_transform().set_parent(I.get_transform()),v.set_texture(l.texture),v.set_size(l.size.clone()),v.set_uv(l.uv);var y=b.make_geom();y.set_depth(203),y.color.rgb(16777215),y.get_transform().set_parent(I.get_transform()),y.set_texture(_.texture),y.set_size(_.size.clone()),y.set_uv(_.uv),y.set_shader(V.resources.cache.get("channel"));var x=b.make_label();x.color.rgb(5194820),x.set_depth(201),x.get_transform().set_parent(i.transform),x.set_font(V.resources.cache.get("assets/pn_semibold.fnt")),x.set_align(2),x.set_align_vertical(3);var k=b.make_rounded_geom(),Z=b.make_rounded_geom();k.color.rgb(11181452),Z.color.rgb(16777215),k.set_texture_by_name("corner"),Z.set_texture_by_name("corner"),k.set_shader(V.resources.cache.get("channel")),Z.set_shader(V.resources.cache.get("channel")),k.set_depth(202),Z.set_depth(202),k.transform.set_parent(i.transform),Z.transform.set_parent(k.transform);var S=(new pr(0,0,1),function(t){v.set_radians(t),y.set_radians(t),C.set_radians(t)}),z=b.make_hitbox(e),N=b.attach_rounded_geom_hitbox_events(i,z),O={kind:t,is_locked:!1,is_goal:!1,is_active:!1,data:s,texture_name:n,fill_scaling:g,outline_scaling:c,bar_progress:0,bar_w:0,bar_h:0,geom:i,label:x,bar_back:k,bar_front:Z,token_fill:I,token_outline:p,bird_fill:v,bird_outline:y,bird_badge:f,lock:A,heart:C,hitbox:z,handle:N,should_animate_depart:!1,should_animate_arrive:!1,should_animate_heart:!1,is_animating_arrive:!1,is_animating_depart:!1,set_bird_rotation:S};return O},Rs=new Ke,Es=0;Es=0)Ns=t[0];else for(var e=0,i=Ce.favorites;e=0&&(M.indexOf(Ce.favorites,t[0],0)<0?(M.remove(Ce.favorites,Ns),Ce.favorites.push(t[0]),Ce.save(),se.play_effect(ee.Pop),Rs.get(t[0]).should_animate_arrive=!0,Ns=null):Ns=t[0]);b.set_state(b.state)}}}(Bs));Os.push(js),Rs.set(Bs[0],js)}var Ms,Ws,Ls=function(t){var e=(t.bar_front,t.bar_front),i=t.bar_w,s=t.bar_h,n=t.bar_progress,r=.5*s,o=0,a=i*n;if(a>i-r){var l=(a-(i-r))/r;o=r*l}e.pos.set_xy(i*-.5+.5*a,0),e.size.set_xy(a,s),e.set_radius_by_corner(r,o,r,o)},Ts=!1,Js=null;Js=function(t){var e=t.size.x,i=t.size.y,s=t.pos.x,n=t.pos.y,r=t.group.params.em,o=(t.group.params.pad,1.5*r*.42),a=.75*r,l=(e-3*a)/4,_=1.4*l,u=.7*l,h=.625*l,g=.3*l,c=1.2*g,p=.18*l,C=p,A=.7*l,f=.075*l,v=s-.5*e-.5*a,y=n-.3*(_+a);zs.set_point_size(r),Ae.scale_text_for_limit(zs,e-2*r),zs.get_pos().set_xy(0,.5*i-a),s=v,n=y;for(var w=0,k=0;k=0)Z[0].handle.set_colors(15196897,15525862),O.color.rgb(15525862),N.color.rgb(7365218),S.color.rgb(7365218),E[0].color.rgb(15116970);else{I.stop_color(E[0].color),E[0].color.rgb(13419702),E[0].color.a=1,I.stop_vector(E[0].get_scale());var ae=d.get_texture("arrow_with_bar"),le=1.2*P,_e=le;E[0].set_texture(ae.texture),E[0].set_uv(ae.uv),E[0].size.copy_from(ae.size),Ae.scale_sprite_to_size(E[0],le,_e),E[0].get_pos().set_xy(0,.5*_-.135*l-.5*_e)}}b.layout_rounded_geom_hitbox(Z[0].geom,Z[0].hitbox,1.1,1.25),s+=.5*(l+a),w++,w==Math.ceil(Os.length/2)&&(s=v,n+=_+a)}if(Ts){Ts=!1,Ss.get_scale().set_xy(1-2*ks.params.transition_offset,1-2*ks.params.transition_offset);var ue=I.animate_vector(Ss.get_scale());ue.dst.set_xy(1,1),ue.duration=.325,ue.easing=hn.get_easeOut()}},Ws=Js,Ms=b.make_block(ks,Ws);var Vs=function(){zs.set_visible(ks.visible);var t=""+J.get("menu.choose_favorite_tooltip");zs.set_text(t);for(var e=0,i=0,s=Os.length;s>i;){var n=i++,r=[Os[n]];r[0].geom.set_visible(ks.visible),r[0].label.set_visible(ks.visible),r[0].bar_back.set_visible(ks.visible),r[0].bar_front.set_visible(ks.visible),r[0].token_fill.set_visible(ks.visible),r[0].token_outline.set_visible(ks.visible),r[0].bird_fill.set_visible(ks.visible),r[0].bird_outline.set_visible(ks.visible),r[0].bird_badge.set_visible(ks.visible),r[0].lock.set_visible(ks.visible),r[0].heart.set_visible(ks.visible),r[0].hitbox.enabled=ks.interactable;var o=[x.query_goal_kind()==r[0].kind],a=[!x.is_completed(r[0].kind)],l=M.indexOf(Ce.favorites,r[0].kind,0)>=0;if(r[0].is_active=l,e>0?Ae.schedule(e,function(t,e,i){return function(){i[0].is_locked=t[0],i[0].is_goal=e[0]}}(a,o,r)):(r[0].is_locked=a[0],r[0].is_goal=o[0]),ks.visible&&!ks.was_visible&&(Ns=null),ks.visible){var _=[Ce.collections.get(r[0].kind)],u=_[0].collected!=_[0].collected_seen,h=_[0].completed&&!_[0].completed_seen,g=[x.required_to_complete.get(r[0].kind)];if(o[0]&&(r[0].is_goal=!1,r[0].is_locked=!0,Ae.schedule(e,function(t,e,i){return function(){i[0].is_goal=!0,i[0].is_locked=!1,i[0].bar_progress=e[0].collected/t[0],Ws(Ms)}}(g,_,r))),u||h){var c=[_[0].collected_seen],d=Math.min(_[0].collected,g[0]);e>0?(r[0].is_goal=!1,r[0].is_locked=!0,Ae.schedule(e,function(t,e,i){return function(){i[0].is_goal=!0,i[0].is_locked=!1,i[0].bar_progress=t[0]/e[0],Ws(Ms)}}(c,g,r))):(r[0].is_goal=!0,r[0].bar_progress=c[0]/g[0]);var p=function(t){return function(e){t[0].bar_progress=e,Ls(t[0]);var i=x.required_to_complete.get(t[0].kind),s=Math.floor(e*i);t[0].label.set_text(""+s+"/"+i)}}(r);r[0].bar_progress=c[0]/g[0];var m=I.animate_func(p);m.src=c[0]/g[0],m.dst=d/g[0],m.duration=1.2*Math.max(m.dst-m.src,.4),m.time=-1*e,e+=m.duration;for(var C=d-c[0],A=Math.floor(Math.min(8,C)),f=m.duration/A,v=e-m.duration,y=0;A>y;){var b=y++;v+=f;var w=(c[0]+C*(b/A))/g[0],k=[5*w];Ae.schedule(v,function(t){return function(){se.play_effect(ee.HarvestPlant,t[0])}}(k))}h&&(m.on_complete=function(t){return function(){I.stop_vector(t[0].geom.transform.local.scale),t[0].geom.transform.local.scale.set_xy(1,1);var e=I.animate_vector(t[0].geom.transform.local.scale);e.dst.set_xy(.95,.95),e.duration=.15,e.easing=sn.get_easeOut(),e.on_complete=function(t){return function(){se.play_effect(ee.Pop);var e=I.animate_vector(t[0].geom.transform.local.scale);e.dst.set_xy(1,1),e.duration=.65,e.easing=an.get_easeOut(),t[0].is_goal=!1,t[0].should_animate_arrive=!0,Ws(Ms)}}(t)}}(r),e+=.15),_[0].collected_seen=_[0].collected,_[0].completed_seen=_[0].completed,Ce.save()}}}ks.visible&&!ks.was_visible&&(Ts=!0)};b.after_state_change_handlers.push(Vs);var Fs=b.make_group(b.shared_params,A.FillAvailable);Fs.visible_states=[C.ChooseLocale],Fs.interactable_states=[C.ChooseLocale];var Hs=new O;Hs.set_parent(b.root);for(var Xs=[],Ys=function(t,e){var i=b.make_rounded_geom();i.set_texture_by_name("corner_fancy_thick"),i.transform.set_parent(Hs.get_transform()),i.set_depth(200);var s=b.make_label();s.set_depth(200),s.color.rgb(5194820),s.get_transform().set_parent(i.transform);var n=b.make_hitbox(e),r=b.attach_rounded_geom_hitbox_events(i,n),o={locale:t,geom:i,label:s,hitbox:n,handle:r};return Xs.push(o),o},Ks=H.manifest.locales,Us=0;Us=t?e=t/(kn/zn):t>=(kn+xn)/zn?e=1-(t-(kn+xn)/zn)/(Sn/zn):t>0&&(e=1),e=sn.get_easeOut().calculate(e);var i=yn+(bn-yn)*e;An.pos.set_y(i)},On=function(){I.stop_func(Nn);var t=I.animate_func(Nn);t.duration=zn,t.src=0,t.dst=1,t.easing=Zn.get_easeInOut(),t.on_complete=function(){wn=!1},wn=!0},Gn=!0,Rn=1,En=!0,Bn=function(t){var e,i,s=t.size.x,n=t.size.y,r=t.pos.x,o=t.pos.y,a=t.group.params.em,l=t.group.params.pad,_=.25*a;En?(e=1.1*a,i=1.1*a):(e=1.8*a,i=1.6*a),Gn||(vn.set_visible(!1),e=0,i=0,_=0),e*=Rn,i*=Rn,fn.set_point_size(1.25*a),Ae.scale_text_for_limit(fn,s-(1.5*a+_+e));var u,h,g;Ae.scale_sprite_to_size(vn,e,i),e=vn.size.x*vn.get_scale().x,i=vn.size.y*vn.get_scale().y,En?(u=1.5*a+fn.geom.text_width-0*a+_+e,h=2.25*a,g=.5*h):(u=1.5*a+fn.geom.text_width-0*a+_+e,h=2.85*a,g=2.25*a*.5);var c=fn.geom.text_width;fn.get_pos().set_xy(.5*e+.5*_,.06*a),"+"!=fn.get_text().charAt(0)&&b.offset_text(fn,Cn),vn.get_pos().set_xy(c*-.5-.5*_,.03*-a),yn=o+n*-.5-h-l,bn=o+n*-.5+.5*l+2.25*a*.5,wn?An.pos.set_x(r):An.pos.set_xy(r,yn),An.size.set_xy(u,h),An.set_radius(g)},jn=b.make_block(Cn,Bn);b.show_alert=function(t,e,i){En=i,fn.set_text(t),"lightbulb"==e?(xn=8,kn=.08,Sn=.08,zn=kn+xn+Sn):(xn=3,kn=.16,Sn=.16,zn=kn+xn+Sn);var s=d.get_texture(e);vn.set_texture(s.texture),vn.set_size(s.size.clone()),vn.set_uv(s.uv);var n;n=En?"corner_fancy":"corner_fancy",An.set_texture_by_name(n),Rn=1,"mushroom"==e?Rn=.6:"flower"==e&&(Rn=.8),Bn(jn),On()};var Mn=function(){fn.set_visible(Cn.visible),An.set_visible(Cn.visible),vn.set_visible(Cn.visible&&Gn)};b.after_state_change_handlers.push(Mn);var Wn=b.make_group(b.shared_params,A.FillAvailable);Wn.visible_states=[C.OutOfPlays],Wn.interactable_states=[C.OutOfPlays];var Ln=new O;Ln.set_parent(b.root);var Tn=b.make_label();Tn.set_parent(Ln),Tn.set_font(V.resources.cache.get("assets/heading.fnt")),Tn.set_depth(200),Tn.set_text("OUT OF PLAYS");var Jn=b.make_label();Jn.set_parent(Ln),Jn.set_font(V.resources.cache.get("assets/heading_italic.fnt")),Jn.set_depth(200),Jn.set_text("download for free\nto keep playing");var Vn=1,Fn=function(t,e){var i=b.make_rounded_geom();i.set_texture_by_name("corner_fancy_thick"),i.set_depth(200),i.transform.set_parent(Ln.get_transform());var s=b.make_geom();s.color.rgb(4993072),s.set_depth(200),s.get_transform().set_parent(i.transform);var n=d.get_texture(t),r=n.size.x/n.size.y;s.set_texture(n.texture),s.set_uv(n.uv),s.set_shader(V.resources.cache.get("channel")),Vn=Math.max(Vn,r);var o=b.make_hitbox(function(){window.open(e)});o.set_parent(Ln),b.attach_rounded_geom_hitbox_events(i,o);var a={geom:i,img:s,hitbox:o,aspect_ratio:r};return a},Hn=[];Hn.push(Fn("ios",R.IOS_STORE_LINK)),Hn.push(Fn("android",R.ANDROID_STORE_LINK));var Xn=!1,Yn=function(t){var e=(t.size.x,t.size.y,t.pos.x),i=t.pos.y,s=t.group.params.em,n=t.group.params.pad,r=.75*n,o=3.5*s,a=3*s*.225,l=Hn.length,_=(o+r)*(l-1),u=o+r;Tn.set_point_size(2.25*s),Jn.set_point_size(1.5*s),Jn.set_line_spacing(.35*s);var h=1.5*s,g=o-h,c=g*Vn+h,d=Tn.geom.text_height,p=Jn.geom.text_height;i-=.5*_,i-=.5*(d+2*n+p),i+=2*n,Jn.get_pos().set_xy(e,i),i+=p,i-=.25*s;for(var m=0;m0){var s;s=1==i?"PLAY":"PLAYS",Tn.set_text(""+i+" "+s+" LEFT")}else Tn.set_text("OUT OF PLAYS")});b.after_state_change_handlers.push(Kn);var Un=b.make_group(b.shared_params,A.FillAvailable);Un.visible_states=[C.ConfirmRestart],Un.interactable_states=[C.ConfirmRestart];var Pn=new O,Dn=b.make_label();Dn.set_font(V.resources.cache.get("assets/heading_italic.fnt")),Dn.set_parent(Pn),Dn.set_depth(200);var Qn=b.make_rounded_geom();Qn.set_texture_by_name("corner_fancy_thick"),Qn.transform.set_parent(Pn.get_transform()),Qn.set_depth(200);var qn=b.make_label();qn.set_depth(201),qn.get_transform().set_parent(Qn.transform),qn.color.rgb(5194820);var $n=b.make_hitbox(function(){b.awaiting_play=!1,b.awaiting_tutorial=!1,b.set_state(b.prev_state)});b.attach_rounded_geom_hitbox_events(Qn,$n);var tr=b.make_rounded_geom();tr.set_texture_by_name("corner_fancy_thick"),tr.transform.set_parent(Pn.get_transform()),tr.set_depth(200);var er=b.make_label();er.set_depth(201),er.get_transform().set_parent(tr.transform),er.color.rgb(5194820);var ir=b.make_hitbox(function(){b.awaiting_play=!0,K.report_event("puzzle_restarted",{tutorial_enabled:b.puzzle.tutorial_enabled,score:b.puzzle.score,num_tokens_harvested:b.puzzle.num_tokens_harvested,open_tile_count:b.puzzle.tile_map.count_open_tiles(),harvestable_tile_count:b.puzzle.tile_map.count_harvestable_tiles(),time_started:M.dateStr(b.puzzle.time_started),time_completed:function(){var t,e=new Date;return t=M.dateStr(e)}(this),seconds_elapsed:Ae.get_seconds_elapsed(b.puzzle.time_started,new Date)}),K.flush_event_queue(),b.play()});b.attach_rounded_geom_hitbox_events(tr,ir);var sr=!1,rr=function(t){var e=(t.size.x,t.size.y,t.pos.x),i=t.pos.y,s=t.group.params.em,n=t.group.params.pad,r=5*s,o=3*s,a=1.5*s*.42;if(Dn.set_point_size(2.1*s),qn.set_point_size(Ae.get_safe_point_size(qn.get_font(),qn.get_text(),1.5*s,r-n)),er.set_point_size(Ae.get_safe_point_size(er.get_font(),er.get_text(),1.5*s,r-n)),i+=.5*Dn.geom.text_height+1.75*n,Dn.get_pos().set_xy(e+.15*s,i-o-.5*n),Qn.pos.set_xy(e-.5*(r+n),i),Qn.size.set_xy(r,o),Qn.set_radius(a),b.layout_rounded_geom_hitbox(Qn,$n,1.4,2),tr.pos.set_xy(e+.5*(r+n),i),tr.size.set_xy(r,o),tr.set_radius(a),b.layout_rounded_geom_hitbox(tr,ir,1.4,2),sr){sr=!1,Pn.get_scale().set_xy(1-Un.params.transition_offset,1-Un.params.transition_offset);var l=I.animate_vector(Pn.get_scale());l.dst.set_xy(1,1),l.duration=.225,l.easing=hn.get_easeOut()}},or=(b.make_block(Un,rr),function(t,e){Dn.set_visible(Un.visible),Qn.set_visible(Un.visible),qn.set_visible(Un.visible),$n.enabled=Un.interactable,tr.set_visible(Un.visible),er.set_visible(Un.visible),ir.enabled=Un.interactable,Un.visible&&t!=e&&(sr=!0),Dn.set_text(J.get("menu.confirm_restart")),er.set_text(J.get("menu.yes")),qn.set_text(J.get("menu.no"))});b.after_state_change_handlers.push(or);var ar=b.make_group(b.shared_params,A.FillAvailable);ar.visible_states=[C.GameOver,C.Peek],ar.interactable_states=[C.GameOver];var lr=new O;lr.set_parent(b.root);var _r=(new ns).set(0,0,0,0),ur=(new ns).set(1,1,1,1),hr=b.make_label();hr.set_parent(lr),hr.set_font(V.resources.cache.get("assets/heading.fnt")),hr.set_depth(200),hr.set_align(2),hr.set_align_vertical(2),hr.color.rgb(16777215);var gr=new O;gr.set_parent(lr);var cr=new O;cr.set_parent(gr);for(var Ir=30,dr=V.resources.cache.get("assets/heading_italic.fnt"),mr=[],Cr=new ns,Ar=0;Ir>Ar;){var fr=(Ar++,b.make_label());fr.set_parent(cr),fr.set_depth(200),fr.set_font(dr),fr.set_color(Cr),fr.set_align(2),mr.push(fr)}var vr="",yr=function(t){vr=t;for(var e=0,i=0;iFr,Xr?(Er.label.set_text(J.get("menu.new_best")),Br.label.set_text(J.get("menu.old_best")),jr.label.set_text(J.get("menu.average")),yr(J.get("menu.new_best"))):(Er.label.set_text(J.get("menu.your_score")),Br.label.set_text(J.get("menu.best_score")),jr.label.set_text(J.get("menu.average")),yr(J.get("menu.your_score")))},Ur=function(){Jr=!Jr,Tr=!0,Kr()};Sr=new O,Sr.set_parent(lr),zr=b.make_rounded_geom(),zr.set_texture_by_name("corner_fancy_thick"),zr.color.rgb(16777215),zr.transform.set_parent(Sr.get_transform()),zr.set_depth(200),Or=b.make_hitbox(function(){b.awaiting_play=!0,b.play()}),Or.set_parent(Sr);var Pr=function(t){I.stop_vector(t),t.set_xy(1,1);var e=I.animate_vector(t);e.dst.set_xy(.97,.97),e.duration=.1,e.easing=sn.get_easeOut(),se.play_effect(ee.ButtonPress)},Dr=function(t){var e=I.animate_vector(t);e.dst.set_xy(1,1),e.duration=.2,e.easing=sn.get_easeOut(),se.play_effect(ee.ButtonRelease)};Or.on_press=function(){zr.color.rgb(16053492),Pr(zr.scale)},Or.on_release=function(){zr.color.rgb(16777215),Dr(zr.scale)};var Qr=(new ns).rgb(5194820);Nr=b.make_label(),Nr.color.rgb(5194820),Nr.get_transform().set_parent(zr.transform),Nr.set_text("play"),Nr.set_depth(201),b.set_game_over_alpha=function(t){Yr(hr.color,_r,ur,t),Yr(Cr,_r,ur,t),Yr(kr.color,_r,ur,t),Yr(zr.color,_r,ur,t),Yr(Nr.color,_r,Qr,t)},b.set_game_over_offset=function(t){lr.get_pos().set_y(t),zr.set_dirty(!0)};var qr=function(t,e,i){var s=t.group.params.em,n=t.group.params.pad,r=3*s;Nr.set_point_size(1.86*s),i+=.5*r,Sr.get_pos().set_xy(e,i);var o=.5*n,a=Nr.geom.text_width,l=1.5*n+a+.5*n+o;zr.size.set_xy(l-o,r);var _=.225*r;zr.set_radius(_);var u=.5*l;zr.pos.set_xy(l*-.5+u,0),Nr.get_pos().set_xy(0,0),b.offset_text(Nr,ar),b.layout_rounded_geom_hitbox(zr,Or,1.25,2)},$r=function(){zr.set_visible(ar.visible),Nr.set_visible(ar.visible),Or.enabled=ar.interactable},to=Sr,eo=Nr,io=qr,so=$r;to.set_parent(lr),b.set_game_over_data=function(t,e,i){Vr=t,Fr=e,Hr=i,Kr()};var no=b.make_hitbox(Ur);no.on_press=function(){var t=I.animate_vector(gr.get_scale());t.dst.set_xy(.95,.975),t.duration=.1,t.easing=sn.get_easeOut()},no.on_release=function(){var t=I.animate_vector(gr.get_scale());t.dst.set_xy(1,1),t.duration=.1,t.easing=sn.get_easeOut()};{var ro=function(t){var e=t.pos.x,i=t.pos.y,s=t.size.x,n=(t.size.y,t.group.params.em),r=t.group.params.pad,o=1.86*n;hr.set_point_size(2.5*n),hr.set_letter_spacing(.125*n),kr.set_point_size(2.8*n);for(var a=1.5*n,l=1.86*n,_=0;_e&&b.state!=C.Peek&&b.set_state(C.Peek);var i=zo*(1-e);b.puzzle.set_blur_alpha(e),b.set_overlay_alpha(e),b.set_game_over_alpha(e),b.set_game_over_offset(i)},ko.on_up=function(t){var e=No(t),i=zo*(1-e),s=I.animate_func(b.puzzle.set_blur_alpha);s.src=e,s.dst=1,s.duration=.4,s.easing=hn.get_easeOut();var n=I.animate_func(b.set_overlay_alpha);n.src=e,n.dst=1,n.duration=.4,n.easing=hn.get_easeOut();var r=I.animate_func(b.set_game_over_alpha);r.src=e,r.dst=1,r.duration=.4,r.easing=hn.get_easeOut();var o=I.animate_func(b.set_game_over_offset);o.src=i,o.dst=0,o.duration=.4,o.easing=hn.get_easeOut(),b.set_state(C.GameOver)},b.make_block(xo,function(t){var e=t.size.y;Zo=.0025*e,So=.1*e,zo=.03*e,ko.size.copy_from(t.size),ko.get_pos().set_xy(0,0)});var Oo=function(){ko.enabled=xo.interactable};b.after_state_change_handlers.push(Oo),null==Ce.puzzle?b.play():b.puzzle.load_state_from_data(Ce.puzzle),b.root.set_active(!0),b.batcher.enabled=!0},b.schedule=function(t,e){var i={handler:e,cancellable:!1,delay:t};return b.scheduled_events.push(i),i};var w=r.TokenKind_v0={__ename__:["TokenKind_v0"],__constructs__:["Spade","Fern","Mushroom","Flower","Shrub","Pine","Thistle","Oak","Nettle","Tulip","Bamboo"]};w.Spade=["Spade",0],w.Spade.toString=o,w.Spade.__enum__=w,w.Fern=["Fern",1],w.Fern.toString=o,w.Fern.__enum__=w,w.Mushroom=["Mushroom",2],w.Mushroom.toString=o,w.Mushroom.__enum__=w,w.Flower=["Flower",3],w.Flower.toString=o,w.Flower.__enum__=w,w.Shrub=["Shrub",4],w.Shrub.toString=o,w.Shrub.__enum__=w,w.Pine=["Pine",5],w.Pine.toString=o,w.Pine.__enum__=w,w.Thistle=["Thistle",6],w.Thistle.toString=o,w.Thistle.__enum__=w,w.Oak=["Oak",7],w.Oak.toString=o,w.Oak.__enum__=w,w.Nettle=["Nettle",8],w.Nettle.toString=o,w.Nettle.__enum__=w,w.Tulip=["Tulip",9],w.Tulip.toString=o,w.Tulip.__enum__=w,w.Bamboo=["Bamboo",10],w.Bamboo.toString=o,w.Bamboo.__enum__=w,w.__empty_constructs__=[w.Spade,w.Fern,w.Mushroom,w.Flower,w.Shrub,w.Pine,w.Thistle,w.Oak,w.Nettle,w.Tulip,w.Bamboo];var x=function(){};r.Collection=x,x.__name__=["Collection"],x.init=function(){for(var t=0,e=x.kinds;tr&&(s.completed=!0,M.indexOf(Ce.favorites,i,0)<0&&Ce.favorites.push(i))}}Ce.save()},x.reset=function(){x.init();for(var t=0,e=x.kinds;t=a&&(s.completed=!0,o=!0,K.report_event("completed_collection",{kind:""+re.string(r),required:a,collected:s.collected,time_to_unlock:Ae.get_seconds_elapsed(Ce.container.date_created,new Date),plays_count:Ce.plays_count,premium_enabled:Ce.premium_enabled,best_score:Ce.best_score,average_score:Ce.average_score}),x.unlocks_bird.get(r)&&Ce.favorites.push(r)),Ce.save(),Ae.schedule(i,function(){var t;t=1==n?J.get("menu.plus_1_plant"):J.get_and_replace("menu.plus_n_plants",""+n),t="+"+n;var e=m.tokens.get(r),i=e.texture_0;e.grow_time>0&&(i=e.texture_1),b.show_alert(t,i,!1);for(var s=.1,o=0;3>o;){var a=o++,l=[a/3*3];Ae.schedule(.3+s*a,function(t){return function(){se.play_effect(ee.HarvestPlant,t[0])}}(l))}}),o},x.query_unseen_completed_collections=function(){for(var t=[],e=0,i=x.kinds;eh;){var g=this.vertices[h],c=g.pos.x,I=g.pos.y,d=g.pos.z,p=_[0]*c+_[4]*I+_[8]*d+_[12],m=_[1]*c+_[5]*I+_[9]*d+_[13],C=_[2]*c+_[6]*I+_[10]*d+_[14];n[t]=p,n[t+1]=m,n[t+2]=C,n[t+3]=g.pos.w,t+=4;var A=g.uv.uv0;r[e]=A.u,r[e+1]=A.v,r[e+2]=A.w,r[e+3]=A.t,e+=4,o[i]=g.color.r,o[i+1]=g.color.g,o[i+2]=g.color.b,o[i+3]=g.color.a,i+=4;var f=g.normal;a[s]=f.x,a[s+1]=f.y,a[s+2]=f.z,a[s+3]=f.w,s+=4,h++}},batch_object_space:function(t,e,i,s,n,r,o,a){for(var l=0,_=this.vertices;l<_.length;){var u=_[l];++l;var h=u.pos,g=u.uv.uv0,c=u.color;n[t]=h.x,n[t+1]=h.y,n[t+2]=h.z,n[t+3]=h.w,t+=4,r[e]=g.u,r[e+1]=g.v,r[e+2]=g.w,r[e+3]=g.t,e+=4,o[i]=c.r,o[i+1]=c.g,o[i+2]=c.b,o[i+3]=c.a,i+=4;var I=u.normal;a[s]=I.x,a[s+1]=I.y,a[s+2]=I.z,a[s+3]=I.w,s+=4}},batch_into_arrays:function(t,e,i,s){for(var n=0,r=this.vertices;n0)for(var e=0,i=this.vertices;ei;){var s=(i++,new jr(new pr,this.color,new pr));this.lattice.push(s)}this.vertices=[];for(var n=0;16>n;){var r=n++,o=r%4,a=Math.floor(r/4);if(!(o>=3||a>=3)){var l=this.lattice[r],_=this.lattice[r+1],u=this.lattice[r+4],h=this.lattice[r+5];this.vertices.push(l),this.vertices.push(u),this.vertices.push(_),this.vertices.push(_),this.vertices.push(u),this.vertices.push(h)}}};r.CornerGeom=Z,Z.__name__=["CornerGeom"],Z.__super__=k,Z.prototype=i(k.prototype,{lattice:null,radius:null,size:null,scale:null,pos:null,uv:null,top_left_radius:null,top_right_radius:null,bottom_left_radius:null,bottom_right_radius:null,set_radius:function(t){this.radius=t,this.update_vertices()},set_radius_by_corner:function(t,e,i,s){this.top_left_radius=t,this.top_right_radius=e,this.bottom_left_radius=i,this.bottom_right_radius=s,this.update_vertices()},update_uvs:function(){for(var t=this.uv.x,e=this.uv.y,i=this.uv.w,s=this.uv.h,n=this.state.texture.width,r=this.state.texture.height,o=1/n*(i/n),a=1/r*(s/r),l=function(l,_,u,h){l.uv.uv0.set_uv(t/n+o,e/r+a),_.uv.uv0.set_uv((t+i)/n-o,e/r+a),u.uv.uv0.set_uv(t/n+o,(e+s)/r-a),h.uv.uv0.set_uv((t+i)/n-o,(e+s)/r-a)},_=0;16>_;){var u=_++,h=u%4,g=Math.floor(u/4);if(!(h>=3||g>=3)){var c=this.lattice[u],I=this.lattice[u+1],d=this.lattice[u+4],p=this.lattice[u+5];0==u?l(c,I,d,p):2==u?l(I,c,p,d):8==u?l(d,p,c,I):10==u&&l(p,d,I,c)}}},update_vertices:function(){for(var t=this.size.x,e=this.size.y,i=t*-.5,s=e*-.5,n=Math.min(t,e),r=Math.min(this.radius,n),o=0;16>o;){var a=o++,l=a%4,_=Math.floor(a/4),u=this.lattice[a],h=i,g=s,c=r;l>1&&2>_&&(c=this.top_right_radius<0?r:Math.min(this.top_right_radius,n)),2>l&&2>_&&(c=this.top_left_radius<0?r:Math.min(this.top_left_radius,n)),l>1&&_>1&&(c=this.bottom_right_radius<0?r:Math.min(this.bottom_right_radius,n)),2>l&&_>1&&(c=this.bottom_left_radius<0?r:Math.min(this.bottom_left_radius,n)),1==l?h+=c:2==l?h+=t-c:3==l&&(h+=t),1==_?g+=c:2==_?g+=e-c:3==_&&(g+=e),u.pos.set_xy(h,g)}},set_texture_by_name:function(t){var e=d.get_texture(t);this.set_texture(e.texture),this.uv=e.uv.clone(),this.set_radius(this.radius),this.update_uvs(),this.update_vertices()},__class__:Z});var S=function(t,e){e=e.split("u").join(""),this.r=new RegExp(t,e)};r.EReg=S,S.__name__=["EReg"],S.prototype={r:null,match:function(t){return this.r.global&&(this.r.lastIndex=0),this.r.m=this.r.exec(t),this.r.s=t,null!=this.r.m},matched:function(t){if(null!=this.r.m&&t>=0&&t0;){var t=this._to_remove.pop();t.event=null,t.handler=null,t=null}for(;this.connected.length>0;){var e=this.connected.pop();e.event=null,e.handler=null,e=null}this._to_remove=null,this.connected=null,this.bindings=null},emit:function(t,e){if(null!=this.bindings){this._check(),this._checking=!0;var i=this.bindings.h[t];if(null!=i&&i.length>0)for(var s=0;s0){for(var t=this._to_remove.h,e=null;null!=t;){var i;i=function(){var i;return e=t[0],t=t[1],i=e}(this);var s=this.bindings.h[i.event];null!=s&&(M.remove(s,i.handler),0==s.length&&this.bindings.remove(i.event))}this._to_remove=null,this._to_remove=new L}this._checking=!1}},__class__:z};var N=function(t,e){null==e&&(e=""),null==t&&(t=""),this.name="",this.id="",z.call(this),this.set_name(t),this.set_id(""==e?V.utils.uniqueid(null):e)};r["luxe.Objects"]=N,N.__name__=["luxe","Objects"],N.__super__=z,N.prototype=i(z.prototype,{id:null,name:null,set_name:function(t){return this.name=t},set_id:function(t){return this.id=t},get_name:function(){return this.name},get_id:function(){return this.id},__class__:N,__properties__:{set_name:"set_name",get_name:"get_name",set_id:"set_id",get_id:"get_id"}});var O=function(t){this.component_count=0,this.active=!0,this.fixed_rate=0,this.started=!1,this.inited=!1,this.destroyed=!1,N.call(this,"entity");var e=this;if(e.set_name(e.get_name()+("."+this.get_id())),this.options=t,this._components=new es(this),this.children=[],this.events=new xi,this.set_transform(null!=this.options&&null!=this.options.transform?this.options.transform:new Ir),this.get_transform().listen_pos(n(this,this.set_pos_from_transform)),this.get_transform().listen_scale(n(this,this.set_scale_from_transform)),this.get_transform().listen_origin(n(this,this.set_origin_from_transform)),this.get_transform().listen_parent(n(this,this.set_parent_from_transform)),this.get_transform().listen_rotation(n(this,this.set_rotation_from_transform)),null!=this.options){if(null==this.options.name_unique&&(this.options.name_unique=!1),this.options.name_unique,null!=this.options.name&&(this.set_name(this.options.name),this.options.name_unique)){var i=this;i.set_name(i.get_name()+("."+this.get_id()))}if(null!=this.options.pos){var s=this.options.pos;this.set_pos(new pr(s.x,s.y,s.z,s.w))}if(null!=this.options.scale){var r=this.options.scale;this.set_scale(new pr(r.x,r.y,r.z,r.w))}var o=!0;null!=this.options.no_scene&&1==this.options.no_scene&&(o=!1),null!=this.options.parent&&(o=!1,this.set_parent(this.options.parent)),o&&this.set_scene(null!=this.options.scene?this.options.scene:V.scene)}else this.set_scene(V.scene);null!=this.get_scene()&&this.get_scene().add(this)};r["luxe.Entity"]=O,O.__name__=["luxe","Entity"],O.__super__=N,O.prototype=i(N.prototype,{events:null,children:null,destroyed:null,inited:null,started:null,fixed_rate:null,parent:null,scene:null,active:null,transform:null,_components:null,fixed_rate_timer:null,options:null,scene_root:null,init:function(){},update:function(){},onfixedupdate:function(){},onreset:function(){},ondestroy:function(){},onkeyup:function(){},onkeydown:function(){},ontextinput:function(){},oninputdown:function(){},oninputup:function(){},onmousedown:function(){},onmouseup:function(){},onmousemove:function(){},onmousewheel:function(){},ontouchdown:function(){},ontouchup:function(){},ontouchmove:function(){},ongamepadup:function(){},ongamepaddown:function(){},ongamepadaxis:function(){},ongamepaddevice:function(){},onwindowmoved:function(){},onwindowresized:function(){},onwindowsized:function(){},onwindowminimized:function(){},onwindowrestored:function(){},component_count:null,add:function(t){return this.component_count++,this._components.add(t)},remove:function(t){return this.component_count--,this._components.remove(t)},get:function(t,e){return null==e&&(e=!1),this._components.get(t,e)},get_any:function(t,e,i){return null==i&&(i=!0),null==e&&(e=!1),this._components.get_any(t,e,i)},has:function(t){return this._components.has(t)},_init:function(){if(this.init(),this.emit(2),this.component_count>0)for(var t=0,e=this._components.components;t0)for(var s=0,n=this.children;s0)for(var e=0,i=this._components.components;e0)for(var n=0,r=this.children;n0)for(var e=0,i=this.children;e0)for(var n=0,r=this._components.components;n0)for(var e=0,i=this._components.components;e0)for(var n=0,r=this.children;n0)for(var t=0,e=this._components.components;t0)for(var s=0,n=this.children;s0)for(var e=0,i=this._components.components;e0)for(var e=0,i=this._components.components;e0)for(var e=0,i=this._components.components;e0)for(var e=0,i=this._components.components;e0)for(var e=0,i=this._components.components;ethis.interval&&(this.timer-=this.interval,0!=this.do_move()););},do_move:function(){var t=this.puzzle.token_queue[0];if(null==t)return this.destroy(),!1;var e,i=this.puzzle.tile_map,s=t.kind;switch(s[1]){case 0:e=i.get_suggested_tile_to_fallow();break;default:e=i.get_suggested_tile_to_plant(t)}if(null==e)return this.destroy(),!1;var n=this.puzzle.do_move_on_tile(e);return n?!0:(this.destroy(),!1)},init:function(){O.prototype.init.call(this)},ondestroy:function(){O.prototype.ondestroy.call(this)},__class__:G});var R=function(){};r.Globals=R,R.__name__=["Globals"];var E=function(t){if(this.ignore_texture_on_geometry_change=!1,this._creating_geometry=!1,this._has_custom_origin=!1,this.radians=0,this.depth=0,this.visible=!0,this.locked=!1,null==t)throw new li(Vi.null_assertion("_options was null ( Visual requires non-null options )"));this._rotation_euler=new pr,this._rotation_quat=new ir,O.call(this,t),this.set_color(new ns),this.set_size(new pr),null!=this.options.texture&&this.set_texture(this.options.texture),null!=this.options.shader&&this.set_shader(this.options.shader),null!=this.options.color&&this.set_color(this.options.color),null!=this.options.depth&&this.set_depth(this.options.depth),null!=this.options.visible&&this.set_visible(this.options.visible),null!=this.options.size?(this.set_size(this.options.size),this._create_geometry()):null!=this.texture?(this.set_size(new pr(this.texture.width,this.texture.height)),this._create_geometry()):(this.set_size(new pr(64,64)),this._create_geometry())};r["luxe.Visual"]=E,E.__name__=["luxe","Visual"],E.__super__=O,E.prototype=i(O.prototype,{size:null,geometry:null,locked:null,texture:null,shader:null,color:null,visible:null,depth:null,clip_rect:null,radians:null,_rotation_euler:null,_rotation_quat:null,_has_custom_origin:null,_creating_geometry:null,_create_geometry:function(){if(null==this.options.geometry){if(null==this.options.no_geometry||0==this.options.no_geometry){this._creating_geometry=!0;var t=null;(null==this.options.no_batcher_add||0==this.options.no_batcher_add)&&(t=null!=this.options.batcher?this.options.batcher:V.renderer.batcher),this.set_geometry(new X({id:this.get_name()+".visual",x:0,y:0,w:this.size.x,h:this.size.y,scale:new pr(1,1,1),texture:this.texture,color:this.color,shader:this.shader,batcher:t,depth:null==this.options.depth?0:this.options.depth,visible:null==this.options.visible?this.visible:this.options.visible})),this._creating_geometry=!1,this.on_geometry_created()}}else this.set_geometry(this.options.geometry);null!=this.geometry&&(this.geometry.id=this.get_name()+".visual",this.geometry.transform.id=this.get_name()+".visual.transform"),null!=this.options.origin&&(this._has_custom_origin=!0,this.set_origin(this.options.origin)),null!=this.options.rotation_z&&this.set_rotation_z(this.options.rotation_z)},ondestroy:function(){null!=this.geometry&&this.geometry.added&&this.geometry.drop(!0),this.set_transform(null),this.options=null,this.set_geometry(null),this.set_texture(null),this.set_shader(null),this.set_color(null),this.set_size(null),this.set_clip_rect(null),this._rotation_euler=null,this._rotation_quat=null},on_geometry_created:function(){},set_visible:function(t){return this.visible=t,null!=this.geometry&&this.geometry.set_visible(this.visible),this.visible},set_depth:function(t){return null!=this.geometry&&this.geometry.set_depth(t),this.depth=t},set_color:function(t){return null!=this.color&&null!=this.geometry&&this.geometry.set_color(t),this.color=t},set_texture:function(t){return null!=this.geometry&&this.geometry.state.texture!=t&&this.geometry.set_texture(t),this.texture=t},set_shader:function(t){return null!=this.geometry&&this.geometry.state.shader!=t&&this.geometry.set_shader(t),this.shader=t},ignore_texture_on_geometry_change:null,set_geometry:function(t){return this.geometry==t?this.geometry:(null!=this.geometry&&this.geometry.drop(),this.geometry=t,null!=this.geometry&&(this.geometry.transform.set_parent(this.get_transform()),0==this._creating_geometry&&(this.geometry.set_color(this.color),this.geometry.set_depth(this.depth),this.geometry.set_visible(this.visible),!this.ignore_texture_on_geometry_change)),this.geometry)},set_parent_from_transform:function(t){O.prototype.set_parent_from_transform.call(this,t),null!=this.geometry&&this.geometry.transform.set_parent(this.get_transform())},set_rotation_from_transform:function(t){O.prototype.set_rotation_from_transform.call(this,t),this._rotation_euler.setEulerFromQuaternion(t,null),this._rotation_quat.copy(t)},set_size:function(t){return this.size=t,null!=this.size&&pr.Listen(this.size,n(this,this._size_change)),this.size},get_rotation_z:function(){return Gn.degrees(this.get_radians())},set_rotation_z:function(t){return this.set_radians(.017453292519943278*t),t},set_radians:function(t){return this._rotation_euler.set_z(t),this._rotation_quat.setFromEuler(this._rotation_euler),this.set_rotation(this._rotation_quat.clone()),this.radians=t},get_radians:function(){return this.radians},set_locked:function(t){return null!=this.geometry&&this.geometry.set_locked(t),this.locked=t},set_clip_rect:function(t){return null!=this.geometry&&this.geometry.set_clip_rect(t),this.clip_rect=t},_size_change:function(){this.set_size(this.size)},init:function(){O.prototype.init.call(this)},__class__:E,__properties__:i(O.prototype.__properties__,{set_rotation_z:"set_rotation_z",get_rotation_z:"get_rotation_z",set_radians:"set_radians",get_radians:"get_radians",set_clip_rect:"set_clip_rect",set_depth:"set_depth",set_visible:"set_visible",set_color:"set_color",set_shader:"set_shader",set_texture:"set_texture",set_locked:"set_locked",set_geometry:"set_geometry",set_size:"set_size"})});var B=function(t){if(this.flipy=!1,this.flipx=!1,this.centered=!0,this.set_uv(new nr),null==t)throw new li(Vi.null_assertion("options was null ( Sprite requires non-null options )"));null!=t.centered&&this.set_centered(t.centered),null!=t.flipx&&this.set_flipx(t.flipx),null!=t.flipy&&this.set_flipy(t.flipy),E.call(this,t)};r["luxe.Sprite"]=B,B.__name__=["luxe","Sprite"],B.__super__=E,B.prototype=i(E.prototype,{centered:null,flipx:null,flipy:null,uv:null,geometry_quad:null,on_geometry_created:function(){E.prototype.on_geometry_created.call(this),null!=this.texture&&(this.set_uv(function(t){var e;return null==t.options.uv&&(t.options.uv=new nr(0,0,t.texture.width,t.texture.height)),e=t.options.uv}(this)),5==this.texture.resource_type&&this.set_flipy(!0)),this.set_centered(!!this.centered),this.set_flipx(!!this.flipx),this.set_flipy(!!this.flipy)},set_geometry:function(t){return this.geometry_quad=t,E.prototype.set_geometry.call(this,t)},ondestroy:function(){this.set_uv(null),this.geometry_quad=null,E.prototype.ondestroy.call(this)},point_inside:function(t){return null==this.geometry?!1:V.utils.geometry.point_in_geometry(t,this.geometry)},point_inside_AABB:function(t){if(null==this.get_pos())return!1;if(null==this.size)return!1;var e=this.size.x*this.get_scale().x,i=this.size.y*this.get_scale().y;if(this.centered){var s=e/2,n=i/2;if(t.xthis.get_pos().x+e-s)return!1;if(t.y>this.get_pos().y+i-n)return!1}else{if(t.xthis.get_pos().x+e)return!1;if(t.y>this.get_pos().y+i)return!1}return!0},set_uv:function(t){return null==t?this.uv=t:(null!=this.geometry_quad&&this.geometry_quad.uv(t),this.uv=t,nr.listen(this.uv,n(this,this._uv_change)),this.uv)},set_flipy:function(t){return t==this.flipy?this.flipy:(null!=this.geometry_quad&&this.geometry_quad.set_flipy(t),this.flipy=t)},set_flipx:function(t){return t==this.flipx?this.flipx:(null!=this.geometry_quad&&this.geometry_quad.set_flipx(t),this.flipx=t)},set_size:function(t){return null!=this.geometry_quad&&(this.geometry_quad.resize(new pr(t.x,t.y)),this._has_custom_origin||this.centered&&this.set_origin(new pr(t.x,t.y,t.z,t.w).divideScalar(2))),E.prototype.set_size.call(this,t)},set_centered:function(t){return null!=this.size&&this.set_origin(t?new pr(this.size.x/2,this.size.y/2):new pr),this.centered=t},_uv_change:function(){this.set_uv(this.uv)},init:function(){E.prototype.init.call(this)},__class__:B,__properties__:i(E.prototype.__properties__,{set_uv:"set_uv",set_flipy:"set_flipy",set_flipx:"set_flipx",set_centered:"set_centered"})});var j=function(t){t.name="hitbox",t.name_unique=!0,B.call(this,t),this.set_visible(!1),this.set_active(!1),this.set_color(new ns(1,0,0,.2)),this.set_depth(100),this.priority=0,this.is_pressed=!1,this.enabled=!0,this.on_press=function(){j.VERBOSE&&Be.trace("no press defined on hitbox",{fileName:"Hitbox.hx",lineNumber:40,className:"Hitbox",methodName:"new"})},this.on_release=function(){j.VERBOSE&&Be.trace("no release defined on hitbox",{fileName:"Hitbox.hx",lineNumber:41,className:"Hitbox",methodName:"new"})},this.on_activate=function(){j.VERBOSE&&Be.trace("no activate defined on hitbox",{fileName:"Hitbox.hx",lineNumber:42,className:"Hitbox",methodName:"new"})},this.on_cancel=function(){j.VERBOSE&&Be.trace("cancel",{fileName:"Hitbox.hx",lineNumber:43,className:"Hitbox",methodName:"new"})},this.on_down=function(){},this.on_move=function(){},this.on_up=function(){}};r.Hitbox=j,j.__name__=["Hitbox"],j.__super__=B,j.prototype=i(B.prototype,{is_pressed:null,enabled:null,priority:null,on_press:null,on_release:null,on_activate:null,on_cancel:null,on_down:null,on_move:null,on_up:null,set_enabled:function(t){return this.enabled=t,this.set_visible(t),this.enabled},press:function(){1!=this.is_pressed&&(this.is_pressed=!0,this.set_color(new ns(0,0,1,.2)),this.on_press())},release:function(){0!=this.is_pressed&&(this.is_pressed=!1,this.set_color(new ns(1,0,0,.2)),this.on_release())},activate:function(){var t=this;this.set_color(new ns(0,1,0,.2)),V.timer.schedule(.2,function(){t.set_color(new ns(1,0,0,.2))}),this.on_activate()},cancel:function(){this.set_color(new ns(1,0,0,.2)),this.on_cancel()},init:function(){B.prototype.init.call(this)},ondestroy:function(){B.prototype.ondestroy.call(this)},__class__:j});var M=function(){};r.HxOverrides=M,M.__name__=["HxOverrides"],M.dateStr=function(t){var e=t.getMonth()+1,i=t.getDate(),s=t.getHours(),n=t.getMinutes(),r=t.getSeconds();return t.getFullYear()+"-"+(10>e?"0"+e:""+e)+"-"+(10>i?"0"+i:""+i)+" "+(10>s?"0"+s:""+s)+":"+(10>n?"0"+n:""+n)+":"+(10>r?"0"+r:""+r)},M.strDate=function(t){var e=t.length;switch(e){case 8:var i=t.split(":"),s=new Date;return s.setTime(0),s.setUTCHours(i[0]),s.setUTCMinutes(i[1]),s.setUTCSeconds(i[2]),s;case 10:var n=t.split("-");return new Date(n[0],n[1]-1,n[2],0,0,0);case 19:var r=t.split(" "),o=r[0].split("-"),a=r[1].split(":");return new Date(o[0],o[1]-1,o[2],a[0],a[1],a[2]);default:throw new li("Invalid date format : "+t)}},M.cca=function(t,e){var i=t.charCodeAt(e);return i!=i?void 0:i},M.substr=function(t,e,i){return null!=e&&0!=e&&null!=i&&0>i?"":(null==i&&(i=t.length),0>e?(e=t.length+e,0>e&&(e=0)):0>i&&(i=t.length+i-e),t.substr(e,i))},M.indexOf=function(t,e,i){var s=t.length;for(0>i&&(i+=s,0>i&&(i=0));s>i;){if(t[i]===e)return i;i++}return-1},M.remove=function(t,e){var i=M.indexOf(t,e,0);return-1==i?!1:(t.splice(i,1),!0)},M.iter=function(t){return{cur:0,arr:t,hasNext:function(){return this.curI;){var p;g=I,I+=Wn.codePointWidthAt(c,I),p=Vn.codePointAt(c,g);var m=p,C=l.info.chars.h[m];null!=C||(J.VERBOSE&&Be.trace('>>> missing char "'+Wn.fromCodePoint(p)+'" in font "'+a+'" for string "'+i+'" with locale "'+u+'" <<<',{fileName:"Loc.hx",lineNumber:86,className:"Loc",methodName:"validate"}),t=!1)}}}else J.VERBOSE&&Be.trace('>>> missing font "'+a+'" for string "'+i+'" <<<',{fileName:"Loc.hx",lineNumber:63,className:"Loc",methodName:"validate"}),t=!1}}t?J.VERBOSE&&Be.trace("string are valid!",{fileName:"Loc.hx",lineNumber:96,className:"Loc",methodName:"validate"}):J.VERBOSE&&Be.trace(">>> MISSING GLYPHS! <<<",{fileName:"Loc.hx",lineNumber:100,className:"Loc",methodName:"validate"})},J.get=function(t){return J.get_with_locale(t,Ce.locale)},J.get_with_locale=function(t,e){if(null==t)return J.VERBOSE&&Be.trace("null string_id",{fileName:"Loc.hx",lineNumber:113,className:"Loc",methodName:"get_with_locale"}),"";if(0==t.length)return"";if(!J.data.exists(t))return J.VERBOSE&&Be.trace("missing localization for "+t,{fileName:"Loc.hx",lineNumber:122,className:"Loc",methodName:"get_with_locale"}),t;var i=J.data.get(t);return(null!=aa[e]?i.existsReserved(e):i.h.hasOwnProperty(e))?null!=aa[e]?i.getReserved(e):i.h[e]:(J.VERBOSE&&Be.trace("missing localization for "+t+" for locale "+e,{fileName:"Loc.hx",lineNumber:128,className:"Loc",methodName:"get_with_locale"}),"en"!=e?J.get_with_locale(t,"en"):t)},J.get_and_replace=function(t,e){return J.get_with_locale_and_replace(t,Ce.locale,e)},J.get_with_locale_and_replace=function(t,e,i){var s=J.get_with_locale(t,e);return ae.replace(s,"#",i)};var V=function(){};r.Luxe=V,V.__name__=["Luxe"],V.__properties__={set_fixed_frame_time:"set_fixed_frame_time",get_fixed_frame_time:"get_fixed_frame_time",get_fixed_alpha:"get_fixed_alpha",set_fixed_timestep:"set_fixed_timestep",get_fixed_timestep:"get_fixed_timestep",set_fixed_delta:"set_fixed_delta",get_fixed_delta:"get_fixed_delta",get_sim_delta:"get_sim_delta",get_sim_time:"get_sim_time",set_timescale:"set_timescale",get_timescale:"get_timescale",get_tick_delta:"get_tick_delta",get_tick_start_prev:"get_tick_start_prev",get_tick_start:"get_tick_start",set_update_rate:"set_update_rate",get_update_rate:"get_update_rate",set_frame_max_delta:"set_frame_max_delta",get_frame_max_delta:"get_frame_max_delta",get_frame_start_prev:"get_frame_start_prev",get_frame_start:"get_frame_start",get_dt:"get_dt",get_build:"get_build",get_version:"get_version",get_screen:"get_screen",get_time:"get_time",get_snow:"get_snow"},V.on=function(t,e){V.core.emitter.on(t,e)},V.off=function(t,e){return V.core.emitter.off(t,e)},V.next=function(t){null!=t&&Wr.next_queue.push(t)},V.shutdown=function(){V.core.shutdown()},V.showConsole=function(t){V.core.debug.set_visible(t)},V.get_snow=function(){return V.core.app},V.get_screen=function(){return V.core.screen},V.get_time=function(){return window.performance.now()/1e3-to.timestamp_start},V.get_version=function(){return V.core.version},V.get_build=function(){return V.core.build},V.get_dt=function(){return V.core.frame_delta},V.get_frame_start=function(){return V.core.frame_start},V.get_frame_start_prev=function(){return V.core.frame_start_prev},V.get_frame_max_delta=function(){return V.core.frame_max_delta},V.get_update_rate=function(){return V.core.update_rate},V.get_tick_start=function(){return V.core.tick_start},V.get_tick_start_prev=function(){return V.core.tick_start_prev},V.get_tick_delta=function(){return V.core.tick_delta},V.get_timescale=function(){return V.core.timescale},V.get_sim_time=function(){return V.core.sim_time},V.get_sim_delta=function(){return V.core.sim_delta},V.get_fixed_delta=function(){return V.core.fixed_delta},V.get_fixed_timestep=function(){return V.core.fixed_timestep},V.get_fixed_alpha=function(){return V.core.fixed_alpha},V.get_fixed_frame_time=function(){return V.core.fixed_frame_time},V.set_timescale=function(t){return V.core.timescale=t},V.set_fixed_delta=function(t){return V.core.fixed_delta=t},V.set_update_rate=function(t){return V.core.update_rate=t},V.set_fixed_timestep=function(t){return V.core.fixed_timestep=t},V.set_frame_max_delta=function(t){return V.core.frame_max_delta=t},V.set_fixed_frame_time=function(t){return V.core.fixed_frame_time=t};var F=function(){this.app=new bi(this),this.app.run()};r["luxe.Game"]=F,F.__name__=["luxe","Game"],F.main=function(){new H},F.prototype={app:null,config:function(t){return t},ready:function(){},update:function(){},ondestroy:function(){},onprerender:function(){},onrender:function(){},onpostrender:function(){},oninputdown:function(){},oninputup:function(){},onmousedown:function(){},onmouseup:function(){},onmousewheel:function(){},onmousemove:function(){},onkeydown:function(){},onkeyup:function(){},ontextinput:function(){},ontouchdown:function(){},ontouchup:function(){},ontouchmove:function(){},ongamepadaxis:function(){},ongamepaddown:function(){},ongamepadup:function(){},ongamepaddevice:function(){},onwindowmoved:function(){},onwindowresized:function(){},onwindowsized:function(){},onwindowminimized:function(){},onwindowrestored:function(){},onevent:function(){},__class__:F};var H=function(){F.call(this)};r.Main=H,H.__name__=["Main"],H.update_performance_mode=function(){var t;t=Ce.conserve_battery_enabled?.025:0,V.core.update_rate=t},H.__super__=F,H.prototype=i(F.prototype,{config:function(t){return H.build=null==t.user.build?0:t.user.build,H.version=null==t.user.version?"0.0.0":t.user.version,t.window.title="Topsoil",t.window.fullscreen=!0,t.render.depth=0,t},ready:function(){var t=this;H.manifest=JSON.parse(je.getString("manifest")),ne.init(),V.renderer.blend_mode(1,771),V.renderer.clear_color.rgb(16113856),V.camera.set_size_mode(pi.contain),V.camera.set_center(new pr(0,0)),V.resources.on(4,n(this,this.on_loaded_resource));var e=new Xi({id:"assets",load_start_delay:0,load_time_spacing:0,jsons:H.manifest.parcel.jsons,bytes:H.manifest.parcel.bytes,fonts:H.manifest.parcel.fonts,textures:H.manifest.parcel.textures,sounds:H.manifest.parcel.sounds,shaders:H.manifest.parcel.shaders});e.emitter.on(4,n(this,this.on_parcel_loaded)),e.emitter.on(3,n(this,this.on_parcel_progress)),e.emitter.on(5,n(this,this.on_parcel_failed)),e.load(),m.init(),Ce.init(),Ce.date_last_opened=new Date,Ce.opens_count++,x.init(),Ce.save(),J.init(),l.init(),d.init(),I.init(),se.init(),I.fill_cache(),V.utils.random.set_initial(Math.random()),H.update_performance_mode(),K.report_event("app_opened",{opens_count:Ce.opens_count,plays_count:Ce.plays_count,premium_enabled:Ce.premium_enabled,best_score:Ce.best_score,average_score:Ce.average_score,achievements_completed:l.count_completed()}),K.flush_event_queue();var i=0;V.timer.schedule(i,function(){V.core.app.runtime.window.className+="ready",window.document.getElementById("spinner").remove()}),window.onmouseout=function(e){e.target==V.core.app.runtime.window&&t.save()},window.addEventListener("storage",function(t){if(t.key=="com.kneeko/topsoil/slot."+R.USER_DATA_SLOT&&Ce.load()&&b.state!=C.None){if(Ce.init(),null==Ce.puzzle)return void b.set_state(C.Home);var e=b.puzzle.get_last_move();if(null==e||null==Ce.puzzle.last_move){if(e==Ce.puzzle.last_move)return}else if(Ce.puzzle.last_move.id==e.id)return;b.set_state(Ce.tutorial_enabled?C.Tutorial:C.Playing),b.puzzle.load_state_from_data(Ce.puzzle),b.set_state(b.state)}}),window.onunload=n(this,this.save)},on_parcel_loaded:function(){ne.hide(),b.init()},on_parcel_failed:function(t){var e=t.id;_.error("parcel failed","failed to load resource "+e)},on_parcel_progress:function(t){var e=t.index/t.total;ne.set_progress(e)},on_loaded_resource:function(t){var e=t.id,i=t.resource_type;switch(i){case 4:var s=t;"assets/textures.png"==e?d.set_atlas_texture(s):("assets/noise.png"==e||"assets/zigzag.png"==e||"assets/cross.png"==e)&&(s.set_clamp_s(10497),s.set_clamp_t(10497));break;case 2:var n=V.resources.cache.get(e).asset.json;if("assets/audio.json"==e)se.load_data(n);else if(null!=n.meta&&null!=n.frames){{var r=n.meta.image;Ae.truncate_extension(r),n.meta.format}V.resources.load_texture("assets/"+r).then(function(){d.set_atlas_data(n)})}}},update:function(t){b.update(t),I.update(t),se.update(t),K.update(t)},save:function(){b.save(),Ce.save()},load:function(){Ce.load()},onwindowsized:function(t){V.camera.set_viewport(new nr(0,0,t.x,t.y)),V.camera.get_center().set_xy(0,0),V.events.fire("resize")},onwindowminimized:function(){this.save()},onwindowrestored:function(){this.load();var t={opens_count:ea,plays_count:ea,premium_enabled:na,best_score:Ce.best_score,average_score:Ce.average_score,achievements_completed:l.count_completed()};if(b.puzzle.state==q.Playing){t.score=b.puzzle.score,t.num_tokens_harvested=b.puzzle.num_tokens_harvested,t.open_tile_count=b.puzzle.tile_map.count_open_tiles(),t.harvestable_tile_count=b.puzzle.tile_map.count_harvestable_tiles(),t.time_started=M.dateStr(b.puzzle.time_started);var e=new Date;t.time_minimized=M.dateStr(e)}K.report_event("app_restored",t),K.flush_event_queue()},onkeyup:function(t){if(116==t.keycode){var e=screen.width,i=screen.height,s=550,n=420;Math.floor(.5*i-.5*n),Math.floor(.5*e-.5*s),"i got "+b.puzzle.score+" points in topsoil ~"}V.events.fire("keyup",t)},onkeydown:function(t){V.events.fire("keydown",t)},dragdown:function(t){t.pos=V.camera.screen_point_to_world(t.pos),V.events.fire("dragdown",t)},dragmove:function(t){t.pos=V.camera.screen_point_to_world(t.pos),V.events.fire("dragmove",t)},dragup:function(t){t.pos=V.camera.screen_point_to_world(t.pos),V.events.fire("dragup",t)},ontouchdown:function(t){H.touch_count++;var e=t.touch_id,i=Ae.diliate_point_to_viewport(t.pos);H.drags.length>0||(H.drags.push(e),this.dragdown({pos:i,id:e}))},ontouchmove:function(t){var e=t.touch_id,i=Ae.diliate_point_to_viewport(t.pos);H.drags.length>1||this.dragmove({pos:i,id:e})},ontouchup:function(t){H.touch_count--;var e=t.touch_id,i=Ae.diliate_point_to_viewport(t.pos);H.drags.length>1||(M.remove(H.drags,e),this.dragup({pos:i,id:e}))},onmousedown:function(t){var e=t.button;H.drags.push(e),this.dragdown({pos:t.pos,id:e})},onmousemove:function(t){var e=t.button;0==e&&(e=H.drags[0]),-1!=M.indexOf(H.drags,e,0)&&this.dragmove({pos:t.pos,id:e})},onmouseup:function(t){var e=t.button;M.remove(H.drags,e),this.dragup({pos:t.pos,id:e})},__class__:H});var X=function(t){this._uv_h=1,this._uv_w=1,this._uv_y=0,this._uv_x=0,this.uv_angle=0,this.flipy=!1,this.flipx=!1,t.primitive_type=4,k.call(this,t),null!=t.flipx&&this.set_flipx(t.flipx),null!=t.flipy&&this.set_flipy(t.flipy);var e=t.x,i=t.y,s=t.w,n=t.h;null!=t.rect&&(e=t.rect.x,i=t.rect.y,s=t.rect.w,n=t.rect.h),this.add(new jr(new pr(0,0),this.color)),this.add(new jr(new pr(s,0),this.color)),this.add(new jr(new pr(s,n),this.color)),this.add(new jr(new pr(0,n),this.color)),this.add(new jr(new pr(0,0),this.color)),this.add(new jr(new pr(s,n),this.color)),this.transform.set_pos(this.transform.local.pos.set_xy(e,i)),null!=t.uv?this.uv(t.uv):this.uv_space(0,0,1,1)};r["phoenix.geometry.QuadGeometry"]=X,X.__name__=["phoenix","geometry","QuadGeometry"],X.__super__=k,X.prototype=i(k.prototype,{flipx:null,flipy:null,uv_angle:null,_uv_x:null,_uv_y:null,_uv_w:null,_uv_h:null,uv:function(t){if(null==this.state.texture)throw new li(Vi.null_assertion("texture was null ( QuadGeometry; Calling UV on a geometry with null texture. )"));var e=t.x/this.state.texture.width_actual,i=t.y/this.state.texture.height_actual,s=t.w/this.state.texture.width_actual,n=t.h/this.state.texture.height_actual;this.uv_space(e,i,s,n)},uv_space:function(t,e,i,s){if(0!=this.vertices.length){var n=i,r=s,o=t,a=e;this._uv_x=o,this._uv_y=a,this._uv_w=n,this._uv_h=r;var l=o+n,_=a,u=o+n,h=a+r,g=o,c=a+r,I=0,d=0,p=this.uv_angle/90|0;p-=4*Math.floor(p/4);for(var m=0;p>m;){{m++}I=o,o=g,g=u,u=l,l=I,d=a,a=c,c=h,h=_,_=d}this.flipy&&(d=c,c=a,a=d,I=g,g=o,o=I,d=h,h=_,_=d,I=u,u=l,l=I),this.flipx&&(I=l,l=o,o=I,d=_,_=a,a=d,I=u,u=g,g=I,d=h,h=c,c=d),this.vertices[0].uv.uv0.set_uv(o,a),this.vertices[1].uv.uv0.set_uv(l,_),this.vertices[2].uv.uv0.set_uv(u,h),this.vertices[3].uv.uv0.set_uv(g,c),this.vertices[4].uv.uv0.set_uv(o,a),this.vertices[5].uv.uv0.set_uv(u,h),this.set_dirty(!0)}},resize_xy:function(t,e){0!=this.vertices.length&&(this.vertices[0].pos.set_xy(0,0),this.vertices[1].pos.set_xy(t,0),this.vertices[2].pos.set_xy(t,e),this.vertices[3].pos.set_xy(0,e),this.vertices[4].pos.set_xy(0,0),this.vertices[5].pos.set_xy(t,e))},resize:function(t){this.resize_xy(t.x,t.y)},set:function(t){this.set_xywh(t.x,t.y,t.w,t.h)},set_xywh:function(t,e,i,s){0!=this.vertices.length&&(this.vertices[0].pos.set_xy(0,0),this.vertices[1].pos.set_xy(i,0),this.vertices[2].pos.set_xy(i,s),this.vertices[3].pos.set_xy(0,s),this.vertices[4].pos.set_xy(0,0),this.vertices[5].pos.set_xy(i,s),this.transform.set_pos(this.transform.local.pos.set_xy(t,e)))},set_flipx:function(t){return this.flipx=t,this.uv_space(this._uv_x,this._uv_y,this._uv_w,this._uv_h),this.flipx},set_flipy:function(t){return this.flipy=t,this.uv_space(this._uv_x,this._uv_y,this._uv_w,this._uv_h),this.flipy},set_uv_angle:function(t){if(t%90!=0)throw new li(Vi.assertion("_val % 90 == 0 ( uv_angle has to be a multiple of 90 )")); return this.uv_angle=t,this.uv_space(this._uv_x,this._uv_y,this._uv_w,this._uv_h),this.uv_angle},__class__:X,__properties__:i(k.prototype.__properties__,{set_uv_angle:"set_uv_angle",set_flipy:"set_flipy",set_flipx:"set_flipx"})});var Y=function(t){X.call(this,t)};r.MaskedQuadGeometry=Y,Y.__name__=["MaskedQuadGeometry"],Y.__super__=X,Y.prototype=i(X.prototype,{set_mask_by_name:function(t){var e=d.get_texture(t);this.set_mask(e.texture,e.uv)},set_mask:function(t,e){var i=t.width,s=t.height,n=e.x,r=e.y,o=e.w,a=e.h,l=this.vertices[0],_=this.vertices[1],u=this.vertices[2],h=this.vertices[3],g=this.vertices[4],c=this.vertices[5];l.normal.set_xy((n+0*o)/i,(r+0*a)/s),_.normal.set_xy((n+o)/i,(r+0*a)/s),u.normal.set_xy((n+o)/i,(r+a)/s),h.normal.set_xy((n+0*o)/i,(r+a)/s),g.normal.set_xy((n+0*o)/i,(r+0*a)/s),c.normal.set_xy((n+o)/i,(r+a)/s)},__class__:Y}),Math.__name__=["Math"];var K=function(){};r.Metrics=K,K.__name__=["Metrics"],K.update=function(t){K.seconds_since_flush+=t,K.seconds_since_flush>K.FLUSH_TIMEOUT_DURATION_SECONDS&&K.flush_event_queue()},K.report_event=function(t,e){var i={event_category:t,event_data:e,build:H.build,version:V.core.build,platform:V.core.app.platform,os:V.core.app.os,timestamp:function(){var t,e=new Date;return t=M.dateStr(e)}(this),client_id:Ce.container.client_id,client_created:M.dateStr(Ce.container.date_created),locale:Ce.locale,premium_enabled:Ce.premium_enabled};K.event_queue.push(i),K.event_queue.length>=K.FLUSH_EVENT_COUNT_THRESHOLD&&K.flush_event_queue()},K.flush_event_queue=function(){if(0!=K.event_queue.length){for(var t=[];K.event_queue.length>0;)t.push(K.event_queue.shift());var e=JSON.stringify(t),i=""+K.server+"/api/"+K.api_version+"/event";be.userAgent=""+V.core.app.platform+"-"+V.core.app.os+"-"+V.core.build;var s=new ke({url:i,method:"POST",async:!0,contentType:"application/json",content:e,callback:function(t){t.get_isOK()||(Be.trace("ERROR "+t.get_status()+" "+t.get_error(),{fileName:"Metrics.hx",lineNumber:101,className:"Metrics",methodName:"flush_event_queue"}),0==t.get_status())}});s.send(),K.seconds_since_flush=0}};var U=function(t){this.YTable=[],this.UVTable=[],this.fdtbl_Y=[],this.fdtbl_UV=[];for(var e=0;64>e;){{e++}this.YTable.push(0),this.UVTable.push(0),this.fdtbl_Y.push(0),this.fdtbl_UV.push(0)}this.bitcode=new Se,this.category=new Se,this.byteout=t,this.bytenew=0,this.bytepos=7,this.YDC_HT=new Se,this.UVDC_HT=new Se,this.YAC_HT=new Se,this.UVAC_HT=new Se,this.YDU=[],this.UDU=[],this.VDU=[],this.DU=[];for(var i=0;64>i;){{i++}this.YDU.push(0),this.UDU.push(0),this.VDU.push(0),this.DU.push(0)}this.initZigZag(),this.initLuminance(),this.initChrominance(),this.initHuffmanTbl(),this.initCategoryNumber()};r.PatchedWriter=U,U.__name__=["PatchedWriter"],U.prototype={ZigZag:null,initZigZag:function(){this.ZigZag=[0,1,5,6,14,15,27,28,2,4,7,13,16,26,29,42,3,8,12,17,25,30,41,43,9,11,18,24,31,40,44,53,10,19,23,32,39,45,52,54,20,22,33,38,46,51,55,60,21,34,37,47,50,56,59,61,35,36,48,49,57,58,62,63]},YTable:null,UVTable:null,fdtbl_Y:null,fdtbl_UV:null,initQuantTables:function(t){for(var e=[16,11,10,16,24,40,51,61,12,12,14,19,26,58,60,55,14,13,16,24,40,57,69,56,14,17,22,29,51,87,80,62,18,22,37,56,68,109,103,77,24,35,55,64,81,104,113,92,49,64,78,87,103,121,120,101,72,92,95,98,112,100,103,99],i=0;64>i;){var s=i++,n=Math.floor((e[s]*t+50)/100);1>n?n=1:n>255&&(n=255),this.YTable[this.ZigZag[s]]=n}for(var r=[17,18,24,47,99,99,99,99,18,21,26,66,99,99,99,99,24,26,56,99,99,99,99,99,47,66,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99],o=0;64>o;){var a=o++,l=Math.floor((r[a]*t+50)/100);1>l?l=1:l>255&&(l=255),this.UVTable[this.ZigZag[a]]=l}for(var _=[1,1.387039845,1.306562965,1.175875602,1,.785694958,.5411961,.275899379],u=0,h=0;8>h;)for(var g=h++,c=0;8>c;){var I=c++;this.fdtbl_Y[u]=1/(this.YTable[this.ZigZag[u]]*_[g]*_[I]*8),this.fdtbl_UV[u]=1/(this.UVTable[this.ZigZag[u]]*_[g]*_[I]*8),u++}},std_dc_luminance_nrcodes:null,std_dc_luminance_values:null,std_ac_luminance_nrcodes:null,std_ac_luminance_values:null,initLuminance:function(){this.std_dc_luminance_nrcodes=[0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0],this.std_dc_luminance_values=this.strIntsToBytes("0,1,2,3,4,5,6,7,8,9,10,11"),this.std_ac_luminance_nrcodes=[0,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125],this.std_ac_luminance_values=this.strIntsToBytes("0x01,0x02,0x03,0x00,0x04,0x11,0x05,0x12,0x21,0x31,0x41,0x06,0x13,0x51,0x61,0x07,0x22,0x71,0x14,0x32,0x81,0x91,0xa1,0x08,0x23,0x42,0xb1,0xc1,0x15,0x52,0xd1,0xf0,0x24,0x33,0x62,0x72,0x82,0x09,0x0a,0x16,0x17,0x18,0x19,0x1a,0x25,0x26,0x27,0x28,0x29,0x2a,0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9a,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,0xb8,0xb9,0xba,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,0xd8,0xd9,0xda,0xe1,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,0xe8,0xe9,0xea,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa")},strIntsToBytes:function(t){for(var e=t.length,i=new Qe,s=0,n=0,r=0;e>r;){var o=r++;","==t.charAt(o)&&(s=re.parseInt(M.substr(t,n,o-n)),i.b.push(s),n=o+1)}return e>n&&(s=re.parseInt(M.substr(t,n,null)),i.b.push(s)),i.getBytes()},std_dc_chrominance_nrcodes:null,std_dc_chrominance_values:null,std_ac_chrominance_nrcodes:null,std_ac_chrominance_values:null,initChrominance:function(){this.std_dc_chrominance_nrcodes=[0,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0],this.std_dc_chrominance_values=this.strIntsToBytes("0,1,2,3,4,5,6,7,8,9,10,11"),this.std_ac_chrominance_nrcodes=[0,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119],this.std_ac_chrominance_values=this.strIntsToBytes("0x00,0x01,0x02,0x03,0x11,0x04,0x05,0x21,0x31,0x06,0x12,0x41,0x51,0x07,0x61,0x71,0x13,0x22,0x32,0x81,0x08,0x14,0x42,0x91,0xa1,0xb1,0xc1,0x09,0x23,0x33,0x52,0xf0,0x15,0x62,0x72,0xd1,0x0a,0x16,0x24,0x34,0xe1,0x25,0xf1,0x17,0x18,0x19,0x1a,0x26,0x27,0x28,0x29,0x2a,0x35,0x36,0x37,0x38,0x39,0x3a,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9a,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,0xb8,0xb9,0xba,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,0xd8,0xd9,0xda,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,0xe8,0xe9,0xea,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa")},YDC_HT:null,UVDC_HT:null,YAC_HT:null,UVAC_HT:null,initHuffmanTbl:function(){this.YDC_HT=this.computeHuffmanTbl(this.std_dc_luminance_nrcodes,this.std_dc_luminance_values),this.UVDC_HT=this.computeHuffmanTbl(this.std_dc_chrominance_nrcodes,this.std_dc_chrominance_values),this.YAC_HT=this.computeHuffmanTbl(this.std_ac_luminance_nrcodes,this.std_ac_luminance_values),this.UVAC_HT=this.computeHuffmanTbl(this.std_ac_chrominance_nrcodes,this.std_ac_chrominance_values)},computeHuffmanTbl:function(t,e){for(var i=0,s=0,n=new Se,r=1;17>r;){for(var o=r++,a=t[o],l=0;a>l;){var _=(l++,e.b[s]),u=new P(o,i);n.h[_]=u,s++,i++}i*=2}return n},bitcode:null,category:null,initCategoryNumber:function(){for(var t,e=1,i=2,s=1;16>s;){for(var n=s++,r=e;i>r;){var o=r++;t=32767+o,this.category.h[t]=n;var a=new P(n,o);this.bitcode.h[t]=a}for(var l=-(i-1);-e>=l;){t=32767+l,this.category.h[t]=n;var _=new P(n,i-1+l);this.bitcode.h[t]=_,l++}e<<=1,i<<=1}},byteout:null,bytenew:null,bytepos:null,writeBits:function(t){for(var e=t.val,i=t.len-1;i>=0;)0!=(e&1<>8&255),this.byteout.writeByte(255&t)},fDCTQuant:function(t,e){for(var i=0,s=0;8>s;){var n=(s++,t[i]+t[i+7]),r=t[i]-t[i+7],o=t[i+1]+t[i+6],a=t[i+1]-t[i+6],l=t[i+2]+t[i+5],_=t[i+2]-t[i+5],u=t[i+3]+t[i+4],h=t[i+3]-t[i+4],g=n+u,c=n-u,I=o+l,d=o-l;t[i]=g+I,t[i+4]=g-I;var p=.707106781*(d+c);t[i+2]=c+p,t[i+6]=c-p,g=h+_,I=_+a,d=a+r;var m=.382683433*(g-d),C=.5411961*g+m,A=1.306562965*d+m,f=.707106781*I,v=r+f,y=r-f;t[i+5]=y+C,t[i+3]=y-C,t[i+1]=v+A,t[i+7]=v-A,i+=8}i=0;for(var b=0;8>b;){var w=(b++,t[i]+t[i+56]),x=t[i]-t[i+56],k=t[i+8]+t[i+48],Z=t[i+8]-t[i+48],S=t[i+16]+t[i+40],z=t[i+16]-t[i+40],N=t[i+24]+t[i+32],O=t[i+24]-t[i+32],G=w+N,R=w-N,E=k+S,B=k-S;t[i]=G+E,t[i+32]=G-E;var j=.707106781*(B+R);t[i+16]=R+j,t[i+48]=R-j,G=O+z,E=z+Z,B=Z+x;var M=.382683433*(G-B),W=.5411961*G+M,L=1.306562965*B+M,T=.707106781*E,J=x+T,V=x-T;t[i+40]=V+W,t[i+24]=V-W,t[i+8]=J+L,t[i+56]=J-L,i++}for(var F=0;64>F;){var H=F++;t[H]=Math.round(t[H]*e[H])}return t},b:function(t){this.byteout.writeByte(t)},writeAPP0:function(){this.byteout.writeByte(255),this.byteout.writeByte(224),this.byteout.writeByte(0),this.byteout.writeByte(16),this.byteout.writeByte(74),this.byteout.writeByte(70),this.byteout.writeByte(73),this.byteout.writeByte(70),this.byteout.writeByte(0),this.byteout.writeByte(1),this.byteout.writeByte(1),this.byteout.writeByte(0),this.byteout.writeByte(0),this.byteout.writeByte(1),this.byteout.writeByte(0),this.byteout.writeByte(1),this.byteout.writeByte(0),this.byteout.writeByte(0)},writeDQT:function(){this.byteout.writeByte(255),this.byteout.writeByte(219),this.byteout.writeByte(0),this.byteout.writeByte(132),this.byteout.writeByte(0);for(var t=0;64>t;){var e=t++;this.byteout.writeByte(this.YTable[e])}this.byteout.writeByte(1);for(var i=0;64>i;){var s=i++;this.byteout.writeByte(this.UVTable[s])}},writeSOF0:function(t,e){this.byteout.writeByte(255),this.byteout.writeByte(192),this.byteout.writeByte(0),this.byteout.writeByte(17),this.byteout.writeByte(8),this.byteout.writeByte(e>>8&255),this.byteout.writeByte(255&e),this.byteout.writeByte(t>>8&255),this.byteout.writeByte(255&t),this.byteout.writeByte(3),this.byteout.writeByte(1),this.byteout.writeByte(17),this.byteout.writeByte(0),this.byteout.writeByte(2),this.byteout.writeByte(17),this.byteout.writeByte(1),this.byteout.writeByte(3),this.byteout.writeByte(17),this.byteout.writeByte(1)},writeDHT:function(){this.byteout.writeByte(255),this.byteout.writeByte(196),this.byteout.writeByte(1),this.byteout.writeByte(162),this.byteout.writeByte(0);for(var t=1;17>t;){var e=t++;this.byteout.writeByte(this.std_dc_luminance_nrcodes[e])}this.byteout.write(this.std_dc_luminance_values),this.byteout.writeByte(16);for(var i=1;17>i;){var s=i++;this.byteout.writeByte(this.std_ac_luminance_nrcodes[s])}this.byteout.write(this.std_ac_luminance_values),this.byteout.writeByte(1);for(var n=1;17>n;){var r=n++;this.byteout.writeByte(this.std_dc_chrominance_nrcodes[r])}this.byteout.write(this.std_dc_chrominance_values),this.byteout.writeByte(17);for(var o=1;17>o;){var a=o++;this.byteout.writeByte(this.std_ac_chrominance_nrcodes[a])}this.byteout.write(this.std_ac_chrominance_values)},writeSOS:function(){this.byteout.writeByte(255),this.byteout.writeByte(218),this.byteout.writeByte(0),this.byteout.writeByte(12),this.byteout.writeByte(3),this.byteout.writeByte(1),this.byteout.writeByte(0),this.byteout.writeByte(2),this.byteout.writeByte(17),this.byteout.writeByte(3),this.byteout.writeByte(17),this.byteout.writeByte(0),this.byteout.writeByte(63),this.byteout.writeByte(0)},DU:null,processDU:function(t,e,i,s,n){for(var r=n.h[0],o=n.h[240],a=this.fDCTQuant(t,e),l=0;64>l;){var _=l++;this.DU[this.ZigZag[_]]=a[_]}var u,h=this.DU[0]-i|0;i=this.DU[0],0==h?this.writeBits(s.h[0]):(u=32767+h,this.writeBits(function(t){var e,i=t.category.h[u];return e=s.h[i]}(this)),this.writeBits(this.bitcode.h[u]));for(var g=63;g>0&&0==this.DU[g];)g--;if(0==g)return this.writeBits(r),i;for(var c=1;g>=c;){for(var I=c;0==this.DU[c]&&g>=c;)c++;var d=c-I;if(d>=16){for(var p=0,m=d>>4;m>p;){{p++}this.writeBits(o)}d&=15}u=32767+(0|this.DU[c]),this.writeBits(function(t){var e,i=16*d+t.category.h[u];return e=n.h[i]}(this)),this.writeBits(this.bitcode.h[u]),c++}return 63!=g&&this.writeBits(r),i},YDU:null,UDU:null,VDU:null,RGB2YUV:function(t,e,i,s){for(var n=0,r=0;8>r;)for(var o=r++,a=(o+s)*e+i<<2,l=0;8>l;){{l++}a++;var _=t.get(a++),u=t.get(a++),h=t.get(a++);null==_&&(_=0),null==u&&(u=0),null==h&&(h=0),this.YDU[n]=.299*_+.587*u+.114*h-128,this.UDU[n]=-.16874*_+-.33126*u+.5*h,this.VDU[n]=.5*_+-.41869*u+-.08131*h,n++}},write:function(t){var e=t.quality;0>=e&&(e=1),e>100&&(e=100);var i;i=50>e?5e3/e|0:200-2*e|0,this.initQuantTables(i),this.bytenew=0,this.bytepos=7;var s=t.width,n=t.height;this.writeWord(65496),this.writeAPP0(),this.writeDQT(),this.writeSOF0(s,n),this.writeDHT(),this.writeSOS();var r=0,o=0,a=0;this.bytenew=0,this.bytepos=7;for(var l=0;n>l;){for(var _=0;s>_;)this.RGB2YUV(t.pixels,s,_,l),r=this.processDU(this.YDU,this.fdtbl_Y,r,this.YDC_HT,this.YAC_HT),o=this.processDU(this.UDU,this.fdtbl_UV,o,this.UVDC_HT,this.UVAC_HT),a=this.processDU(this.VDU,this.fdtbl_UV,a,this.UVDC_HT,this.UVAC_HT),_+=8;l+=8}if(this.bytepos>=0){var u=new P(this.bytepos+1,(1<t&&(t=e);this.size.set_xy(t,e);var i=.5*e,s=t*-.5,n=s+t,r=s+i,o=n-i,a=e*-.5,l=.5*e;this.a.set_xy(s,a),this.b.set_xy(s,l),this.c.set_xy(r,a),this.d.set_xy(r,l),this.e.set_xy(o,a),this.f.set_xy(o,l),this.g.set_xy(n,a),this.h.set_xy(n,l),this.hitbox.resize_xy(t,e),this.hitbox.transform.origin.set_xy(.5*t,.5*e)},point_inside:function(t){return V.utils.geometry.point_in_geometry(t,this.hitbox)},__class__:D});var Q=function(){this.tokens=[],this.popups=[]};r.Pooling=Q,Q.__name__=["Pooling"],Q.prototype={tokens:null,popups:null,create_token:function(){var t=new ce;return t.pooling=this,t},get_token:function(){return this.tokens.length>0?this.tokens.shift():this.create_token()},put_token:function(t){return M.indexOf(this.tokens,t,0)>0?!1:(this.tokens.push(t),!0)},create_popup:function(){return new $i({name:"popup",font:V.resources.cache.get("assets/fonts/pn_condensed_with_stroke.fnt"),point_size:91,text:"",align:2,align_vertical:2,no_batcher_add:!0,depth:10})},get_popup:function(){return this.popups.length>0?this.popups.shift():this.create_popup()},put_popup:function(t){return M.indexOf(this.popups,t,0)>0?!1:(this.popups.push(t),!0)},__class__:Q};var q=r.PuzzleState_v0={__ename__:["PuzzleState_v0"],__constructs__:["None","Playing","Completed"]};q.None=["None",0],q.None.toString=o,q.None.__enum__=q,q.Playing=["Playing",1],q.Playing.toString=o,q.Playing.__enum__=q,q.Completed=["Completed",2],q.Completed.toString=o,q.Completed.__enum__=q,q.__empty_constructs__=[q.None,q.Playing,q.Completed];var $=function(){this.set_blur_alpha=function(){},this.animate_hide_blur=function(){},this.animate_blur=function(){},this.hide_blur=function(){},this.show_blur=function(){},this.destroy_blur=function(){},this.texture_b=null,this.texture_a=null,this.previous_seconds_idle=0,this.seconds_idle=0;var t=this;this.batcher=V.renderer.create_batcher({camera:V.camera.view,layer:0}),this.batcher.enabled=!1,this.batcher.name="puzzle_batcher",O.call(this,{name:"puzzle",name_unique:!0}),this.state=q.None,this.set_active(!1),this.hitboxes=[],this.scheduled_events=[],this.tutorial_enabled=!1,this.blur_composed=!1,this.blur_visible=!1,this.hot_popups=[],this.cold_popups=[],this.hot_birds=[],this.cold_birds=[],this.pooling=new Q,this.timescale=1,V.events.listen("dragdown",n(this,this.ondragdown)),V.events.listen("dragmove",n(this,this.ondragmove)),V.events.listen("dragup",n(this,this.ondragup)),this.full_label_color=(new ns).rgb(13280405),this.faded_label_color=(new ns).rgb(14273448),this.tile_map=new he(this.batcher),this.tile_map.set_parent(this);for(var e=[],i=0;32>i;){var s=(i++,this.get_popup());e.push(s)}for(var r=[],o=0;32>o;){var a=(o++,this.pooling.get_token());r.push(a)}for(var l=[],_=0;32>_;){var u=(_++,this.get_bird());l.push(u)}for(;e.length>0;){var h=e.shift();this.pool_popup(h)}for(;r.length>0;){var g=r.shift();this.pooling.put_token(g)}for(;l.length>0;){var c=l.shift();this.pool_bird(c)}this.token_queue=[],this.token_kind_queue=[],this.tutorial_progress=0,this.tutorial_steps=[],this.tap_hint=new le(this),this.tap_hint.set_batcher(this.batcher),this.tile_border_flash=0,this.tile_offset=0,this.tutorial_steps.push({condition:function(){return!0},handler:function(){t.set_tutorial_label("game.tutorial.1")}}),this.tutorial_steps.push({condition:function(){return t.num_tokens_placed>0},handler:function(){t.tap_hint.hide(),t.schedule_cancellable(1,function(){if(!(t.num_tokens_placed>1)){var e=t.token_queue[0],i=t.tile_map.get_suggested_tile_to_plant(e);t.tap_hint.show(i),t.tap_hint.set_visible(!1)}})}}),this.tutorial_steps.push({condition:function(){return t.num_tokens_placed>1},handler:function(){t.tap_hint.hide(),t.schedule_cancellable(2,function(){if(!(t.num_tokens_placed>2)){var e=t.token_queue[0],i=t.tile_map.get_suggested_tile_to_plant(e);t.tap_hint.show(i),t.tap_hint.set_visible(!1)}})}}),this.tutorial_steps.push({condition:function(){return t.num_tokens_placed>2},handler:function(){t.tap_hint.hide(),t.set_tutorial_label("game.tutorial.2")}}),this.tutorial_steps.push({condition:function(){return t.num_tokens_harvested>0},handler:function(){t.schedule_cancellable(.6,function(){t.set_tutorial_label("game.tutorial.3")})}}),this.tutorial_steps.push({condition:function(){return t.token_queue[0].kind==w.Spade},handler:function(){t.set_tutorial_label("game.tutorial.4")}}),this.tutorial_steps.push({condition:function(){return!0},handler:function(){t.schedule_cancellable(.8,function(){t.set_tutorial_label("game.tutorial.5")})}}),this.tutorial_steps.push({condition:function(){return t.token_queue[0].kind==w.Spade},handler:function(){if(t.hidden_tile_indices.length>0){t.set_tutorial_label("game.tutorial.6");var e=.15;t.reveal_hidden_tiles(e)}else t.set_tutorial_label("game.tutorial.failsafe"),K.report_event("tutorial_triggered_failsafe",{})}}),this.tutorial_steps.push({condition:function(){return t.token_queue[0].kind==w.Spade},handler:function(){t.set_tutorial_label("game.tutorial.7");var e=I.animate_func(n(t,t.animate_tiles_flash));e.duration=1,e.time=-.1,e.easing=dn.get_easeNone(),e.src=0,e.dst=1,e.repeat=!0,e.reflect=!0}}),this.tutorial_steps.push({condition:function(){return t.token_queue[0].kind==w.Spade},handler:function(){t.set_tutorial_label("game.tutorial.8"),I.stop_func(n(t,t.animate_tiles_flash)),I.stop_func(n(t,t.animate_tiles_offset));var e=I.animate_func(n(t,t.animate_tiles_flash));e.duration=.4,e.easing=Zn.get_easeOut(),e.src=t.tile_border_flash,e.dst=0;var i=I.animate_func(n(t,t.animate_tiles_offset));i.duration=.4,i.easing=Zn.get_easeOut(),i.src=t.tile_offset,i.dst=0}}),this.tutorial_steps.push({condition:function(){return t.token_queue[0].kind==w.Spade},handler:function(){t.set_tutorial_label(""),t.schedule_cancellable(.255,function(){t.tutorial_enabled=!1,Ce.tutorial_enabled=!1,b.save(),b.set_state(C.Playing)}),K.report_event("tutorial_completed",{seconds_idle:t.seconds_idle,score:t.score,num_tokens_harvested:t.num_tokens_harvested,time_started:M.dateStr(t.time_started),time_completed:function(){var t,e=new Date;return t=M.dateStr(e)}(this),seconds_elapsed:Ae.get_seconds_elapsed(t.time_started,new Date)})}})};r.Puzzle=$,$.__name__=["Puzzle"],$.__super__=O,$.prototype=i(O.prototype,{focused:null,batcher:null,drag:null,hitboxes:null,scheduled_events:null,tile_map:null,token_queue:null,state:null,score:null,difficulty:null,favorites:null,tokens_collected:null,num_tokens_placed:null,num_tokens_harvested:null,num_tokens_generated:null,num_birds_collected:null,tutorial_enabled:null,ui_score:null,num_board_clears:null,num_board_fills:null,score_is_new_best:null,num_undos_used:null,time_started:null,seconds_idle:null,previous_seconds_idle:null,move_history:null,undo_history:null,undo_depth:null,can_undo:null,can_redo:null,faded_label_color:null,full_label_color:null,pooling:null,hot_popups:null,cold_popups:null,hot_birds:null,cold_birds:null,timescale:null,tutorial_progress:null,tutorial_steps:null,tutorial_spawn_bird_on_num_generated:null,tutorial_show_hint_on_num_placed:null,tap_hint:null,token_kind_queue:null,tile_border_flash:null,tile_offset:null,hidden_tile_indices:null,blur_composed:null,blur_visible:null,texture_a:null,texture_b:null,destroy_blur:null,show_blur:null,hide_blur:null,animate_blur:null,animate_hide_blur:null,set_blur_alpha:null,animate_tiles_flash:function(t){t=Math.max((t-.6)/.4,0),t=Math.sin(t*Math.PI*.5),this.tile_border_flash=t;for(var e=.125*t,i=0,s=this.tile_map.tiles_array;i0){var e=this.token_queue[0].pulse_anim;null!=e&&(e.timescale=t)}},set_tutorial_label:function(t){b.set_tutorial_label(t,!1)},get_last_move:function(){return this.move_history.length<=0?null:this.move_history[this.move_history.length-1]},dump_state_to_data:function(){if(this.state==q.None)return null;for(var t={generator_seed:V.utils.random.seed,num_tokens_placed:this.num_tokens_placed,num_tokens_harvested:this.num_tokens_harvested,num_tokens_generated:this.num_tokens_generated,num_birds_collected:this.num_birds_collected,score:this.score,difficulty:this.difficulty,favorites:this.favorites,time_started:this.time_started,seconds_idle:this.seconds_idle,tile_map_ascii:this.tile_map.get_tiles_as_ascii(),tokens_in_queue:[],tokens_on_tiles:[],last_move:this.get_last_move(),can_undo:this.can_undo,num_board_clears:this.num_board_clears,num_board_fills:this.num_board_fills,num_undos_used:this.num_undos_used,tokens_collected:new Ke,tutorial_enabled:this.tutorial_enabled,score_is_new_best:this.score_is_new_best,state:this.state},e=this.tokens_collected.keys();e.hasNext();){var i=e.next(),s=this.tokens_collected.get(i);t.tokens_collected.set(i,s)}for(var n=0,r=this.tile_map.tiles_array;n=0;){var h=t.tokens_in_queue[u],g=this.pooling.get_token();g.set_batcher(this.batcher),g.set_parent(this.tile_map),g.set_kind(h.kind),g.set_bird(h.has_bird),g.set_age(h.age),g.has_been_arranged=!0,g.set_to_queued(),this.token_queue.unshift(g)}if(0==t.tokens_in_queue.length&&this.fill_token_queue(),this.arrange_token_queue(!1),this.move_history=[],this.undo_history=[],this.move_history.push(t.last_move),this.can_undo=t.can_undo,this.can_redo=!1,b.set_undo_state(this.can_undo),this.state=t.state,null==this.state&&(this.state=q.Playing),this.state==q.Completed){this.score_is_new_best=t.score_is_new_best,this.token_queue[0].set_to_queued();var c=Math.round(Ce.average_score);this.score_is_new_best?b.set_game_over_data(this.score,Ce.old_best_score,c):b.set_game_over_data(this.score,Ce.best_score,c),b.set_state(C.GameOver)}else b.set_state(C.Playing)},stop_animations:function(){this.tap_hint.hide(),I.stop_func(n(this,this.animate_tiles_flash)),I.stop_func(n(this,this.animate_tiles_offset)),this.animate_tiles_flash(0),this.animate_tiles_offset(0)},reset:function(){this.tutorial_enabled=Ce.tutorial_enabled,this.tutorial_spawn_bird_on_num_generated=-1,this.tutorial_show_hint_on_num_placed=-1,this.process_scheduled_events(),this.pool_active_popups(),this.stop_animations(),this.favorites=[],this.time_started=new Date,this.seconds_idle=0,this.previous_seconds_idle=0,this.num_board_clears=0,this.num_board_fills=0,this.num_undos_used=0,this.score_is_new_best=!1,this.tokens_collected=new Ke;for(var t=[w.Fern,w.Flower,w.Mushroom,w.Shrub,w.Pine,w.Thistle,w.Oak],e=0;e0;){var s=this.token_queue.shift();s.pool()}this.tile_map.clear_tile_map(),this.state=q.None,this.score=0,this.difficulty=1,this.num_tokens_placed=0,this.num_tokens_harvested=0,this.num_tokens_generated=0,this.num_birds_collected=0,this.ui_score=0,this.set_score_label(this.ui_score),this.set_best_score_label(Ce.best_score),this.move_history=[],this.undo_history=[],this.can_undo=!1,this.can_redo=!1,b.set_undo_state(!1)},run_flashy_bird_scene:function(){this.tutorial_enabled=!1,this.process_scheduled_events(),this.pool_active_popups(),this.tile_map.clear_tile_map(),this.tile_map.create_tiles(4,4),this.reset(),this.score=477,this.set_score_label(this.score),b.set_state(C.Playing),this.state=q.Playing,this.focused=!0,this.batcher.enabled=!0;for(var t=[0,4,8,12,1,13,2,14,3,11,15],e=[8,12,13,11,15],i=[5,6,7],s=0,n=this.tile_map.tiles_array.length;n>s;){var r,o=s++,a=this.tile_map.tiles_array[o]; r=-1==M.indexOf(t,o,0)&&o>8?0:1,a.set_level(r),a.set_view_level(r)}this.tile_map.update_tile_masks();for(var l=0,_=this.tile_map.tiles_array;l<_.length;){var u=_[l];if(++l,0==u.level||2==u.level){var h,g=this.pooling.get_token();h=0==u.level?w.Pine:w.Thistle;var c=!1;g.set_batcher(this.batcher),g.set_parent(this.tile_map),g.set_kind(h),g.set_bird(c),g.set_age(3),g.set_tile(u)}}for(var I=0;It;){{var e=(t++,this.pooling.get_token()),i=this.get_next_token_kind();this.roll_bird_for_token_kind(i)}e.set_batcher(this.batcher),e.set_parent(this.tile_map),e.set_kind(w.Shrub),e.set_bird(!1),e.set_age(0);var s=this.tile_map.get_random_open_tile();if(null==s)return void e.pool();e.set_tile(s),e.stop_animations(),e.get_scale().set_xy(1,1)}b.set_state(C.Playing),this.state=q.Playing,this.focused=!0,this.batcher.enabled=!0},run_audio_test:function(){var t=this;this.tutorial_enabled=!1,this.process_scheduled_events(),this.pool_active_popups(),this.tile_map.clear_tile_map(),this.tile_map.create_tiles(4,4),this.reset(),V.utils.random.set_initial(700020);var e=.5,i=function(){t.tile_map.scramble();for(var i=6,s=.085,n=0;i>n;){{var r=[n++],o=e,a=[t.pooling.get_token()],l=t.get_next_token_kind();t.roll_bird_for_token_kind(l)}a[0].set_batcher(t.batcher),a[0].set_parent(t.tile_map),a[0].set_kind(l),a[0].set_bird(!0),a[0].set_age(0);var _=t.tile_map.get_random_open_tile();if(null==_)return void a[0].pool();a[0].set_tile(_),a[0].stop_animations(),a[0].get_scale().set_xy(0,0),t.schedule_cancellable(o,function(t,e){return function(){t[0].get_scale().set_xy(.6,.6);var i=I.animate_vector(t[0].get_scale());i.duration=.2,i.dst.set_xy(1,1),i.easing=hn.get_easeOut(),se.play_effect(ee.PlacePlant,e[0])}}(a,r)),e+=s}e+=.15,t.fill_token_queue();for(var u=0,h=t.token_queue;u0;){var e=t.token_queue.shift();e.pool()}for(var i=[w.Mushroom,w.Thistle,w.Pine,w.Mushroom,w.Oak,w.Mushroom];i.length>0;){var s=t.pooling.get_token();s.set_batcher(t.batcher),s.set_parent(t.tile_map);var n=t.tile_map.get_random_open_tile(),r=i.shift(),o=!1;s.set_kind(r),s.set_bird(o),s.set_age(r==w.Mushroom?2:0),s.set_tile(n),s.get_scale().set_xy(1,1),s.stop_animations()}t.fill_token_queue(),t.arrange_token_queue()}),e+=.8,n(24),e+=1,Ae.schedule(e,function(){t.score_points(1e3,0),s=.35}),e+=1,n(100)},play:function(){var t=this;if(this.reset(),this.tutorial_enabled){(4!=this.tile_map.w||4!=this.tile_map.h)&&this.tile_map.create_tiles(4,4),this.token_kind_queue=[w.Flower,w.Flower,w.Flower,w.Fern,w.Fern,w.Fern,w.Flower,w.Fern,w.Fern,w.Fern,w.Flower,w.Flower,w.Shrub,w.Shrub,w.Flower,w.Fern,w.Shrub,w.Thistle],this.tutorial_progress=0,this.tutorial_spawn_bird_on_num_generated=54,this.tutorial_show_hint_on_num_placed=30,b.set_tutorial_label("",!0);var e=["1111","2002","2202","2222"];this.hidden_tile_indices=[1,2,3,6,7,11,13,14,15],this.tile_map.set_tiles_from_ascii(e);for(var i=.3,s=.085,n=this.tutorial_steps[this.tutorial_progress],r=0,o=this.hidden_tile_indices;rx;){var k=[x++],Z=v,S=[this.pooling.get_token()],z=this.get_next_token_kind(),N=this.roll_bird_for_token_kind(z);S[0].set_batcher(this.batcher),S[0].set_parent(this.tile_map),S[0].set_kind(z),S[0].set_bird(N),S[0].set_age(0);var O=this.tile_map.get_random_open_tile();if(null==O)return void S[0].pool();S[0].set_tile(O),S[0].stop_animations(),S[0].get_scale().set_xy(0,0),this.schedule_cancellable(Z,function(t,e){return function(){t[0].get_scale().set_xy(.6,.6);var i=I.animate_vector(t[0].get_scale());i.duration=.2,i.dst.set_xy(1,1),i.easing=hn.get_easeOut(),se.play_effect(ee.PlacePlant,e[0])}}(S,k)),v+=y}v+=.15,this.fill_token_queue();for(var G=0,R=this.token_queue;Ga;){var l=(a++,r),_=[this.pooling.get_token()],u=this.get_next_token_kind(),h=this.roll_bird_for_token_kind(u);_[0].set_batcher(this.batcher),_[0].set_parent(this.tile_map),_[0].set_kind(u),_[0].set_bird(h),_[0].set_age(0);var g=this.tile_map.get_random_open_tile();if(null==g)return void _[0].pool();_[0].set_tile(g),_[0].get_scale().set_xy(0,0),this.schedule_cancellable(l,function(t){return function(){t[0].get_scale().set_xy(.6,.6);var e=I.animate_vector(t[0].get_scale());e.duration=.2,e.dst.set_xy(1,1),e.easing=hn.get_easeOut()}}(_)),r+=o}r+=.15,this.fill_token_queue();for(var c=0,d=this.token_queue;cCe.best_score,this.score_is_new_best?(b.set_game_over_data(this.score,Ce.old_best_score,i),Ce.old_best_score=Ce.best_score,Ce.best_score=this.score):b.set_game_over_data(this.score,Ce.best_score,i),this.tutorial_enabled&&(Ce.tutorial_enabled=!1),Ce.puzzle=this.dump_state_to_data();var r=4.6;x.add_collected_to_collections(this.tokens_collected,this.num_birds_collected,r);var o=x.query_goal_kind();null!=o&&this.tokens_collected.get(o)>0&&(r+=3),l.is_complete(a.CompleteAGame)||(l.unlock(a.CompleteAGame,r),r+=3),this.score>=500&&(l.unlock(a.CompleteAGameWith500,r),r+=3),this.score>=1e3&&(l.unlock(a.CompleteAGameWith1000,r),r+=3),this.score>=2e3&&(l.unlock(a.CompleteAGameWith2000,r),r+=3),Ce.save();for(var _=new De,u=this.tokens_collected.keys();u.hasNext();){var h=u.next(),g=""+re.string(h),c=this.tokens_collected.get(h);null!=aa[g]?_.setReserved(g,c):_.h[g]=c}K.report_event("puzzle_completed",{score:this.score,best_score:s,old_best_score:n,average_score:i,score_is_new_best:this.score_is_new_best,tutorial_enabled:this.tutorial_enabled,num_tokens_harvested:this.num_tokens_harvested,num_tokens_placed:this.num_tokens_placed,num_tokens_generated:this.num_tokens_generated,num_birds_collected:this.num_birds_collected,num_undos_used:this.num_undos_used,num_board_fills:this.num_board_fills,num_board_clears:this.num_board_clears,tokens_collected:_,time_started:M.dateStr(this.time_started),time_completed:function(){var t,e=new Date;return t=M.dateStr(e)}(this),seconds_elapsed:Ae.get_seconds_elapsed(this.time_started,new Date)}),K.flush_event_queue(),this.stop_animations();var I=.8;this.schedule(I,function(){var e=t.token_queue[0];null!=e&&e.animate_to_queued()}),I+=.03,this.schedule(I,function(){b.set_state(C.EndingSequence),se.play_effect(ee.Triangle)}),I+=.4;for(var d=0,p=0,m=this.tile_map.tiles_array;p0;){var t=this.scheduled_events.shift();t.cancellable||t.handler()}},pool_active_popups:function(){for(;this.hot_popups.length>0;)this.pool_popup(this.hot_popups[0])},update:function(t){this.state==q.Playing&&(this.seconds_idle+=t);for(var e=0;e0)return this.token_kind_queue.shift();if(this.num_tokens_generated==this.tutorial_spawn_bird_on_num_generated)return w.Shrub;if(this.tutorial_enabled){var t=1.275,e=this.difficulty;this.difficulty=Math.floor(this.difficulty*t);var i=V.utils.random.get(),s=m.drop_table,n=this.difficulty-1;n>s.length-1&&(n=s.length-1);for(var r=null,o=s[n],a=0,l=o.weights.length;l>a;){var _=a++,u=o.weights[_];if(u>i)break;r=o.kinds[_]}return this.difficulty=e,r}var h=V.utils.random.get(),g=m.drop_table,c=this.difficulty-1;c>g.length-1&&(c=g.length-1);for(var I=null,d=g[c],p=0,C=d.weights.length;C>p;){var A=p++,f=d.weights[A];if(f>h)break;I=d.kinds[A]}return I},roll_bird_for_token_kind:function(t){if(this.tutorial_enabled)return!1;if(this.num_tokens_generated==this.tutorial_spawn_bird_on_num_generated)return this.tutorial_spawn_bird_on_num_generated=-1,!0;var e=m.tokens.get(t),i=1;M.indexOf(this.favorites,t,0)>=0&&(i=e.bird_chance);var s=V.utils.random.get(),n=(100-i)/100;return s>n},get_goal_at_difficulty:function(t){if(0>=t)return 0;var e=m.difficulty_model,i=e.increment,s=e.base,n=e.step,r=e.offset,o=t*s+n*Math.pow(i,t)+r;return Math.floor(o)},score_points:function(t,e){var i=this;this.score+=t;var s=this.score;this.schedule(e,function(){i.set_score_label(s)});for(var n=this.get_goal_at_difficulty(this.difficulty);this.score>=n;)this.difficulty++,n=this.get_goal_at_difficulty(this.difficulty)},set_score_label:function(t){null!=t&&(t=t||b.set_best_score_label(""+Ae.format_int(t)))},show_hint_for_token_kind:function(t){if(t==w.Spade)return void this.tile_map.callout_fallowable_tiles();for(var e=[],i=0,s=this.tile_map.tiles_array;i=3,g=t[0],c=g.kind,d=0;d=3&&(V=0),O[0].tile.set_level(V),O[0].tile.schedule_view_level(V,W[0]),O[0].tile.view_level-=100;var F=(O[0].get_pos().y,I.animate_vector(O[0].get_pos()));F.dst.set_xy(0,O[0].get_pos().y+.375*Z),F.mask.set_xy(0,1),F.duration=.27/i,F.easing=hn.get_easeOut(),this.schedule(W[0],function(t){return function(){M.remove(C,t[0]),t[0].animate_back_up(Z,i)}}(G)),this.schedule_cancellable(W[0],function(s,n,r,o,l,_,u,g){return function(){var c="+"+s[0],d=((1.4+(a-o[0]))/i,.5/i),p=e.get_popup();p.set_text(c),p.set_visible(!0),p.get_pos().set_x(g[0].tile.get_pos().x),p.get_pos().set_y(g[0].tile.get_pos().y+15);var m=I.animate_vector(p.get_pos());m.dst.set_xy(0,g[0].tile.get_pos().y-15),m.mask.set_xy(0,1),m.duration=.5/i,m.easing=An.get_easeOut(),r[0]==t.length-1||se.play_effect(ee.HarvestPlant,r[0]),_[0]&&e.animate_bird_from_tile(u[0],l[0],n[0]),e.schedule(a-o[0],function(s){return function(){if(0!=p.visible){if(h&&s[0]==t.length-1){var n=function(){return function(t){var e=2.75+t,i=.15,s=i*Math.sin(t*Math.PI*2*e)*(1-t);p.get_rotation().setFromAxisAngle(new pr(0,0,1),s)}}(),r=I.animate_func(n);r.src=0,r.dst=1,r.duration=.8/i;var o=I.animate_vector(p.get_scale());o.dst.set_xy(1.3,1.3),o.duration=.75/i,o.easing=an.get_easeOut()}if(0==h){var a=I.animate_vector(p.get_scale());a.time=-.8,a.dst.set_xy(0,.5),a.mask.set_xy(0,1),a.duration=d,a.easing=sn.get_easeOut()}var l=I.animate_color(p.color);l.dst.set(0,0,0,0),l.time=-1,l.duration=d,l.easing=sn.get_easeOut(),l.on_complete=function(){return function(){e.pool_popup(p)}}()}}}(r))}}(J,T,L,W,j,E,G,O)),this.schedule(W[0],function(t){return function(){t[0].pool()}}(O)),n+=r,z++}this.tile_map.update_tile_masks();var H={kind:c,amount:t.length,animation_duration:a,num_birds:u};return H},do_move_on_tile:function(t){if(this.state!=q.Playing)return!1;if(null==t)return!1;var e=this.token_queue[0],i=t.is_empty();if(null==e)return 0==i&&t.token.animate_push(),!1;var s=t.index,n={id:Ae.unique_id(4),generator_seed:V.utils.random.seed,ticks:0,score:this.score,difficulty:this.difficulty,tile_index:s,amount_added_to_queue:0,added_to_queue:[],added_to_tiles:[],removed_from_queue:[],removed_from_tiles:[],decayed_from_tiles:[],tokens_collected:new Ke,cleared_board:!1,filled_board:!1},r=!1,o=e.kind,_=0;switch(o[1]){case 0:if(0==i){var u=t.token,h=u.is_harvestable();if(h){for(var g=e.get_state(),c=u.get_matching_set(),I=0;I=9&&l.unlock(a.Harvest9PlantsAtOnce,C),m.amount>=12&&l.unlock(a.Harvest12PlantsAtOnce,C),m.amount>=15&&l.unlock(a.Harvest15PlantsAtOnce,C),m.kind==w.Oak&&m.amount>=3&&l.unlock(a.Harvest3OakTreesAtOnce,C),m.kind==w.Oak&&m.amount>=6&&l.unlock(a.Harvest6OakTreesAtOnce,C),m.kind==w.Mushroom&&m.amount>=5&&l.unlock(a.Harvest5MushroomsAtOnce,C),m.kind==w.Mushroom&&m.amount>=1&&l.unlock(a.Harvest1Mushroom,C),m.kind==w.Pine&&m.amount>=4&&l.unlock(a.Harvest4PineTreesAtOnce,C),m.kind==w.Pine&&m.amount>=8&&l.unlock(a.Harvest8PineTreesAtOnce,C),m.kind==w.Thistle&&m.amount>=6&&l.unlock(a.Harvest6FlowersAtOnce,C),m.kind==w.Thistle&&m.amount>=10&&l.unlock(a.Harvest10FlowersAtOnce,C),m.num_birds>=3&&l.unlock(a.Chase3BirdsAtOnce,C),m.num_birds>=6&&l.unlock(a.Chase6BirdsAtOnce,C),this.tutorial_enabled||this.tile_map.is_soil_one_color()&&l.unlock(a.AllOneColor,C);for(var A=this.sim_forward(),f=A.decayed_tokens,v=A.matured_tokens,y=0,x=0;x=1&&l.unlock(a.Decay1Mushroom,.8),y>=3&&l.unlock(a.Decay3MushroomsAtOnce,.8);for(var Z=0;Z0&&(n.amount_added_to_queue+=O),this.arrange_token_queue();var G=this.tile_map.count_open_tiles(),R=this.tile_map.count_harvestable_tiles();this.tutorial_enabled||(0==G?(this.num_board_fills++,n.filled_board=!0):16==G&&(this.num_board_clears++,n.cleared_board=!0,this.num_board_fills>0,this.num_board_clears>=1&&l.unlock(a.ClearBoard,_+1)));var E=this.token_queue[0];if(null==E)return this.complete(),!0;if(this.state==q.Playing&&(this.tutorial_enabled&&0==G||(E.kind==w.Spade&&0==R?this.complete():E.kind!=w.Spade&&0==G&&this.complete())),this.tutorial_enabled){var B=this.tutorial_steps[this.tutorial_progress+1];r&&null!=B&&B.condition()&&(K.report_event("tutorial_completed_step",{text:b.get_tutorial_label(),seconds_idle:this.previous_seconds_idle,score:this.score,num_tokens_harvested:this.num_tokens_harvested}),B.handler(),this.tutorial_progress++),this.tutorial_progress=6&&0==this.tile_map.count_open_tiles()&&(this.set_tutorial_label("game.tutorial.6"),this.reveal_hidden_tiles(0))}return!0},record_move:function(t){this.move_history.push(t),this.seconds_idle>30&&K.report_event("puzzle_idle",{score:t.score,undo_count:this.num_undos_used,num_tokens_harvested:this.num_tokens_harvested,open_tile_count:this.tile_map.count_open_tiles(),harvestable_tile_count:this.tile_map.count_harvestable_tiles()}),this.previous_seconds_idle=this.seconds_idle,this.seconds_idle=0,this.can_undo=!0,b.set_undo_state(!0),this.can_redo=!1},undo_move:function(){if(this.state==q.Playing&&this.can_undo){var t=this.move_history.pop();if(null!=t){this.undo_history.push(t),this.can_undo=!1,b.set_undo_state(!1),this.num_undos_used++,K.report_event("puzzle_undo",{undo_count:this.num_undos_used,open_tile_count:this.tile_map.count_open_tiles(),harvestable_tile_count:this.tile_map.count_harvestable_tiles(),score:this.score});var e=t.generator_seed,i=t.ticks,s=t.score,r=t.difficulty,o=t.added_to_tiles,a=t.removed_from_tiles,l=t.decayed_from_tiles,_=(t.added_to_queue,t.removed_from_queue),u=t.amount_added_to_queue,h=t.tokens_collected;this.score=s,this.difficulty=r,t.cleared_board&&--this.num_board_clears,t.filled_board&&--this.num_board_fills;for(var g=h.keys();g.hasNext();){var c=g.next(),I=h.get(c);this.remove_tokens_from_collection(c,I)}this.process_scheduled_events(),this.pool_active_popups(),this.ui_score=s,this.set_score_label(this.ui_score),V.utils.random.set_initial(e);for(var d=0;df;){var v=(f++,this.token_queue.pop());v.pool(),this.num_tokens_generated--}var y=this.token_queue[0];null!=y&&y.animate_to_queued();for(var w=0;w<_.length;){var x=_[w];++w;var k=this.pooling.get_token();k.set_batcher(this.batcher),k.set_parent(this.tile_map),k.set_kind(x.kind),k.set_bird(x.has_bird),k.set_age(x.age),k.has_been_arranged=!0,k.animate_to_queued(),this.token_queue.unshift(k)}var Z=this.token_queue[0];if(null!=Z){var S=this.tile_map.tile_size,z=0,N=-1*S.y;Z.tween_target.set_xy(z,N),Z.get_pos().set_xy(z,0),Z.set_colors_to_zero()}for(var O=0;Ol;){var _=l++,u=.1+s*_,h=a.sim_forward(u);a.is_decayed()?i.push(h):a.is_matured()&&e.push(h)}}return{matured_tokens:e,decayed_tokens:i}},sim_backward:function(t){null==t&&(t=1);for(var e=0,i=this.tile_map.tiles_array;er;){{r++}n.sim_backward()}}},add_tokens_to_collection:function(t,e){0==this.tokens_collected.exists(t)&&this.tokens_collected.set(t,0);var i=this.tokens_collected.get(t);this.tokens_collected.set(t,i+e)},remove_tokens_from_collection:function(t,e){var i=this.tokens_collected.get(t);this.tokens_collected.set(t,i-e)},pool_popup:function(t){t.set_active(!1)||(I.stop_vector(t.get_pos()),I.stop_vector(t.get_scale()),I.stop_color(t.color),t.set_visible(!1),t.set_active(!1),t.get_scale().set_xy(1,1),t.get_origin().set_xy(0,0),t.color.set(1,1,1,1),M.remove(this.hot_popups,t),M.indexOf(this.cold_popups,t,0)>=0||this.cold_popups.push(t))},get_popup:function(){var t;return this.cold_popups.length>0?(t=this.cold_popups.shift(),t.set_visible(!1)):(t=new $i({name:"popup",font:V.resources.cache.get("assets/pn_condensed_with_stroke.fnt"),point_size:91,text:"",align:2,align_vertical:2,batcher:this.batcher,scene:this.get_scene(),depth:10}),t.set_active(!1),t.set_parent(this.tile_map),t.set_visible(!1)),this.hot_popups.push(t),t},pool_bird:function(t){if(!t.entity.set_active(!1)){var e=t.entity,i=t.body,s=t.body_fill,n=t.body_outline,r=t.wing,o=t.wing_fill,a=t.wing_outline;e.set_active(!1),i.set_active(!1),s.set_active(!1),n.set_active(!1),r.set_active(!1),o.set_active(!1),a.set_active(!1),s.set_visible(!1),n.set_visible(!1),o.set_visible(!1),a.set_visible(!1),I.stop_vector(e.get_pos()),I.stop_vector(e.get_scale()),I.stop_vector(i.get_pos()),I.stop_vector(i.get_origin()),I.stop_vector(r.get_scale()),I.stop_color(n.color),I.stop_color(s.color),I.stop_color(a.color),I.stop_color(o.color),this.cold_birds.push(t)}},get_bird:function(){var t;if(this.cold_birds.length>0)t=this.cold_birds.shift();else{var e=new O;e.set_parent(this.tile_map);var i=V.resources.cache.get("channel"),s=d.get_texture("bird"),n=d.get_texture("bird_outline"),r=d.get_texture("bird_wing"),o=d.get_texture("bird_wing_outline"),a=.675/H.manifest.texture_scaling,l=new O;l.set_parent(e);var _=new O;_.set_parent(l);var u=new B({parent:l,batcher:this.batcher,texture:n.texture,uv:n.uv,size:n.size.clone().multiplyScalar(a),shader:i,depth:7}),h=new B({parent:l,batcher:this.batcher,texture:s.texture,uv:s.uv,size:s.size.clone().multiplyScalar(a),shader:i,depth:8}),g=new B({parent:_,batcher:this.batcher,texture:o.texture,uv:o.uv,size:o.size.clone().multiplyScalar(a),shader:i,depth:7}),c=new B({parent:_,batcher:this.batcher,texture:r.texture,uv:r.uv,size:r.size.clone().multiplyScalar(a),shader:i,depth:8}),I=r.size.x*a,p=r.size.y*a,m=.6*I,C=p*-.15;_.get_pos().set_xy(m,C),_.get_origin().set_xy(I,.5*p),t={entity:e,body:l,body_fill:h,body_outline:u,wing:_,wing_fill:c,wing_outline:g}}var A=t.entity,f=t.body,v=t.body_fill,y=t.body_outline,b=t.wing,w=t.wing_fill,x=t.wing_outline;return A.set_active(!0),f.set_active(!0),v.set_active(!0),y.set_active(!0),b.set_active(!0),w.set_active(!0),x.set_active(!0),v.set_visible(!0),y.set_visible(!0),w.set_visible(!0),x.set_visible(!0),this.hot_birds.push(t),t },animate_bird_from_tile:function(t,e,i){var s=this,n=b.puzzle.get_bird(),r=n.entity,o=n.body,a=n.body_fill,l=n.body_outline,_=n.wing,u=n.wing_fill,h=n.wing_outline;a.color.rgb(4993072),u.color.rgb(4993072),a.color.a=1,u.color.a=1,Ae.copy_color_for_tile_outline(l.color,t.level),Ae.copy_color_for_tile_outline(h.color,t.level),r.get_scale().set_x(e),r.get_scale().set_xy(e,1);var g=256,c=1,d=.175,p=t.get_pos().x+i.x,m=t.get_pos().y+i.y,C=Math.PI*-.5;C+=.25*Math.PI*e;var A=p+g*Math.cos(C),f=m+g*Math.sin(C);r.get_pos().set_xy(p,m),o.get_pos().set_xy(0,0),o.get_origin().set_xy(0,0);var v=new pr(0,0,1),y=function(t){_.get_rotation().setFromAxisAngle(v,t)},w=I.animate_vector(o.get_pos());w.dst.set_xy(0,60),w.duration=.5,w.easing=qs.get_easeOut(),_.get_scale().set_xy(.7,0);var x=I.animate_vector(_.get_scale());x.dst.set_xy(1,1),x.duration=.3,x.easing=an.get_easeOut();var k=I.animate_func(y);k.src=-.6,k.dst=-1.4,k.duration=d,k.repeat=!0,k.reflect=!0,k.easing=Zn.get_easeInOut();var Z=I.animate_vector(o.get_origin());Z.dst.set_xy(0,16),Z.duration=d,Z.time=d*-.75,Z.repeat=!0,Z.reflect=!0,Z.easing=Zn.get_easeInOut();var S=I.animate_colors([l.color,a.color,h.color,u.color]);S.dst.set(0,0,0,0),S.time=-1*(c-.3),S.duration=.3,S.easing=sn.get_easeOut();var z=I.animate_vector(r.get_pos());z.dst.set_xy(A,f),z.duration=c,z.on_complete=function(){I.stop_func(y),s.pool_bird(n)},se.play_effect(ee.BirdFlying)},get_hitbox_at_pos:function(t){for(var e=0,i=this.hitboxes;ee?1:-1},te.isEnumValue=function(t){return null!=t&&null!=t.__enum__},te.deleteField=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)?(delete t[e],!0):!1};var ee=r.SoundEffect={__ename__:["SoundEffect"],__constructs__:["Ambience","PlacePlant","UseTrowel","HarvestPlant","RustlePlant","GrowSeed","DecayMushroom","BirdSong","BirdChirp","BirdFlying","ButtonPress","ButtonRelease","Drums","Triangle","Gong","Pop"]};ee.Ambience=["Ambience",0],ee.Ambience.toString=o,ee.Ambience.__enum__=ee,ee.PlacePlant=["PlacePlant",1],ee.PlacePlant.toString=o,ee.PlacePlant.__enum__=ee,ee.UseTrowel=["UseTrowel",2],ee.UseTrowel.toString=o,ee.UseTrowel.__enum__=ee,ee.HarvestPlant=["HarvestPlant",3],ee.HarvestPlant.toString=o,ee.HarvestPlant.__enum__=ee,ee.RustlePlant=["RustlePlant",4],ee.RustlePlant.toString=o,ee.RustlePlant.__enum__=ee,ee.GrowSeed=["GrowSeed",5],ee.GrowSeed.toString=o,ee.GrowSeed.__enum__=ee,ee.DecayMushroom=["DecayMushroom",6],ee.DecayMushroom.toString=o,ee.DecayMushroom.__enum__=ee,ee.BirdSong=["BirdSong",7],ee.BirdSong.toString=o,ee.BirdSong.__enum__=ee,ee.BirdChirp=["BirdChirp",8],ee.BirdChirp.toString=o,ee.BirdChirp.__enum__=ee,ee.BirdFlying=["BirdFlying",9],ee.BirdFlying.toString=o,ee.BirdFlying.__enum__=ee,ee.ButtonPress=["ButtonPress",10],ee.ButtonPress.toString=o,ee.ButtonPress.__enum__=ee,ee.ButtonRelease=["ButtonRelease",11],ee.ButtonRelease.toString=o,ee.ButtonRelease.__enum__=ee,ee.Drums=["Drums",12],ee.Drums.toString=o,ee.Drums.__enum__=ee,ee.Triangle=["Triangle",13],ee.Triangle.toString=o,ee.Triangle.__enum__=ee,ee.Gong=["Gong",14],ee.Gong.toString=o,ee.Gong.__enum__=ee,ee.Pop=["Pop",15],ee.Pop.toString=o,ee.Pop.__enum__=ee,ee.__empty_constructs__=[ee.Ambience,ee.PlacePlant,ee.UseTrowel,ee.HarvestPlant,ee.RustlePlant,ee.GrowSeed,ee.DecayMushroom,ee.BirdSong,ee.BirdChirp,ee.BirdFlying,ee.ButtonPress,ee.ButtonRelease,ee.Drums,ee.Triangle,ee.Gong,ee.Pop];var ie=function(){};r.SoundEffectInstance=ie,ie.__name__=["SoundEffectInstance"],ie.prototype={effect:null,resource_id:null,source:null,handle:null,volume:null,pitch:null,delay:null,loop:null,__class__:ie};var se=function(){};r.Sound=se,se.__name__=["Sound"],se.init=function(){se.sound_data=new Ke;for(var t=0,e=se.INSTANCE_POOL_SIZE;e>t;){var i=(t++,se.make_instance());se.cold_instances.push(i)}se.last_effect_variant_played=new Ke;for(var s=de.allEnums(ee),n=0;n=r)return _.error("Audio data missing",'Could not find resources for effect "'+re.string(t)+'"'),Be.trace("no resource ids for "+re.string(t),{fileName:"Sound.hx",lineNumber:213,className:"Sound",methodName:"play_effect"}),null;var o=0;if(r>1)for(;;)if(o=Math.floor(Math.random()*r),o!=se.last_effect_variant_played.get(t))break;se.last_effect_variant_played.set(t,o);var a=n[o],l=a.resource_id,u=V.resources.cache.get(l);if(null==u)return Be.trace("no audio resource for "+l+" for "+re.string(t),{fileName:"Sound.hx",lineNumber:237,className:"Sound",methodName:"play_effect"}),null;{var h,g=a.volume,c=a.volume_dither,I=a.volume_step,d=a.pitch,p=a.pitch_dither,m=a.pitch_step;a.delay}se.cold_instances.length>0?h=se.cold_instances.shift():(Be.trace("instantiating new instance for "+re.string(t)+"; using "+se.hot_instances.length+" in total",{fileName:"Sound.hx",lineNumber:256,className:"Sound",methodName:"play_effect"}),h=se.make_instance());{var C=null,A=u.source,f=Ce.volume*s*(g+I*e)*(1+c*(Math.random()-.5)),v=(d+m*e)*(1+p*(Math.random()-.5)),y=a.delay;a.loop}return h.effect=t,h.resource_id=l,h.source=A,h.handle=C,h.volume=f,h.pitch=v,h.delay=a.delay,h.loop=a.loop,se.hot_instances.push(h),se.VERBOSE&&Be.trace("queued "+re.string(t)+" with volume "+f+" and pitch "+v+" ("+l+")",{fileName:"Sound.hx",lineNumber:278,className:"Sound",methodName:"play_effect"}),0==y&&se.play_instance(h),h},se.play_instance=function(t){var e,i=t.source,s=t.volume,n=t.pitch,r=t.loop;try{e=r?V.audio.loop(i,s):V.audio.play(i,s),V.audio.core.app.audio.pitch(e,n)}catch(o){return Ge.lastException=o,o instanceof li&&(o=o.val),Be.trace("caught exception while trying to play "+t.resource_id+" for "+re.string(t.effect)+": "+re.string(o),{fileName:"Sound.hx",lineNumber:311,className:"Sound",methodName:"play_instance"}),!1}return t.handle=e,se.VERBOSE&&Be.trace("playing "+re.string(t.effect)+" with volume "+s+" and pitch "+n,{fileName:"Sound.hx",lineNumber:315,className:"Sound",methodName:"play_instance"}),!0},se.pause_instance=function(t){null!=t.handle&&(V.audio.core.app.audio.pause(t.handle),se.VERBOSE&&Be.trace("pausing instance of "+re.string(t.effect),{fileName:"Sound.hx",lineNumber:327,className:"Sound",methodName:"pause_instance"}))},se.stop_instance=function(t){null!=t.handle&&(V.audio.core.app.audio.stop(t.handle),se.VERBOSE&&Be.trace("stopping instance of "+re.string(t.effect),{fileName:"Sound.hx",lineNumber:337,className:"Sound",methodName:"stop_instance"}))},se.resume_instance=function(t){null!=t.handle&&(V.audio.core.app.audio.unpause(t.handle),se.VERBOSE&&Be.trace("resuming instance of "+re.string(t.effect),{fileName:"Sound.hx",lineNumber:347,className:"Sound",methodName:"resume_instance"}))},se.set_instance_volume=function(t,e){t.volume=e,null!=t.handle&&(V.audio.core.app.audio.volume(t.handle,Ce.volume*e),se.VERBOSE&&Be.trace("setting volume for instance of "+re.string(t.effect)+" to "+e,{fileName:"Sound.hx",lineNumber:358,className:"Sound",methodName:"set_instance_volume"}))},se.set_instance_pitch=function(t,e){t.pitch=e,null!=t.handle&&V.audio.core.app.audio.pitch(t.handle,e)},se.pause_effect=function(t){se.apply_to_effect_instances(t,se.pause_instance)},se.stop_effect=function(t){se.apply_to_effect_instances(t,se.stop_instance)},se.resume_effect=function(t){se.apply_to_effect_instances(t,se.resume_instance)},se.set_effect_volume=function(t,e){for(var i=0,s=se.hot_instances;i0){if(n.delay-=t,n.delay>0)continue;n.delay=0;var r=se.play_instance(n);if(!r){e.push(n);continue}}if(null!=n.handle){var o=V.audio.core.app.audio.state_of(n.handle);(2==o||-1==o)&&e.push(n)}else e.push(n)}for(var a=0;at?(i=n,s=e/t*i):(s=n,i=t/e*s);var r=ne.bg.state.texture,o=r.width,a=r.height,l=new nr(o*i,a*s,o*i,a*s);ne.bg.uv(l),ne.bg.resize_xy(t,e),ne.bg.transform.local.pos.set_xy(t*-.5,e*-.5)},ne.set_progress=function(t){.2>t&&(t=.2),ne.progress=t;var e=.4925*Math.min(V.core.screen.width,V.core.screen.height)*.9,i=.0025*V.core.screen.height,s=.5*Math.min(V.core.screen.width,V.core.screen.height)*.9,n=216*s/694,r=.65*n+i;ne.progress_bar.get_pos().set_xy(e*-.5+e*t*.5,r),ne.progress_bar.size.set_xy(e*t,i),ne.progress_panel.get_pos().set_xy(0,r),ne.progress_panel.size.set_xy(e,i)},ne.hide=function(){ne.enabled=!1,ne.logo.destroy(),ne.bg.drop(!0),ne.progress_bar.destroy(),ne.progress_panel.destroy()},ne.onresize=function(){if(ne.enabled){var t=.5*Math.min(V.core.screen.width,V.core.screen.height)*.9,e=ne.logo.texture.height/ne.logo.texture.width*t;ne.logo.size.set_xy(t,e),ne.update_bg_uv(),ne.set_progress(ne.progress)}};var re=function(){};r.Std=re,re.__name__=["Std"],re.string=function(t){return _i.__string_rec(t,"")},re["int"]=function(t){return 0|t},re.parseInt=function(t){var e=parseInt(t,10);return 0!=e||120!=M.cca(t,1)&&88!=M.cca(t,1)||(e=parseInt(t)),isNaN(e)?null:e},re.parseFloat=function(t){return parseFloat(t)},re.random=function(t){return 0>=t?0:Math.floor(Math.random()*t)};var oe=function(){this.b=""};r.StringBuf=oe,oe.__name__=["StringBuf"],oe.prototype={b:null,add:function(t){this.b+=re.string(t)},addChar:function(t){this.b+=String.fromCharCode(t)},addSub:function(t,e,i){this.b+=null==i?M.substr(t,e,null):M.substr(t,e,i)},__class__:oe};var ae=function(){};r.StringTools=ae,ae.__name__=["StringTools"],ae.isSpace=function(t,e){var i=M.cca(t,e);return i>8&&14>i||32==i},ae.ltrim=function(t){for(var e=t.length,i=0;e>i&&ae.isSpace(t,i);)i++;return i>0?M.substr(t,i,e-i):t},ae.rtrim=function(t){for(var e=t.length,i=0;e>i&&ae.isSpace(t,e-i-1);)i++;return i>0?M.substr(t,0,e-i):t},ae.trim=function(t){return ae.ltrim(ae.rtrim(t))},ae.rpad=function(t,e,i){if(e.length<=0)return t;for(;t.lengththis.rest_duration&&this.trigger()},set_batcher:function(t){t.add(this.geometry_quad),t.add(this.outline.geometry_quad)},trigger:function(){var t=this;this.timer=0,Ts.stop(this.get_scale()),Ts.stop(this.get_pos()),Ts.stop(this.outline.get_scale()),Ts.stop(this.outline.color),this.get_scale().set_xy(.53,.53);{var e=new ns(0,0,0,0);new ns(1,1,1,1)}this.outline.color.set(0,0,0,0);var i=this.get_pos().clone(),s=pr.Add(i,new pr(0,-40)),n=.29,r=new pr(1,0,0),o=function(e){var i=.2*Math.PI*e;t.get_rotation().setFromAxisAngle(r,i)};Ts.update(o,.3,[0],[1]).ease(dn.get_easeNone()).onComplete(function(){Ts.update(o,.4,[1],[0]).ease(sn.get_easeInOut())}),Ts.tween(this.get_pos(),.2,s).ease(sn.get_easeOut()),Ts.tween(this.get_scale(),.4,{x:.46,y:.46}).ease(sn.get_easeOut()).onComplete(function(){Ts.tween(t.get_scale(),1.2,{x:.53,y:.53}).ease(bn.get_easeOut()),Ts.tween(t.get_pos(),1.2,i).ease(sn.get_easeOut())}),V.timer.schedule(n,function(){t.outline.get_scale().set_xy(1,1),Ts.tween(t.outline.get_scale(),1,{x:1.4,y:1.4}).ease(sn.get_easeOut()),t.outline.color.set(1,1,1,1),Ts.tween(t.outline.color,1,e).ease(sn.get_easeOut())})},show:function(t){this.tile=t,this.set_active(!0),this.set_visible(!0),this.outline.set_visible(!0),this.set_pos(pr.Add(this.tile.get_pos(),new pr(55,165))),this.outline.get_pos().copy_from(this.tile.get_pos());var e=this.outline.get_pos();e.set_y(e.y-.035*this.tile.size.y);var i=(new ns(0,0,0,0),new ns(1,1,1,1));this.color.set(0,0,0,0),this.outline.color.set(0,0,0,0),Ts.tween(this.color,.4,i).ease(sn.get_easeOut()),this.trigger()},hide:function(){this.outline.set_visible(!1),this.set_visible(!1),this.set_active(!1),this.tile=null},init:function(){B.prototype.init.call(this)},ondestroy:function(){B.prototype.ondestroy.call(this)},__class__:le});var _e=r.Direction={__ename__:["Direction"],__constructs__:["None","North","South","East","West","NorthEast","NorthWest","SouthEast","SouthWest"]};_e.None=["None",0],_e.None.toString=o,_e.None.__enum__=_e,_e.North=["North",1],_e.North.toString=o,_e.North.__enum__=_e,_e.South=["South",2],_e.South.toString=o,_e.South.__enum__=_e,_e.East=["East",3],_e.East.toString=o,_e.East.__enum__=_e,_e.West=["West",4],_e.West.toString=o,_e.West.__enum__=_e,_e.NorthEast=["NorthEast",5],_e.NorthEast.toString=o,_e.NorthEast.__enum__=_e,_e.NorthWest=["NorthWest",6],_e.NorthWest.toString=o,_e.NorthWest.__enum__=_e,_e.SouthEast=["SouthEast",7],_e.SouthEast.toString=o,_e.SouthEast.__enum__=_e,_e.SouthWest=["SouthWest",8],_e.SouthWest.toString=o,_e.SouthWest.__enum__=_e,_e.__empty_constructs__=[_e.None,_e.North,_e.South,_e.East,_e.West,_e.NorthEast,_e.NorthWest,_e.SouthEast,_e.SouthWest];var ue=function(t){this.neighbor_schema=[_e.South,_e.North,_e.East,_e.West,_e.SouthWest,_e.SouthEast,_e.NorthWest,_e.NorthEast],this.quad_directions=[_e.NorthEast,_e.NorthWest,_e.SouthEast,_e.SouthWest],B.call(this,{name:"tile",batcher:t.batcher}),this.batcher=t.batcher,this.set_parent(t.parent),this.set_size(t.size),this.get_origin().set_xy(.5*this.w,.5*this.h),this.set_centered(!0),this.set_visible(!1),this.animation_node=new O({name:"animation node",parent:this}),this.animation_node.set_active(!1),this.enabled=!1,this.base_geoms=new Ke,this.lower_geoms=new Ke,this.base_color=new ns,this.lower_color=new ns,this.future_level=-1,this.future_level_delay=0,this.token=null,this.tile_neighbors=new Ke,this.tile_neighbors_array=[],this.level=0,this.view_level=0,this.create_geom(_e.NorthEast,1,0),this.create_geom(_e.NorthWest,0,0),this.create_geom(_e.SouthEast,1,1),this.create_geom(_e.SouthWest,0,1)};r.Tile=ue,ue.__name__=["Tile"],ue.__super__=B,ue.prototype=i(B.prototype,{level:null,index:null,token:null,enabled:null,view_level:null,future_level:null,future_level_delay:null,tile_neighbors:null,tile_neighbors_array:null,animation_node:null,top_left:null,top_right:null,top_left_origin:null,top_right_origin:null,quad_directions:null,batcher:null,base_color:null,lower_color:null,x:null,y:null,w:null,h:null,base_geoms:null,lower_geoms:null,neighbor_schema:null,update:function(t){this.future_level>=0&&(this.future_level_delay-=t,this.future_level_delay<=0&&(this.set_view_level(this.future_level,!0),this.update_neighbor_masks(),this.update_mask(),this.future_level=-1,this.future_level_delay=0))},hide_geoms:function(){for(var t=this.base_geoms.iterator();t.hasNext();){var e=t.next();e.set_visible(!1)}for(var i=this.lower_geoms.iterator();i.hasNext();){var s=i.next();s.set_visible(!1)}},show_geoms:function(){for(var t=this.base_geoms.iterator();t.hasNext();){var e=t.next();e.set_visible(!0)}for(var i=this.lower_geoms.iterator();i.hasNext();){var s=i.next();s.set_visible(!0)}},animate_back_up:function(t,e){var i=.135/e,s=An.get_easeOut();this.animation_node.get_pos().set_y(t);var n=I.animate_vector(this.animation_node.get_pos());if(n.duration=i,n.dst.set_xy(0,0),n.easing=s,this.matches_tile(_e.North)){var r=(this.size.y+2*t)/this.size.y;this.top_left.transform.local.pos.set_y(this.top_left_origin.y+t*-.5),this.top_left.transform.local.scale.set_y(r),this.top_right.transform.local.pos.set_y(this.top_right_origin.y+t*-.5),this.top_right.transform.local.scale.set_y(r);var o=I.animate_vectors([this.top_left.transform.local.scale,this.top_right.transform.local.scale]);o.duration=i,o.dst.set_xy(0,1),o.mask.set_xy(0,1),o.easing=s;var a=I.animate_vector(this.top_left.transform.local.pos);a.dst.copy_from(this.top_left_origin),a.duration=i,a.easing=s;var l=I.animate_vector(this.top_right.transform.local.pos);l.dst.copy_from(this.top_right_origin),l.duration=i,l.easing=s}},level_up:function(){this.level++,this.level>=3&&(this.level=0),this.set_view_level(this.level)},level_down:function(){this.level--,this.level<0&&(this.level=2),this.future_level=-1,this.set_view_level(this.level)},set_level:function(t){this.level=t},set_view_level:function(t,e){null==e&&(e=!1),this.view_level=t;var i=t+1;if(i>=3&&(i=0),0>t)return this.hide_geoms(),void this.update_neighbor_masks();this.show_geoms(),this.set_geoms_texture_by_level(this.base_geoms,t),this.set_geoms_texture_by_level(this.lower_geoms,i),this.base_color.rgb(m.tiles[t].surface_color),this.lower_color.rgb(m.tiles[i].border_color);var s=this.index.i,n=this.index.j,r=0;(s%2==0&&n%2!=0||s%2!=0&&n%2==0)&&(r-=.025),this.base_color.set(this.base_color.r+r,this.base_color.g+r,this.base_color.b+r),this.lower_color.set(this.lower_color.r+r,this.lower_color.g+r,this.lower_color.b+r),this.set_geoms_color(this.base_geoms,this.base_color),this.set_geoms_color(this.lower_geoms,this.lower_color),this.update_neighbor_masks(),this.update_mask()},schedule_view_level:function(t,e){this.future_level=t,this.future_level_delay=e},press:function(){V.timer.schedule(.1,n(this,this.release))},release:function(){},set_tile_surface_color_shift:function(t){this.set_geoms_color_by_value(this.base_geoms,this.base_color.r+1.2*t,this.base_color.g+1.2*t,this.base_color.b+t)},set_tile_border_color_shift:function(t){this.set_geoms_color_by_value(this.lower_geoms,this.lower_color.r+1.2*t,this.lower_color.g+1.2*t,this.lower_color.b+t)},set_tile_color_shift:function(t){this.set_geoms_color_by_value(this.base_geoms,this.base_color.r+1.2*t,this.base_color.g+1.2*t,this.base_color.b+t),this.set_geoms_color_by_value(this.lower_geoms,this.lower_color.r+t,this.lower_color.g+t,this.lower_color.b+t)},set_geoms_color:function(t,e){for(var i=t.iterator();i.hasNext();){var s=i.next();s.color.set(e.r,e.g,e.b)}},set_geoms_color_by_value:function(t,e,i,s){for(var n=t.iterator();n.hasNext();){var r=n.next();r.color.set(e,i,s)}},set_geoms_texture_by_level:function(t,e){for(var i=m.tiles[e].texture_name,s=d.get_texture(i),n=t.keys();n.hasNext();){var r=n.next(),o=t.get(r);o.set_texture(s.texture),o.uv(s.uv)}},is_empty:function(){return null==this.token},create_geom:function(t,e,i){var s=d.get_texture("none"),n=.5*this.size.x,r=.5*this.size.y,o=new pr(n*e+.5*n,r*i+.5*r),a=new Y({w:n,h:r,texture:s.texture,uv:s.uv,batcher:this.batcher,depth:i-26});a.set_shader(V.resources.cache.get("alphamask")),a.transform.set_parent(this.get_transform()),a.transform.set_pos(new pr(o.x,o.y,o.z,o.w)),a.transform.origin.set_xy(.5*n,.5*r),this.lower_geoms.set(t,a);var l=new Y({w:n+1.5,h:r+1.5,texture:s.texture,uv:s.uv,batcher:this.batcher,depth:i-11});l.set_shader(V.resources.cache.get("alphamask")),l.transform.set_parent(this.animation_node.get_transform()),l.transform.set_pos(new pr(o.x,o.y,o.z,o.w));var _=l.transform.local.pos;_.set_y(_.y+-4);var u=l.transform.local.pos;u.set_y(u.y+-2),l.transform.origin.set_xy(.5*n,.5*r),this.base_geoms.set(t,l),t==_e.NorthWest&&(this.top_left=l,this.top_left_origin=l.transform.local.pos.clone()),t==_e.NorthEast&&(this.top_right=l,this.top_right_origin=l.transform.local.pos.clone())},update_mask:function(){for(var t=0,e=this.quad_directions;te;){var i=(e++,new ue({parent:this,batcher:this.batcher,size:this.tile_size}));i.hide_geoms(),this.cold_tiles.push(i)}};r.TileMap=he,he.__name__=["TileMap"],he.__super__=E,he.prototype=i(E.prototype,{tiles_map:null,tiles_array:null,batcher:null,tile_size:null,w:null,h:null,cold_tiles:null,hot_tiles:null,create_tiles:function(t,e){this.w=t,this.h=e;for(var i=0,s=this.tiles_array;i0;){var r=this.tiles_array.shift();this.pool_tile(r)}this.tiles_map=new Se;for(var o=this.tile_size.x,a=this.tile_size.y,l=0,_=this.w;_>l;){var u=l++,h=new Se;this.tiles_map.h[u]=h;for(var g=0,c=this.h;c>g;){var I=g++,d={i:u,j:I},p=u*o,m=I*a,C=this.get_tile();C.enabled=!0,C.index=d,C.get_pos().set_xy(p,m),C.size.copy_from(this.tile_size),h.h[I]=C,this.tiles_array.push(C)}}for(var A=[_e.South,_e.North,_e.East,_e.West],f=0,v=this.tiles_array;f0?(t=this.cold_tiles.shift(),t.show_geoms()):t=new ue({parent:this,batcher:this.batcher,size:this.tile_size}),this.hot_tiles.push(t),t},pool_tile:function(t){M.indexOf(this.cold_tiles,t,0)>=0||(this.cold_tiles.push(t),t.tile_neighbors=new Ke,t.hide_geoms(),t.enabled=!1)},copy_index:function(t){var e={i:t.i,j:t.j};return e},offset_index_in_direction:function(t,e){var i=(t.i,t.j,0),s=0;switch(e[1]){case 1:s=-1;break;case 2:s=1;break;case 4:i=-1;break;case 3:i=1;break;case 5:i=1,s=-1;break;case 6:i=-1,s=-1;break;case 7:i=1,s=1;break;case 8:i=-1,s=1;break;case 0:i=0,s=0}return t.i+=i,t.j+=s,t},create_tiles_from_ascii:function(t){var e=t[0];this.create_tiles(e.length,t.length),this.set_tiles_from_ascii(t)},set_tiles_from_ascii:function(t){for(var e=0,i=t.length;i>e;)for(var s=e++,n=t[s],r=0,o=n.length;o>r;){var a=r++,l=re.parseInt(n.charAt(a)),_=l>=0,u={i:a,j:s},h=this.get_tile_by_index(u);if(_)h.set_level(l),h.set_view_level(l);else if(null!=h){h.destroy(),M.remove(this.tiles_array,h);var g=this.tiles_map.h[a];g.remove(s)}}this.update_tile_masks()},get_tiles_as_ascii:function(){for(var t=[],e=0,i=this.w;i>e;){for(var s=e++,n="",r=0,o=this.h;o>r;){var a=r++,l=this.get_tile_by_index({i:a,j:s}),_=l.level;n+=null==_?"null":""+_}t.push(n)}return t},scramble:function(){for(var t=V.utils.random["int"](0,3),e=0,i=this.tiles_array;en;){{n++}s.level_up()}}for(var r=2,o=0;r>o;)for(var a=(o++,4),l=this.tiles_array[V.utils.random["int"](0,this.tiles_array.length)],_=l.level,u=[];a>0&&null!=l;){l.level_up(),u.push(l);for(var h=W.array(l.tile_neighbors),g=0;null!=l&&(M.indexOf(u,l,0)>0||l.level!=_)&&(l=h[V.utils.random["int"](0,h.length)],g++,!(g>3)););a--}for(var c=0,I=this.tiles_array;c=e&&(e=r,t=n.token)}}if(null==t)return null;var o=t.tile;return o},get_suggested_tile_to_plant:function(t){for(var e=null,i=0,s=0,n=this.tiles_array;si||null==e)&&(i=o,e=r)}return null==e?null:e},clear_tile_map:function(){for(var t=0,e=this.tiles_array;ti;)for(var n=i++,r=t[n],o=0,a=r.length;a>o;){var l=o++,_=re.parseInt(r.charAt(l)),u=this.get_tile_by_index_components(l,n);null!=u&&(null!=u.token&&u.token.pool(),u.set_level(_),u.schedule_view_level(_,0),e++)}this.update_tile_masks()},get_tile_count:function(){return this.tiles_array.length},init:function(){E.prototype.init.call(this)},ondestroy:function(){E.prototype.ondestroy.call(this)},__class__:he});var ge=r.IdleAnimation={__ename__:["IdleAnimation"],__constructs__:["Turn","Blink","Wiggle","Sing"]};ge.Turn=["Turn",0],ge.Turn.toString=o,ge.Turn.__enum__=ge,ge.Blink=["Blink",1],ge.Blink.toString=o,ge.Blink.__enum__=ge,ge.Wiggle=["Wiggle",2],ge.Wiggle.toString=o,ge.Wiggle.__enum__=ge,ge.Sing=["Sing",3],ge.Sing.toString=o,ge.Sing.__enum__=ge,ge.__empty_constructs__=[ge.Turn,ge.Blink,ge.Wiggle,ge.Sing];var ce=function(){O.call(this,{name:"token",name_unique:!0}),this.set_active(!1),this.zero_color=new ns(0,0,0,0),this.subtle_dark_color=(new ns).rgb(13345940),this.subtle_light_color=new ns,Ae.copy_color_with_shift(this.subtle_light_color,V.renderer.clear_color,.05),this.full_dark_color=(new ns).rgb(4993072),this.full_light_color=(new ns).rgb(16777215),this.warning_color=(new ns).rgb(13345940),this.token_fill_color=(new ns).rgb(16711680),this.token_outline_color=(new ns).rgb(16711680),this.pill_base_color=(new ns).rgb(16711680),this.pill_accent_color=(new ns).rgb(16711680),this.colors_to_animate=[this.token_fill_color,this.token_outline_color,this.pill_base_color,this.pill_accent_color];var t=V.resources.cache.get("channel");this.bird=new O,this.bird.set_parent(this),this.bird.set_active(!1),this.bird_body=new O,this.bird_body.set_parent(this.bird);var e=d.get_texture("bird"),i=d.get_texture("bird_outline"),s=d.get_texture("note"),n=d.get_texture("circle"),r=.675/H.manifest.texture_scaling;this.bird_body_outline=new B({depth:5,texture:i.texture,uv:i.uv,size:i.size.clone().multiplyScalar(r),color:this.token_outline_color,parent:this.bird_body,shader:t,no_batcher_add:!0}),this.bird_body_fill=new B({depth:6,texture:e.texture,uv:e.uv,size:e.size.clone().multiplyScalar(r),color:this.token_fill_color,parent:this.bird_body,shader:t,no_batcher_add:!0}),this.bird_note=new B({depth:7,texture:s.texture,uv:s.uv,size:s.size.clone().multiplyScalar(r),color:this.token_fill_color,parent:this.bird,shader:t,no_batcher_add:!0}),this.bird_eye=new B({depth:7,texture:n.texture,uv:n.uv,size:n.size.clone().multiplyScalar(r),color:this.token_fill_color,parent:this.bird,shader:t,no_batcher_add:!0}),this.bird_body_outline.set_active(!1),this.bird_body_fill.set_active(!1),this.bird_note.set_active(!1),this.bird_eye.set_active(!1),this.bird_note.get_scale().set_y(0),this.bird_eye.size.multiplyScalar(.1),this.bird_eye.get_scale().set_xy(0,0),this.outline=new X({no_batcher_add:!0,depth:2,x:0,y:0,color:this.token_outline_color,shader:t}),this.outline.transform.set_parent(this.get_transform()),this.fill=new X({no_batcher_add:!0,depth:3,x:0,y:0,color:this.token_fill_color}),this.fill.transform.set_parent(this.get_transform()),this.fill.set_visible(!1),this.outline.set_visible(!1),this.bird_body_fill.set_visible(!1),this.bird_body_outline.set_visible(!1),this.bird_note.set_visible(!1),this.bird_eye.set_visible(!1);var o=d.get_texture("none");this.pill_geom=new D({no_batcher_add:!0,depth:5,color:this.pill_base_color}),this.pill_icon=new X({x:0,y:0,no_batcher_add:!0,depth:6,uv:o.uv,texture:o.texture,color:this.pill_accent_color}),this.pill_text=new $i({name:"token_pill_label",name_unique:!0,text:"",font:V.resources.cache.get("assets/pn_semibold.fnt"),point_size:40,no_batcher_add:!0,depth:6,color:this.pill_accent_color,align:0,align_vertical:2}),this.pill_geom.transform.set_parent(this.get_transform()),this.pill_icon.transform.set_parent(this.pill_geom.transform),this.pill_text.get_transform().set_parent(this.pill_geom.transform),this.pill_geom.transform.local.pos.set_y(60),this.pill_text.set_active(!1),this.tween_target=new pr,this.has_been_arranged=!1};r.Token=ce,ce.__name__=["Token"],ce.__super__=O,ce.prototype=i(O.prototype,{tile:null,kind:null,age:null,has_bird:null,data:null,fill:null,outline:null,pill_geom:null,pill_icon:null,pill_text:null,pill_alpha:null,bird:null,bird_body:null,bird_body_fill:null,bird_body_outline:null,bird_eye:null,bird_note:null,token_texture_name:null,pooling:null,tween_target:null,has_been_arranged:null,should_animate_bird:null,should_animate_bird_bounce:null,time_to_next_animate_bird:null,prev_idle_animation:null,zero_color:null,full_dark_color:null,full_light_color:null,subtle_dark_color:null,subtle_light_color:null,warning_color:null,token_fill_color:null,token_outline_color:null,pill_base_color:null,pill_accent_color:null,colors_to_animate:null,pulse_anim:null,update:function(t){this.has_bird&&this.should_animate_bird&&(this.time_to_next_animate_bird-=t*b.puzzle.timescale,this.time_to_next_animate_bird<=0&&this.animate_bird())},set_batcher:function(t){t.add(this.bird_body_fill.geometry),t.add(this.bird_body_outline.geometry),t.add(this.bird_note.geometry),t.add(this.bird_eye.geometry),t.add(this.fill),t.add(this.outline),t.add(this.pill_text.geom),t.add(this.pill_icon),t.add(this.pill_geom)},set_pill_label:function(t){this.pill_text.set_text(t);var e=30,i=e+10,s=this.pill_text.geom.text_width+.5*e+i;this.pill_text.set_align(0);var n=d.get_texture("clock");this.pill_icon.set_texture(n.texture),this.pill_icon.uv(n.uv),this.pill_icon.resize_xy(e,e),this.pill_icon.transform.origin.set_xy(.5*e,.5*e),this.pill_text.get_pos().set_xy(s*-.5+.375*i,.04*i);var r=i-e;this.pill_icon.transform.local.pos.set_xy(.5*s-.5*e-.5*r,0),this.pill_geom.set_size(s,i)},animate_bird:function(){var t=Math.random();this.time_to_next_animate_bird=10*Math.random(),t>.95&&this.prev_idle_animation!=ge.Sing?this.animate_chirp():t>.85&&this.prev_idle_animation!=ge.Wiggle?this.animate_wiggle():t>.4&&this.prev_idle_animation!=ge.Blink?this.animate_blink():this.animate_turn()},rotate_bird:function(t){if(this.has_bird){var e=new pr(0,0,1);this.bird.get_rotation().setFromAxisAngle(e,t)}},animate_blink:function(){var t=this;if(this.has_bird){this.bird_eye.get_scale().set_xy(1,1),this.bird_eye.get_pos().set_xy(11.5,-15);var e=I.animate_vector(this.bird_eye.get_pos());e.dst.set_xy(0,-9),e.mask.set_xy(0,1),e.duration=.15,e.on_complete=function(){var e=I.animate_vector(t.bird_eye.get_pos());e.dst.set_xy(0,-15),e.mask.set_xy(0,1),e.time=-.05,e.duration=.15},Ae.schedule(.35,function(){t.bird_eye.get_scale().set_xy(0,0)}),this.time_to_next_animate_bird+=.35,this.prev_idle_animation=ge.Blink}},animate_wiggle:function(){var t=this;if(this.has_bird){var e=function(e){var i=2.75+2*e,s=.02*Math.PI*Math.sin(e*Math.PI*2*i)*(1-e);t.rotate_bird(s)},i=I.animate_func(e);i.duration=.8,i.src=0,i.dst=1,this.time_to_next_animate_bird+=i.duration,this.prev_idle_animation=ge.Wiggle}},animate_chirp:function(){var t=this;if(this.has_bird){var e=0,i=Ae.sign(this.bird.get_scale().x),s=i*Math.PI*-.2,r=6;this.bird_note.get_scale().set_x(i),this.bird_note.set_radians(i>0?.2*Math.PI:.1*Math.PI),se.play_effect(ee.BirdSong),I.stop_func(n(this,this.rotate_bird)),I.stop_vector(this.bird_body.get_pos()),I.stop_vector(this.bird_note.get_pos()),I.stop_vector(this.bird_note.get_scale()),this.bird_note.get_scale().set_y(0);var o=I.animate_func(n(this,this.rotate_bird));o.src=0,o.dst=s,o.duration=.9,o.easing=an.get_easeOut(),o.time=-1*e,e+=.7*o.duration;for(var a=0;3>a;){{a++}Ae.schedule(e,function(){I.stop_vector(t.bird_note.get_scale()),I.stop_vector(t.bird_note.get_pos()),t.bird_note.get_pos().set_xy(30,-6),t.bird_note.get_scale().set_y(0);var e=I.animate_vector(t.bird_note.get_pos());e.dst.set_xy(80,0),e.mask.set_xy(1,0),e.duration=.4;var i=I.animate_vector(t.bird_note.get_scale());i.dst.set_xy(0,1),i.mask.set_xy(0,1),i.duration=.15,i.easing=sn.get_easeOut(),i.on_complete=function(){var e=I.animate_vector(t.bird_note.get_scale());e.dst.set_xy(0,.5),e.mask.set_xy(0,1),e.time=-.1,e.duration=.15,e.easing=sn.get_easeIn(),e.on_complete=function(){t.bird_note.get_scale().set_y(0)}}});var l=I.animate_vector(this.bird_body.get_pos());l.dst.set_xy(-1*r,2),l.duration=.2,l.easing=sn.get_easeOut(),l.time=-1*e,l.on_complete=function(){var e=I.animate_vector(t.bird_body.get_pos());e.dst.set_xy(0,0),e.duration=.2,e.time=0,e.easing=sn.get_easeOut()},e+=2*l.duration}var _=I.animate_func(n(this,this.rotate_bird));_.src=s,_.dst=0,_.duration=.4,_.time=-1*e,_.easing=sn.get_easeOut(),e+=_.duration,this.time_to_next_animate_bird+=e,this.prev_idle_animation=ge.Sing}},animate_turn:function(){I.stop_vector(this.bird.get_scale());var t=I.animate_vector(this.bird.get_scale());return t.mask.set_xy(1,0),t.dst.set_xy(-1*Ae.sign(this.bird.get_scale().x),1),t.duration=.5,t.easing=sn.get_easeInOut(),this.time_to_next_animate_bird+=t.duration,this.prev_idle_animation=ge.Turn,t},show_pill:function(){this.pill_geom.set_visible(!0),this.pill_icon.set_visible(!0),this.pill_text.set_visible(!0)},hide_pill:function(){this.pill_geom.set_visible(!1),this.pill_icon.set_visible(!1),this.pill_text.set_visible(!1)},show_bird:function(){this.bird.set_active(!0),this.bird_body_fill.set_active(!0),this.bird_body_outline.set_active(!0),this.bird_note.set_active(!0),this.bird_eye.set_active(!0),this.bird_body_fill.set_visible(!0),this.bird_body_outline.set_visible(!0),this.bird_note.set_visible(!0),this.bird_eye.set_visible(!0);var t=new pr(0,0,1);this.bird.get_rotation().setFromAxisAngle(t,0),this.should_animate_bird=!0,this.time_to_next_animate_bird=2+12*Math.random()},hide_bird:function(){this.bird.set_active(!1),this.bird_body_fill.set_active(!1),this.bird_body_outline.set_active(!1),this.bird_note.set_active(!1),this.bird_eye.set_active(!1),this.bird_body_fill.set_visible(!1),this.bird_body_outline.set_visible(!1),this.bird_note.set_visible(!1),this.bird_eye.set_visible(!1),this.should_animate_bird=!1},set_token_texture:function(t){var e=this;this.token_texture_name=t;var i;if(m.bird_offsets.exists(t)?i=m.bird_offsets.get(t):(i=new pr(-4,-62),Be.trace("no offset for "+t,{fileName:"Token.hx",lineNumber:617,className:"Token",methodName:"set_token_texture"})),I.stop_vector(this.bird.get_pos()),this.bird.get_pos().copy_from(i),this.should_animate_bird_bounce){var s=this.bird.get_pos();s.set_y(s.y+15);var n=I.animate_vector(this.bird.get_pos());n.dst.set_xy(i.x,i.y-12),n.duration=.15,n.easing=Zn.get_easeOut(),n.on_complete=function(){var t=I.animate_vector(e.bird.get_pos());t.dst.copy_from(i),t.time=-.05,t.duration=.2,t.easing=sn.get_easeOut()},this.should_animate_bird_bounce=!1}var r=d.get_texture(t),o=d.get_texture(""+t+"_outline"),a=.675/H.manifest.texture_scaling,l=pr.Multiply(r.size,a),_=pr.Multiply(o.size,a);this.fill.set_texture(r.texture),this.fill.uv(r.uv),this.fill.transform.set_origin(pr.Multiply(l,.5)),this.outline.transform.set_origin(pr.Multiply(_,.5)),this.outline.set_texture(o.texture),this.outline.uv(o.uv),this.fill.resize_xy(l.x,l.y),this.outline.resize_xy(_.x,_.y)},set_bird:function(t){this.has_bird=t,t?(this.show_bird(),this.bird.get_scale().set_x(Ae.sign(-1+2*Math.random()))):this.hide_bird()},set_kind:function(t){if(this.kind=t,this.set_active(!0),this.data=m.tokens.get(t),this.age=0,this.data.grow_time>0){var e=this.data.grow_time;this.show_pill(),this.set_pill_label(null==e?"null":""+e),this.set_pill_to_white_on_black()}else if(this.data.decay_time>0){var i=this.data.decay_time;this.show_pill(),this.set_pill_label(null==i?"null":""+i),this.set_pill_to_black_on_white()}else this.hide_pill();var s=this.data.texture_0;this.set_token_texture(s),this.outline.set_visible(!0),this.fill.set_visible(!0),this.colors_to_animate=[this.token_fill_color,this.token_outline_color,this.pill_base_color,this.pill_accent_color],this.stop_animations(),this.set_colors_to_zero()},get_state:function(){var t={kind:this.kind,age:this.age,has_bird:this.has_bird,tile_index:null!=this.tile?this.tile.index:null};return t},set_tile:function(t,e){if(null==e&&(e=!0),null!=t.token&&Be.trace("tile already has token!",{fileName:"Token.hx",lineNumber:732,className:"Token",methodName:"set_tile"}),t.token=this,this.tile=t,this.get_pos().set_x(t.get_pos().x),this.get_pos().set_y(t.get_pos().y-.0335*t.size.y-5-3),this.stop_animations(),e){this.get_scale().set_xy(.6,.6);var i=I.animate_vector(this.get_scale());i.duration=.2,i.dst.set_xy(1,1),i.easing=hn.get_easeOut()}else this.get_scale().set_xy(1,1);var s=m.tiles[t.level].surface_color,n=(new ns).rgb(s),r=.06;0==t.level&&(r=.08),Ae.copy_color_by_value(this.token_fill_color,this.full_dark_color),Ae.copy_color_with_shift(this.token_outline_color,n,r),Ae.copy_color_by_value(this.pill_base_color,this.full_light_color),Ae.copy_color_by_value(this.pill_accent_color,this.full_dark_color)},animate_shake:function(){var t=this,e=function(e){var i=2.75+e,s=10,n=s*Math.sin(e*Math.PI*2*i)*(1-e);t.get_transform().get_origin().set_x(n)},i=I.animate_func(e);i.duration=.8,i.src=1,i.dst=1},animate_color:function(t,e,i){I.stop_color(t);var s=I.animate_color(t);s.duration=e,Ae.copy_color_by_value(s.dst,i),s.easing=sn.get_easeOut()},animate_to_active:function(){for(var t=0,e=this.colors_to_animate;t0&&this.data.decay_time>0){var e=this.data.grow_time-this.age,i=this.data.grow_time+this.data.decay_time-this.age;e>0?(this.show_pill(),this.set_pill_label(null==e?"null":""+e),this.set_token_texture(this.data.texture_0),this.set_pill_to_white_on_black()):(this.show_pill(),this.set_pill_label(null==i?"null":""+i),this.set_token_texture(this.data.texture_1),this.set_pill_to_black_on_white())}else if(this.data.grow_time>0){var s=this.data.grow_time-this.age;s>0?(this.show_pill(),this.set_pill_label(null==s?"null":""+s),this.set_token_texture(this.data.texture_0)):(this.hide_pill(),this.set_token_texture(this.data.texture_1))}else if(this.data.decay_time>0){var n=this.data.decay_time-this.age;this.show_pill(),this.set_pill_label(null==n?"null":""+n),this.set_token_texture(this.data.texture_0)}else this.set_token_texture(this.data.texture_0)},sim_forward:function(t){null==t&&(t=0);var e=this;this.age++;var i=this.get_state();if(this.data.grow_time>0&&this.data.decay_time>0){var s=this.age,r=this.data.grow_time-s,o=this.data.grow_time+this.data.decay_time-this.age;s<=this.data.grow_time?(0==r&&se.play_effect(ee.GrowSeed),Ae.schedule(t,function(){0==r?(e.set_pill_to_black_on_white(),e.set_pill_label(null==o?"null":""+o),e.should_animate_bird_bounce=e.has_bird,e.set_token_texture(e.data.texture_1),e.animate_callout()):(e.set_pill_label(null==r?"null":""+r),e.animate_callout())})):(0==o&&(this.tile.token=null),Ae.schedule(t,function(){0==o?(e.set_pill_label(null==o?"null":""+o),e.animate_callout(),V.timer.schedule(.28,function(){se.play_effect(ee.DecayMushroom),e.animate_to_zero();var t=I.animate_vector(e.get_transform().get_scale());if(t.dst.set_xy(0,.5),t.mask.set_xy(0,1),t.duration=.8,t.on_complete=n(e,e.pool),e.has_bird){var i=Ae.sign(e.bird.get_scale().x);b.puzzle.animate_bird_from_tile(e.tile,i,e.bird.get_pos()),e.hide_bird()}})):(e.set_pill_label(null==o?"null":""+o),e.animate_callout())}))}else if(this.data.grow_time>0){var a=this.age;if(a<=this.data.grow_time){var l=this.data.grow_time-a;0==l&&se.play_effect(ee.GrowSeed),Ae.schedule(t,function(){0==l?(e.hide_pill(),e.should_animate_bird_bounce=e.has_bird,e.set_token_texture(e.data.texture_1),e.animate_callout()):(e.set_pill_label(null==l?"null":""+l),e.animate_callout())})}}else if(this.data.decay_time>0){var _=this.age;if(_<=this.data.decay_time){var u=this.data.decay_time-_;0==u&&(this.tile.token=null),Ae.schedule(t,function(){0==u?(e.set_pill_label(null==u?"null":""+u),e.animate_callout(),V.timer.schedule(.28,function(){se.play_effect(ee.DecayMushroom),e.animate_to_zero();var t=I.animate_vector(e.get_transform().get_scale());if(t.dst.set_xy(0,.5),t.mask.set_xy(0,1),t.duration=.5,t.on_complete=n(e,e.pool),e.has_bird){var i=Ae.sign(e.bird.get_scale().x);b.puzzle.animate_bird_from_tile(e.tile,i,e.bird.get_pos()),e.hide_bird()}})):(e.set_pill_label(null==u?"null":""+u),e.animate_callout())})}}return i},sim_backward:function(){if(this.age--,this.age<0&&(this.age=0),this.data.grow_time>0&&this.data.decay_time>0){var t=this.data.grow_time-this.age,e=this.data.grow_time+this.data.decay_time-this.age;if(this.age0){if(this.age0&&this.age=this.data.grow_time},is_matured:function(){return 0==this.data.grow_time?!0:this.age==this.data.grow_time},is_decayed:function(){if(this.data.decay_time<=0)return!1;if(this.data.grow_time>0){if(this.age>=this.data.decay_time+this.data.grow_time)return!0}else if(this.age>=this.data.decay_time)return!0;return!1},count_matching_set:function(){var t=this.get_matching_set();return t.length},get_matching_set:function(){var t=function(){return!0},e=this.apply_to_matching_set(t);return null==e&&Be.trace("oh shit!",{fileName:"Token.hx",lineNumber:1145,className:"Token",methodName:"get_matching_set"}),e},is_harvestable:function(){return 0==this.data.grow_time?!0:this.age>=this.data.grow_time},matches_token:function(t){var e=this.is_harvestable()&&t.is_harvestable();if(!e)return!1;var i=this.kind==t.kind;return i},apply_to_matching_set:function(t,e){var i=this.tile;if(null==i)return null;if(null==e&&(e=[]),M.indexOf(e,this,0)>=0)return null;if(e.push(this),0==t(this,e))return null;for(var s=i.tile_neighbors,n=s.keys();n.hasNext();){var r=n.next(),o=s.get(r);if(null!=o){var a=o.token;null!=a&&i.matches_tile(r)&&this.matches_token(a)&&a.apply_to_matching_set(t,e)}}return e},pool:function(){this.stop_animations(),I.stop_vector(this.get_pos()),I.stop_vector(this.get_scale()),I.stop_vector(this.tween_target),this.get_pos().set_xy(0,0),this.get_scale().set_xy(1,1),this.tween_target.set_xy(0,0),this.set_active(!1),this.tile=null,this.hide_bird(),this.hide_pill(),this.fill.set_visible(!1),this.outline.set_visible(!1),this.has_been_arranged=!1,this.pooling.put_token(this)},init:function(){O.prototype.init.call(this)},ondestroy:function(){O.prototype.ondestroy.call(this)},__class__:ce});var Ie=r.ValueType={__ename__:["ValueType"],__constructs__:["TNull","TInt","TFloat","TBool","TObject","TFunction","TClass","TEnum","TUnknown"]};Ie.TNull=["TNull",0],Ie.TNull.toString=o,Ie.TNull.__enum__=Ie,Ie.TInt=["TInt",1],Ie.TInt.toString=o,Ie.TInt.__enum__=Ie,Ie.TFloat=["TFloat",2],Ie.TFloat.toString=o,Ie.TFloat.__enum__=Ie,Ie.TBool=["TBool",3],Ie.TBool.toString=o,Ie.TBool.__enum__=Ie,Ie.TObject=["TObject",4],Ie.TObject.toString=o,Ie.TObject.__enum__=Ie,Ie.TFunction=["TFunction",5],Ie.TFunction.toString=o,Ie.TFunction.__enum__=Ie,Ie.TClass=function(t){var e=["TClass",6,t];return e.__enum__=Ie,e.toString=o,e},Ie.TEnum=function(t){var e=["TEnum",7,t];return e.__enum__=Ie,e.toString=o,e},Ie.TUnknown=["TUnknown",8],Ie.TUnknown.toString=o,Ie.TUnknown.__enum__=Ie,Ie.__empty_constructs__=[Ie.TNull,Ie.TInt,Ie.TFloat,Ie.TBool,Ie.TObject,Ie.TFunction,Ie.TUnknown];var de=function(){};r.Type=de,de.__name__=["Type"],de.getClass=function(t){return null==t?null:_i.getClass(t)},de.getClassName=function(t){var e=t.__name__;return null==e?null:e.join(".")},de.getEnumName=function(t){var e=t.__ename__;return e.join(".")},de.resolveClass=function(t){var e=r[t];return null!=e&&e.__name__?e:null},de.resolveEnum=function(t){var e=r[t];return null!=e&&e.__ename__?e:null},de.createInstance=function(t,e){var i=e.length;switch(i){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3]);case 5:return new t(e[0],e[1],e[2],e[3],e[4]);case 6:return new t(e[0],e[1],e[2],e[3],e[4],e[5]);case 7:return new t(e[0],e[1],e[2],e[3],e[4],e[5],e[6]);case 8:return new t(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]);default:throw new li("Too many arguments")}return null},de.createEmptyInstance=function(t){function e(){}return e.prototype=t.prototype,new e},de.createEnum=function(t,e,i){var s=te.field(t,e);if(null==s)throw new li("No such constructor "+e);if(te.isFunction(s)){if(null==i)throw new li("Constructor "+e+" need parameters");return te.callMethod(t,s,i)}if(null!=i&&0!=i.length)throw new li("Constructor "+e+" does not need parameters");return s},de.getInstanceFields=function(t){var e=[];for(var i in t.prototype)e.push(i);return M.remove(e,"__class__"),M.remove(e,"__properties__"),e},de.getEnumConstructs=function(t){var e=t.__constructs__;return e.slice()},de["typeof"]=function(t){var e=typeof t;switch(e){case"boolean":return Ie.TBool;case"string":return Ie.TClass(String);case"number":return Math.ceil(t)==t%2147483648?Ie.TInt:Ie.TFloat;case"object":if(null==t)return Ie.TNull;var i=t.__enum__;if(null!=i)return Ie.TEnum(i);var s=_i.getClass(t);return null!=s?Ie.TClass(s):Ie.TObject;case"function":return t.__name__||t.__ename__?Ie.TObject:Ie.TFunction;case"undefined":return Ie.TNull;default:return Ie.TUnknown}},de.enumEq=function(t,e){if(t==e)return!0;try{if(t[0]!=e[0])return!1;for(var i=2,s=t.length;s>i;){var n=i++;if(!de.enumEq(t[n],e[n]))return!1}var r=t.__enum__;if(r!=e.__enum__||null==r)return!1}catch(o){return Ge.lastException=o,o instanceof li&&(o=o.val),!1}return!0},de.allEnums=function(t){return t.__empty_constructs__};var pe=function(){};r.UserDataContainer=pe,pe.__name__=["UserDataContainer"],pe.prototype={version:null,client_id:null,date_created:null,date_modified:null,data:null,__class__:pe};var me=function(){this.favorites=[],this.puzzle=null,this.collections=new Ke,this.achievements=new Ke,this.average_score=0,this.old_best_score=0,this.best_score=0,this.conserve_battery_enabled=!1,this.authentication_enabled=!1,this.play_credits_count=2,this.premium_enabled=!1,this.tutorial_enabled=!0,this.volume=.7,this.locale="en",this.analytics_enabled=!1,this.date_last_played=new Date,this.date_last_opened=new Date,this.tutorial_plays_count=0,this.play_credits_earned_count=0,this.ads_count=0,this.plays_count=0,this.opens_count=0};r.UserDataSchema_v0=me,me.__name__=["UserDataSchema_v0"],me.prototype={opens_count:null,plays_count:null,ads_count:null,play_credits_earned_count:null,tutorial_plays_count:null,date_last_opened:null,date_last_played:null,analytics_enabled:null,locale:null,volume:null,tutorial_enabled:null,premium_enabled:null,play_credits_count:null,authentication_enabled:null,conserve_battery_enabled:null,best_score:null,old_best_score:null,average_score:null,achievements:null,collections:null,puzzle:null,favorites:null,__class__:me}; var Ce=function(){};r.UserData=Ce,Ce.__name__=["UserData"],Ce.reset=function(){Be.trace("user data reset!",{fileName:"UserData.hx",lineNumber:141,className:"UserData",methodName:"reset"}),Ce.container=new pe,Ce.container.version=0,Ce.container.client_id="0",Ce.container.date_created=Ce.container.date_modified=new Date,Ce.container.data=Ce.data=new me;for(var t=0,e=l.achievements;t=_)return Be.trace("loaded data is stale according to date_modified",{fileName:"UserData.hx",lineNumber:275,className:"UserData",methodName:"load"}),!1}return Ce.container=s,Ce.container.version=0,Ce.data=Ce.container.data=r,Ce.init(),!0},Ce.copy_fields_from_to=function(t,e,i){for(var s=0;s>> type mismatch for field "+n+" when copying from "+re.string(e.__name__)+" to "+re.string(i.__name__)+": src: "+re.string(o)+"; dst: "+re.string(a),{fileName:"UserData.hx",lineNumber:296,className:"UserData",methodName:"copy_fields_from_to"})}},Ce.copy_to_v0=function(t){var e=new me,i=de.getInstanceFields(me);return Ce.copy_fields_from_to(i,t,e),e},Ce.test_all=function(){Ce.test_v0(),Ce.test_type_corruption()},Ce.test_v0=function(){Be.trace("testing userdata v0",{fileName:"UserData.hx",lineNumber:344,className:"UserData",methodName:"test_v0"});var t=new pe;t.version=0,t.client_id=Ae.unique_id(32),t.date_created=new Date,t.data=new me,Ce.container=null,Ce.data=null;var e=Me.run(t),i=Ce.load(e);i?Be.trace("userdata v0 passed",{fileName:"UserData.hx",lineNumber:357,className:"UserData",methodName:"test_v0"}):Be.trace(">>> userdata v0 failed!",{fileName:"UserData.hx",lineNumber:359,className:"UserData",methodName:"test_v0"})},Ce.test_type_corruption=function(){Be.trace("testing userdata type corruption",{fileName:"UserData.hx",lineNumber:387,className:"UserData",methodName:"test_type_corruption"});var t=new pe;t.version=0,t.client_id=Ae.unique_id(32),t.date_created=new Date,t.data=new me;var e=de.getInstanceFields(me);Ce.copy_fields_from_to(e,Ce.data,t.data);for(var i=5,s=new De;i>0;){var n=e[Math.floor(e.length*Math.random())],r=new Se;t.data[n]=r,null!=aa[n]?s.setReserved(n,r):s.h[n]=r,i--}Ce.container=null,Ce.data=null;var o=Me.run(t),a=Ce.load(o);if(a){for(var l=0,_=s.keys();_.hasNext();){var u=_.next(),h=te.field(Ce,u);h==(null!=aa[u]?s.getReserved(u):s.h[u])&&(Be.trace(">>> corrupted field "+u+" was not fixed",{fileName:"UserData.hx",lineNumber:418,className:"UserData",methodName:"test_type_corruption"}),l++)}0==l?Be.trace("userdata type corruption passed",{fileName:"UserData.hx",lineNumber:423,className:"UserData",methodName:"test_type_corruption"}):Be.trace("userdata type corruption failed",{fileName:"UserData.hx",lineNumber:425,className:"UserData",methodName:"test_type_corruption"})}else Be.trace("userdata type corruption failed",{fileName:"UserData.hx",lineNumber:428,className:"UserData",methodName:"test_type_corruption"})};var Ae=function(){};r.Utils=Ae,Ae.__name__=["Utils"],Ae.diliate_point_to_viewport=function(t){return pr.MultiplyVector(t,V.core.screen.get_size())},Ae.unique_id=function(t){null==t&&(t=8);var e=Math.floor(We.stamp()),i=He.encode(re.string(e*Math.random()));return M.substr(i,0,t)},Ae.get_seconds_elapsed=function(t,e){return(e.getTime()-t.getTime())/1e3},Ae.schedule=function(t,e){V.timer.schedule(t,e)},Ae.next_frame=function(t){null!=t&&Wr.next_queue.push(t)},Ae.truncate_extension=function(t){return t.substring(0,t.lastIndexOf("."))},Ae.copy_color_by_value=function(t,e){return t.set(e.r,e.g,e.b,e.a)},Ae.copy_color_with_shift=function(t,e,i){return t.set(e.r+i,e.g+i,e.b+i,e.a)},Ae.set_color_alpha=function(t,e){return t.set(t.r*e,t.g*e,t.b*e,e)},Ae.copy_color_for_tile_outline=function(t,e){var i=m.tiles[e].surface_color,s=(new ns).rgb(i),n=.06;return 0==e&&(n=.08),Ae.copy_color_with_shift(t,s,n),t},Ae.sign=function(t){return t>=0?1:-1},Ae.get_font_overflow_scaling=function(t,e,i,s){return Math.min(s/t.width_of(e,i,null,null),1)},Ae.get_safe_point_size=function(t,e,i,s){return i*Ae.get_font_overflow_scaling(t,e,i,s)},Ae.scale_text_for_limit=function(t,e){t.set_point_size(Ae.get_safe_point_size(t.get_font(),t.get_text(),t.get_point_size(),e))},Ae.format_int=function(t){var e=J.get("digit_grouping"),i=e.charAt(0),s=re.parseInt(e.charAt(1));"s"==i&&(i=" "),"p"==i&&(i=".");var n;n=null==t?"null":""+t;var r=n.length;if(s>=r)return n;for(var o="",a=0;r>a;){var l=a++,_=n.charAt(l),u=r-l;l>0&&u%s==0&&(o+=i),o+=_}return o},Ae.scale_sprite_to_size=function(t,e,i){var s=t.size.x,n=t.size.y,r=e/s,o=i/n,a=Math.min(r,o);t.get_scale().set_xy(a,a)},Ae.set_quad_mask_frame=function(t,e){return d.await_texture(e,function(e){var i=e.texture,s=e.uv,n=t.vertices,r=i.width,o=i.height,a=s.x,l=s.y,_=s.w,u=s.h,h=n[0],g=n[1],c=n[2],I=n[3],d=n[4],p=n[5];h.normal.set_xy((a+0*_)/r,(l+0*u)/o),g.normal.set_xy((a+_)/r,(l+0*u)/o),c.normal.set_xy((a+_)/r,(l+u)/o),I.normal.set_xy((a+0*_)/r,(l+u)/o),d.normal.set_xy((a+0*_)/r,(l+0*u)/o),p.normal.set_xy((a+_)/r,(l+u)/o)})},Ae.ua_is_mobile=function(t){return null==t?!1:t.toLowerCase().indexOf("mobi")>=0},Ae.get_jpg_bytes_from_texture=function(t,e){var i=t.width_actual,s=t.height_actual,n=i*s,r=new _a(4*n);t.fetch(r,0,0,i,s);for(var o=new Je(new _a(r.buffer)),a=0;n>a;){var l=a++,_=4*l,u=o.b[_],h=o.b[_+1],g=o.b[_+2],c=o.b[_+3];o.b[_]=255&c,o.b[_+1]=255&u,o.b[_+2]=255&h,o.b[_+3]=255&g}var I=new ei,d=new U(I),p={width:i,height:s,quality:e,pixels:o};d.write(p);var m=I.getBytes();return I=null,m},Ae.save_bytes=function(t,e){var i=t.b.bufferValue,s=new Blob([i],{type:"image/jpeg"}),n=URL.createObjectURL(s),r=window.document,o=r.body,a=r.createElement("a");a.download=e,a.href=n,o.appendChild(a),a.click(),o.removeChild(a)};var fe=function(t){this.nodeType=t,this.children=[],this.attributeMap=new De};r.Xml=fe,fe.__name__=["Xml"],fe.parse=function(t){return ai.parse(t)},fe.createElement=function(t){var e=new fe(fe.Element);if(e.nodeType!=fe.Element)throw new li("Bad node type, expected Element but found "+e.nodeType);return e.nodeName=t,e},fe.createPCData=function(t){var e=new fe(fe.PCData);if(e.nodeType==fe.Document||e.nodeType==fe.Element)throw new li("Bad node type, unexpected "+e.nodeType);return e.nodeValue=t,e},fe.createCData=function(t){var e=new fe(fe.CData);if(e.nodeType==fe.Document||e.nodeType==fe.Element)throw new li("Bad node type, unexpected "+e.nodeType);return e.nodeValue=t,e},fe.createComment=function(t){var e=new fe(fe.Comment);if(e.nodeType==fe.Document||e.nodeType==fe.Element)throw new li("Bad node type, unexpected "+e.nodeType);return e.nodeValue=t,e},fe.createDocType=function(t){var e=new fe(fe.DocType);if(e.nodeType==fe.Document||e.nodeType==fe.Element)throw new li("Bad node type, unexpected "+e.nodeType);return e.nodeValue=t,e},fe.createProcessingInstruction=function(t){var e=new fe(fe.ProcessingInstruction);if(e.nodeType==fe.Document||e.nodeType==fe.Element)throw new li("Bad node type, unexpected "+e.nodeType);return e.nodeValue=t,e},fe.createDocument=function(){return new fe(fe.Document)},fe.prototype={nodeType:null,nodeName:null,nodeValue:null,parent:null,children:null,attributeMap:null,set:function(t,e){if(this.nodeType!=fe.Element)throw new li("Bad node type, expected Element but found "+this.nodeType);this.attributeMap.set(t,e)},exists:function(t){if(this.nodeType!=fe.Element)throw new li("Bad node type, expected Element but found "+this.nodeType);return this.attributeMap.exists(t)},addChild:function(t){if(this.nodeType!=fe.Document&&this.nodeType!=fe.Element)throw new li("Bad node type, expected Element or Document but found "+this.nodeType);null!=t.parent&&t.parent.removeChild(t),this.children.push(t),t.parent=this},removeChild:function(t){if(this.nodeType!=fe.Document&&this.nodeType!=fe.Element)throw new li("Bad node type, expected Element or Document but found "+this.nodeType);return M.remove(this.children,t)?(t.parent=null,!0):!1},__class__:fe};var ve=r["com.akifox.asynchttp._AsyncHttp.HttpTransferMode"]={__ename__:["com","akifox","asynchttp","_AsyncHttp","HttpTransferMode"],__constructs__:["UNDEFINED","FIXED","CHUNKED"]};ve.UNDEFINED=["UNDEFINED",0],ve.UNDEFINED.toString=o,ve.UNDEFINED.__enum__=ve,ve.FIXED=["FIXED",1],ve.FIXED.toString=o,ve.FIXED.__enum__=ve,ve.CHUNKED=["CHUNKED",2],ve.CHUNKED.toString=o,ve.CHUNKED.__enum__=ve,ve.__empty_constructs__=[ve.UNDEFINED,ve.FIXED,ve.CHUNKED];var ye=r["com.akifox.asynchttp.ContentKind"]={__ename__:["com","akifox","asynchttp","ContentKind"],__constructs__:["XML","JSON","IMAGE","TEXT","BYTES"]};ye.XML=["XML",0],ye.XML.toString=o,ye.XML.__enum__=ye,ye.JSON=["JSON",1],ye.JSON.toString=o,ye.JSON.__enum__=ye,ye.IMAGE=["IMAGE",2],ye.IMAGE.toString=o,ye.IMAGE.__enum__=ye,ye.TEXT=["TEXT",3],ye.TEXT.toString=o,ye.TEXT.__enum__=ye,ye.BYTES=["BYTES",4],ye.BYTES.toString=o,ye.BYTES.__enum__=ye,ye.__empty_constructs__=[ye.XML,ye.JSON,ye.IMAGE,ye.TEXT,ye.BYTES];var be=function(){};r["com.akifox.asynchttp.AsyncHttp"]=be,be.__name__=["com","akifox","asynchttp","AsyncHttp"],be.log=function(t,e){return null==e&&(e=""),be.logEnabled&&Be.trace(""+e+" INFO: "+t,{fileName:"AsyncHttp.hx",lineNumber:188,className:"com.akifox.asynchttp.AsyncHttp",methodName:"log"}),t},be.error=function(t,e,i){if(null==i&&(i=!1),null==e&&(e=""),be.logErrorEnabled&&Be.trace(""+e+" ERROR: "+t,{fileName:"AsyncHttp.hx",lineNumber:197,className:"com.akifox.asynchttp.AsyncHttp",methodName:"error"}),i)throw new li("AsyncHttp Error: "+t);return t},be.determineContentKind=function(t){for(var e=ye.BYTES,i=0,s=be.CONTENT_KIND_MATCHES;i "+a,t.get_fingerprint(),null),_=e.elapsedTime(i);e.callback(t,_,s,r,n,o,l)},a.onData=function(a){l||(n=200);var _=e.elapsedTime(i);o=Je.ofString(a),be.log("Response Complete "+n+" ("+_+" s)\n> "+t.get_method()+" "+re.string(t.get_url()),t.get_fingerprint()),e.callback(t,_,s,r,n,o,null)},a.onStatus=function(e){n=e,be.log("Response HTTP Status "+n,t.get_fingerprint()),l=!0},a.request(null!=t.get_content())}},elapsedTime:function(t){return re["int"](1e3*(We.stamp()-t))/1e3},randomUID:function(t){null==t&&(t=32);for(var e=be.UID_CHARS.length,i=new oe,s=0;t>s;){{s++}i.addChar(function(){var t,i=re.random(e);return t=M.cca(be.UID_CHARS,i)}(this))}return i.b},__class__:be};var we=function(t){if(this._finalised=!1,this._headers=new De,null!=t){Be.trace(de.getClassName(de.getClass(t)),{fileName:"HttpHeaders.hx",lineNumber:43,className:"com.akifox.asynchttp.HttpHeaders",methodName:"new"});var e=de.getClassName(de.getClass(t));switch(e){case"com.akifox.asynchttp.HttpHeaders":case"HttpHeaders":for(var i=_i.__cast(t,we).keys();i.hasNext();){var s=i.next();this.add(s,_i.__cast(t,we).get(s))}break;default:for(var n=0,r=te.fields(t);n=0?!1:!0},we.prototype={_headers:null,_finalised:null,get_finalised:function(){return this._finalised},toString:function(){return"[HttpHeaders <"+this._headers.toString()+">]"},clone:function(){return new we(this)},finalise:function(){this._finalised=!0},keys:function(){return this._headers.keys()},exists:function(t){return this._headers.exists(t)},get:function(t){return this._headers.exists(t)?this._headers.get(t):""},add:function(t,e){return this._finalised?(be.logErrorEnabled&&Be.trace(" ERROR: HttpHeaders.add() -> Can't add an header. This HttpHeaders object is immutable",{fileName:"AsyncHttp.hx",lineNumber:197,className:"com.akifox.asynchttp.AsyncHttp",methodName:"error"}),this):(this._headers.set(t,e),this)},remove:function(t){return null==t?this:this._finalised?(be.logErrorEnabled&&Be.trace(" ERROR: HttpHeaders.remove() -> Can't remove an header. This HttpHeaders object is immutable",{fileName:"AsyncHttp.hx",lineNumber:197,className:"com.akifox.asynchttp.AsyncHttp",methodName:"error"}),this):(this._headers.remove(t),this)},__class__:we,__properties__:{get_finalised:"get_finalised"}};var xe=function(){};r["com.akifox.asynchttp.HttpMethod"]=xe,xe.__name__=["com","akifox","asynchttp","HttpMethod"],xe.validate=function(t){return(null==t||-1==M.indexOf(xe.METHODS,t,0))&&(t="GET"),t};var ke=function(t){this._callbackProgress=null,this._callbackError=null,this._callback=null,this._contentIsBinary=!1,this._contentType="application/x-www-form-urlencoded",this._content=null,this._method="GET",this._url=null,this._http11=!0,this._async=!0,this._timeout=10,this._headers=new we,this._finalised=!1,this._fingerprint=(new be).randomUID(8),null!=t&&(null!=t.async&&this.set_async(t.async),null!=t.http11&&this.set_http11(t.http11),null!=t.url&&this.set_url(t.url),null!=t.callback&&this.set_callback(t.callback),null!=t.callbackProgress&&this.set_callbackProgress(t.callbackProgress),null!=t.callbackError&&this.set_callbackError(t.callbackError),null!=t.headers&&(this._headers=t.headers.clone()),null!=t.timeout&&this.set_timeout(t.timeout),null!=t.method&&this.set_method(t.method),null!=t.content&&this.set_content(t.content),null!=t.contentType&&this.set_contentType(t.contentType),null!=t.contentIsBinary&&this.set_contentIsBinary(t.contentIsBinary))};r["com.akifox.asynchttp.HttpRequest"]=ke,ke.__name__=["com","akifox","asynchttp","HttpRequest"],ke.prototype={_finalised:null,get_finalised:function(){return this._finalised},toString:function(){return"[HttpRequest <"+this._fingerprint+"> ("+this._method+" "+re.string(this._url)+")]"},clone:function(){return new ke({async:this._async,http11:this._http11,url:this._url,callback:this._callback,callbackProgress:this._callbackProgress,headers:this._headers,timeout:this._timeout,method:this._method,content:this._content,contentType:this._contentType,contentIsBinary:this._contentIsBinary})},finalise:function(){this._headers.finalise(),this._finalised=!0},send:function(){(new be).send(this)},_fingerprint:null,get_fingerprint:function(){return this._fingerprint},_headers:null,get_headers:function(){return this._headers},set_headers:function(t){if(this._finalised)throw be.logErrorEnabled&&Be.trace(""+this._fingerprint+" ERROR: HttpRequest.headers -> Can't modify a property when the instance is already sent",{fileName:"AsyncHttp.hx",lineNumber:197,className:"com.akifox.asynchttp.AsyncHttp",methodName:"error"}),new li("AsyncHttp Error: HttpRequest.headers -> Can't modify a property when the instance is already sent");return this._headers=t},_timeout:null,get_timeout:function(){return this._timeout},set_timeout:function(t){if(this._finalised)throw be.logErrorEnabled&&Be.trace(""+this._fingerprint+" ERROR: HttpRequest.timeout -> Can't modify a property when the instance is already sent",{fileName:"AsyncHttp.hx",lineNumber:197,className:"com.akifox.asynchttp.AsyncHttp",methodName:"error"}),new li("AsyncHttp Error: HttpRequest.timeout -> Can't modify a property when the instance is already sent");return 1>t&&(t=1),this._timeout=t},_async:null,get_async:function(){return this._async},set_async:function(t){if(this._finalised)throw be.logErrorEnabled&&Be.trace(""+this._fingerprint+" ERROR: HttpRequest.async -> Can't modify a property when the instance is already sent",{fileName:"AsyncHttp.hx",lineNumber:197,className:"com.akifox.asynchttp.AsyncHttp",methodName:"error"}),new li("AsyncHttp Error: HttpRequest.async -> Can't modify a property when the instance is already sent");return this._async=t},_http11:null,get_http11:function(){return this._http11},set_http11:function(t){if(this._finalised)throw be.logErrorEnabled&&Be.trace(""+this._fingerprint+" ERROR: HttpRequest.http11 -> Can't modify a property when the instance is already sent",{fileName:"AsyncHttp.hx",lineNumber:197,className:"com.akifox.asynchttp.AsyncHttp",methodName:"error"}),new li("AsyncHttp Error: HttpRequest.http11 -> Can't modify a property when the instance is already sent");return this._http11=t},_url:null,get_url:function(){return this._url},set_url:function(t){var e=null,i=de.getClassName(de.getClass(t));switch(i){case"String":e=new Ne(t);break;case"com.akifox.asynchttp.URL":case"URL":e=t.clone();break;default:throw be.logErrorEnabled&&Be.trace(""+this._fingerprint+" ERROR: HttpRequest.url -> Please specify an URL Object or a String",{fileName:"AsyncHttp.hx",lineNumber:197,className:"com.akifox.asynchttp.AsyncHttp",methodName:"error"}),new li("AsyncHttp Error: HttpRequest.url -> Please specify an URL Object or a String")}if(this._finalised)throw be.logErrorEnabled&&Be.trace(""+this._fingerprint+" ERROR: HttpRequest.url -> Can't modify a property when the instance is already sent",{fileName:"AsyncHttp.hx",lineNumber:197,className:"com.akifox.asynchttp.AsyncHttp",methodName:"error"}),new li("AsyncHttp Error: HttpRequest.url -> Can't modify a property when the instance is already sent");return this._url=e},_method:null,get_method:function(){return this._method},set_method:function(t){if(this._finalised)throw be.logErrorEnabled&&Be.trace(""+this._fingerprint+" ERROR: HttpRequest.method -> Can't modify a property when the instance is already sent",{fileName:"AsyncHttp.hx",lineNumber:197,className:"com.akifox.asynchttp.AsyncHttp",methodName:"error"}),new li("AsyncHttp Error: HttpRequest.method -> Can't modify a property when the instance is already sent");return t=xe.validate(t),this._method=t},_content:null,get_content:function(){return this._content},set_content:function(t){if(this._finalised)throw be.logErrorEnabled&&Be.trace(""+this._fingerprint+" ERROR: HttpRequest.content -> Can't modify a property when the instance is already sent",{fileName:"AsyncHttp.hx",lineNumber:197,className:"com.akifox.asynchttp.AsyncHttp",methodName:"error"}),new li("AsyncHttp Error: HttpRequest.content -> Can't modify a property when the instance is already sent");return this._content=t},_contentType:null,get_contentType:function(){return this._contentType},set_contentType:function(t){if(this._finalised)throw be.logErrorEnabled&&Be.trace(""+this._fingerprint+" ERROR: HttpRequest.contentType -> Can't modify a property when the instance is already sent",{fileName:"AsyncHttp.hx",lineNumber:197,className:"com.akifox.asynchttp.AsyncHttp",methodName:"error"}),new li("AsyncHttp Error: HttpRequest.contentType -> Can't modify a property when the instance is already sent");return null==t&&(t="application/x-www-form-urlencoded"),this._contentIsBinary=be.determineIsBinary(be.determineContentKind(t)),this._contentType=t},_contentIsBinary:null,get_contentIsBinary:function(){return this._contentIsBinary},set_contentIsBinary:function(t){if(this._finalised)throw be.logErrorEnabled&&Be.trace(""+this._fingerprint+" ERROR: HttpRequest.contentIsBinary -> Can't modify a property when the instance is already sent",{fileName:"AsyncHttp.hx",lineNumber:197,className:"com.akifox.asynchttp.AsyncHttp",methodName:"error"}),new li("AsyncHttp Error: HttpRequest.contentIsBinary -> Can't modify a property when the instance is already sent");return this._contentIsBinary=t},_callback:null,get_callback:function(){return this._callback},set_callback:function(t){if(this._finalised)throw be.logErrorEnabled&&Be.trace(""+this._fingerprint+" ERROR: HttpRequest.callback -> Can't modify a property when the instance is already sent",{fileName:"AsyncHttp.hx",lineNumber:197,className:"com.akifox.asynchttp.AsyncHttp",methodName:"error"}),new li("AsyncHttp Error: HttpRequest.callback -> Can't modify a property when the instance is already sent");return this._callback=t},_callbackError:null,get_callbackError:function(){return this._callbackError},set_callbackError:function(t){if(this._finalised)throw be.logErrorEnabled&&Be.trace(""+this._fingerprint+" ERROR: HttpRequest.callbackError -> Can't modify a property when the instance is already sent",{fileName:"AsyncHttp.hx",lineNumber:197,className:"com.akifox.asynchttp.AsyncHttp",methodName:"error"}),new li("AsyncHttp Error: HttpRequest.callbackError -> Can't modify a property when the instance is already sent");return this._callbackError=t},_callbackProgress:null,get_callbackProgress:function(){return this._callbackProgress},set_callbackProgress:function(t){if(this._finalised)throw be.logErrorEnabled&&Be.trace(""+this._fingerprint+" ERROR: HttpRequest.callbackProgress -> Can't modify a property when the instance is already sent",{fileName:"AsyncHttp.hx",lineNumber:197,className:"com.akifox.asynchttp.AsyncHttp",methodName:"error"}),new li("AsyncHttp Error: HttpRequest.callbackProgress -> Can't modify a property when the instance is already sent");return this._callbackProgress=t},__class__:ke,__properties__:{set_callbackProgress:"set_callbackProgress",get_callbackProgress:"get_callbackProgress",set_callbackError:"set_callbackError",get_callbackError:"get_callbackError",set_callback:"set_callback",get_callback:"get_callback",set_contentIsBinary:"set_contentIsBinary",get_contentIsBinary:"get_contentIsBinary",set_contentType:"set_contentType",get_contentType:"get_contentType",set_content:"set_content",get_content:"get_content",set_method:"set_method",get_method:"get_method",set_url:"set_url",get_url:"get_url",set_http11:"set_http11",get_http11:"get_http11",set_async:"set_async",get_async:"get_async",set_timeout:"set_timeout",get_timeout:"get_timeout",get_headers:"get_headers",get_fingerprint:"get_fingerprint",get_finalised:"get_finalised"}};var Ze=function(){};r["haxe.IMap"]=Ze,Ze.__name__=["haxe","IMap"],Ze.prototype={get:null,set:null,exists:null,remove:null,__class__:Ze};var Se=function(){this.h={}};r["haxe.ds.IntMap"]=Se,Se.__name__=["haxe","ds","IntMap"],Se.__interfaces__=[Ze],Se.prototype={h:null,set:function(t,e){this.h[t]=e},get:function(t){return this.h[t]},exists:function(t){return this.h.hasOwnProperty(t)},remove:function(t){return this.h.hasOwnProperty(t)?(delete this.h[t],!0):!1},keys:function(){var t=[];for(var e in this.h)this.h.hasOwnProperty(e)&&t.push(0|e);return M.iter(t)},__class__:Se};var ze=function(t,e,i,s,n,r,o){this._error=null,this._filename=null,this._request=t,this._time=e,this._url=i,this._status=n,this._isOK=this._status>=200&&this._status<400,this._headers=s,this._error=o,this._isOK||0==this._status||(this._error=ze._httpStatus.h[this._status]),this._contentType=this._headers.exists("content-type")?this._headers.get("content-type"):"text/plain",this._contentKind=be.determineContentKind(this._contentType),this._contentIsBinary=be.determineIsBinary(this._contentKind),this._contentRaw=r,this._content=this._contentIsBinary?this._contentRaw:this.toText(),this._contentLength=0,this._headers.exists("content-length")?this._contentLength=re.parseInt(this._headers.get("content-length")):null!=r&&(this._contentLength=this._content.length)};r["com.akifox.asynchttp.HttpResponse"]=ze,ze.__name__=["com","akifox","asynchttp","HttpResponse"],ze.prototype={toString:function(){return"[HttpResponse <"+this._request.get_fingerprint()+"> (isOK="+re.string(this._isOK)+", status="+this._status+", length="+this._contentLength+" bytes in "+this._time+" sec), error="+this._error+"]"},get_isBinary:function(){return this._contentIsBinary},get_isText:function(){return!this._contentIsBinary},get_isXml:function(){return this._contentKind==ye.XML},get_isJson:function(){return this._contentKind==ye.JSON},get_isImage:function(){return this._contentKind==ye.IMAGE},toXml:function(){var t=null;try{t=fe.parse(this.toText())}catch(e){Ge.lastException=e,e instanceof li&&(e=e.val),be.error("HttpResponse.toXml() -> "+re.string(e),this._request.get_fingerprint(),null)}return t},toJson:function(){var t=null;try{t=JSON.parse(this.toText())}catch(e){Ge.lastException=e,e instanceof li&&(e=e.val),be.error("HttpResponse.toJson() -> "+re.string(e),this._request.get_fingerprint(),null)}return t},toText:function(){var t=null;try{t=re.string(this._contentRaw)}catch(e){Ge.lastException=e,e instanceof li&&(e=e.val),be.error("HttpResponse.toText() -> "+re.string(e),this._request.get_fingerprint(),null)}return t},_contentKind:null,_request:null,get_request:function(){return this._request},get_fingerprint:function(){return this._request.get_fingerprint()},_url:null,get_url:function(){return this._url},get_urlString:function(){return this._url.toString()},_headers:null,get_headers:function(){return this._headers},_status:null,get_status:function(){return this._status},_content:null,get_content:function(){return this._content},_contentRaw:null,get_contentRaw:function(){return this._contentRaw},_contentType:null,get_contentType:function(){return this._contentType},_contentIsBinary:null,get_contentIsBinary:function(){return this._contentIsBinary},_contentLength:null,get_contentLength:function(){return this._contentLength},_time:null,get_time:function(){return this._time},_filename:null,get_filename:function(){if(null==this._filename){var t="",e=new S("([^?/]*)($|\\?.*)","");e.match(this._url.toString())&&(t=e.matched(1)),""==t&&(t="unknown"),this._filename=t}return this._filename},_isOK:null,get_isOK:function(){return this._isOK},_error:null,get_error:function(){return this._error},__class__:ze,__properties__:{get_error:"get_error",get_isOK:"get_isOK",get_filename:"get_filename",get_time:"get_time",get_contentLength:"get_contentLength",get_contentIsBinary:"get_contentIsBinary",get_contentType:"get_contentType",get_contentRaw:"get_contentRaw",get_content:"get_content",get_status:"get_status",get_headers:"get_headers",get_urlString:"get_urlString",get_url:"get_url",get_fingerprint:"get_fingerprint",get_request:"get_request",get_isImage:"get_isImage",get_isJson:"get_isJson",get_isXml:"get_isXml",get_isText:"get_isText",get_isBinary:"get_isBinary"}};var Ne=function(t){if(this._querystring="",this._resource="",this._port="",this._host="",this._protocol="",this.regexURL=new S("^([a-z]+:|)(//[^/\\?:]+|)(:\\d+|)([^\\?]*|)(\\?.*|)","i"),this._urlString=t,this.regexURL.match(t)){var e=this.regexURL.matched(1);this._protocol=M.substr(e,0,-1),null==this._protocol&&(this._protocol="");var i=this.regexURL.matched(2);this._host=M.substr(i,2,null),null==this._host&&(this._host=""),this._port=this.regexURL.matched(3),null==this._port&&(this._port=""),this._resource=this.regexURL.matched(4),null==this._resource&&(this._resource=""),this._querystring=this.regexURL.matched(5),null==this._querystring&&(this._querystring="")}};r["com.akifox.asynchttp.URL"]=Ne,Ne.__name__=["com","akifox","asynchttp","URL"],Ne.prototype={regexURL:null,_urlString:null,_protocol:null,_host:null,_port:null,_resource:null,_querystring:null,toString:function(){return""+this.get_protocol()+this._host+this._port+this._resource+this._querystring},clone:function(){return new Ne(this.toString())},merge:function(t){return""==this._protocol&&(this._protocol=t._protocol),""==this._host&&(this._host=t._host),""==this._port&&(this._port=t._port),this._resource=this.mergeResources(this._resource,t._resource),this},mergeResources:function(t,e){null==e&&(e="");var i,s;"/"==M.substr(t,0,1)?s=t.split("/"):(s=e.split("/"),s.pop(),s=s.concat(t.split("/")));var n=!1;do for(var r=s.length,o=0;;){if(".."==s[o]){o>0?s.splice(o-1,2):s.shift();break}if(o++,o>=r){n=!0;break}}while(!n);return i=s.join("/"),"/"!=M.substr(i,0,1)&&(i="/"+i),i},get_isSsl:function(){return"https"==this._protocol},get_isHttp:function(){return"http"==M.substr(this._protocol,0,4)},get_isRelative:function(){return""==this._protocol||""==this._host},get_protocol:function(){return""!=this._protocol?""+this._protocol+"://":""},get_port:function(){return""==this._port?this.get_isHttp()&&!this.get_isSsl()?80:this.get_isHttp()&&this.get_isSsl()?443:0:re.parseInt(M.substr(this._port,1,null))},get_host:function(){return this._host},get_resource:function(){return""==this._resource?"/":this._resource},get_querystring:function(){return this._querystring},__class__:Ne,__properties__:{get_querystring:"get_querystring",get_resource:"get_resource",get_host:"get_host",get_port:"get_port",get_protocol:"get_protocol",get_isRelative:"get_isRelative",get_isHttp:"get_isHttp",get_isSsl:"get_isSsl"}};var Oe=r["haxe.StackItem"]={__ename__:["haxe","StackItem"],__constructs__:["CFunction","Module","FilePos","Method","LocalFunction"]};Oe.CFunction=["CFunction",0],Oe.CFunction.toString=o,Oe.CFunction.__enum__=Oe,Oe.Module=function(t){var e=["Module",1,t];return e.__enum__=Oe,e.toString=o,e},Oe.FilePos=function(t,e,i){var s=["FilePos",2,t,e,i];return s.__enum__=Oe,s.toString=o,s},Oe.Method=function(t,e){var i=["Method",3,t,e];return i.__enum__=Oe,i.toString=o,i},Oe.LocalFunction=function(t){var e=["LocalFunction",4,t];return e.__enum__=Oe,e.toString=o,e},Oe.__empty_constructs__=[Oe.CFunction];var Ge=function(){};r["haxe.CallStack"]=Ge,Ge.__name__=["haxe","CallStack"],Ge.getStack=function(t){if(null==t)return[];var e=Error.prepareStackTrace;Error.prepareStackTrace=function(t,e){for(var i=[],s=0;s=0){var l=M.substr(o,0,a),_=M.substr(o,a+1,null);r=Oe.Method(l,_)}}i.push(Oe.FilePos(r,n.getFileName(),n.getLineNumber()))}return i};var i=Ge.makeStack(t.stack);return Error.prepareStackTrace=e,i},Ge.callStack=function(){try{throw new Error}catch(t){Ge.lastException=t,t instanceof li&&(t=t.val);var e=Ge.getStack(t);return e.shift(),e}},Ge.exceptionStack=function(){return Ge.getStack(Ge.lastException)},Ge.toString=function(t){for(var e=new oe,i=0;i=200&&400>t)e.req=null,e.onData(e.responseData=i.responseText);else if(null==t)e.req=null,e.onError("Failed to connect or resolve host");else switch(t){case 12029:e.req=null,e.onError("Failed to connect to host");break;case 12007:e.req=null,e.onError("Unknown host");break;default:e.req=null,e.responseData=i.responseText,e.onError("Http Error #"+i.status)}}};this.async&&(i.onreadystatechange=s);var n=this.postData;if(null!=n)t=!0;else for(var r=this.params.h,o=null;null!=r;){var a;a=function(){var t;return o=r[0],r=r[1],t=o}(this),null==n?n="":n+="&",n+=encodeURIComponent(a.param)+"="+encodeURIComponent(a.value)}try{if(t)i.open("POST",this.url,this.async);else if(null!=n){var l=this.url.split("?").length<=1;i.open("GET",this.url+(l?"?":"&")+n,this.async),n=null}else i.open("GET",this.url,this.async)}catch(_){return Ge.lastException=_,_ instanceof li&&(_=_.val),e.req=null,void this.onError(_.toString())}!W.exists(this.headers,function(t){return"Content-Type"==t.header})&&t&&null==this.postData&&i.setRequestHeader("Content-Type","application/x-www-form-urlencoded");for(var u=this.headers.h,h=null;null!=u;){var g;g=function(){var t;return h=u[0],u=u[1],t=h}(this),i.setRequestHeader(g.header,g.value)}i.send(n),this.async||s(null)},onData:function(){},onError:function(){},onStatus:function(){},__class__:Re};var Ee=function(t,e){this.high=t,this.low=e};r["haxe._Int64.___Int64"]=Ee,Ee.__name__=["haxe","_Int64","___Int64"],Ee.prototype={high:null,low:null,__class__:Ee};var Be=function(){};r["haxe.Log"]=Be,Be.__name__=["haxe","Log"],Be.trace=function(t,e){_i.__trace(t,e)};var je=function(){};r["haxe.Resource"]=je,je.__name__=["haxe","Resource"],je.getString=function(t){for(var e=0,i=je.content;ei;){var n=i++,r=this.cache[n];if(typeof r==e&&r==t)return this.buf.b+="r",this.buf.b+=null==n?"null":""+n,!0}return this.cache.push(t),!1},serializeFields:function(t){for(var e=0,i=te.fields(t);es?"m":"p";break;case 3:this.buf.b+=t?"t":"f";break;case 6:var n=e[2];if(n==String)return void this.serializeString(t);if(this.useCache&&this.serializeRef(t))return;switch(n){case Array:var r=0;this.buf.b+="a";for(var o=t.length,a=0;o>a;){var l=a++;null==t[l]?r++:(r>0&&(1==r?this.buf.b+="n":(this.buf.b+="u",this.buf.b+=null==r?"null":""+r),r=0),this.serialize(t[l]))}r>0&&(1==r?this.buf.b+="n":(this.buf.b+="u",this.buf.b+=null==r?"null":""+r)),this.buf.b+="h";break;case L:this.buf.b+="l";for(var _=t,u=_.h,h=null;null!=u;){var g;h=u[0],u=u[1],g=h,this.serialize(g)}this.buf.b+="h";break;case Date:var c=t;this.buf.b+="v",this.buf.add(c.getTime());break;case De:this.buf.b+="b";for(var I=t,d=I.keys();d.hasNext();){var p=d.next();this.serializeString(p),this.serialize(null!=aa[p]?I.getReserved(p):I.h[p])}this.buf.b+="h";break;case Se:this.buf.b+="q";for(var m=t,C=m.keys();C.hasNext();){var A=C.next();this.buf.b+=":",this.buf.b+=null==A?"null":""+A,this.serialize(m.h[A])}this.buf.b+="h";break;case Ue:this.buf.b+="M";for(var f=t,v=f.keys();v.hasNext();){var y=v.next(),b=te.field(y,"__id__");te.deleteField(y,"__id__"),this.serialize(y),y.__id__=b,this.serialize(f.h[y.__id__])}this.buf.b+="h";break;case Je:for(var w=t,x=0,k=w.length-2,Z=new oe,S=Me.BASE64;k>x;){var z=w.get(x++),N=w.get(x++),O=w.get(x++);Z.add(S.charAt(z>>2)),Z.add(S.charAt(63&(z<<4|N>>4))),Z.add(S.charAt(63&(N<<2|O>>6))),Z.add(S.charAt(63&O))}if(x==k){var G=w.get(x++),R=w.get(x++);Z.add(S.charAt(G>>2)),Z.add(S.charAt(63&(G<<4|R>>4))),Z.add(S.charAt(R<<2&63))}else if(x==k+1){var E=w.get(x++);Z.add(S.charAt(E>>2)),Z.add(S.charAt(E<<4&63))}var B=Z.b;this.buf.b+="s",this.buf.b+=null==B.length?"null":""+B.length,this.buf.b+=":",this.buf.b+=null==B?"null":""+B;break;default:this.useCache&&this.cache.pop(),null!=t.hxSerialize?(this.buf.b+="C",this.serializeString(de.getClassName(n)),this.useCache&&this.cache.push(t),t.hxSerialize(this),this.buf.b+="g"):(this.buf.b+="c",this.serializeString(de.getClassName(n)),this.useCache&&this.cache.push(t),this.serializeFields(t))}break;case 4:if(_i.__instanceof(t,ra)){var j=de.getClassName(t);this.buf.b+="A",this.serializeString(j)}else if(_i.__instanceof(t,oa))this.buf.b+="B",this.serializeString(de.getEnumName(t));else{if(this.useCache&&this.serializeRef(t))return;this.buf.b+="o",this.serializeFields(t)}break;case 7:var M=e[2];if(this.useCache){if(this.serializeRef(t))return;this.cache.pop()}this.buf.b+=this.useEnumIndex?"j":"w",this.serializeString(de.getEnumName(M)),this.useEnumIndex?(this.buf.b+=":",this.buf.b+=re.string(t[1])):this.serializeString(t[0]),this.buf.b+=":";var W=t.length;this.buf.b+=re.string(W-2);for(var T=2;W>T;){var J=T++;this.serialize(t[J])}this.useCache&&this.cache.push(t);break;case 5:throw new li("Cannot serialize function");default:throw new li("Cannot serialize "+re.string(t))}},__class__:Me};var We=function(){};r["haxe.Timer"]=We,We.__name__=["haxe","Timer"],We.stamp=function(){return(new Date).getTime()/1e3};var Le=function(t){this.buf=t,this.length=t.length,this.pos=0,this.scache=[],this.cache=[];var e=Le.DEFAULT_RESOLVER;null==e&&(e=de,Le.DEFAULT_RESOLVER=e),this.setResolver(e)};r["haxe.Unserializer"]=Le,Le.__name__=["haxe","Unserializer"],Le.initCodes=function(){for(var t=[],e=0,i=Le.BASE64.length;i>e;){var s=e++;t[Le.BASE64.charCodeAt(s)]=s}return t},Le.run=function(t){return new Le(t).unserialize()},Le.prototype={buf:null,pos:null,length:null,cache:null,scache:null,resolver:null,setResolver:function(t){this.resolver=null==t?{resolveClass:function(){return null},resolveEnum:function(){return null}}:t},get:function(t){return this.buf.charCodeAt(t)},readDigits:function(){for(var t=0,e=!1,i=this.pos;;){var s=this.buf.charCodeAt(this.pos);if(s!=s)break;if(45!=s){if(48>s||s>57)break;t=10*t+(s-48),this.pos++}else{if(this.pos!=i)break;e=!0,this.pos++}}return e&&(t*=-1),t},readFloat:function(){for(var t=this.pos;;){var e=this.buf.charCodeAt(this.pos);if(!(e>=43&&58>e||101==e||69==e))break;this.pos++}return re.parseFloat(M.substr(this.buf,t,this.pos-t))},unserializeObject:function(t){for(;;){if(this.pos>=this.length)throw new li("Invalid object");if(103==this.buf.charCodeAt(this.pos))break;var e=this.unserialize();if("string"!=typeof e)throw new li("Invalid object key");var i=this.unserialize();t[e]=i}this.pos++},unserializeEnum:function(t,e){if(58!=this.get(this.pos++))throw new li("Invalid enum format");var i=this.readDigits();if(0==i)return de.createEnum(t,e);for(var s=[];i-->0;)s.push(this.unserialize());return de.createEnum(t,e,s)},unserialize:function(){var t=this.get(this.pos++);switch(t){case 110:return null;case 116:return!0;case 102:return!1;case 122:return 0;case 105:return this.readDigits();case 100:return this.readFloat();case 121:var e=this.readDigits();if(58!=this.get(this.pos++)||this.length-this.posa||a>=this.cache.length)throw new li("Invalid reference");return this.cache[a];case 82:var l=this.readDigits();if(0>l||l>=this.scache.length)throw new li("Invalid string reference");return this.scache[l];case 120:throw new li(this.unserialize());case 99:var _=this.unserialize(),u=this.resolver.resolveClass(_);if(null==u)throw new li("Class not found "+_);var h=de.createEmptyInstance(u);return this.cache.push(h),this.unserializeObject(h),h;case 119:var g=this.unserialize(),c=this.resolver.resolveEnum(g);if(null==c)throw new li("Enum not found "+g);var I=this.unserializeEnum(c,this.unserialize());return this.cache.push(I),I;case 106:var d=this.unserialize(),p=this.resolver.resolveEnum(d);if(null==p)throw new li("Enum not found "+d);this.pos++;var m=this.readDigits(),C=de.getEnumConstructs(p)[m];if(null==C)throw new li("Unknown enum index "+d+"@"+m);var A=this.unserializeEnum(p,C);return this.cache.push(A),A;case 108:var f=new L;this.cache.push(f);for(this.buf;104!=this.buf.charCodeAt(this.pos);)f.add(this.unserialize());return this.pos++,f;case 98:var v=new De;this.cache.push(v);for(this.buf;104!=this.buf.charCodeAt(this.pos);){var y=this.unserialize();v.set(y,this.unserialize())}return this.pos++,v;case 113:var b=new Se;this.cache.push(b);for(var w=(this.buf,this.get(this.pos++));58==w;){var x=this.readDigits();b.set(x,this.unserialize()),w=this.get(this.pos++)}if(104!=w)throw new li("Invalid IntMap format");return b;case 77:var k=new Ue;this.cache.push(k);for(this.buf;104!=this.buf.charCodeAt(this.pos);){var Z=this.unserialize();k.set(Z,this.unserialize())}return this.pos++,k;case 118:var S;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)){var z=M.substr(this.buf,this.pos,19);S=M.strDate(z),this.pos+=19}else{var N=this.readFloat(),O=new Date;O.setTime(N),S=O}return this.cache.push(S),S;case 115:var G=this.readDigits(),R=this.buf;if(58!=this.get(this.pos++)||this.length-this.pos>2)+(W>=2?W-1:0);for(var T=j+(G-W),J=Je.alloc(B),V=0;T>j;){var F=E[ae.fastCodeAt(R,j++)],H=E[ae.fastCodeAt(R,j++)];J.set(V++,F<<2|H>>4);var X=E[ae.fastCodeAt(R,j++)];J.set(V++,H<<4|X>>2);var Y=E[ae.fastCodeAt(R,j++)];J.set(V++,X<<6|Y)}if(W>=2){var K=E[ae.fastCodeAt(R,j++)],U=E[ae.fastCodeAt(R,j++)];if(J.set(V++,K<<2|U>>4),3==W){var P=E[ae.fastCodeAt(R,j++)];J.set(V++,U<<4|P>>2)}}return this.pos+=G,this.cache.push(J),J;case 67:var D=this.unserialize(),Q=this.resolver.resolveClass(D);if(null==Q)throw new li("Class not found "+D);var q=de.createEmptyInstance(Q);if(this.cache.push(q),q.hxUnserialize(this),103!=this.get(this.pos++))throw new li("Invalid custom data");return q;case 65:var $=this.unserialize(),te=this.resolver.resolveClass($);if(null==te)throw new li("Class not found "+$);return te;case 66:var ee=this.unserialize(),ie=this.resolver.resolveEnum(ee);if(null==ie)throw new li("Enum not found "+ee);return ie}throw this.pos--,new li("Invalid char "+this.buf.charAt(this.pos)+" at position "+this.pos)},__class__:Le};var Te=function(){this.__b=""};r["haxe.Utf8"]=Te,Te.__name__=["haxe","Utf8"],Te.prototype={__b:null,__class__:Te};var Je=function(t){this.length=t.byteLength,this.b=new _a(t),this.b.bufferValue=t,t.hxBytes=this,t.bytes=this.b};r["haxe.io.Bytes"]=Je,Je.__name__=["haxe","io","Bytes"],Je.alloc=function(t){return new Je(new la(t))},Je.ofString=function(t){for(var e=[],i=0;i=55296&&56319>=s&&(s=s-55232<<10|1023&ae.fastCodeAt(t,i++)),127>=s?e.push(s):2047>=s?(e.push(192|s>>6),e.push(128|63&s)):65535>=s?(e.push(224|s>>12),e.push(128|s>>6&63),e.push(128|63&s)):(e.push(240|s>>18),e.push(128|s>>12&63),e.push(128|s>>6&63),e.push(128|63&s))}return new Je(new _a(e).buffer)},Je.prototype={length:null,b:null,get:function(t){return this.b[t]},set:function(t,e){this.b[t]=255&e},getString:function(t,e){if(0>t||0>e||t+e>this.length)throw new li(si.OutsideBounds);for(var i="",s=this.b,n=String.fromCharCode,r=t,o=t+e;o>r;){var a=s[r++];if(128>a){if(0==a)break;i+=n(a)}else if(224>a)i+=n((63&a)<<6|127&s[r++]);else if(240>a){var l=s[r++];i+=n((31&a)<<12|(127&l)<<6|127&s[r++])}else{var _=s[r++],u=s[r++],h=(15&a)<<18|(127&_)<<12|(127&u)<<6|127&s[r++];i+=n((h>>10)+55232),i+=n(1023&h|56320)}}return i},toString:function(){return this.getString(0,this.length)},__class__:Je};var Ve=function(){};r["haxe.crypto.Base64"]=Ve,Ve.__name__=["haxe","crypto","Base64"],Ve.decode=function(t,e){if(null==e&&(e=!0),e)for(;61==M.cca(t,t.length-1);)t=M.substr(t,0,-1);return new Fe(Ve.BYTES).decodeBytes(Je.ofString(t))};var Fe=function(t){for(var e=t.length,i=1;e>1<8||e!=1<e;){var i=e++;t[i]=-1}for(var s=0,n=this.base.length;n>s;){var r=s++;t[this.base.b[r]]=r}this.tbl=t},decodeBytes:function(t){{var e=this.nbits;this.base}null==this.tbl&&this.initTable();for(var i=this.tbl,s=t.length*e>>3,n=Je.alloc(s),r=0,o=0,a=0,l=0;s>l;){for(;8>o;){o+=e,r<<=e;var _=i[t.get(a++)];if(-1==_)throw new li("BaseCode : invalid encoded char");r|=_}o-=8,n.set(l++,r>>o&255)}return n},__class__:Fe};var He=function(){};r["haxe.crypto.Md5"]=He,He.__name__=["haxe","crypto","Md5"],He.encode=function(t){var e=new He,i=e.doEncode(He.str2blks(t));return e.hex(i)},He.str2blks=function(t){for(var e=(t.length+8>>6)+1,i=[],s=16*e,n=0;s>n;){var r=n++;i[r]=0}for(var o=0;o>2]|=M.cca(t,o)<<(8*t.length+o)%4*8,o++;i[o>>2]|=128<<(8*t.length+o)%4*8;var a=8*t.length,l=16*e-2;return i[l]=255&a,i[l]|=(a>>>8&255)<<8,i[l]|=(a>>>16&255)<<16,i[l]|=(a>>>24&255)<<24,i},He.prototype={bitOR:function(t,e){var i=1&t|1&e,s=t>>>1|e>>>1;return s<<1|i},bitXOR:function(t,e){var i=1&t^1&e,s=t>>>1^e>>>1;return s<<1|i},bitAND:function(t,e){var i=1&t&(1&e),s=t>>>1&e>>>1;return s<<1|i},addme:function(t,e){var i=(65535&t)+(65535&e),s=(t>>16)+(e>>16)+(i>>16);return s<<16|65535&i},hex:function(t){for(var e="",i="0123456789abcdef",s=0;sr;){var o=r++;e+=i.charAt(n>>8*o+4&15)+i.charAt(n>>8*o&15)}}return e},rol:function(t,e){return t<>>32-e},cmn:function(t,e,i,s,n,r){return this.addme(this.rol(this.addme(this.addme(e,t),this.addme(s,r)),n),i)},ff:function(t,e,i,s,n,r,o){return this.cmn(this.bitOR(this.bitAND(e,i),this.bitAND(~e,s)),t,e,n,r,o)},gg:function(t,e,i,s,n,r,o){return this.cmn(this.bitOR(this.bitAND(e,s),this.bitAND(i,~s)),t,e,n,r,o)},hh:function(t,e,i,s,n,r,o){return this.cmn(this.bitXOR(this.bitXOR(e,i),s),t,e,n,r,o)},ii:function(t,e,i,s,n,r,o){return this.cmn(this.bitXOR(i,this.bitOR(e,~s)),t,e,n,r,o)},doEncode:function(t){for(var e,i=1732584193,s=-271733879,n=-1732584194,r=271733878,o=0;oi?e.left:e.right}return null},remove:function(t){try{return this.root=this.removeLoop(t,this.root),!0}catch(e){if(Ge.lastException=e,e instanceof li&&(e=e.val),_i.__instanceof(e,String))return!1;throw e}},exists:function(t){for(var e=this.root;null!=e;){var i=this.compare(t,e.key);if(0==i)return!0;e=0>i?e.left:e.right}return!1},iterator:function(){var t=[];return this.iteratorLoop(this.root,t),M.iter(t)},keys:function(){var t=[];return this.keysLoop(this.root,t),M.iter(t)},setLoop:function(t,e,i){if(null==i)return new Ye(null,t,e,null);var s=this.compare(t,i.key);if(0==s)return new Ye(i.left,t,e,i.right,null==i?0:i._height);if(0>s){var n=this.setLoop(t,e,i.left);return this.balance(n,i.key,i.value,i.right)}var r=this.setLoop(t,e,i.right);return this.balance(i.left,i.key,i.value,r)},removeLoop:function(t,e){if(null==e)throw new li("Not_found");var i=this.compare(t,e.key);return 0==i?this.merge(e.left,e.right):0>i?this.balance(this.removeLoop(t,e.left),e.key,e.value,e.right):this.balance(e.left,e.key,e.value,this.removeLoop(t,e.right))},iteratorLoop:function(t,e){null!=t&&(this.iteratorLoop(t.left,e),e.push(t.value),this.iteratorLoop(t.right,e))},keysLoop:function(t,e){null!=t&&(this.keysLoop(t.left,e),e.push(t.key),this.keysLoop(t.right,e))},merge:function(t,e){if(null==t)return e;if(null==e)return t;var i=this.minBinding(e);return this.balance(t,i.key,i.value,this.removeMinBinding(e))},minBinding:function(t){if(null==t)throw new li("Not_found");return null==t.left?t:this.minBinding(t.left)},removeMinBinding:function(t){return null==t.left?t.right:this.balance(this.removeMinBinding(t.left),t.key,t.value,t.right)},balance:function(t,e,i,s){var n;n=null==t?0:t._height;var r;return r=null==s?0:s._height,n>r+2?function(){var e,i=t.left;return e=null==i?0:i._height}(this)>=function(){var e,i=t.right;return e=null==i?0:i._height}(this)?new Ye(t.left,t.key,t.value,new Ye(t.right,e,i,s)):new Ye(new Ye(t.left,t.key,t.value,t.right.left),t.right.key,t.right.value,new Ye(t.right.right,e,i,s)):r>n+2?function(){var t,e=s.right;return t=null==e?0:e._height}(this)>function(){var t,e=s.left;return t=null==e?0:e._height}(this)?new Ye(new Ye(t,e,i,s.left),s.key,s.value,s.right):new Ye(new Ye(t,e,i,s.left.left),s.left.key,s.left.value,new Ye(s.left.right,s.key,s.value,s.right)):new Ye(t,e,i,s,(n>r?n:r)+1)},compare:function(t,e){return te.compare(t,e)},__class__:Xe};var Ye=function(t,e,i,s,n){null==n&&(n=-1),this.left=t,this.key=e,this.value=i,this.right=s,this._height=-1==n?(function(t){var e,i=t.left;return e=null==i?0:i._height}(this)>function(t){var e,i=t.right;return e=null==i?0:i._height}(this)?function(t){var e,i=t.left;return e=null==i?0:i._height}(this):function(t){var e,i=t.right;return e=null==i?0:i._height}(this))+1:n};r["haxe.ds.TreeNode"]=Ye,Ye.__name__=["haxe","ds","TreeNode"],Ye.prototype={left:null,right:null,key:null,value:null,_height:null,__class__:Ye};var Ke=function(){Xe.call(this)};r["haxe.ds.EnumValueMap"]=Ke,Ke.__name__=["haxe","ds","EnumValueMap"],Ke.__interfaces__=[Ze],Ke.__super__=Xe,Ke.prototype=i(Xe.prototype,{compare:function(t,e){var i=t[1]-e[1];if(0!=i)return i;var s=t.slice(2),n=e.slice(2);return 0==s.length&&0==n.length?0:this.compareArgs(s,n)},compareArgs:function(t,e){var i=t.length-e.length;if(0!=i)return i;for(var s=0,n=t.length;n>s;){var r=s++,o=this.compareArg(t[r],e[r]);if(0!=o)return o}return 0},compareArg:function(t,e){return te.isEnumValue(t)&&te.isEnumValue(e)?this.compare(t,e):t instanceof Array&&null==t.__enum__&&e instanceof Array&&null==e.__enum__?this.compareArgs(t,e):te.compare(t,e)},__class__:Ke});var Ue=function(){this.h={},this.h.__keys__={}};r["haxe.ds.ObjectMap"]=Ue,Ue.__name__=["haxe","ds","ObjectMap"],Ue.__interfaces__=[Ze],Ue.prototype={h:null,set:function(t,e){var i=t.__id__||(t.__id__=++Ue.count);this.h[i]=e,this.h.__keys__[i]=t},get:function(t){return this.h[t.__id__]},exists:function(t){return null!=this.h.__keys__[t.__id__]},remove:function(t){var e=t.__id__;return null==this.h.__keys__[e]?!1:(delete this.h[e],delete this.h.__keys__[e],!0)},keys:function(){var t=[];for(var e in this.h.__keys__)this.h.hasOwnProperty(e)&&t.push(this.h.__keys__[e]);return M.iter(t)},iterator:function(){return{ref:this.h,it:this.keys(),hasNext:function(){return this.it.hasNext()},next:function(){var t=this.it.next();return this.ref[t.__id__]}}},__class__:Ue};var Pe=function(t,e){this.map=t,this.keys=e,this.index=0,this.count=e.length};r["haxe.ds._StringMap.StringMapIterator"]=Pe,Pe.__name__=["haxe","ds","_StringMap","StringMapIterator"],Pe.prototype={map:null,keys:null,index:null,count:null,hasNext:function(){return this.indexi;){var n=i++,r=e[n];t.b+=null==r?"null":""+r,t.b+=" => ",t.add(re.string(null!=aa[r]?this.getReserved(r):this.h[r])),ne||0>i||e+i>t.length)throw new li(si.OutsideBounds);for(var s=(this.b,t.b),n=e,r=e+i;r>n;){var o=n++;this.b.push(s[o])}},getBytes:function(){var t=new Je(new _a(this.b).buffer);return this.b=null,t},__class__:Qe};var qe=function(){};r["haxe.io.Input"]=qe,qe.__name__=["haxe","io","Input"],qe.prototype={bigEndian:null,readByte:function(){throw new li("Not implemented")},readBytes:function(t,e,i){var s=i,n=t.b;if(0>e||0>i||e+i>t.length)throw new li(si.OutsideBounds);for(;s>0;)n[e]=this.readByte(),e++,s--;return i},set_bigEndian:function(t){return this.bigEndian=t,t},readAll:function(t){null==t&&(t=16384);var e=Je.alloc(t),i=new Qe;try{for(;;){var s=this.readBytes(e,0,t);if(0==s)throw new li(si.Blocked);i.addBytes(e,0,s)}}catch(n){if(Ge.lastException=n,n instanceof li&&(n=n.val),!_i.__instanceof(n,ii))throw n}return i.getBytes()},__class__:qe,__properties__:{set_bigEndian:"set_bigEndian"}};var $e=function(t,e,i){if(null==e&&(e=0),null==i&&(i=t.length-e),0>e||0>i||e+i>t.length)throw new li(si.OutsideBounds);this.b=t.b,this.pos=e,this.len=i,this.totlen=i};r["haxe.io.BytesInput"]=$e,$e.__name__=["haxe","io","BytesInput"],$e.__super__=qe,$e.prototype=i(qe.prototype,{b:null,pos:null,len:null,totlen:null,readByte:function(){if(0==this.len)throw new li(new ii);return this.len--,this.b[this.pos++]},readBytes:function(t,e,i){if(0>e||0>i||e+i>t.length)throw new li(si.OutsideBounds);if(0==this.len&&i>0)throw new li(new ii);this.lenr;){var o=r++;n[e+o]=s[this.pos+o]}return this.pos+=i,this.len-=i,i},__class__:$e});var ti=function(){};r["haxe.io.Output"]=ti,ti.__name__=["haxe","io","Output"],ti.prototype={writeByte:function(){throw new li("Not implemented")},writeBytes:function(t,e,i){var s=i,n=t.b.bufferValue;if(0>e||0>i||e+i>t.length)throw new li(si.OutsideBounds);for(;s>0;)this.writeByte(n[e]),e++,s--;return i},write:function(t){for(var e=t.length,i=0;e>0;){var s=this.writeBytes(t,i,e);if(0==s)throw new li(si.Blocked);i+=s,e-=s}},__class__:ti};var ei=function(){this.b=new Qe};r["haxe.io.BytesOutput"]=ei,ei.__name__=["haxe","io","BytesOutput"],ei.__super__=ti,ei.prototype=i(ti.prototype,{b:null,writeByte:function(t){this.b.b.push(t)},writeBytes:function(t,e,i){return this.b.addBytes(t,e,i),i},getBytes:function(){return this.b.getBytes()},__class__:ei});var ii=function(){};r["haxe.io.Eof"]=ii,ii.__name__=["haxe","io","Eof"],ii.prototype={toString:function(){return"Eof"},__class__:ii};var si=r["haxe.io.Error"]={__ename__:["haxe","io","Error"],__constructs__:["Blocked","Overflow","OutsideBounds","Custom"]};si.Blocked=["Blocked",0],si.Blocked.toString=o,si.Blocked.__enum__=si,si.Overflow=["Overflow",1],si.Overflow.toString=o,si.Overflow.__enum__=si,si.OutsideBounds=["OutsideBounds",2],si.OutsideBounds.toString=o,si.OutsideBounds.__enum__=si,si.Custom=function(t){var e=["Custom",3,t];return e.__enum__=si,e.toString=o,e},si.__empty_constructs__=[si.Blocked,si.Overflow,si.OutsideBounds];var ni=function(){};r["haxe.io.FPHelper"]=ni,ni.__name__=["haxe","io","FPHelper"],ni.i32ToFloat=function(t){var e=1-(t>>>31<<1),i=t>>>23&255,s=8388607&t;return 0==s&&0==i?0:e*(1+Math.pow(2,-23)*s)*Math.pow(2,i-127)},ni.floatToI32=function(t){if(0==t)return 0;var e;e=0>t?-t:t;var i=Math.floor(Math.log(e)/.6931471805599453);-127>i?i=-127:i>128&&(i=128);var s=8388607&Math.round(8388608*(e/Math.pow(2,i)-1));return(0>t?-2147483648:0)|i+127<<23|s},ni.i64ToDouble=function(t,e){var i=1-(e>>>31<<1),s=(e>>20&2047)-1023,n=4294967296*(1048575&e)+2147483648*(t>>>31)+(2147483647&t);return 0==n&&-1023==s?0:i*(1+Math.pow(2,-52)*n)*Math.pow(2,s)},ni.doubleToI64=function(t){var e=ni.i64tmp;if(0==t)e.low=0,e.high=0;else{var i;i=0>t?-t:t;var s,n=Math.floor(Math.log(i)/.6931471805599453),r=4503599627370496*(i/Math.pow(2,n)-1);s=Math.round(r);var o=0|s,a=s/4294967296|0;e.low=o,e.high=(0>t?-2147483648:0)|n+1023<<20|a}return e};var ri=function(t){switch(t){case".":case"..":return this.dir=t,void(this.file="")}var e=t.lastIndexOf("/"),i=t.lastIndexOf("\\");i>e?(this.dir=M.substr(t,0,i),t=M.substr(t,i+1,null),this.backslash=!0):e>i?(this.dir=M.substr(t,0,e),t=M.substr(t,e+1,null)):this.dir=null;var s=t.lastIndexOf(".");-1!=s?(this.ext=M.substr(t,s+1,null),this.file=M.substr(t,0,s)):(this.ext=null,this.file=t)};r["haxe.io.Path"]=ri,ri.__name__=["haxe","io","Path"],ri.withoutExtension=function(t){var e=new ri(t);return e.ext=null,e.toString()},ri.directory=function(t){var e=new ri(t);return null==e.dir?"":e.dir},ri.extension=function(t){var e=new ri(t);return null==e.ext?"":e.ext},ri.join=function(t){var e=t.filter(function(t){return null!=t&&""!=t});if(0==e.length)return"";for(var i=e[0],s=1,n=e.length;n>s;){var r=s++; i=ri.addTrailingSlash(i),i+=e[r]}return ri.normalize(i)},ri.normalize=function(t){var e="/";if(t=t.split("\\").join("/"),null==t||t==e)return e;for(var i=[],s=0,n=t.split(e);s0&&".."!=i[i.length-1]?i.pop():"."!=r&&i.push(r)}for(var o=i.join(e),a=new S("([^:])/+","g"),l=(a.replace(o,"$1"+e),new oe),_=!1,u=!1,h=0,g=o.length;g>h;){var c=h++,I=M.cca(o,c),d=I;if(null!=I)switch(I){case 58:l.b+=":",_=!0;break;case 47:0==_?u=!0:(_=!1,u&&(l.b+="/",u=!1),l.add(String.fromCharCode(d)));break;default:_=!1,u&&(l.b+="/",u=!1),l.add(String.fromCharCode(d))}else _=!1,u&&(l.b+="/",u=!1),l.add(String.fromCharCode(d))}var p=l.b;return p},ri.addTrailingSlash=function(t){if(0==t.length)return"/";var e=t.lastIndexOf("/"),i=t.lastIndexOf("\\");return i>e?i!=t.length-1?t+"\\":t:e!=t.length-1?t+"/":t},ri.prototype={dir:null,file:null,ext:null,backslash:null,toString:function(){return(null==this.dir?"":this.dir+(this.backslash?"\\":"/"))+this.file+(null==this.ext?"":"."+this.ext)},__class__:ri};var oi=function(t){$e.call(this,Je.ofString(t))};r["haxe.io.StringInput"]=oi,oi.__name__=["haxe","io","StringInput"],oi.__super__=$e,oi.prototype=i($e.prototype,{__class__:oi});var ai=function(){};r["haxe.xml.Parser"]=ai,ai.__name__=["haxe","xml","Parser"],ai.parse=function(t,e){null==e&&(e=!1);var i=fe.createDocument();return ai.doParse(t,e,0,i),i},ai.doParse=function(t,e,i,s){null==i&&(i=0);for(var n=null,r=1,o=1,a=null,l=0,_=0,u=0,h=t.charCodeAt(i),g=new oe,c=1,I=-1;h==h;){switch(r){case 0:switch(h){case 10:case 13:case 9:case 32:break;default:r=o;continue}break;case 1:switch(h){case 60:r=0,o=2;break;default:l=i,r=13;continue}break;case 13:if(60==h){g.addSub(t,l,i-l);var d=fe.createPCData(g.b);g=new oe,s.addChild(d),_++,r=0,o=2}else 38==h&&(g.addSub(t,l,i-l),r=18,c=13,l=i+1);break;case 17:if(93==h&&93==t.charCodeAt(i+1)&&62==t.charCodeAt(i+2)){var p=fe.createCData(M.substr(t,l,i-l));s.addChild(p),_++,i+=2,r=1}break;case 2:switch(h){case 33:if(91==t.charCodeAt(i+1)){if(i+=2,"CDATA["!=M.substr(t,i,6).toUpperCase())throw new li("Expected =97&&122>=h||h>=65&&90>=h||h>=48&&57>=h||58==h||46==h||95==h||45==h)){if(i==l)throw new li("Expected node name");n=fe.createElement(M.substr(t,l,i-l)),s.addChild(n),_++,r=0,o=4;continue}break;case 4:switch(h){case 47:r=11;break;case 62:r=9;break;default:r=5,l=i;continue}break;case 5:if(!(h>=97&&122>=h||h>=65&&90>=h||h>=48&&57>=h||58==h||46==h||95==h||45==h)){var m;if(l==i)throw new li("Expected attribute name");if(m=M.substr(t,l,i-l),a=m,n.exists(a))throw new li("Duplicate attribute");r=0,o=6;continue}break;case 6:switch(h){case 61:r=0,o=7;break;default:throw new li("Expected =")}break;case 7:switch(h){case 34:case 39:g=new oe,r=8,l=i+1,I=h;break;default:throw new li('Expected "')}break;case 8:switch(h){case 38:g.addSub(t,l,i-l),r=18,c=8,l=i+1;break;case 62:if(e)throw new li("Invalid unescaped "+String.fromCharCode(h)+" in attribute value");if(h==I){g.addSub(t,l,i-l);var C=g.b;g=new oe,n.set(a,C),r=0,o=4}break;case 60:if(e)throw new li("Invalid unescaped "+String.fromCharCode(h)+" in attribute value");if(h==I){g.addSub(t,l,i-l);var A=g.b;g=new oe,n.set(a,A),r=0,o=4}break;default:if(h==I){g.addSub(t,l,i-l);var f=g.b;g=new oe,n.set(a,f),r=0,o=4}}break;case 9:i=ai.doParse(t,e,i,n),l=i,r=1;break;case 11:switch(h){case 62:r=1;break;default:throw new li("Expected >")}break;case 12:switch(h){case 62:return 0==_&&s.addChild(fe.createPCData("")),i;default:throw new li("Expected >")}break;case 10:if(!(h>=97&&122>=h||h>=65&&90>=h||h>=48&&57>=h||58==h||46==h||95==h||45==h)){if(l==i)throw new li("Expected node name");var v=M.substr(t,l,i-l);if(v!=function(){var t;if(s.nodeType!=fe.Element)throw new li("Bad node type, expected Element but found "+s.nodeType);return t=s.nodeName}(this))throw new li("Expected ");r=0,o=12;continue}break;case 15:if(45==h&&45==t.charCodeAt(i+1)&&62==t.charCodeAt(i+2)){var y=fe.createComment(M.substr(t,l,i-l));s.addChild(y),_++,i+=2,r=1}break;case 16:if(91==h)u++;else if(93==h)u--;else if(62==h&&0==u){var b=fe.createDocType(M.substr(t,l,i-l));s.addChild(b),_++,r=1}break;case 14:if(63==h&&62==t.charCodeAt(i+1)){i++;var w=M.substr(t,l+1,i-l-2),x=fe.createProcessingInstruction(w);s.addChild(x),_++,r=1}break;case 18:if(59==h){var k=M.substr(t,l,i-l);if(35==k.charCodeAt(0)){var Z;Z=re.parseInt(120==k.charCodeAt(1)?"0"+M.substr(k,1,k.length-1):M.substr(k,1,k.length-1)),g.b+=String.fromCharCode(Z)}else if(ai.escapes.exists(k))g.add(ai.escapes.get(k));else{if(e)throw new li("Undefined entity: "+k);g.b+=re.string("&"+k+";")}l=i+1,r=c}else if(!(h>=97&&122>=h||h>=65&&90>=h||h>=48&&57>=h||58==h||46==h||95==h||45==h)&&35!=h){if(e)throw new li("Invalid character in entity: "+String.fromCharCode(h));g.b+="&",g.addSub(t,l,i-l),i--,l=i+1,r=c}}h=ae.fastCodeAt(t,++i)}if(1==r&&(l=i,r=13),13==r){if(i!=l||0==_){g.addSub(t,l,i-l);var S=fe.createPCData(g.b);s.addChild(S),_++}return i}if(!e&&18==r&&13==c){g.b+="&",g.addSub(t,l,i-l);var z=fe.createPCData(g.b);return s.addChild(z),_++,i}throw new li("Unexpected end")};var li=function(t){Error.call(this),this.val=t,this.message=String(t),Error.captureStackTrace&&Error.captureStackTrace(this,li)};r["js._Boot.HaxeError"]=li,li.__name__=["js","_Boot","HaxeError"],li.__super__=Error,li.prototype=i(Error.prototype,{val:null,__class__:li});var _i=function(){};r["js.Boot"]=_i,_i.__name__=["js","Boot"],_i.__unhtml=function(t){return t.split("&").join("&").split("<").join("<").split(">").join(">")},_i.__trace=function(e,i){var s;if(s=null!=i?i.fileName+":"+i.lineNumber+": ":"",s+=_i.__string_rec(e,""),null!=i&&null!=i.customParams)for(var n=0,r=i.customParams;n":"undefined"!=typeof t&&null!=t.log&&t.log(s)},_i.getClass=function(t){if(t instanceof Array&&null==t.__enum__)return Array;var e=t.__class__;if(null!=e)return e;var i=_i.__nativeClassName(t);return null!=i?_i.__resolveNativeClass(i):null},_i.__string_rec=function(t,e){if(null==t)return"null";if(e.length>=5)return"<...>";var i=typeof t;switch("function"==i&&(t.__name__||t.__ename__)&&(i="object"),i){case"object":if(t instanceof Array){if(t.__enum__){if(2==t.length)return t[0];var s=t[0]+"(";e+=" ";for(var n=2,r=t.length;r>n;){var o=n++;s+=2!=o?","+_i.__string_rec(t[o],e):_i.__string_rec(t[o],e)}return s+")"}var a=t.length,l="[";e+=" ";for(var _=0;a>_;){var u=_++;l+=(u>0?",":"")+_i.__string_rec(t[u],e)}return l+="]"}var h;try{h=t.toString}catch(g){return Ge.lastException=g,g instanceof li&&(g=g.val),"???"}if(null!=h&&h!=Object.toString&&"function"==typeof h){var c=t.toString();if("[object Object]"!=c)return c}var I=null,d="{\n";e+=" ";var p=null!=t.hasOwnProperty;for(var I in t)(!p||t.hasOwnProperty(I))&&"prototype"!=I&&"__class__"!=I&&"__super__"!=I&&"__interfaces__"!=I&&"__properties__"!=I&&(2!=d.length&&(d+=", \n"),d+=e+I+" : "+_i.__string_rec(t[I],e));return e=e.substring(1),d+="\n"+e+"}";case"function":return"";case"string":return t;default:return String(t)}},_i.__interfLoop=function(t,e){if(null==t)return!1;if(t==e)return!0;var i=t.__interfaces__;if(null!=i)for(var s=0,n=i.length;n>s;){var r=s++,o=i[r];if(o==e||_i.__interfLoop(o,e))return!0}return _i.__interfLoop(t.__super__,e)},_i.__instanceof=function(t,e){if(null==e)return!1;switch(e){case ea:return(0|t)===t;case sa:return"number"==typeof t;case na:return"boolean"==typeof t;case String:return"string"==typeof t;case Array:return t instanceof Array&&null==t.__enum__;case ia:return!0;default:if(null==t)return!1;if("function"==typeof e){if(t instanceof e)return!0;if(_i.__interfLoop(_i.getClass(t),e))return!0}else if("object"==typeof e&&_i.__isNativeObj(e)&&t instanceof e)return!0;return e==ra&&null!=t.__name__?!0:e==oa&&null!=t.__ename__?!0:t.__enum__==e}},_i.__cast=function(t,e){if(_i.__instanceof(t,e))return t;throw new li("Cannot cast "+re.string(t)+" to "+re.string(e))},_i.__nativeClassName=function(t){var e=_i.__toStr.call(t).slice(8,-1);return"Object"==e||"Function"==e||"Math"==e||"JSON"==e?null:e},_i.__isNativeObj=function(t){return null!=_i.__nativeClassName(t)},_i.__resolveNativeClass=function(t){return e[t]};var ui=function(){};r["js.Browser"]=ui,ui.__name__=["js","Browser"],ui.createXMLHttpRequest=function(){if("undefined"!=typeof XMLHttpRequest)return new XMLHttpRequest;if("undefined"!=typeof ActiveXObject)return new ActiveXObject("Microsoft.XMLHTTP");throw new li("Unable to create XMLHttpRequest object.")};var hi=function(){};r["js.html._CanvasElement.CanvasUtil"]=hi,hi.__name__=["js","html","_CanvasElement","CanvasUtil"],hi.getContextWebGL=function(t,e){for(var i=0,s=["webgl","experimental-webgl"];ii;){var s=i++;this.a[s]=0}this.byteLength=e}};r["js.html.compat.ArrayBuffer"]=gi,gi.__name__=["js","html","compat","ArrayBuffer"],gi.sliceImpl=function(t,e){var i=new _a(this,t,null==e?null:e-t),s=new la(i.byteLength),n=new _a(s);return n.set(i),s},gi.prototype={byteLength:null,a:null,slice:function(t,e){return new gi(this.a.slice(t,e))},__class__:gi};var ci=function(t,e,i){if(this.buf=t,this.offset=null==e?0:e,this.length=null==i?t.byteLength-this.offset:i,this.offset<0||this.length<0||this.offset+this.length>t.byteLength)throw new li(si.OutsideBounds)};r["js.html.compat.DataView"]=ci,ci.__name__=["js","html","compat","DataView"],ci.prototype={buf:null,offset:null,length:null,getInt8:function(t){var e=this.buf.a[this.offset+t];return e>=128?e-256:e},getUint8:function(t){return this.buf.a[this.offset+t]},getInt16:function(t,e){var i=this.getUint16(t,e);return i>=32768?i-65536:i},getUint16:function(t,e){return e?this.buf.a[this.offset+t]|this.buf.a[this.offset+t+1]<<8:this.buf.a[this.offset+t]<<8|this.buf.a[this.offset+t+1]},getInt32:function(t,e){var i=this.offset+t,s=this.buf.a[i++],n=this.buf.a[i++],r=this.buf.a[i++],o=this.buf.a[i++];return e?s|n<<8|r<<16|o<<24:o|r<<8|n<<16|s<<24},getUint32:function(t,e){var i=this.getInt32(t,e);return 0>i?i+4294967296:i},getFloat32:function(t,e){return ni.i32ToFloat(this.getInt32(t,e))},getFloat64:function(t,e){var i=this.getInt32(t,e),s=this.getInt32(t+4,e);return ni.i64ToDouble(e?i:s,e?s:i)},setInt8:function(t,e){this.buf.a[t+this.offset]=0>e?e+128&255:255&e},setUint8:function(t,e){this.buf.a[t+this.offset]=255&e},setInt16:function(t,e,i){this.setUint16(t,0>e?e+65536:e,i)},setUint16:function(t,e,i){var s=t+this.offset;i?(this.buf.a[s]=255&e,this.buf.a[s++]=e>>8&255):(this.buf.a[s++]=e>>8&255,this.buf.a[s]=255&e)},setInt32:function(t,e,i){this.setUint32(t,e,i)},setUint32:function(t,e,i){var s=t+this.offset;i?(this.buf.a[s++]=255&e,this.buf.a[s++]=e>>8&255,this.buf.a[s++]=e>>16&255,this.buf.a[s++]=e>>>24):(this.buf.a[s++]=e>>>24,this.buf.a[s++]=e>>16&255,this.buf.a[s++]=e>>8&255,this.buf.a[s++]=255&e)},setFloat32:function(t,e,i){this.setUint32(t,ni.floatToI32(e),i)},setFloat64:function(t,e,i){var s=ni.doubleToI64(e);i?(this.setUint32(t,s.low),this.setUint32(t,s.high)):(this.setUint32(t,s.high),this.setUint32(t,s.low))},__class__:ci};var Ii=function(){};r["js.html.compat.Uint8Array"]=Ii,Ii.__name__=["js","html","compat","Uint8Array"],Ii._new=function(t,e,i){var s;if("number"==typeof t){s=[];for(var n=0;t>n;){var r=n++;s[r]=0}s.byteLength=s.length,s.byteOffset=0,s.buffer=new gi(s)}else if(_i.__instanceof(t,gi)){var o=t;null==e&&(e=0),null==i&&(i=o.byteLength-e),s=0==e?o.a:o.a.slice(e,e+i),s.byteLength=s.length,s.byteOffset=e,s.buffer=o}else{if(!(t instanceof Array&&null==t.__enum__))throw new li("TODO "+re.string(t));s=t.slice(),s.byteLength=s.length,s.byteOffset=0,s.buffer=new gi(s)}return s.subarray=Ii._subarray,s.set=Ii._set,s},Ii._set=function(t,e){var i=this;if(_i.__instanceof(t.buffer,gi)){var s=t;if(t.byteLength+e>i.byteLength)throw new li("set() outside of range");for(var n=0,r=t.byteLength;r>n;){var o=n++;i[o+e]=s[o]}}else{if(!(t instanceof Array&&null==t.__enum__))throw new li("TODO");var a=t;if(a.length+e>i.byteLength)throw new li("set() outside of range");for(var l=0,_=a.length;_>l;){var u=l++;i[u+e]=a[u]}}},Ii._subarray=function(t,e){var i=this,s=Ii._new(i.slice(t,e));return s.byteOffset=t,s};var di=function(t){this.core=t};r["luxe.Audio"]=di,di.__name__=["luxe","Audio"],di.prototype={core:null,on:function(t,e){this.core.app.audio.on_Int(t,e)},off:function(t,e){return this.core.app.audio.off_Int(t,e)},emit:function(t,e){this.core.app.audio.emit_Int(t,e)},play:function(t,e,i){return null==i&&(i=!1),null==e&&(e=1),this.core.app.audio.play(t,e,i)},loop:function(t,e,i){return null==i&&(i=!1),null==e&&(e=1),this.core.app.audio.loop(t,e,i)},pause:function(t){this.core.app.audio.pause(t)},unpause:function(t){this.core.app.audio.unpause(t)},stop:function(t){this.core.app.audio.stop(t)},volume:function(t,e){this.core.app.audio.volume(t,e)},pan:function(t,e){this.core.app.audio.pan(t,e)},pitch:function(t,e){this.core.app.audio.pitch(t,e)},position:function(t,e){this.core.app.audio.position(t,e)},state_of:function(t){return this.core.app.audio.state_of(t)},loop_of:function(t){return this.core.app.audio.loop_of(t)},instance_of:function(t){return this.core.app.audio.instance_of(t)},volume_of:function(t){return this.core.app.audio.volume_of(t)},pan_of:function(t){return this.core.app.audio.pan_of(t)},pitch_of:function(t){return this.core.app.audio.pitch_of(t)},position_of:function(t){return this.core.app.audio.position_of(t)},suspend:function(){this.core.app.audio.suspend()},resume:function(){this.core.app.audio.resume()},get_active:function(){return this.core.app.audio.active},set_active:function(t){return this.core.app.audio.active=t},init:function(){},destroy:function(){},process:function(){},__class__:di,__properties__:{set_active:"set_active",get_active:"get_active"}};var pi=r["luxe.SizeMode"]={__ename__:["luxe","SizeMode"],__constructs__:["fit","cover","contain"]};pi.fit=["fit",0],pi.fit.toString=o,pi.fit.__enum__=pi,pi.cover=["cover",1],pi.cover.toString=o,pi.cover.__enum__=pi,pi.contain=["contain",2],pi.contain.toString=o,pi.contain.__enum__=pi,pi.__empty_constructs__=[pi.fit,pi.cover,pi.contain];var mi=function(t){this._connected=!1,this.minimum_shake=.1,this.shaking=!1,this._size_factor=new pr,this._rotation_radian=new pr,this._rotation_cache=new ir,this.set_size_mode(pi.fit);var e="untitled camera";null!=t?null!=t.name&&(e=t.name,t.camera_name=""+e+".view"):t={no_scene:!1},null==t.view&&(t.view=new Dn(t)),this.view=t.view,O.call(this,{name:e,no_scene:t.no_scene})};r["luxe.Camera"]=mi,mi.__name__=["luxe","Camera"],mi.__super__=O,mi.prototype=i(O.prototype,{size:null,size_mode:null,view:null,bounds:null,shake_vector:null,shake_amount:null,shaking:null,minimum_shake:null,_size_factor:null,_rotation_radian:null,_rotation_cache:null,get_viewport:function(){return this.view.viewport},set_viewport:function(t){return this.view.set_viewport(t)},get_center:function(){return this.view.center},set_center:function(t){return this.set_pos(new pr(t.x-this.get_viewport().w/2,t.y-this.get_viewport().h/2)),this.view.set_center(t)},get_minimum_zoom:function(){return this.view.minimum_zoom},set_minimum_zoom:function(t){return this.view.minimum_zoom=t},get_zoom:function(){return this.view.zoom},set_zoom:function(t){if(this.view.set_zoom(t),null!=this.get_size()){var e=this.view.transform.local.scale;e.set_x(e.x*(1/this._size_factor.x));var i=this.view.transform.local.scale;i.set_y(i.y*(1/this._size_factor.y))}return this.view.zoom},get_size:function(){return this.size},get_size_mode:function(){return this.size_mode},set_size_mode:function(t){return null!=this.get_size_mode()&&(this.size_mode=t,null!=this.get_size()&&this.set_size(this.get_size())),this.size_mode=t},_connected:null,_onwindowsized:function(t){null!=this.get_size()&&(this.set_viewport(new nr(this.get_viewport().x,this.get_viewport().y,t.x,t.y)),this.set_size(this.get_size()))},set_size:function(t){if(null==t)return this.set_center(new pr(this.get_viewport().w/2,this.get_viewport().h/2)),this.size=null,this._size_factor.set_x(this._size_factor.set_y(1)),this.set_zoom(this.get_zoom()),this._connected=!1,V.off(31,n(this,this._onwindowsized)),this.get_size();this._connected||(V.on(31,n(this,this._onwindowsized)),this._connected=!0);var e=this.get_viewport().w/t.x,i=this.get_viewport().h/t.y,s=Math.max(e,i),r=Math.min(e,i),o=this.get_size_mode();switch(o[1]){case 0:e=i=r;break;case 1:e=i=s;break;case 2:}return this._size_factor.set_x(e),this._size_factor.set_y(i),this.view.transform.local.scale.set_x(1/(this._size_factor.x*this.get_zoom())),this.view.transform.local.scale.set_y(1/(this._size_factor.y*this.get_zoom())),this.set_center(new pr(t.x/2,t.y/2)),this.size=new pr(t.x,t.y,t.z,t.w)},focus:function(t,e,i){null==e&&(e=.6);var s=this;Ts.tween(this.view.center,e,{x:t.x,y:t.y},!0).onComplete(i).ease(Ms.get_easeInOut()).onUpdate(function(){s.get_transform().get_pos().set_xy(s.view.pos.x,s.view.pos.y)})},screen_point_to_world:function(t){return this.view.screen_point_to_world(t)},world_point_to_screen:function(t,e){return this.view.world_point_to_screen(t,e)},set_pos_from_transform:function(t){var e=this.view.viewport.w,i=this.view.viewport.h,s=e/2,n=i/2,r=t.x,o=t.y;null!=this.bounds&&(rthis.bounds.w-e&&(r=this.bounds.w-e-s),o+n>this.bounds.h-i&&(o=this.bounds.h-i-n));var a=t.ignore_listeners;t.ignore_listeners=!0,t.set_xy(r,o),t.ignore_listeners=a,O.prototype.set_pos_from_transform.call(this,t),this.view.set_pos(this.view.pos.set_xyz(t.x,t.y,t.z))},set_rotation_from_transform:function(t){O.prototype.set_rotation_from_transform.call(this,t),null!=this.view&&this.view.transform.local.set_rotation(t)},set_scale_from_transform:function(t){O.prototype.set_scale_from_transform.call(this,t),null!=this.view&&this.view.transform.local.set_scale(t)},shake:function(t){this.shake_amount=t,this.shaking=!0},update:function(){if(this.shaking){this.shake_vector=V.utils.geometry.random_point_in_unit_circle();var t=this.shake_vector;t.set_x(t.x*this.shake_amount);var e=this.shake_vector;e.set_y(e.y*this.shake_amount);var i=this.shake_vector;i.set_z(i.z*this.shake_amount),this.shake_amount*=.9,this.shake_amount<=this.minimum_shake&&(this.shake_amount=0,this.shaking=!1),this.view.set_pos(this.view.pos.set_xyz(this.get_transform().get_pos().x+this.shake_vector.x,this.get_transform().get_pos().y+this.shake_vector.y,this.get_transform().get_pos().z+this.shake_vector.z))}},init:function(){O.prototype.init.call(this)},ondestroy:function(){O.prototype.ondestroy.call(this)},__class__:mi,__properties__:i(O.prototype.__properties__,{set_size_mode:"set_size_mode",get_size_mode:"get_size_mode",set_size:"set_size",get_size:"get_size",set_minimum_zoom:"set_minimum_zoom",get_minimum_zoom:"get_minimum_zoom",set_zoom:"set_zoom",get_zoom:"get_zoom",set_center:"set_center",get_center:"get_center",set_viewport:"set_viewport",get_viewport:"get_viewport"})});var Ci=function(t,e){null==e&&(e=""),null==t&&(t=""),this.name="",this.name=t,this.id=""==e?V.utils.uniqueid(null):e};r["luxe.ID"]=Ci,Ci.__name__=["luxe","ID"],Ci.prototype={id:null,name:null,__class__:Ci};var Ai=function(t){var e="";null!=t&&null!=t.name&&(e=t.name),Ci.call(this,""==e?V.utils.uniqueid(null):e)};r["luxe.Component"]=Ai,Ai.__name__=["luxe","Component"],Ai.__super__=Ci,Ai.prototype=i(Ci.prototype,{entity:null,transform:null,init:function(){},update:function(){},onadded:function(){},onremoved:function(){},onfixedupdate:function(){},onreset:function(){},ondestroy:function(){},onkeyup:function(){},onkeydown:function(){},ontextinput:function(){},oninputdown:function(){},oninputup:function(){},onmousedown:function(){},onmouseup:function(){},onmousemove:function(){},onmousewheel:function(){},ontouchdown:function(){},ontouchup:function(){},ontouchmove:function(){},ongamepadup:function(){},ongamepaddown:function(){},ongamepadaxis:function(){},ongamepaddevice:function(){},onwindowmoved:function(){},onwindowresized:function(){},onwindowsized:function(){},onwindowminimized:function(){},onwindowrestored:function(){},add:function(t){return this.get_entity().add(t)},remove:function(t){return this.get_entity().remove(t)},get:function(t,e){return null==e&&(e=!1),this.get_entity().get(t,e)},get_any:function(t,e,i){return null==i&&(i=!0),null==e&&(e=!1),this.get_entity().get_any(t,e,i)},has:function(t){return this.get_entity().has(t)},_detach_entity:function(){null!=this.get_entity()},_attach_entity:function(){null!=this.get_entity()},set_entity:function(t){return this._detach_entity(),this.entity=t,this._attach_entity(),this.get_entity()},get_entity:function(){return this.entity},set_pos:function(t){return this.get_entity().get_transform().set_pos(t)},get_pos:function(){return this.get_entity().get_transform().get_pos()},set_rotation:function(t){return this.get_entity().get_transform().set_rotation(t)},get_rotation:function(){return this.get_entity().get_transform().get_rotation()},set_scale:function(t){return this.get_entity().get_transform().set_scale(t)},get_scale:function(){return this.get_entity().get_transform().get_scale()},set_origin:function(t){return this.get_entity().get_transform().set_origin(t)},get_origin:function(){return this.get_entity().get_transform().get_origin()},set_transform:function(t){return this.get_entity().set_transform(t)},get_transform:function(){return this.get_entity().get_transform()},entity_pos_change:function(){},entity_scale_change:function(){},entity_rotation_change:function(){},entity_origin_change:function(){},entity_parent_change:function(){},toString:function(){return"luxe Component: "+this.name+" on "+this.get_entity().get_name()+" / id: "+this.id},__class__:Ai,__properties__:{set_origin:"set_origin",get_origin:"get_origin",set_scale:"set_scale",get_scale:"get_scale",set_rotation:"set_rotation",get_rotation:"get_rotation",set_pos:"set_pos",get_pos:"get_pos",set_entity:"set_entity",get_entity:"get_entity"}});var fi=function(t){this.last_cursor_grab=!1,this.profiling=!1,this.profile_path="profile.txt",this.last_view_index=0,this.current_view_index=0,this.dt_average_count=0,this.dt_average_span=60,this.dt_average_accum=0,this.dt_average=0,this.visible=!1,this.app=t};r["luxe.Debug"]=fi,fi.__name__=["luxe","Debug"],fi.internal_trace=function(e,i){if(0!=fi.tracing)throw new li(Vi.assertion("tracing == false ( luxe.Debug: calling trace from a trace callback is an infinite loop! )"));fi.tracing=!0;var s=""+re.string(e);if(null!=i&&null!=i.customParams&&(s+=" "+i.customParams.join(" ")),t.log(""+i.fileName+"::"+ae.rpad(null==i.lineNumber?"null":""+i.lineNumber," ",4)+" "+s),!fi.shut_down)for(var n=0,r=fi.trace_callbacks;nfi.views.length-1&&(this.current_view_index=0),fi.views[this.last_view_index].hide(),this.current_view=fi.views[this.current_view_index],this.current_view.show()},last_cursor_grab:null,set_visible:function(t){return this.visible=!1},destroy:function(){this.app.emitter.off(13,n(this,this.keyup)),this.app.emitter.off(12,n(this,this.keydown)),this.app.emitter.off(18,n(this,this.mouseup)),this.app.emitter.off(17,n(this,this.mousedown)),this.app.emitter.off(19,n(this,this.mousemove)),this.app.emitter.off(20,n(this,this.mousewheel)),fi.shut_down=!0},process:function(){if(this.dt_average_accum+=this.app.frame_delta,this.dt_average_count++,this.dt_average_count==this.dt_average_span-1&&(this.dt_average=this.dt_average_accum/this.dt_average_span,this.dt_average_accum=this.dt_average,this.dt_average_count=0),this.visible){this.inspector.title.set_text("["+this.current_view.get_name()+"] / "+Math.round(1/this.dt_average)+" / "+Gn.fixed(this.app.frame_delta,5)+" / "+Gn.fixed(this.dt_average,5));for(var t=0,e=fi.views;td;){var p=d++,m=i*Math.sin(h+_+p*u),C=i*Math.cos(h+_+p*u),A=new pr(n+m,r+C,0);if(a.add(new jr(A,g)),!s&&p>0){{I[p-1]}a.add(new jr(A,g))}I.push(A)}return s||a.add(new jr(I[0],g)),a},poly:function(t){null==t.id&&(t.id="poly.geometry"),t.id,null==t.batcher&&(t.batcher=V.renderer.batcher),t.batcher,null==t.solid&&(t.solid=!0),t.solid,null==t.close&&(t.close=!1),t.close;var e=null,i=null!=t.colors;if(i||(null==t.color&&(t.color=new ns),e=t.color),t.solid){null==t.primitive_type&&(t.primitive_type=6),t.primitive_type;for(var s=new k(t),n=0,r=(t.points.length,0),o=t.points;ru){var p;p=i?t.colors[u+1]:e,_.add(new jr(t.points[u+1],p))}++u}if(t.close){var m,C=t.points.length-1;m=i?t.colors[0]:e;var A;A=i?t.colors[C]:e,_.add(new jr(t.points[C],m)),_.add(new jr(t.points[0],A))}return _},texture:function(t){null==t.id&&(t.id="texture.geometry"),t.id,null==t.batcher&&(t.batcher=V.renderer.batcher),t.batcher;var e=0,i=0,s=0,n=0,r=64,o=64;null!=t.texture&&(r=t.texture.width,o=t.texture.height,null==t.size&&(s=r,n=o)),null!=t.pos&&(e=t.pos.x,i=t.pos.y),null!=t.size&&(s=t.size.x,n=t.size.y),null==t.x&&(t.x=e),t.x,null==t.y&&(t.y=i),t.y,null==t.w&&(t.w=s),t.w,null==t.h&&(t.h=n),t.h;var a=new X(t),l=0,_=0,u=r,h=o;return null!=t.uv&&(l=t.uv.x,_=t.uv.y,u=t.uv.w,h=t.uv.h),a.uv(new nr(l,_,u,h)),a},text:function(t){return null==t.batcher&&(t.batcher=V.renderer.batcher),t.batcher,new Rr(t)},core:null,__class__:vi};var yi=function(){this.next_tick=0,this.fixed_overflow=0,this.fixed_frame_time=.0167,this.fixed_timestep=!1,this.fixed_alpha=1,this.sim_time=0,this.sim_delta=.016666666666666666,this.frame_max_delta=.25,this.frame_delta=.016666666666666666,this.frame_start_prev=0,this.frame_start=.016666666666666666,this.tick_delta=.016666666666666666,this.tick_start_prev=0,this.tick_start=.016666666666666666,this.update_rate=0,this.fixed_delta=0,this.timescale=1};r["snow.App"]=yi,yi.__name__=["snow","App"],yi.prototype={app:null,timescale:null,fixed_delta:null,update_rate:null,tick_start:null,tick_start_prev:null,tick_delta:null,frame_start:null,frame_start_prev:null,frame_delta:null,frame_max_delta:null,sim_delta:null,sim_time:null,fixed_alpha:null,fixed_timestep:null,fixed_frame_time:null,fixed_overflow:null,next_tick:null,config:function(t){return t},ready:function(){},update:function(){},tick:function(){},ondestroy:function(){},onevent:function(){},ontickstart:function(){},ontickend:function(){},onkeydown:function(){},onkeyup:function(){},ontextinput:function(){},onmousedown:function(){},onmouseup:function(){},onmousewheel:function(){},onmousemove:function(){},ontouchdown:function(){},ontouchup:function(){},ontouchmove:function(){},ongamepadaxis:function(){},ongamepaddown:function(){},ongamepadup:function(){},ongamepaddevice:function(){},internal_init:function(){this.sim_time=0,this.fixed_frame_time=.016666666666666666,this.tick_start=window.performance.now()/1e3-to.timestamp_start,this.tick_start_prev=this.tick_start-this.fixed_frame_time,this.tick_delta=this.fixed_frame_time,this.frame_start=window.performance.now()/1e3-to.timestamp_start,this.frame_start_prev=this.frame_start-this.fixed_frame_time,this.frame_delta=this.sim_delta=this.fixed_frame_time},internal_tick:function(){this.ontickstart(),this.tick_start=window.performance.now()/1e3-to.timestamp_start,this.tick_delta=this.tick_start-this.tick_start_prev,this.tick_start_prev=this.tick_start,this.fixed_timestep?this.internal_tick_fixed_timestep():this.internal_tick_default(),this.tick(this.tick_delta),this.ontickend()},internal_tick_default:function(){if(0!=this.update_rate){if(window.performance.now()/1e3-to.timestamp_startthis.frame_max_delta&&(this.frame_delta=this.frame_max_delta); var t;t=0==this.fixed_delta?this.frame_delta:this.fixed_delta,t*=this.timescale,this.sim_delta=t,this.sim_time+=t,this.update(t)},internal_tick_fixed_timestep:function(){this.frame_start=window.performance.now()/1e3-to.timestamp_start,this.frame_delta=this.frame_start-this.frame_start_prev,this.frame_start_prev=this.frame_start,this.sim_delta=this.frame_delta*this.timescale,this.sim_delta>this.frame_max_delta&&(this.sim_delta=this.frame_max_delta),this.fixed_overflow+=this.sim_delta;for(var t=this.fixed_frame_time*this.timescale;this.fixed_overflow>=this.fixed_frame_time;)this.update(t),this.sim_time+=t,this.fixed_overflow-=t;this.fixed_alpha=this.fixed_overflow/this.fixed_frame_time},__class__:yi};var bi=function(t){this.running=!1,this.headless=!1,this.inited=!1,this.has_shutdown=!1,this.shutting_down=!1,this.build="+d0de7e682e",this.version="dev",yi.call(this),this.game=t,this.emitter=new z,V.core=this,V.utils=new En(this)};r["luxe.Engine"]=bi,bi.__name__=["luxe","Engine"],bi.__super__=yi,bi.prototype=i(yi.prototype,{game:null,game_config:null,version:null,build:null,emitter:null,debug:null,io:null,draw:null,timer:null,events:null,input:null,audio:null,scene:null,resources:null,renderer:null,screen:null,physics:null,shutting_down:null,has_shutdown:null,inited:null,headless:null,running:null,run:function(){if(0!=this.running)throw new li(Vi.assertion("running == false"));this.running=!0,new Wr(this)},shutdown:function(){this.shutting_down=!0,Wr.next(($o=this.app,n($o,$o.shutdown)))},runtime_info:function(){return""+this.build+" / debug:"+re.string(this.app.debug)+" / os:"+this.app.os+" / platform:"+this.app.platform},on:function(t,e){this.emitter.on(t,e)},off:function(t,e){return this.emitter.off(t,e)},emit:function(t,e){this.emitter.emit(t,e)},ready:function(){this.version=je.getString("version"),this.build=this.version+je.getString("build"),Be.trace(" i / luxe / "+(""+this.build+" / debug:"+re.string(this.app.debug)+" / os:"+this.app.os+" / platform:"+this.app.platform),{fileName:"Engine.hx",lineNumber:148,className:"luxe.Engine",methodName:"ready"}),this.init(null)},ondestroy:function(){this.shutting_down=!0,Be.trace(" i / luxe / shutting down...",{fileName:"Engine.hx",lineNumber:185,className:"luxe.Engine",methodName:"ondestroy"}),this.emitter.emit(8),this.game.ondestroy(),null!=this.renderer&&this.renderer.destroy(),this.physics.destroy(),this.input.destroy(),this.audio.destroy(),this.timer.destroy(),this.events.destroy(),this.debug.destroy(),this.emitter=null,this.input=null,this.audio=null,this.events=null,this.timer=null,this.debug=null,V.utils=null,this.has_shutdown=!0,Be.trace(" i / luxe / goodbye.",{fileName:"Engine.hx",lineNumber:215,className:"luxe.Engine",methodName:"ondestroy"})},init:function(t){V.debug=this.debug=new fi(this),V.io=this.io=new Si(this),this.draw=new vi(this),this.timer=new ts(this),this.events=new xi,this.audio=new di(this),this.input=new zi(this),this.physics=new Yi(this),this.resources=new Ui,V.resources=this.resources,this.headless||(this.renderer=new _r(this,t),V.renderer=this.renderer);var e=this.app.runtime.window.width,i=this.app.runtime.window.height;this.screen=new Qi(this,e,i),this.debug.init(),this.io.init(),this.timer.init(),this.audio.init(),this.input.init(),this.headless||this.renderer.init(),this.physics.init(),V.audio=this.audio,V.draw=this.draw,V.events=this.events,V.timer=this.timer,V.input=this.input,this.headless||(V.camera=new mi({name:"default camera",view:this.renderer.camera})),V.physics=this.physics,this.scene=new Di("default scene"),V.scene=this.scene,this.headless||(this.scene.add(V.camera),this.debug.create_debug_console()),this.internal_pre_ready()},internal_pre_ready:function(){if(this.headless)this.internal_ready(null);else{Be.trace(" i / luxe / opengl "+oo.versionString(),{fileName:"Engine.hx",lineNumber:292,className:"luxe.Engine",methodName:"internal_pre_ready"});var t=new Xi({id:"default_parcel",system:this.resources,bytes:this.game_config.preload.bytes,texts:this.game_config.preload.texts,jsons:this.game_config.preload.jsons,textures:this.game_config.preload.textures,fonts:this.game_config.preload.fonts,shaders:this.game_config.preload.shaders,sounds:this.game_config.preload.sounds,oncomplete:n(this,this.internal_ready),onfailed:function(t){throw Be.trace(" i / luxe / config / preload / failed to load",{fileName:"Engine.hx",lineNumber:309,className:"luxe.Engine",methodName:"internal_pre_ready"}),new li(ko.error(t))}});t.load()}},internal_ready:function(){!this.headless,this.game.ready(),this.shutting_down||(this.emitter.emit(2),this.inited=!0,this.physics.reset())},onevent:function(t){null!=t.window&&this.window_event(t.window),this.game.onevent(t)},update:function(t){this.has_shutdown||this.inited&&(this.timer.process(),this.input.process(),this.audio.process(),this.events.process(),this.physics.process(),this.emitter.emit(6,t),this.game.update(t),this.debug.process())},tick:function(){this.shutting_down||this.inited&&(this.headless||(this.emitter.emit(9),this.game.onprerender(),this.emitter.emit(10),this.game.onrender(),this.renderer.process(),this.emitter.emit(11),this.game.onpostrender(),this.debug.render()))},ontickstart:function(){this.has_shutdown||this.emitter.emit(4)},ontickend:function(){this.has_shutdown||this.emitter.emit(5)},window_event:function(t){if(!this.shutting_down&&this.inited){this.emitter.emit(28,t);var e=t.type;switch(e){case 4:this.emitter.emit(29,t),this.game.onwindowmoved(t);break;case 5:this.screen.internal_resized(t.x,t.y),this.renderer.internal_resized(t.x,t.y),this.emitter.emit(30,t),this.game.onwindowresized(t);break;case 6:this.screen.internal_resized(t.x,t.y),this.renderer.internal_resized(t.x,t.y),this.emitter.emit(31,t),this.game.onwindowsized(t);break;case 7:this.emitter.emit(32,t),this.game.onwindowminimized(t);break;case 9:this.emitter.emit(33,t),this.game.onwindowrestored(t)}t=null}},onmousedown:function(t,e,i,s,n){this.inited&&(this.screen.cursor.set_internal(t,e),this.input.onmousedown(t,e,i,s,n))},onmouseup:function(t,e,i,s,n){this.inited&&(this.screen.cursor.set_internal(t,e),this.input.onmouseup(t,e,i,s,n))},onmousemove:function(t,e,i,s,n,r){this.inited&&(this.screen.cursor.set_internal(t,e),this.input.onmousemove(t,e,i,s,n,r))},onmousewheel:function(t,e,i,s){this.inited&&this.input.onmousewheel(t,e,i,s)},onkeydown:function(t,e,i,s,n,r){this.inited&&this.input.onkeydown(t,e,i,s,n,r)},onkeyup:function(t,e,i,s,n,r){this.inited&&this.input.onkeyup(t,e,i,s,n,r)},ontextinput:function(t,e,i,s,n,r){this.inited&&this.input.ontextinput(t,e,i,s,n,r)},ontouchdown:function(t,e,i,s,n,r){this.inited&&this.input.ontouchdown(t,e,i,s,n,r)},ontouchup:function(t,e,i,s,n,r){this.inited&&this.input.ontouchup(t,e,i,s,n,r)},ontouchmove:function(t,e,i,s,n,r){this.inited&&this.input.ontouchmove(t,e,i,s,n,r)},oninputdown:function(t,e,i,s,n){this.inited&&this.input.oninputdown(t,e,i,s,n)},oninputup:function(t,e,i,s,n){this.inited&&this.input.oninputup(t,e,i,s,n)},ongamepadaxis:function(t,e,i,s){this.inited&&this.input.ongamepadaxis(t,e,i,s)},ongamepaddown:function(t,e,i,s){this.inited&&this.input.ongamepaddown(t,e,i,s)},ongamepadup:function(t,e,i,s){this.inited&&this.input.ongamepadup(t,e,i,s)},ongamepaddevice:function(t,e,i,s){this.inited&&this.input.ongamepaddevice(t,e,i,s)},config:function(t){return null==t.user&&(t.user={}),this.game_config=t,this.game_config.window.title="luxe game",this.game_config.window.width=960,this.game_config.window.height=640,this.game_config.window.resizable=!0,this.game_config.window.fullscreen=!1,this.game_config.window.borderless=!1,this.game_config.preload={bytes:[],texts:[],jsons:[],textures:[],fonts:[],shaders:[],sounds:[]},this.game_config=this.game.config(this.game_config),this.game_config},__class__:bi});var wi=function(){};r["luxe.Tag"]=wi,wi.__name__=["luxe","Tag"];var xi=function(){this.event_queue_count=0,this.event_connections=new De,this.event_slots=new De,this.event_filters=new De,this.event_queue=[],this.event_schedules=new De};r["luxe.Events"]=xi,xi.__name__=["luxe","Events"],xi.prototype={event_queue:null,event_connections:null,event_slots:null,event_filters:null,event_schedules:null,event_queue_count:null,destroy:function(){this.clear()},clear:function(){for(var t=this.event_schedules.iterator();t.hasNext();){var e=t.next();e.stop(),e=null}for(var i=this.event_connections.keys();i.hasNext();){var s=i.next();this.event_connections.remove(s)}for(var n=this.event_filters.keys();n.hasNext();){var r=n.next();this.event_filters.remove(r)}for(var o=this.event_slots.keys();o.hasNext();){var a=o.next();this.event_slots.remove(a)}for(var l=this.event_queue.length;l>0;)this.event_queue.pop(),l--},does_filter_event:function(t,e){var i=new S("\\*","gi"),s=i.replace(t,".*?"),n=new S(s,"gi");return n.match(e)},listen:function(t,e){var i=V.utils.uniqueid(null),s=new ki(i,t,e);this.event_connections.set(i,s);var n=new S("\\*","gi");return n.match(t)?(this.event_filters.exists(t)||this.event_filters.set(t,[]),this.event_filters.get(t).push(s)):(this.event_slots.exists(t)||this.event_slots.set(t,[]),this.event_slots.get(t).push(s)),i},unlisten:function(t){if(this.event_connections.exists(t)){var e=this.event_connections.get(t),i=this.event_slots.get(e.event_name);if(null!=i)return M.remove(i,e),!0;var s=this.event_filters.get(e.event_name);return null!=s?(M.remove(s,e),!0):!1}return!1},queue:function(t,e){var i=V.utils.uniqueid(null);return this.event_queue.push(new Zi(i,t,e)),i},dequeue:function(t){var e=0,i=this.event_queue.length;do{if(this.event_queue[e].id==t)return this.event_queue.splice(e,1),!0;++e}while(i>e);return!1},process:function(){for(var t=this.event_queue.length;t>0;){var e=this.event_queue.shift();this.fire(e.name,e.properties),t--}},fire:function(t,e,i){null==i&&(i=!1);for(var s=!1,n=this.event_filters.iterator();n.hasNext();){var r=n.next();if(r.length>0){var o=r[0].event_name;if(this.does_filter_event(o,t)){i&&(e=this.tag_properties(e,t,r.length));for(var a=0;a0)for(var n=0;s>n;){{n++}e+=" "}return e};var Vi=r["luxe.DebugError"]={__ename__:["luxe","DebugError"],__constructs__:["assertion","null_assertion"]};Vi.assertion=function(t){var e=["assertion",0,t];return e.__enum__=Vi,e.toString=o,e},Vi.null_assertion=function(t){var e=["null_assertion",1,t];return e.__enum__=Vi,e.toString=o,e},Vi.__empty_constructs__=[];var Fi=function(t){if(null==t)throw new li(Vi.null_assertion("_options was null ( Mesh requires non-null options )"));if(this.options=t,this.transform=new Ir,this.transform.listen_pos(n(this,this.set_pos_from_transform)),this.transform.listen_rotation(n(this,this.set_rotation_from_transform)),this.transform.listen_scale(n(this,this.set_scale_from_transform)),null==this.options.batcher&&(this.options.batcher=V.renderer.batcher),this.options.batcher,null!=this.options.file){var e=ri.extension(this.options.file);switch(e){case"obj":this.from_obj_file(this.options.file,this.options.texture,null,this.options.batcher);break;default:throw new li("Mesh cannot handle files with extension "+e)}}else null!=this.options.string?this.from_string(this.options.string,this.options.texture,null,this.options.batcher):null!=this.options.geometry&&(this.geometry=this.options.geometry,null!=this.options.texture&&this.geometry.set_texture(this.options.texture));this.set_pos(function(t){var e;return null==t.options.pos&&(t.options.pos=new pr),e=t.options.pos}(this)),this.set_scale(function(t){var e;return null==t.options.scale&&(t.options.scale=new pr(1,1,1)),e=t.options.scale}(this)),this.set_rotation(function(t){var e;return null==t.options.rotation&&(t.options.rotation=new ir),e=t.options.rotation}(this))};r["luxe.Mesh"]=Fi,Fi.__name__=["luxe","Mesh"],Fi.prototype={geometry:null,transform:null,options:null,set_pos:function(t){return this.transform.local.set_pos(t)},get_pos:function(){return this.transform.local.pos},get_rotation:function(){return this.transform.local.rotation},get_scale:function(){return this.transform.local.scale},set_pos_from_transform:function(t){null!=this.geometry&&this.geometry.transform.local.set_pos(t)},set_rotation:function(t){return this.transform.local.set_rotation(t)},set_rotation_from_transform:function(t){null!=this.geometry&&this.geometry.transform.local.set_rotation(t)},set_scale:function(t){return this.transform.local.set_scale(t)},set_scale_from_transform:function(t){null!=this.geometry&&this.geometry.transform.local.set_scale(t)},_obj_add_vert:function(t,e){var i=new pr;null!=t.normal&&i.set_xyz(t.normal.x,t.normal.y,t.normal.z);var s=new jr(new pr(t.pos.x*e.x,t.pos.y*e.y,t.pos.z*e.z),new ns,i);null!=t.uv&&s.uv.uv0.set_uv(t.uv.u,1-t.uv.v),this.geometry.add(s)},from_string:function(t,e,i,s){null==i&&(i=new pr(1,1,1));var n=new oi(t),r=new hs(n).read();this.geometry=new k({texture:e,primitive_type:4,immediate:!1,batcher:s,depth:this.options.depth,no_batcher_add:this.options.no_batcher_add,buffer_based:this.options.buffer_based,object_space:this.options.object_space});for(var o=0,a=r.vertices;o0)for(var t=this.entities.iterator();t.hasNext();){var e=t.next();null!=e&&e!=V.camera&&(e.destroy(),e=null)}},get_named_like:function(t,e){if(this.entity_count>0)for(var i=new S("^((?:"+t+")[.]{1})","g"),s=this.entities.iterator();s.hasNext();){var n=s.next();i.match(n.get_name())&&e.push(n)}return e},render:function(){this.emit(10)},prerender:function(){this.emit(9)},postrender:function(){this.emit(11)},keydown:function(t){this.emit(12,t)},keyup:function(t){this.emit(13,t)},textinput:function(t){this.emit(14,t)},mousedown:function(t){this.emit(17,t)},mousewheel:function(t){this.emit(20,t)},mouseup:function(t){this.emit(18,t)},mousemove:function(t){this.emit(19,t)},touchdown:function(t){this.emit(21,t)},touchup:function(t){this.emit(22,t)},touchmove:function(t){this.emit(23,t)},gamepadaxis:function(t){this.emit(24,t)},gamepadup:function(t){this.emit(26,t)},gamepaddown:function(t){this.emit(25,t)},gamepaddevice:function(t){this.emit(27,t)},windowmoved:function(t){this.emit(29,t)},windowresized:function(t){this.emit(30,t)},windowsized:function(t){this.emit(31,t)},windowminimized:function(t){this.emit(32,t)},windowrestored:function(t){this.emit(33,t)},inputdown:function(t){this.emit(15,t)},inputup:function(t){this.emit(16,t)},_destroy:function(){this.destroy()},destroy:function(){if(0!=this.destroyed)throw new li(Vi.assertion("destroyed == false"+(" ( "+("scene / destroying repeatedly `"+this.get_name()+"`")+" )")));this.destroyed=!0,V.core.emitter.off(2,n(this,this.init)),V.core.emitter.off(8,n(this,this._destroy)),V.core.emitter.off(6,n(this,this.update)),V.core.emitter.off(9,n(this,this.prerender)),V.core.emitter.off(11,n(this,this.postrender)),V.core.emitter.off(10,n(this,this.render)),V.core.emitter.off(12,n(this,this.keydown)),V.core.emitter.off(13,n(this,this.keyup)),V.core.emitter.off(14,n(this,this.textinput)),V.core.emitter.off(16,n(this,this.inputup)),V.core.emitter.off(15,n(this,this.inputdown)),V.core.emitter.off(18,n(this,this.mouseup)),V.core.emitter.off(17,n(this,this.mousedown)),V.core.emitter.off(19,n(this,this.mousemove)),V.core.emitter.off(20,n(this,this.mousewheel)),V.core.emitter.off(22,n(this,this.touchup)),V.core.emitter.off(21,n(this,this.touchdown)),V.core.emitter.off(23,n(this,this.touchmove)),V.core.emitter.off(26,n(this,this.gamepadup)),V.core.emitter.off(25,n(this,this.gamepaddown)),V.core.emitter.off(24,n(this,this.gamepadaxis)),V.core.emitter.off(27,n(this,this.gamepaddevice)),V.core.emitter.off(29,n(this,this.windowmoved)),V.core.emitter.off(30,n(this,this.windowresized)),V.core.emitter.off(31,n(this,this.windowsized)),V.core.emitter.off(32,n(this,this.windowminimized)),V.core.emitter.off(33,n(this,this.windowrestored)),this.emit(8);var t=V.core.debug.get_view("Scenes");null!=t&&t.remove_scene(this)},_do_init:function(){var t=this.get_length(); if(this.entity_count>0)for(var e=this.entities.iterator();e.hasNext();){var i=e.next();null!=i&&(i.inited||i._init())}var s=this.get_length();return t!=s},init:function(){for(var t=!0;t;)t=this._do_init();this.inited=!0,this.emit(2),this.reset()},reset:function(){this.started=!1,this.emit(3),this.started=!0},update:function(t){if(this.handle_delayed_additions(),this.emit(6,t),this.entity_count>0)for(var e=this.entities.iterator();e.hasNext();){var i=e.next();null!=i&&i._update(t)}},handle_delayed_additions:function(){if(0!=this._delayed_init_entities.length||0!=this._delayed_reset_entities.length,this._delayed_init_entities.length>0){for(var t=0,e=this._delayed_init_entities;t0){for(var s=0,n=this._delayed_reset_entities;sthis.width?!1:t.y>this.height?!1:!0},point_inside_xy:function(t,e){return 0>t?!1:0>e?!1:t>this.width?!1:e>this.height?!1:!0},internal_resized:function(t,e){this.width=t,this.height=e},get_mid:function(){return new pr(Math.round(this.get_w()/2),Math.round(this.get_h()/2))},get_size:function(){return new pr(this.get_w(),this.get_h())},get_bounds:function(){return new nr(0,0,this.get_w(),this.get_h())},get_w:function(){return 0|this.width},get_h:function(){return 0|this.height},get_device_pixel_ratio:function(){return null==window.devicePixelRatio?1:window.devicePixelRatio},__class__:Qi,__properties__:{get_device_pixel_ratio:"get_device_pixel_ratio",get_h:"get_h",get_w:"get_w",get_bounds:"get_bounds",get_size:"get_size",get_mid:"get_mid"}};var qi=function(t){this.ignore=!1,this.grab=!1,this.screen=t,this.pos=new pr};r["luxe.Cursor"]=qi,qi.__name__=["luxe","Cursor"],qi.prototype={grab:null,pos:null,screen:null,ignore:null,set_internal:function(t,e){this.ignore=!0,this.pos=new pr(t,e),this.ignore=!1},get_grab:function(){return this.grab},set_grab:function(t){return this.screen.core.app.runtime.window_grab(t),this.grab=t},get_pos:function(){return this.pos},__class__:qi,__properties__:{get_pos:"get_pos",set_grab:"set_grab",get_grab:"get_grab"}};var $i=function(t){this.text_options=t,this.text_bounds=new nr;var e=null;(null==t.no_batcher_add||0==t.no_batcher_add)&&(e=null!=t.batcher?t.batcher:V.renderer.batcher),this.geom=new Rr({batcher:e,depth:t.depth,visible:t.visible,immediate:t.immediate,color:t.color,shader:t.shader,texture:t.texture,text:t.text,font:t.font,point_size:t.point_size,line_spacing:t.line_spacing,letter_spacing:t.letter_spacing,bounds:t.bounds,bounds_wrap:t.bounds_wrap,align:t.align,align_vertical:t.align_vertical,sdf:t.sdf,smoothness:t.smoothness,thickness:t.thickness,outline:t.outline,outline_color:t.outline_color,glow_threshold:t.glow_threshold,glow_amount:t.glow_amount,glow_color:t.glow_color}),this.geom.emitter.on(1,n(this,this.on_geom_text_update)),t.geometry=this.geom,t.shader=this.geom.state.shader,E.call(this,t),this._update_bounds()};r["luxe.Text"]=$i,$i.__name__=["luxe","Text"],$i.__super__=E,$i.prototype=i(E.prototype,{geom:null,get_text:function(){return this.geom.text},set_text:function(t){return this.geom.set_text(t)},get_font:function(){return this.geom.font},set_font:function(t){return this.geom.set_font(t)},get_point_size:function(){return this.geom.point_size},set_point_size:function(t){return this.geom.set_point_size(t)},get_letter_spacing:function(){return this.geom.letter_spacing},set_letter_spacing:function(t){return this.geom.set_letter_spacing(t)},get_line_spacing:function(){return this.geom.line_spacing},set_line_spacing:function(t){return this.geom.set_line_spacing(t)},get_bounds:function(){return this.geom.bounds},set_bounds:function(t){return this.geom.set_bounds(t)},get_bounds_wrap:function(){return this.geom.bounds_wrap},set_bounds_wrap:function(t){return this.geom.set_bounds_wrap(t)},get_align:function(){return this.geom.align},set_align:function(t){return this.geom.set_align(t)},get_align_vertical:function(){return this.geom.align_vertical},set_align_vertical:function(t){return this.geom.set_align_vertical(t)},get_sdf:function(){return this.geom.sdf},set_sdf:function(t){return this.geom.sdf=t},get_smoothness:function(){return this.geom.smoothness},set_smoothness:function(t){return this.geom.set_smoothness(t)},get_thickness:function(){return this.geom.thickness},set_thickness:function(t){return this.geom.set_thickness(t)},get_outline:function(){return this.geom.outline},set_outline:function(t){return this.geom.set_outline(t)},get_outline_color:function(){return this.geom.outline_color},set_outline_color:function(t){return this.geom.set_outline_color(t)},get_glow_threshold:function(){return this.geom.glow_threshold},set_glow_threshold:function(t){return this.geom.set_glow_threshold(t)},get_glow_amount:function(){return this.geom.glow_amount},set_glow_amount:function(t){return this.geom.set_glow_amount(t)},get_glow_color:function(){return this.geom.glow_color},set_glow_color:function(t){return this.geom.set_glow_color(t)},text_options:null,point_inside:function(t){return this._update_bounds(),this.text_bounds.point_inside(t)},set_pos_from_transform:function(t){E.prototype.set_pos_from_transform.call(this,t),this._update_bounds(),this.text_options.pos=this.get_pos()},text_bounds:null,on_geom_text_update:function(){this._update_bounds()},_update_bounds:function(){var t=this.get_pos().x,e=this.get_pos().y,i=this.geom.text_width,s=this.geom.text_height,n=this.geom.text_width,r=this.geom.text_height;if(null!=this.get_bounds()){r=this.get_bounds().h,n=this.get_bounds().w,t=this.get_bounds().x,e=this.get_bounds().y;var o=this.get_align();switch(o){case 2:t+=i/2;break;case 1:t+=i;break;default:t+=0}var a=this.get_align_vertical();switch(a){case 2:e+=r/2-s/2;break;case 4:e+=r-s;break;default:e+=0}}else{var l=this.get_align();switch(l){case 2:t-=i/2;break;case 1:t-=i;break;default:t-=0}var _=this.get_align_vertical();switch(_){case 2:e-=s/2;break;case 4:e-=s;break;default:e-=0}}this.text_bounds.set(t,e,i,s)},ondestroy:function(){this.geom=null,this.text_options=null,this.text_bounds=null,E.prototype.ondestroy.call(this)},init:function(){E.prototype.init.call(this)},__class__:$i,__properties__:i(E.prototype.__properties__,{set_glow_color:"set_glow_color",get_glow_color:"get_glow_color",set_glow_amount:"set_glow_amount",get_glow_amount:"get_glow_amount",set_glow_threshold:"set_glow_threshold",get_glow_threshold:"get_glow_threshold",set_outline_color:"set_outline_color",get_outline_color:"get_outline_color",set_outline:"set_outline",get_outline:"get_outline",set_thickness:"set_thickness",get_thickness:"get_thickness",set_smoothness:"set_smoothness",get_smoothness:"get_smoothness",set_sdf:"set_sdf",get_sdf:"get_sdf",set_align_vertical:"set_align_vertical",get_align_vertical:"get_align_vertical",set_align:"set_align",get_align:"get_align",set_bounds_wrap:"set_bounds_wrap",get_bounds_wrap:"get_bounds_wrap",set_bounds:"set_bounds",get_bounds:"get_bounds",set_line_spacing:"set_line_spacing",get_line_spacing:"get_line_spacing",set_letter_spacing:"set_letter_spacing",get_letter_spacing:"get_letter_spacing",set_point_size:"set_point_size",get_point_size:"get_point_size",set_font:"set_font",get_font:"get_font",set_text:"set_text",get_text:"get_text"})});var ts=function(t){this.core=t,this.timers=[]};r["luxe.Timer"]=ts,ts.__name__=["luxe","Timer"],ts.prototype={core:null,timers:null,init:function(){},destroy:function(){this.reset()},process:function(){},reset:function(){for(var t=0,e=this.timers;t0)return[l[0]];s.concat(l)}}return s},has:function(t){return this.components.map.exists(t)},__class__:es};var is=function(t){this.visible=!1,N.call(this),this.debug=t};r["luxe.debug.DebugView"]=is,is.__name__=["luxe","debug","DebugView"],is.__super__=N,is.prototype=i(N.prototype,{debug:null,visible:null,refresh:function(){},process:function(){},ontouchdown:function(){},ontouchup:function(){},ontouchmove:function(){},onmousedown:function(){},onmouseup:function(){},onmousemove:function(){},onmousewheel:function(){},onkeydown:function(){},onkeyup:function(){},onwindowsized:function(){},create:function(){},show:function(){this.visible=!0},hide:function(){this.visible=!1},__class__:is});var ss=function(t){this.set_size(new pr(re["int"](.2*V.core.screen.get_w()),re["int"](.6*V.core.screen.get_h()))),this.set_pos(new pr(V.core.screen.get_w()/2-this.size.x/2,V.core.screen.get_h()/2-this.size.y/2)),this.batcher=V.renderer.batcher,null!=t&&(null!=t.batcher&&(this.batcher=t.batcher),null!=t.size&&this.set_size(t.size),null!=t.pos&&this.set_pos(t.pos))};r["luxe.debug.Inspector"]=ss,ss.__name__=["luxe","debug","Inspector"],ss.prototype={pos:null,size:null,title:null,version:null,window:null,batcher:null,onrefresh:null,refresh:function(){null==this.window&&this.create_window(),null!=this.onrefresh&&this.onrefresh()},show:function(){this.refresh(),this.window.set_visible(!0),this.title.set_visible(!0),this.version.set_visible(!0)},hide:function(){this.window.set_visible(!1),this.title.set_visible(!1),this.version.set_visible(!1)},set_size:function(t){return null!=t&&null!=this.window&&(this.window.set_size(t),this.window.geometry.set_dirty(!0)),null!=this.version&&this.version.set_pos(new pr(this.pos.x+(t.x-14),this.pos.y+6)),this.size=t},set_pos:function(t){return null!=t&&null!=this.window&&(this.window.set_pos(t),this.window.geometry.set_dirty(!0)),null!=this.title&&this.title.set_pos(new pr(t.x+14,t.y+6)),null!=this.version&&this.version.set_pos(new pr(t.x+(this.size.x-14),t.y+6)),this.pos=t},create_window:function(){this.window=new B({name:"debug.window",batcher:this.batcher,no_scene:!0,depth:999.1,visible:!1,color:(new ns).rgb(1447449),centered:!1,size:this.size,pos:this.pos}),this.title=new $i({name:"debug.title",batcher:this.batcher,no_scene:!0,depth:999.2,visible:!1,color:(new ns).rgb(16121979),pos:new pr(this.pos.x+14,this.pos.y+6),text:"Inspector",point_size:15,align:0}),this.version=new $i({name:"debug.version",batcher:this.batcher,no_scene:!0,depth:999.2,visible:!1,color:(new ns).rgb(5526617),pos:new pr(this.pos.x+(this.size.x-14),this.pos.y+6),text:""+V.core.runtime_info(),point_size:13,align:1}),this.window.set_locked(!0),this.window.geometry.id="debug.Inspector",this.title.geometry.id="debug.title.text",this.version.geometry.id="debug.version.text"},__class__:ss,__properties__:{set_size:"set_size",set_pos:"set_pos"}};var ns=function(t,e,i,s){null==s&&(s=1),null==i&&(i=1),null==e&&(e=1),null==t&&(t=1),this.refreshing=!1,this.is_hsv=!1,this.is_hsl=!1,this.a=1,this.b=1,this.g=1,this.r=1,this.set_r(t),this.set_g(e),this.set_b(i),this.a=s};r["phoenix.Color"]=ns,ns.__name__=["phoenix","Color"],ns.random=function(t){return null==t&&(t=!1),new ns(Math.random(),Math.random(),Math.random(),t?Math.random():1)},ns.prototype={r:null,g:null,b:null,a:null,is_hsl:null,is_hsv:null,refreshing:null,set_r:function(t){if(this.r=t,!this.refreshing)if(this.is_hsl){var e=this;e.fromColor(this)}else if(this.is_hsv){var i=this;i.fromColor(this)}return this.r},set_g:function(t){if(this.g=t,!this.refreshing)if(this.is_hsl){var e=this;e.fromColor(this)}else if(this.is_hsv){var i=this;i.fromColor(this)}return this.g},set_b:function(t){if(this.b=t,!this.refreshing)if(this.is_hsl){var e=this;e.fromColor(this)}else if(this.is_hsv){var i=this;i.fromColor(this)}return this.b},set:function(t,e,i,s){var n=this.r,r=this.g,o=this.b,a=this.a;return null!=t&&(n=t),null!=e&&(r=e),null!=i&&(o=i),null!=s&&(a=s),this.set_r(n),this.set_g(r),this.set_b(o),this.a=a,this},maxRGB:function(){return Math.max(this.r,Math.max(this.g,this.b))},minRGB:function(){return Math.min(this.r,Math.min(this.g,this.b))},tween:function(t,e,i){if(null==i&&(i=!0),null==t&&(t=.5),null!=e){var s=this.r,n=this.g,r=this.b,o=this.a,a=!1,l=!1,_=!1,u=!1;_i.__instanceof(e,ns)?(s=e.r,n=e.g,r=e.b,o=e.a,a=!0,l=!0,_=!0,u=!0):(null!=e.r&&(s=e.r,a=!0),null!=e.g&&(n=e.g,l=!0),null!=e.b&&(r=e.b,_=!0),null!=e.a&&(o=e.a,u=!0));var h={};return a&&(h.r=s),l&&(h.g=n),_&&(h.b=r),u&&(h.a=o),Ts.tween(this,t,h,i)}throw new li(" Warning: Color.tween passed a null destination ")},clone:function(){return new ns(this.r,this.g,this.b,this.a)},rgb:function(t){return null==t&&(t=16777215),this.from_int(t),this},toColorHSL:function(){return(new qn).fromColor(this)},toColorHSV:function(){return(new $n).fromColor(this)},fromColorHSV:function(t){var e=t.h%360/60;0>e&&(e+=6);var i=Math.floor(e),s=i%6,n=e-i,r=t.v,o=t.v*(1-t.s),a=t.v*(1-n*t.s),l=t.v*(1-(1-n)*t.s);switch(s){case 0:this.set_r(r),this.set_g(l),this.set_b(o);break;case 1:this.set_r(a),this.set_g(r),this.set_b(o);break;case 2:this.set_r(o),this.set_g(r),this.set_b(l);break;case 3:this.set_r(o),this.set_g(a),this.set_b(r);break;case 4:this.set_r(l),this.set_g(o),this.set_b(r);break;case 5:this.set_r(r),this.set_g(o),this.set_b(a)}this.a=t.a},fromColorHSL:function(t){var e=1;e=t.l<.5?t.l*(1+t.s):t.l+t.s-t.l*t.s;for(var i=2*t.l-e,s=t.h%360/360,n=s+.3333333333333333,r=s,o=s-.3333333333333333,a=[n,r,o],l=0,_=a.length;_>l;){var u=l++,h=a[u];0>h&&(h+=1),h>1&&(h-=1),a[u]=.16666666666666666>h?i+6*(e-i)*h:.5>h?e:.6666666666666666>h?i+6*(e-i)*(.6666666666666666-h):i}return this.set_r(a[0]),this.set_g(a[1]),this.set_b(a[2]),this.a=t.a,this},toString:function(){return"{ r:"+this.r+" , g:"+this.g+" , b:"+this.b+" , a:"+this.a+" }"},from_int:function(t){var e=t>>16,i=t>>8&255,s=255&t;this.set_r(e/255),this.set_g(i/255),this.set_b(s/255)},__class__:ns,__properties__:{set_b:"set_b",set_g:"set_g",set_r:"set_r"}};var rs=function(t){this._setup=!1,this._byte_levels=["bytes","Kb","MB","GB","TB"],this.minpeak=1,this.peak=1,this.nexttick=0,this.tickamount=.017,this.margin=32,is.call(this,t),this.set_name("Profiler"),rs.lists=new De};r["luxe.debug.ProfilerDebugView"]=rs,rs.__name__=["luxe","debug","ProfilerDebugView"],rs.add_offset=function(t,e){var i=rs.lists.get(t),s=rs.lists.get(e);null!=i&&null!=s?i.offsets.push(s):(Be.trace("not found for "+t+" or "+e,{fileName:"ProfilerDebugView.hx",lineNumber:158,className:"luxe.debug.ProfilerDebugView",methodName:"add_offset"}),Be.trace(re.string(i)+" / "+re.string(s),{fileName:"ProfilerDebugView.hx",lineNumber:159,className:"luxe.debug.ProfilerDebugView",methodName:"add_offset"}))},rs.hide_item=function(t){var e=rs.lists.get(t);null!=e&&(e.hidden=!0,e.bar.hide())},rs.show_item=function(t){var e=rs.lists.get(t);null!=e&&(e.hidden=!1,e.bar.show())},rs.start=function(t,e){var i=rs.lists.get(t);null==i&&(i=new os(t,new ls(t,e,(new ns).rgb(16121979))),i.bar.set_pos(new pr(2*V.debug.padding.x,3*V.debug.padding.y+20*W.count(rs.lists))),rs.lists.set(t,i)),i.start=window.performance.now()/1e3-to.timestamp_start},rs.end=function(t){var e=rs.lists.get(t);if(null==e)throw new li("Debug / profile end called for "+t+" but no start called");e.set()},rs.__super__=is,rs.prototype=i(is.prototype,{margin:null,create:function(){},tickamount:null,nexttick:null,peak:null,minpeak:null,_byte_levels:null,update_graph:function(t,e){var i=Math.floor(Math.log(e)/Math.log(1024)),s=e/Math.pow(1024,i);s>this.peak&&(this.peak=Math.ceil(s+.1*s)),sthis.avg&&this.history.shift(),this.count++,this.count==this.avg){var n=this.accum/this.avg;this.bar.set_value(n),this.accum=0,this.count=0}this.accum+=t,this.bar.visible&&this.bar.set_text(re.string(Gn.fixed(1e3*t,4)))},__class__:os};var as=function(t,e){null==e&&(e=!0),this.visible=!1,this.history=33,this.height2=8,this.height=8,this.width=128,this.bg=!0,this.bg=e,this.name=t,this.color=new ns,this.set_max(Gn.fixed(16.666666666666668,2))};r["luxe.debug._ProfilerDebugView.ProfilerGraph"]=as,as.__name__=["luxe","debug","_ProfilerDebugView","ProfilerGraph"],as.prototype={graphbg_geometry:null,graph_geometry:null,name:null,bg:null,width:null,height:null,height2:null,history:null,visible:null,color:null,max:null,ping:null,pos:null,segment:null,create:function(){this.segment=this.width/this.history,this.height2=2*this.height,this.bg&&(this.graphbg_geometry=V.draw.box({color:(new ns).rgb(1052688),depth:999.3,batcher:V.debug.batcher,x:0,y:0,w:this.width-this.segment,h:this.height2})),this.graph_geometry=new k({color:this.color,depth:999.33,batcher:V.debug.batcher});for(var t=0,e=this.history;e>t;){var i=t++,s=new jr(new pr(this.segment*i,this.height2),this.color);this.graph_geometry.add(s)}this.graph_geometry.set_primitive_type(3),this.hide()},set_max:function(t){var e=this.max;if(this.max=t,null!=this.graph_geometry){var i=1;0!=e&&(i=e/t);for(var s=0,n=this.graph_geometry.vertices;ss;){var r=s++,o=this.graph_geometry.vertices[r];if(ri?.001:i>1?1:i,this.graph_geometry.vertices[this.history-1].color=i>1?rs.color_red:.2>i?rs.color_green:this.color,this.graph_geometry.vertices[this.history-1].pos.set_y(Math.floor(this.height2*(1-i))),this.ping=t},hide:function(){this.visible=!1,this.graph_geometry.set_visible(!1),null!=this.graphbg_geometry&&this.graphbg_geometry.set_visible(!1)},show:function(){this.visible=!0,this.graph_geometry.set_visible(!0),null!=this.graphbg_geometry&&this.graphbg_geometry.set_visible(!0)},set_pos:function(t){return null!=this.graphbg_geometry&&this.graphbg_geometry.transform.local.pos.copy_from(t),this.graph_geometry.transform.local.pos.copy_from(t),this.pos=t},__class__:as,__properties__:{set_pos:"set_pos",set_ping:"set_ping",set_max:"set_max"}};var ls=function(t,e,i){this.max=16.7,this.height=8,this.visible=!1,this.name=t,this.graph=new as(t),this.graph.create(),null!=e&&this.graph.set_max(e),this.text_item=new $i({no_scene:!0,name:"profiler.text."+t,pos:new pr(0,0),color:i,point_size:1.8*this.height,depth:999.3,text:"",batcher:V.debug.batcher}),this.bg_geometry=V.draw.box({color:(new ns).rgb(592137),depth:999.3,batcher:V.debug.batcher,x:0,y:0,w:this.graph.width,h:this.graph.height}),this.bar_geometry=V.draw.box({color:i,depth:999.33,batcher:V.debug.batcher,x:1,y:1,w:this.graph.width-2,h:this.graph.height-2}),this.hide()};r["luxe.debug._ProfilerDebugView.ProfilerBar"]=ls,ls.__name__=["luxe","debug","_ProfilerDebugView","ProfilerBar"],ls.prototype={bar_geometry:null,bg_geometry:null,graph:null,text_item:null,name:null,visible:null,height:null,max:null,text:null,pos:null,value:null,hide:function(){this.visible=!1,this.bar_geometry.set_visible(!1),this.bg_geometry.set_visible(!1),this.text_item.set_visible(!1),this.graph.hide()},show:function(){this.visible=!0,this.bar_geometry.set_visible(!0),this.bg_geometry.set_visible(!0),this.text_item.set_visible(!0),this.graph.show()},set_value:function(t){if(this.graph.set_ping(1e3*t),!this.visible)return this.value=t;var e=Gn.fixed(1e3*t,4),i=e/this.max;i=.005>i?.005:i>1?1:i,this.bar_geometry.set_color(i>1?rs.color_red:.15>i?rs.color_green:rs.color_normal);var s=(this.graph.width-2)*i;return this.bar_geometry.resize_xy(s,this.graph.height-2),this.value=t},set_pos:function(t){return this.bg_geometry.transform.local.set_pos(t),this.bar_geometry.transform.local.pos.set_xy(t.x+1,t.y+1),this.text_item.get_pos().set_xy(t.x+2*this.graph.width+10,t.y-6),this.graph.set_pos(new pr(t.x,t.y,t.z,t.w).add_xyz(this.graph.width+2,-this.graph.height+4,null)),this.pos=t},set_text:function(t){return this.text_item.set_text(""+this.name+" ("+this.graph.max+"ms) | "+t+"ms"),this.text=t},__class__:ls,__properties__:{set_value:"set_value",set_pos:"set_pos",set_text:"set_text"}};var _s=function(t){this.hide_ids=!0,this.font_size=15,this.margin=32,is.call(this,t),this.set_name("Scenes"),this.scenes=[]};r["luxe.debug.SceneDebugView"]=_s,_s.__name__=["luxe","debug","SceneDebugView"],_s.__super__=is,_s.prototype=i(is.prototype,{items_list:null,margin:null,font_size:null,create:function(){var t=V.debug;this.items_list=new $i({name:"debug.scene.list",depth:999.3,no_scene:!0,color:new ns(0,0,0,1).rgb(16121979),pos:new pr(0,0),font:V.renderer.font,text:this.get_list(),point_size:this.font_size,batcher:t.batcher,visible:!1}),this.items_list.geometry.id="debug.scene.list.geometry",this.resize()},scenes:null,add_scene:function(t){if(-1!=M.indexOf(this.scenes,t,0))throw new li(Vi.assertion("scenes.indexOf(_scene) == -1"));this.scenes.push(t)},remove_scene:function(t){if(-1==M.indexOf(this.scenes,t,0))throw new li(Vi.assertion("scenes.indexOf(_scene) != -1"));var e=M.remove(this.scenes,t);return this.refresh(),e},onkeydown:function(t){50==t.keycode&&this.visible&&this.toggle_ids()},hide_ids:null,toggle_ids:function(){this.hide_ids=!this.hide_ids,this.refresh()},tabs:function(t){for(var e="",i=0;t>i;){{i++}e+=" "}return e},list_entity:function(t,e,i){null==i&&(i=1);var s;s=e.get_active()?"":"/ inactive";var n;n=1==i?this.tabs(i):this.tabs(i)+"> ";var r;r=this.hide_ids?"":e.get_id();var o=W.count(e._components.components),a="• "+o,l="> "+e.children.length;t+=""+n+r+" "+e.get_name()+" "+l+" "+a+" "+s+"\n";for(var _=M.iter(e._components.components._keys);_.hasNext();){var u,h=_.next(),g=e._components.components.map.get(h);u=this.hide_ids?"":" "+g.id,t+=this.tabs(i+1)+("•"+u+" "+g.name+"\n")}for(var c=0,I=e.children;c0&&(o=r-(s+2*this.margin)),n-=this.margin/2*t.y,n=o>n?o:n>r?r:n,this.items_list.get_pos().set_y(n)},show:function(){is.prototype.show.call(this),this.refresh(),this.items_list.set_visible(!0)},hide:function(){is.prototype.hide.call(this),this.items_list.set_visible(!1)},resize:function(){var t=V.debug,e=new nr(t.inspector.pos.x+this.margin/2,t.inspector.pos.y+1.5*this.margin,t.inspector.size.x-this.margin,t.inspector.size.y-this.margin-1.5*this.margin),i=t.padding.x+this.margin,s=t.padding.y+1.5*this.margin;null!=this.items_list&&(this.items_list.set_pos(new pr(i,s)),this.items_list.set_clip_rect(e))},onwindowsized:function(){this.resize()},__class__:_s});var us=function(){};r["luxe.importers.bitmapfont.BitmapFontParser"]=us,us.__name__=["luxe","importers","bitmapfont","BitmapFontParser"],us.parse=function(t){if(0==t.length)throw new li("BitmapFont:Parser: _font_data is 0 length");var e={face:null,chars:new Se,point_size:0,base_size:0,char_count:0,line_height:0,pages:[],kernings:new Se},i=t.split("\n");if(0==i.length)throw new li("BitmapFont; invalid font data specified for parser.");var s=i[0];if("info"!=function(){var t,e=ae.ltrim(s);return t=M.substr(e,0,4)}(this))throw new li("BitmapFont; invalid font data specified for parser. Format should be plain ascii text .fnt file only currently.");for(var n=0;nl;){var u,h=l++,g=this.vertexIndices[h],c=this.uvIndices[h],I=this.normalIndices[h],d=i[g-1];u=-1!=c?s[c-1]:{u:0,v:0};var p;p=-1!=I?n[I-1]:{x:0,y:0,z:0,w:0},e.vertices.push({pos:d,uv:u,normal:p})}return e},parse_vert:function(t){for(var e=t.split(" "),i=0;i4?parseFloat(e[4]):1};return n},parse_uv:function(t){for(var e=t.split(" "),i=0;i4?parseFloat(e[4]):1};return n},parse_face:function(t){t=ae.trim(t);for(var e=t.split(" "),i=0;i3)throw new li("Can't parse faces that aren't triangulated from here (yet).");for(var n=0;n2?re.parseInt(o[2]):-1)}else{var a=r.split("/");this.vertexIndices.push(re.parseInt(a[0])),this.uvIndices.push(-1),this.normalIndices.push(a.length>2?re.parseInt(a[2]):-1)}}},__class__:hs};var gs=function(t,e){this.frames=e,this.meta=t,this.frame_map=new De;for(var i=0,s=this.frames;i0))throw new li(Vi.assertion("ref > 0"));var e=this,i=e.ref;if(e.set_ref(i-1),!(this.ref>=0))throw new li(Vi.assertion("ref >= 0"))}(0==this.ref||t)&&(this.clear(),this.set_state(6),this.system.remove(this),this.system.emit(8,this))},invalidate:function(){if(6==this.state)throw new li(Vi.assertion("state != ResourceState.destroyed"));this.clear(),this.set_state(5),this.system.emit(6,this)},reload:function(){return null},memory_use:function(){return 0},set_ref:function(t){var e=this.ref;return this.ref=t,this.ref>e?this.system.emit(9,this):this.refs?t.left=this.node_insert(t.left,e,i):s>0?t.right=this.node_insert(t.right,e,i):t.value=i,this.is_red(t.right)&&!this.is_red(t.left)&&(t=this.rotate_left(t)),this.is_red(t.left)&&this.is_red(t.left.left)&&(t=this.rotate_right(t)),this.is_red(t.left)&&this.is_red(t.right)&&this.swap_color(t),t.nodecount=this.node_count(t.left)+this.node_count(t.right)+1,t},node_update_count:function(t){return t.nodecount=this.node_count(t.left)+this.node_count(t.right)+1,t},node_find:function(t,e){if(null==t)return null;var i=this.compare(e,t.key);return 0>i?this.node_find(t.left,e):i>0?this.node_find(t.right,e):t.value},node_rank:function(t,e){if(null==e)return 0;var i=this.compare(t,e.key);return 0>i?this.node_rank(t,e.left):i>0?1+this.node_count(e.left)+this.node_rank(t,e.right):this.node_count(e.left)},node_select:function(t,e){if(null==t)return null;var i=this.node_count(t.left);return i>e?this.node_select(t.left,e):e>i?this.node_select(t.right,e-i-1):t},node_smallest:function(t){return null==t.left?t:this.node_smallest(t.left)},node_largest:function(t){return null==t.right?t:this.node_largest(t.right)},node_floor:function(t,e){if(null==t)return null;var i=this.compare(e,t.key);if(0==i)return t;if(0>i)return this.node_floor(t.left,e);var s=this.node_floor(t.right,e);return null!=s?s:t},node_ceil:function(t,e){if(null==t)return null;var i=this.compare(e,t.key);if(0==i)return t;if(0>i){var s=this.node_ceil(t.left,e);return null!=s?s:t}return this.node_ceil(t.right,e)},node_remove_smallest:function(t){return null==t.left?null:(this.is_red(t.left)||this.is_red(t.left.left)||(t=this.move_red_left(t)),t.left=this.node_remove_smallest(t.left),t.nodecount=this.node_count(t.left)+this.node_count(t.right)+1,this.balance(t))},node_remove_largest:function(t){return this.is_red(t.left)&&(t=this.rotate_right(t)),null==t.right?null:(this.is_red(t.right)||this.is_red(t.right.left)||(t=this.move_red_right(t)),t.right=this.node_remove_largest(t.right),t.nodecount=this.node_count(t.left)+this.node_count(t.right)+1,this.balance(t))},node_remove:function(t,e){var i=this.compare(e,t.key);if(0>i)this.is_red(t.left)||this.is_red(t.left.left)||(t=this.move_red_left(t)),t.left=this.node_remove(t.left,e);else{this.is_red(t.left)&&(t=this.rotate_right(t));var s=this.compare(e,t.key);if(0==s&&null==t.right)return null;this.is_red(t.right)||this.is_red(t.right.left)||(t=this.move_red_right(t));var n=this.compare(e,t.key);if(0==n){var r=this.node_smallest(t.right);t.key=r.key,t.value=r.value,t.right=this.node_remove_smallest(t.right)}else t.right=this.node_remove(t.right,e)}return this.balance(t)},is_red:function(t){return null==t?!1:1==t.color},rotate_left:function(t){var e=t.right;return e.color=t.color,t.color=!0,t.right=e.left,e.left=t,e.nodecount=t.nodecount,t.nodecount=this.node_count(t.left)+this.node_count(t.right)+1,e},rotate_right:function(t){var e=t.left;return e.color=t.color,t.color=!0,t.left=e.right,e.right=t,e.nodecount=t.nodecount,t.nodecount=this.node_count(t.left)+this.node_count(t.right)+1,e},swap_color:function(t){t.color=!t.color,t.left.color=!t.left.color,t.right.color=!t.right.color},move_red_left:function(t){return this.swap_color(t),this.is_red(t.right.left)&&(t.right=this.rotate_right(t.right),t=this.rotate_left(t)),t},move_red_right:function(t){return this.swap_color(t),this.is_red(t.left.left)&&(t=this.rotate_right(t)),t},balance:function(t){return this.is_red(t.right)&&(t=this.rotate_left(t)),this.is_red(t.left)&&this.is_red(t.left.left)&&(t=this.rotate_right(t)),this.is_red(t.left)&&this.is_red(t.right)&&this.swap_color(t),t.nodecount=this.node_count(t.left)+this.node_count(t.right)+1,t},__class__:ys,__properties__:{get_empty:"get_empty"}};var bs=function(t){null!=t&&null!=t.root&&(this.tree=t,this.current=this._min(this.tree.root),this.rightest=this._max(this.tree.root))};r["luxe.structural.BalancedBSTIterator"]=bs,bs.__name__=["luxe","structural","BalancedBSTIterator"],bs.prototype={tree:null,current:null,rightest:null,hasNext:function(){return null==this.current||null==this.rightest?!1:this.tree.compare(this.current.key,this.rightest.key)<=0},next:function(){var t=this.current;return this.current=this.update_next(),t.value},update_next:function(){if(!(null==this.current||null==this.rightest?!1:this.tree.compare(this.current.key,this.rightest.key)<=0))return null;if(null!=this.current.right)return this._min(this.current.right);for(var t=null,e=this.tree.root;null!=e;){var i=this.tree.compare(this.current.key,e.key);if(0>i)t=e,e=e.left;else{if(!(i>0)){this.current=t;break}e=e.right}}return t},_min:function(t){for(;null!=t.left;)t=t.left;return t},_max:function(t){for(;null!=t.right;)t=t.right;return t},__class__:bs};var ws=function(){};r["luxe.structural._BalancedBST.NodeColor"]=ws,ws.__name__=["luxe","structural","_BalancedBST","NodeColor"];var xs=function(t,e,i,s){this.left=null,this.right=null,this.key=t,this.value=e,this.nodecount=i,this.color=s};r["luxe.structural.BalancedBSTNode"]=xs,xs.__name__=["luxe","structural","BalancedBSTNode"],xs.prototype={left:null,right:null,nodecount:null,color:null,key:null,value:null,__class__:xs};var ks=r["luxe.structural.BalancedBSTTraverseMethod"]={__ename__:["luxe","structural","BalancedBSTTraverseMethod"],__constructs__:["order_pre","order_retain","order_post"]};ks.order_pre=["order_pre",0],ks.order_pre.toString=o,ks.order_pre.__enum__=ks,ks.order_retain=["order_retain",1],ks.order_retain.toString=o,ks.order_retain.__enum__=ks,ks.order_post=["order_post",2],ks.order_post.toString=o,ks.order_post.__enum__=ks,ks.__empty_constructs__=[ks.order_pre,ks.order_retain,ks.order_post];var Zs=function(t){null!=t&&null!=t.root&&(this.tree=t,this.current=this._min(this.tree.root),this.rightest=this._max(this.tree.root))};r["luxe.structural.BalancedBSTIterator_phoenix_geometry_GeometryKey_phoenix_geometry_Geometry"]=Zs,Zs.__name__=["luxe","structural","BalancedBSTIterator_phoenix_geometry_GeometryKey_phoenix_geometry_Geometry"],Zs.prototype={tree:null,current:null,rightest:null,hasNext:function(){return null==this.current||null==this.rightest?!1:this.tree.compare(this.current.key,this.rightest.key)<=0},next:function(){var t=this.current;return this.current=this.update_next(),t.value},update_next:function(){if(!(null==this.current||null==this.rightest?!1:this.tree.compare(this.current.key,this.rightest.key)<=0))return null;if(null!=this.current.right)return this._min(this.current.right);for(var t=null,e=this.tree.root;null!=e;){var i=this.tree.compare(this.current.key,e.key);if(0>i)t=e,e=e.left;else{if(!(i>0)){this.current=t;break}e=e.right}}return t},_min:function(t){for(;null!=t.left;)t=t.left;return t},_max:function(t){for(;null!=t.right;)t=t.right;return t},__class__:Zs};var Ss=function(t,e,i,s){this.left=null,this.right=null,this.key=t,this.value=e,this.nodecount=i,this.color=s};r["luxe.structural.BalancedBSTNode_phoenix_geometry_GeometryKey_phoenix_geometry_Geometry"]=Ss,Ss.__name__=["luxe","structural","BalancedBSTNode_phoenix_geometry_GeometryKey_phoenix_geometry_Geometry"],Ss.prototype={left:null,right:null,nodecount:null,color:null,key:null,value:null,__class__:Ss};var zs=function(t){this.compare=t};r["luxe.structural.BalancedBST_phoenix_geometry_GeometryKey_phoenix_geometry_Geometry"]=zs,zs.__name__=["luxe","structural","BalancedBST_phoenix_geometry_GeometryKey_phoenix_geometry_Geometry"],zs.prototype={root:null,compare:null,empty:null,size:function(){return this.node_count(this.root)},depth:function(){return this.node_depth(this.root)},insert:function(t,e){this.root=this.node_insert(this.root,t,e),this.root.color=!1},contains:function(t){return null!=this.find(t)},find:function(t){return this.node_find(this.root,t)},rank:function(t){return this.node_rank(t,this.root)},select:function(t){var e=this.node_select(this.root,t);return null!=e?e.key:null},smallest:function(){var t=this.node_smallest(this.root);return null!=t?t.key:null},largest:function(){var t=this.node_largest(this.root);return null!=t?t.key:null},remove:function(t){return this.is_red(this.root.left)||this.is_red(this.root.right)||(this.root.color=!0),this.contains(t)?(this.root=this.node_remove(this.root,t),null!=this.root&&(this.root.color=!1),!0):!1},remove_smallest:function(){return this.is_red(this.root.left)||this.is_red(this.root.right)||(this.root.color=!0),this.root=this.node_remove_smallest(this.root),null!=this.root&&(this.root.color=!1),!0},remove_largest:function(){return this.is_red(this.root.left)||this.is_red(this.root.right)||(this.root.color=!0),this.root=this.node_remove_largest(this.root),null!=this.root&&(this.root.color=!1),!0},floor:function(t){var e=this.node_floor(this.root,t);return null==e?null:e.key},ceil:function(t){var e=this.node_ceil(this.root,t);return null==e?null:e.key},toArray:function(){var t=[];return this.traverse_node(this.root,ks.order_retain,function(e){t.push(e.value)}),t},keys:function(){var t=[];return this.traverse_node(this.root,ks.order_retain,function(e){t.push(e.key)}),t},iterator:function(){return new Zs(this)},traverse_node:function(t,e,i){if(null!=t)switch(e[1]){case 0:i(t),this.traverse_node(t.left,e,i),this.traverse_node(t.right,e,i);break;case 1:this.traverse_node(t.left,e,i),i(t),this.traverse_node(t.right,e,i);break;case 2:this.traverse_node(t.left,e,i),this.traverse_node(t.right,e,i),i(t)}},get_empty:function(){return null==this.root},node_depth:function(t){if(null==t)return 0;var e=Math.max(this.node_depth(t.left),this.node_depth(t.right));return 1+(0|e)},node_count:function(t){return null==t?0:t.nodecount},node_insert:function(t,e,i){if(null==t)return new Ss(e,i,1,!0);var s=this.compare(e,t.key);return 0>s?t.left=this.node_insert(t.left,e,i):s>0?t.right=this.node_insert(t.right,e,i):t.value=i,this.is_red(t.right)&&!this.is_red(t.left)&&(t=this.rotate_left(t)),this.is_red(t.left)&&this.is_red(t.left.left)&&(t=this.rotate_right(t)),this.is_red(t.left)&&this.is_red(t.right)&&this.swap_color(t),t.nodecount=this.node_count(t.left)+this.node_count(t.right)+1,t},node_update_count:function(t){return t.nodecount=this.node_count(t.left)+this.node_count(t.right)+1,t},node_find:function(t,e){if(null==t)return null;var i=this.compare(e,t.key);return 0>i?this.node_find(t.left,e):i>0?this.node_find(t.right,e):t.value},node_rank:function(t,e){if(null==e)return 0;var i=this.compare(t,e.key);return 0>i?this.node_rank(t,e.left):i>0?1+this.node_count(e.left)+this.node_rank(t,e.right):this.node_count(e.left)},node_select:function(t,e){if(null==t)return null;var i=this.node_count(t.left);return i>e?this.node_select(t.left,e):e>i?this.node_select(t.right,e-i-1):t},node_smallest:function(t){return null==t.left?t:this.node_smallest(t.left)},node_largest:function(t){return null==t.right?t:this.node_largest(t.right)},node_floor:function(t,e){if(null==t)return null;var i=this.compare(e,t.key);if(0==i)return t;if(0>i)return this.node_floor(t.left,e);var s=this.node_floor(t.right,e);return null!=s?s:t},node_ceil:function(t,e){if(null==t)return null;var i=this.compare(e,t.key);if(0==i)return t;if(0>i){var s=this.node_ceil(t.left,e);return null!=s?s:t}return this.node_ceil(t.right,e)},node_remove_smallest:function(t){return null==t.left?null:(this.is_red(t.left)||this.is_red(t.left.left)||(t=this.move_red_left(t)),t.left=this.node_remove_smallest(t.left),t.nodecount=this.node_count(t.left)+this.node_count(t.right)+1,this.balance(t))},node_remove_largest:function(t){return this.is_red(t.left)&&(t=this.rotate_right(t)),null==t.right?null:(this.is_red(t.right)||this.is_red(t.right.left)||(t=this.move_red_right(t)),t.right=this.node_remove_largest(t.right),t.nodecount=this.node_count(t.left)+this.node_count(t.right)+1,this.balance(t))},node_remove:function(t,e){var i=this.compare(e,t.key);if(0>i)this.is_red(t.left)||this.is_red(t.left.left)||(t=this.move_red_left(t)),t.left=this.node_remove(t.left,e);else{this.is_red(t.left)&&(t=this.rotate_right(t));var s=this.compare(e,t.key);if(0==s&&null==t.right)return null;this.is_red(t.right)||this.is_red(t.right.left)||(t=this.move_red_right(t));var n=this.compare(e,t.key);if(0==n){var r=this.node_smallest(t.right);t.key=r.key,t.value=r.value,t.right=this.node_remove_smallest(t.right)}else t.right=this.node_remove(t.right,e)}return this.balance(t)},is_red:function(t){return null==t?!1:1==t.color},rotate_left:function(t){var e=t.right;return e.color=t.color,t.color=!0,t.right=e.left,e.left=t,e.nodecount=t.nodecount,t.nodecount=this.node_count(t.left)+this.node_count(t.right)+1,e},rotate_right:function(t){var e=t.left;return e.color=t.color,t.color=!0,t.left=e.right,e.right=t,e.nodecount=t.nodecount,t.nodecount=this.node_count(t.left)+this.node_count(t.right)+1,e},swap_color:function(t){t.color=!t.color,t.left.color=!t.left.color,t.right.color=!t.right.color},move_red_left:function(t){return this.swap_color(t),this.is_red(t.right.left)&&(t.right=this.rotate_right(t.right),t=this.rotate_left(t)),t},move_red_right:function(t){return this.swap_color(t),this.is_red(t.left.left)&&(t=this.rotate_right(t)),t},balance:function(t){return this.is_red(t.right)&&(t=this.rotate_left(t)),this.is_red(t.left)&&this.is_red(t.left.left)&&(t=this.rotate_right(t)),this.is_red(t.left)&&this.is_red(t.right)&&this.swap_color(t),t.nodecount=this.node_count(t.left)+this.node_count(t.right)+1,t},__class__:zs,__properties__:{get_empty:"get_empty"}};var Ns=function(t){this.index=0,this.map=t};r["luxe.structural.OrderedMapIterator"]=Ns,Ns.__name__=["luxe","structural","OrderedMapIterator"],Ns.prototype={map:null,index:null,hasNext:function(){return this.index "+re.string(this.map.get(r))+(e++ "+re.string(this.map.get(r))+(e++s;){{s++}t=js.actuators[i],null!=t&&t.active?(e=t.timescaled?js.update_timer:js.current_time,t.timescaled&&!t.has_timescaled_starttime&&(t.has_timescaled_starttime=!0,t.startTime=js.update_timer,t.timeOffset=t.startTime),e>t.timeOffset&&t.update(e),i++):(js.actuators.splice(i,1),--js.actuatorsLength)}},js.__super__=Bs,js.prototype=i(Bs.prototype,{timeOffset:null,active:null,cacheVisible:null,detailsLength:null,initialized:null,paused:null,pauseTime:null,propertyDetails:null,sendChange:null,setVisible:null,startTime:null,toggleVisible:null,has_timescaled_starttime:null,autoVisible:function(t){return null==t&&(t=!0),this._autoVisible=t,t||(this.toggleVisible=!1,this.setVisible&&this.setField(this.target,"visible",this.cacheVisible)),this},delay:function(t){return this._delay=t,this.timeOffset=this.startTime+t,this},getField:function(t,e){var i=null;return i=Object.prototype.hasOwnProperty.call(t,e)?te.field(t,e):te.getProperty(t,e)},initialize:function(){for(var t,e,i=0,s=te.fields(this.properties);i1&&(s=1),this.initialized||this.initialize(),this.special){i=this._ease.calculate(this._reverse?1-s:s);for(var n,r=0,o=this.detailsLength;o>r;){var a=r++;if(e=this.propertyDetails[a],!this._smartRotation||"rotation"!=e.propertyName&&"rotationX"!=e.propertyName&&"rotationY"!=e.propertyName&&"rotationZ"!=e.propertyName)n=e.start+e.change*i;else{var l=e.change%360;l>180?l-=360:-180>l&&(l+=360),n=e.start+l*i}this._snapping?this.setProperty(e,Math.round(n)):e.isField?te.setProperty(e.target,e.propertyName,n):te.setProperty(e.target,e.propertyName,n)}}else{i=this._ease.calculate(s);for(var _=0,u=this.detailsLength;u>_;){var h=_++;e=this.propertyDetails[h],this.setProperty(e,e.start+e.change*i)}}if(1==s){if(0==this._repeat)return this.active=!1,this.toggleVisible&&0==this.getField(this.target,"alpha")&&this.setField(this.target,"visible",!1),void this.complete(!0);null!=this._onRepeat&&this.callMethod(this._onRepeat,this._onRepeatParams),this._reflect&&(this._reverse=!this._reverse),this.startTime=t,this.timeOffset=this.startTime+this._delay,this._repeat>0&&this._repeat-- }this.sendChange&&this.change()}},__class__:js});var Ms=function(){};r["luxe.tween.easing.Quad"]=Ms,Ms.__name__=["luxe","tween","easing","Quad"],Ms.__properties__={get_easeOut:"get_easeOut",get_easeInOut:"get_easeInOut",get_easeIn:"get_easeIn"},Ms.get_easeIn=function(){return new mn},Ms.get_easeInOut=function(){return new Cn},Ms.get_easeOut=function(){return new Ls};var Ws=function(){};r["luxe.tween.easing.IEasing"]=Ws,Ws.__name__=["luxe","tween","easing","IEasing"],Ws.prototype={calculate:null,ease:null,__class__:Ws};var Ls=function(){};r["luxe.tween.easing.QuadEaseOut"]=Ls,Ls.__name__=["luxe","tween","easing","QuadEaseOut"],Ls.__interfaces__=[Ws],Ls.prototype={calculate:function(t){return-t*(t-2)},ease:function(t,e,i,s){return-i*(t/=s)*(t-2)+e},__class__:Ls};var Ts=function(){};r["luxe.tween.Actuate"]=Ts,Ts.__name__=["luxe","tween","Actuate"],Ts.apply=function(t,e,i){Ts.stop(t,e),null==i&&(i=Ts.defaultActuator);var s=de.createInstance(i,[t,0,e]);return s.apply(),s},Ts.getLibrary=function(t,e){return null==e&&(e=!0),!Ts.targetLibraries.exists(t)&&e&&Ts.targetLibraries.set(t,[]),Ts.targetLibraries.get(t)},Ts.motionPath=function(t,e,i,s){return null==s&&(s=!0),Ts.tween(t,e,i,s,Ps)},Ts.pause=function(t){if(_i.__instanceof(t,Bs))_i.__cast(t,Bs).pause();else{var e=Ts.getLibrary(t,!1);if(null!=e)for(var i=0;i=0;)e[i].stop(null,!1,!1),i--;Ts.targetLibraries=new Ue},Ts.resume=function(t){if(_i.__instanceof(t,Bs))_i.__cast(t,Bs).resume();else{var e=Ts.getLibrary(t,!1);if(null!=e)for(var i=0;i=0;)n[u].stop(e,i,s),u--}}},Ts.timer=function(t,e){return Ts.tween(new Js(0),t,new Js(1),!1,e)},Ts.tween=function(t,e,i,s,n){if(null==s&&(s=!0),null!=t){if(e>0){null==n&&(n=Ts.defaultActuator);var r=de.createInstance(n,[t,e,i]),o=Ts.getLibrary(r.target);if(s){for(var a=o.length-1;a>=0;)o[a].stop(r.properties,!1,!1),a--;o=Ts.getLibrary(r.target)}return o.push(r),r.move(),r}return Ts.apply(t,i,n)}return null},Ts.unload=function(t){var e=t.target;null!=Ts.targetLibraries.h.__keys__[e.__id__]&&(M.remove(Ts.targetLibraries.h[e.__id__],t),0==Ts.targetLibraries.h[e.__id__].length&&Ts.targetLibraries.remove(e))},Ts.update=function(t,e,i,s,n){null==n&&(n=!0);var r={start:i,end:s};return Ts.tween(t,e,r,n,Us)};var Js=function(t){this.progress=t};r["luxe.tween._Actuate.TweenTimer"]=Js,Js.__name__=["luxe","tween","_Actuate","TweenTimer"],Js.prototype={progress:null,__class__:Js};var Vs=function(){this._x=new Hs,this._y=new Hs,this._rotation=null};r["luxe.tween.MotionPath"]=Vs,Vs.__name__=["luxe","tween","MotionPath"],Vs.prototype={rotation:null,x:null,y:null,_rotation:null,_x:null,_y:null,bezier:function(t,e,i,s,n){return null==n&&(n=1),this._x.addPath(new Xs(t,i,n)),this._y.addPath(new Xs(e,s,n)),this},line:function(t,e,i){return null==i&&(i=1),this._x.addPath(new Ys(t,i)),this._y.addPath(new Ys(e,i)),this},get_rotation:function(){return null==this._rotation&&(this._rotation=new Ks(this._x,this._y)),this._rotation},get_x:function(){return this._x},get_y:function(){return this._y},__class__:Vs,__properties__:{get_y:"get_y",get_x:"get_x",get_rotation:"get_rotation"}};var Fs=function(){};r["luxe.tween.IComponentPath"]=Fs,Fs.__name__=["luxe","tween","IComponentPath"],Fs.prototype={get_end:null,end:null,start:null,calculate:null,__class__:Fs,__properties__:{get_end:"get_end"}};var Hs=function(){this.paths=[],this.start=0,this.totalStrength=0};r["luxe.tween.ComponentPath"]=Hs,Hs.__name__=["luxe","tween","ComponentPath"],Hs.__interfaces__=[Fs],Hs.prototype={start:null,end:null,paths:null,totalStrength:null,addPath:function(t){this.paths.push(t),this.totalStrength+=t.strength},calculate:function(t){if(1==this.paths.length)return this.paths[0].calculate(this.start,t);for(var e=t*this.totalStrength,i=this.start,s=0,n=this.paths;sr.strength))return r.calculate(i,e/r.strength);e-=r.strength,i=r.end}return 0},get_end:function(){if(this.paths.length>0){var t=this.paths[this.paths.length-1];return t.end}return this.start},__class__:Hs,__properties__:{get_end:"get_end"}};var Xs=function(t,e,i){this.end=t,this.control=e,this.strength=i};r["luxe.tween.BezierPath"]=Xs,Xs.__name__=["luxe","tween","BezierPath"],Xs.prototype={control:null,end:null,strength:null,calculate:function(t,e){return(1-e)*(1-e)*t+2*(1-e)*e*this.control+e*e*this.end},__class__:Xs};var Ys=function(t,e){Xs.call(this,t,0,e)};r["luxe.tween.LinearPath"]=Ys,Ys.__name__=["luxe","tween","LinearPath"],Ys.__super__=Xs,Ys.prototype=i(Xs.prototype,{calculate:function(t,e){return t+e*(this.end-t)},__class__:Ys});var Ks=function(t,e){this.step=.01,this._x=t,this._y=e,this.offset=0,this.start=this.calculate(0)};r["luxe.tween.RotationPath"]=Ks,Ks.__name__=["luxe","tween","RotationPath"],Ks.__interfaces__=[Fs],Ks.prototype={end:null,offset:null,start:null,step:null,_x:null,_y:null,calculate:function(t){var e=this._x.calculate(t)-this._x.calculate(t+this.step),i=this._y.calculate(t)-this._y.calculate(t+this.step),s=Math.atan2(i,e)*(180/Math.PI);return s=(s+this.offset)%360},get_end:function(){return this.calculate(1)},__class__:Ks,__properties__:{get_end:"get_end"}};var Us=function(t,e,i){this.currentParameters=[],this.tweenProperties={},js.call(this,t,e,i),Object.prototype.hasOwnProperty.call(i,"start")||(this.properties.start=[]),Object.prototype.hasOwnProperty.call(i,"end")||(this.properties.end=this.properties.start);for(var s=0,n=this.properties.start.length;n>s;){{s++}this.currentParameters.push(null)}};r["luxe.tween.actuators.MethodActuator"]=Us,Us.__name__=["luxe","tween","actuators","MethodActuator"],Us.__super__=js,Us.prototype=i(js.prototype,{currentParameters:null,tweenProperties:null,apply:function(){this.callMethod(this.target,this.properties.end)},complete:function(t){null==t&&(t=!0);for(var e=0,i=this.properties.start.length;i>e;){var s=e++;this.currentParameters[s]=te.field(this.tweenProperties,"param"+s)}this.callMethod(this.target,this.currentParameters),js.prototype.complete.call(this,t)},initialize:function(){for(var t,e,i,s=0,n=this.properties.start.length;n>s;){var r=s++;e="param"+r,i=this.properties.start[r],this.tweenProperties[e]=i,("number"==typeof i||(0|i)===i)&&(t=new Ds(this.tweenProperties,e,i,this.properties.end[r]-i),this.propertyDetails.push(t))}this.detailsLength=this.propertyDetails.length,this.initialized=!0},update:function(t){if(js.prototype.update.call(this,t),this.active){for(var e=0,i=this.properties.start.length;i>e;){var s=e++;this.currentParameters[s]=te.field(this.tweenProperties,"param"+s)}this.callMethod(this.target,this.currentParameters)}},__class__:Us});var Ps=function(t,e,i){js.call(this,t,e,i)};r["luxe.tween.actuators.MotionPathActuator"]=Ps,Ps.__name__=["luxe","tween","actuators","MotionPathActuator"],Ps.__super__=js,Ps.prototype=i(js.prototype,{apply:function(){for(var t=0,e=te.fields(this.properties);t1&&(i=1),this.initialized||this.initialize(),this.special){e=this._ease.calculate(this._reverse?1-i:i);for(var s=0,n=this.propertyDetails;s0&&this._repeat--}this.sendChange&&this.change()}},__class__:Ps});var Ds=function(t,e,i,s,n){null==n&&(n=!0),this.target=t,this.propertyName=e,this.start=i,this.change=s,this.isField=n};r["luxe.tween.actuators.PropertyDetails"]=Ds,Ds.__name__=["luxe","tween","actuators","PropertyDetails"],Ds.prototype={change:null,isField:null,propertyName:null,start:null,target:null,__class__:Ds};var Qs=function(t,e,i,s){null==s&&(s=!0),Ds.call(this,t,e,0,0,s),this.path=i};r["luxe.tween.actuators.PropertyPathDetails"]=Qs,Qs.__name__=["luxe","tween","actuators","PropertyPathDetails"],Qs.__super__=Ds,Qs.prototype=i(Ds.prototype,{path:null,__class__:Qs});var qs=function(){};r["luxe.tween.easing.Back"]=qs,qs.__name__=["luxe","tween","easing","Back"],qs.__properties__={get_easeOut:"get_easeOut",get_easeInOut:"get_easeInOut",get_easeIn:"get_easeIn"},qs.get_easeIn=function(){return new $s(1.70158)},qs.get_easeInOut=function(){return new tn(1.70158)},qs.get_easeOut=function(){return new en(1.70158)};var $s=function(t){this.s=t};r["luxe.tween.easing.BackEaseIn"]=$s,$s.__name__=["luxe","tween","easing","BackEaseIn"],$s.__interfaces__=[Ws],$s.prototype={s:null,calculate:function(t){return t*t*((this.s+1)*t-this.s)},ease:function(t,e,i,s){return i*(t/=s)*t*((this.s+1)*t-this.s)+e},__class__:$s};var tn=function(t){this.s=t};r["luxe.tween.easing.BackEaseInOut"]=tn,tn.__name__=["luxe","tween","easing","BackEaseInOut"],tn.__interfaces__=[Ws],tn.prototype={s:null,calculate:function(t){return(t/=.5)<1?.5*t*t*(((this.s*=1.525)+1)*t-this.s):.5*((t-=2)*t*(((this.s*=1.525)+1)*t+this.s)+2)},ease:function(t,e,i,s){return(t/=s/2)<1?i/2*t*t*(((this.s*=1.525)+1)*t-this.s)+e:i/2*((t-=2)*t*(((this.s*=1.525)+1)*t+this.s)+2)+e},__class__:tn};var en=function(t){this.s=t};r["luxe.tween.easing.BackEaseOut"]=en,en.__name__=["luxe","tween","easing","BackEaseOut"],en.__interfaces__=[Ws],en.prototype={s:null,calculate:function(t){return(t-=1)*t*((this.s+1)*t+this.s)+1},ease:function(t,e,i,s){return i*((t=t/s-1)*t*((this.s+1)*t+this.s)+1)+e},__class__:en};var sn=function(){};r["luxe.tween.easing.Cubic"]=sn,sn.__name__=["luxe","tween","easing","Cubic"],sn.__properties__={get_easeOut:"get_easeOut",get_easeInOut:"get_easeInOut",get_easeIn:"get_easeIn"},sn.get_easeIn=function(){return new nn},sn.get_easeInOut=function(){return new rn},sn.get_easeOut=function(){return new on};var nn=function(){};r["luxe.tween.easing.CubicEaseIn"]=nn,nn.__name__=["luxe","tween","easing","CubicEaseIn"],nn.__interfaces__=[Ws],nn.prototype={calculate:function(t){return t*t*t},ease:function(t,e,i,s){return i*(t/=s)*t*t+e},__class__:nn};var rn=function(){};r["luxe.tween.easing.CubicEaseInOut"]=rn,rn.__name__=["luxe","tween","easing","CubicEaseInOut"],rn.__interfaces__=[Ws],rn.prototype={calculate:function(t){return(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},ease:function(t,e,i,s){return(t/=s/2)<1?i/2*t*t*t+e:i/2*((t-=2)*t*t+2)+e},__class__:rn};var on=function(){};r["luxe.tween.easing.CubicEaseOut"]=on,on.__name__=["luxe","tween","easing","CubicEaseOut"],on.__interfaces__=[Ws],on.prototype={calculate:function(t){return--t*t*t+1},ease:function(t,e,i,s){return i*((t=t/s-1)*t*t+1)+e},__class__:on};var an=function(){};r["luxe.tween.easing.Elastic"]=an,an.__name__=["luxe","tween","easing","Elastic"],an.__properties__={get_easeOut:"get_easeOut",get_easeInOut:"get_easeInOut",get_easeIn:"get_easeIn"},an.get_easeIn=function(){return new ln(.1,.4)},an.get_easeInOut=function(){return new _n(.1,.4)},an.get_easeOut=function(){return new un(.1,.4)};var ln=function(t,e){this.a=t,this.p=e};r["luxe.tween.easing.ElasticEaseIn"]=ln,ln.__name__=["luxe","tween","easing","ElasticEaseIn"],ln.__interfaces__=[Ws],ln.prototype={a:null,p:null,calculate:function(t){if(0==t)return 0;if(1==t)return 1;var e;return this.a<1?(this.a=1,e=this.p/4):e=this.p/(2*Math.PI)*Math.asin(1/this.a),-(this.a*Math.pow(2,10*(t-=1))*Math.sin(2*(t-e)*Math.PI/this.p))},ease:function(t,e,i,s){if(0==t)return e;if(1==(t/=s))return e+i;var n;return this.at?-.5*Math.pow(2,10*(t-=1))*Math.sin(2*(t-i)*Math.PI/e):Math.pow(2,-10*(t-=1))*Math.sin(2*(t-i)*Math.PI/e)*.5+1},ease:function(t,e,i,s){if(0==t)return e;if(2==(t/=s/2))return e+i;var n;return this.at?-.5*this.a*Math.pow(2,10*(t-=1))*Math.sin(2*(t*s-n)*Math.PI/this.p)+e:this.a*Math.pow(2,-10*(t-=1))*Math.sin(2*(t*s-n)*Math.PI/this.p)*.5+i+e},__class__:_n};var un=function(t,e){this.a=t,this.p=e};r["luxe.tween.easing.ElasticEaseOut"]=un,un.__name__=["luxe","tween","easing","ElasticEaseOut"],un.__interfaces__=[Ws],un.prototype={a:null,p:null,calculate:function(t){if(0==t)return 0;if(1==t)return 1;var e;return this.a<1?(this.a=1,e=this.p/4):e=this.p/(2*Math.PI)*Math.asin(1/this.a),this.a*Math.pow(2,-10*t)*Math.sin(2*(t-e)*Math.PI/this.p)+1},ease:function(t,e,i,s){if(0==t)return e;if(1==(t/=s))return e+i;var n;return this.ao;){var a=o++;i[a].y+e.y>t.y!=i[r].y+e.y>t.y&&t.x<(i[r].x+e.x-(i[a].x+e.x))*(t.y-(i[a].y+e.y))/(i[r].y+e.y-(i[a].y+e.y))+(i[a].x+e.x)&&(s=!s),r=a}return s},_v_cache:null,point_in_geometry:function(t,e){for(var i=!1,s=e.vertices.length,n=s-1,r=(t.x,t.y,0);s>r;){var o=r++,a=e.vertices[o].pos,l=e.vertices[n].pos;this._v_cache.set_xy(a.x,a.y),this._v_cache.transform(e.transform.get_world().get_matrix());var _=this._v_cache.x,u=this._v_cache.y;this._v_cache.set_xy(l.x,l.y),this._v_cache.transform(e.transform.get_world().get_matrix());var h=this._v_cache.x,g=this._v_cache.y;u>t.y!=g>t.y&&t.x<(h-_)*(t.y-u)/(g-u)+_&&(i=!i),n=o}return i},intersect_ray_plane:function(t,e,i,s){var n=i.dot(new pr(s.x-t.x,s.y-t.y,s.z-t.z)),r=i.x*e.x+i.y*e.y+i.z*e.z,o=n/r;return pr.Add(t,pr.Multiply(e,o))},__class__:On};var Gn=function(){};r["luxe.utils.Maths"]=Gn,Gn.__name__=["luxe","utils","Maths"],Gn.fixed=function(t,e){var i=Math.pow(10,e);return(t*i|0)/i},Gn.lerp=function(t,e,i){return i=0>i?0:i>1?1:i,t+i*(e-t)},Gn.weighted_avg=function(t,e,i){return 0==i&&(i=1e-8),(t*(i-1)+e)/i},Gn.clamp=function(t,e,i){return e>t?e:t>i?i:t},Gn.clampi=function(t,e,i){return e>t?e:t>i?i:t},Gn.clamp_bottom=function(t,e){return e>t?e:t},Gn.within_range=function(t,e,i){return t>=e&&i>=t},Gn.wrap_angle=function(t,e,i){var s=i-e,n=Math.floor((t-e)/s);return t-n*s},Gn.nearest_power_of_two=function(t){return t--,t|=t>>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,t++,t},Gn.map_linear=function(t,e,i,s,n){return s+(t-e)*(n-s)/(i-e)},Gn.smoothstep=function(t,e,i){return e>=t?0:t>=i?1:(t=(t-e)/(i-e),t*t*(3-2*t))},Gn.smootherstep=function(t,e,i){return e>=t?0:t>=i?1:(t=(t-e)/(i-e),t*t*t*(t*(6*t-15)+10))},Gn.sign=function(t){return t>=0?1:-1},Gn.sign0=function(t){return 0>t?-1:t>0?1:0},Gn.radians=function(t){return.017453292519943278*t},Gn.degrees=function(t){return 57.29577951308238*t},Gn.vec_lengthsq=function(t,e){return t*t+e*e},Gn.vec_length=function(t,e){return Math.sqrt(t*t+e*e)},Gn.vec_normalize=function(t,e){return 0==t?0:e/=t},Gn.vec_dot=function(t,e,i,s){return t*i+e*s},Gn.prototype={__class__:Gn};var Rn=function(t){if(!(t>0))throw new li(Vi.assertion("_initial_seed > 0 ( initial negative seed will return negative random results, if this was intentional, define luxe_random_allow_negative_seed )"));this.initial=this.seed=t,this.seed=this.initial};r["luxe.utils.Random"]=Rn,Rn.__name__=["luxe","utils","Random"],Rn.prototype={get:function(){return(this.seed=16807*this.seed%2147483647)/2147483647+2.33e-10},"float":function(t,e){return null==e&&(e=t,t=0),((this.seed=16807*this.seed%2147483647)/2147483647+2.33e-10)*(e-t)+t},"int":function(t,e){return null==e&&(e=t,t=0),Math.floor(this["float"](t,e))},bool:function(t){return null==t&&(t=.5),(this.seed=16807*this.seed%2147483647)/2147483647+2.33e-109){var e=65+(t-10);return e>90&&(e+=6),String.fromCharCode(e)}return(null==t?"null":""+t).charAt(0)},i=t%62|0,s=t/62|0;return s>0?this.uniqueid(s)+e(i):re.string(e(i))},uniquehash:function(){return this.hash(this.uniqueid(null))},hash:function(t){return this.hashdjb2(t)},hashdjb2:function(t){for(var e=5381,i=0,s=t.length;s>i;){var n=i++;e=(e<<5)+e+M.cca(t,n)}return e},uniqueid2:function(){return He.encode(re.string((window.performance.now()/1e3-to.timestamp_start)*Math.random()))},stacktrace:function(t){null==t&&(t=100);var e="\n",i=Ge.callStack();i.shift(),i.reverse();for(var s=re["int"](Math.min(i.length,t)),n=0;s>n;){var r=n++,o=(i[r],i[r]);switch(o[1]){case 2:var a=o[4],l=o[3],_=o[2];if(null!=_)switch(_[1]){case 3:var u=_[3],h=_[2];e+=" at "+l+":"+a+": "+h+"."+u}}r!=s-1&&(e+="\n")}return e},path_is_relative:function(t){return"#"!=t.charAt(0)&&"/"!=t.charAt(0)&&-1==t.indexOf(":\\")&&-1==t.indexOf(":/")&&(-1==t.indexOf("//")||t.indexOf("//")>t.indexOf("#")||t.indexOf("//")>t.indexOf("?"))},find_assets_sequence:function(t,e,i){null==i&&(i="1"),null==e&&(e=".png");var s=[],n="",r=null,o=t+i+e,a=new S("("+t+")(\\d\\b)","gi"),l=t+"_"+i+e,_=new S("("+t+")(_\\d\\b)","gi"),u=t+"-"+i+e,h=new S("("+t+")(-\\d\\b)","gi");if(V.resources.cache.exists(o)?(n=o,r=a):V.resources.cache.exists(l)?(n=l,r=_):V.resources.cache.exists(u)?(n=u,r=h):Be.trace("Sequence requested from "+t+" but no assets found like `"+o+"` or `"+l+"` or `"+u+"`",{fileName:"Utils.hx",lineNumber:168,className:"luxe.utils.Utils",methodName:"find_assets_sequence"}),""!=n){for(var g=this.core.resources.cache.iterator();g.hasNext();){var c=g.next();r.match(c.id)&&s.push(c.id)}s.sort(function(t,e){return t==e?0:e>t?-1:1})}return s},text_wrap_column_knuth_plass:function(t,e){null==e&&(e=80);var i,s=[],n=[],r=[],o=new Se;o.h[0]=0,i=o;for(var a=new Se,l=t,_=new S("(\\b[^\\s]+\\b)","gm");_.match(l);)n.push(_.matched(1)),l=_.matchedRight();0==n.length&&n.push(t),n.map(function(t){r.push(t.length)});for(var u=n.length,h=1,g=u+1;g>h;){for(var c=h++,I=new Se,d=c;function(){for(var t,e=0,i=d-1;c>i;){var s=i++;e+=r[s]}return t=e+(c-d+1)}(this)<=e&&d>0;){var p;p=e-function(){for(var t,e=0,i=d-1;c>i;){var s=i++;e+=r[s]}return t=e+(c-d+1)}(this);var m=re["int"](Math.pow(p,3)+i.h[d-1]);I.h[m]=d,d-=1}for(var C,A=1073741823,f=I.keys();f.hasNext();){var v=f.next();A>v&&(A=v)}C=A,i.h[c]=C;var y=I.h[C];a.h[c]=y}for(var b=1;u>1;)s.unshift(n.slice(a.h[u]-1,u).join(" ")),u=a.h[u]-1,b+=1;return 0==s.length&&s.push(t),s},text_wrap_column:function(t,e,i){null==i&&(i=80),null==e&&(e="\n");var s=new S("(.{1,"+i+"})(?: +|$)\n?|(.{"+i+"})","gimu").replace(t,"$1$2"+e);return ae.rtrim(s)},bytes_to_string:function(t,e){null==e&&(e=3);var i;i=0==t?0:Math.floor(Math.log(t)/Math.log(1024));var s=t/Math.pow(1024,i);return s=Gn.fixed(s,e),s+" "+this._byte_levels[i]},array_to_bytes:function(t){if(null==t)return null;for(var e=Je.alloc(t.length),i=0,s=e.length;s>i;){var n=i++;e.b[n]=255&t[n]}return e},premultiply_alpha:function(t){for(var e=t.length,i=(t[0],0);e>i;){var s=t[i],n=t[i+1],r=t[i+2],o=t[i+3]/255;t[i]=s*o|0,t[i+1]=n*o|0,t[i+2]=r*o|0,i+=4}return t},premultiply_alpha_normalized:function(t){for(var e=t.length,i=(t[0],0);e>i;){var s=t[i],n=t[i+1],r=t[i+2],o=t[i+3];t[i]=s*o,t[i+1]=n*o,t[i+2]=r*o,i+=4}return t},__class__:En};var Bn={};r["luxe.utils.unifill._CodePoint.CodePoint_Impl_"]=Bn,Bn.__name__=["luxe","utils","unifill","_CodePoint","CodePoint_Impl_"],Bn.cons=function(t,e){return Wn.fromCodePoint(t)+e},Bn.snoc=function(t,e){return t+Wn.fromCodePoint(e)},Bn.addInt=function(t,e){return t+e},Bn.sub=function(t,e){return t-e},Bn.subInt=function(t,e){return t-e},Bn._new=function(t){var e;if(!(t>=0&&1114111>=t)||t>=55296&&56319>=t||t>=56320&&57343>=t)throw new li(Mn.InvalidCodePoint(t));return e=t},Bn.toString=function(t){return Wn.fromCodePoint(t)},Bn.toInt=function(t){return t};var jn=function(t){this.i=0,this.string=t,this.index=0,this.endIndex=t.length};r["luxe.utils.unifill.CodePointIter"]=jn,jn.__name__=["luxe","utils","unifill","CodePointIter"],jn.prototype={string:null,index:null,endIndex:null,hasNext:function(){return this.index=55296&&56319>=o?2:1;var a=M.substr(r,e,n);return s=a,i=s},Wn.codePointCount=function(t,e,i){return Vn.codePointCount(t,e,i)},Wn.codePointWidthAt=function(t,e){var i=t.charCodeAt(e);return i>=55296&&56319>=i?2:1},Wn.codePointWidthBefore=function(t,e){var i=t;return Fn.find_prev_code_point(function(t){return i.charCodeAt(t)},e)},Wn.offsetByCodePoints=function(t,e,i){var s=t;if(i>=0){for(var n=e,r=s.length,o=0;i>o&&r>n;){var a=s.charCodeAt(n);n+=a>=55296&&56319>=a?2:1,++o}return n}for(var l=e,_=0;-i>_&&l>0;){var u=[s];l-=Fn.find_prev_code_point(function(t){return function(e){return t[0].charCodeAt(e)}}(u),l),++_}return l},Wn.backwardOffsetByCodePoints=function(t,e,i){var s=t,n=-i;if(n>=0){for(var r=e,o=s.length,a=0;n>a&&o>r;){var l=s.charCodeAt(r);r+=l>=55296&&56319>=l?2:1,++a}return r}for(var _=e,u=0;-n>u&&_>0;){var h=[s];_-=Fn.find_prev_code_point(function(t){return function(e){return t[0].charCodeAt(e)}}(h),_),++u}return _},Wn.fromCodePoint=function(t){var e;if(65535>=t){var i,s=String.fromCharCode(t);i=s,e=i}else{var n,r=String.fromCharCode((t>>10)+55232)+String.fromCharCode(1023&t|56320);n=r,e=n}return e},Wn.fromCodePoints=function(t){for(var e,i=new oe,n=s(t)();n.hasNext();){var r=n.next();Fn.encode_code_point(function(t){i.b+=String.fromCharCode(t)},r)}return e=i.b},Wn.validate=function(t){Vn.validate(t)},Wn.isValidString=function(t){try{return Vn.validate(t),!0}catch(e){if(Ge.lastException=e,e instanceof li&&(e=e.val),!_i.__instanceof(e,Mn))throw e;switch(e[1]){case 1:{e[2]}return!1;default:throw new li(e)}}};var Ln=function(t,e,i){this.i=0,this.string=t,this.index=e,this.endIndex=i};r["luxe.utils.unifill.InternalEncodingIter"]=Ln,Ln.__name__=["luxe","utils","unifill","InternalEncodingIter"],Ln.prototype={string:null,index:null,endIndex:null,hasNext:function(){return this.index>10)+55232},Tn.encodeLowSurrogate=function(t){return 1023&t|56320},Tn.isScalar=function(t){return t>=0&&1114111>=t&&!(t>=55296&&56319>=t)&&!(t>=56320&&57343>=t)},Tn.isHighSurrogate=function(t){return t>=55296&&56319>=t},Tn.isLowSurrogate=function(t){return t>=56320&&57343>=t};var Jn=function(){};r["luxe.utils.unifill.Unifill"]=Jn,Jn.__name__=["luxe","utils","unifill","Unifill"],Jn.uLength=function(t){return Vn.codePointCount(t,0,t.length)},Jn.uCharAt=function(t,e){var i=Wn.offsetByCodePoints(t,0,e);return Wn.charAt(t,i)},Jn.uCharCodeAt=function(t,e){var i=Wn.offsetByCodePoints(t,0,e);return Vn.codePointAt(t,i)},Jn.uCodePointAt=function(t,e){return Jn.uCharCodeAt(t,e)},Jn.uIndexOf=function(t,e,i){null==i&&(i=0);var s=t.indexOf(e,Wn.offsetByCodePoints(t,0,i));return s>=0?Vn.codePointCount(t,0,s):-1},Jn.uLastIndexOf=function(t,e,i){null==i&&(i=t.length-1);var s=t.lastIndexOf(e,Wn.offsetByCodePoints(t,0,i));return s>=0?Vn.codePointCount(t,0,s):-1},Jn.uSplit=function(t,e){if(0==e.length){for(var i=[],s=0,n=t,r=0,o=t.length;o>r;){var a;s=r,r+=Wn.codePointWidthAt(n,r),a=s,i.push(Wn.charAt(t,a))}return i}return t.split(e)},Jn.uSubstr=function(t,e,i){var s,n=Wn.offsetByCodePoints(t,e>=0?0:t.length,e);return s=null==i?t.length:0>i?n:Wn.offsetByCodePoints(t,n,i),t.substring(n,s)},Jn.uSubstring=function(t,e,i){var s;s=0>e?0:Wn.offsetByCodePoints(t,0,e);var n;return n=null==i?t.length:0>i?0:Wn.offsetByCodePoints(t,0,i),t.substring(s,n)},Jn.uIterator=function(t){return new jn(t)},Jn.uCompare=function(t,e){for(var i=0,s=t,n=0,r=t.length,o=0,a=e,l=0,_=e.length;r>n&&_>l;){var u=Wn.codePointAt(t,function(){var t;return i=n,n+=Wn.codePointWidthAt(s,n),t=i}(this)),h=Wn.codePointAt(e,function(){var t;return o=l,l+=Wn.codePointWidthAt(a,l),t=o}(this));if(h>u)return-1;if(u>h)return 1}return _>l?-1:r>n?1:0},Jn.uToString=function(t){return Wn.fromCodePoints(t)};var Vn={};r["luxe.utils.unifill._Utf16.Utf16_Impl_"]=Vn,Vn.__name__=["luxe","utils","unifill","_Utf16","Utf16_Impl_"],Vn.__properties__={get_length:"get_length"},Vn.fromCodePoint=function(t){if(65535>=t){var e,i=String.fromCharCode(t);return e=i}var s,n=String.fromCharCode((t>>10)+55232)+String.fromCharCode(1023&t|56320);return s=n},Vn.fromCodePoints=function(t){for(var e=new oe,i=s(t)();i.hasNext();){var n=i.next();Fn.encode_code_point(function(t){e.b+=String.fromCharCode(t)},n)}return e.b},Vn.fromString=function(t){return t},Vn.fromArray=function(t){for(var e,i="",s=0;s=55296&&56319>=n?2:1;var r=M.substr(t,e,s);return i=r},Vn.codePointCount=function(t,e,i){for(var s=e,n=0;i>s;){var r=t.charCodeAt(s);s+=r>=55296&&56319>=r?2:1,++n}return n},Vn.codePointWidthAt=function(t,e){var i=t.charCodeAt(e);return i>=55296&&56319>=i?2:1},Vn.codePointWidthBefore=function(t,e){return Fn.find_prev_code_point(function(e){return t.charCodeAt(e)},e)},Vn.offsetByCodePoints=function(t,e,i){if(i>=0){for(var s=e,n=t.length,r=0;i>r&&n>s;){var o=t.charCodeAt(s);s+=o>=55296&&56319>=o?2:1,++r}return s}for(var a=e,l=0;-i>l&&a>0;){var _=[t];a-=Fn.find_prev_code_point(function(t){return function(e){return t[0].charCodeAt(e)}}(_),a),++l}return a},Vn.substr=function(t,e,i){var s,n=M.substr(t,e,i);return s=n},Vn.validate=function(t){for(var e=t.length,i=function(e){return t.charCodeAt(e)},s=0;e>s;){Fn.decode_code_point(e,i,s);var n=t.charCodeAt(s);s+=n>=55296&&56319>=n?2:1}},Vn.toString=function(t){return t},Vn.toArray=function(t){for(var e=0,i=t.length,s=[];i>e;)s.push(ae.fastCodeAt(t,e++));return s},Vn._new=function(t){return t},Vn.get_length=function(t){return t.length},Vn.forward_offset_by_code_points=function(t,e,i){for(var s=t.length,n=0;i>n&&s>e;){var r=t.charCodeAt(e);e+=r>=55296&&56319>=r?2:1,++n}return e},Vn.backward_offset_by_code_points=function(t,e,i){for(var s=0;i>s&&e>0;){var n=[t];e-=Fn.find_prev_code_point(function(t){return function(e){return t[0].charCodeAt(e)}}(n),e),++s}return e};var Fn=function(){};r["luxe.utils.unifill._Utf16.Utf16Impl"]=Fn,Fn.__name__=["luxe","utils","unifill","_Utf16","Utf16Impl"],Fn.code_point_width=function(t){return t>=55296&&56319>=t?2:1},Fn.find_prev_code_point=function(t,e){var i=t(e-1);return i>=56320&&57343>=i?2:1},Fn.encode_code_point=function(t,e){65535>=e?t(e):(t((e>>10)+55232),t(1023&e|56320))},Fn.decode_code_point=function(t,e,i){if(0>i||i>=t)throw new li(Mn.InvalidCodeUnitSequence(i));var s=e(i);if(s>=55296&&56319>=s){if(0>i+1||i+1>=t)throw new li(Mn.InvalidCodeUnitSequence(i));var n=e(i+1);if(n>=56320&&57343>=n)return s-55232<<10|1023&n;throw new li(Mn.InvalidCodeUnitSequence(i))}if(s>=56320&&57343>=s)throw new li(Mn.InvalidCodeUnitSequence(i));return s};var Hn={};r["luxe.utils.unifill._Utf16.StringU16Buffer_Impl_"]=Hn,Hn.__name__=["luxe","utils","unifill","_Utf16","StringU16Buffer_Impl_"],Hn._new=function(){return new oe},Hn.addUnit=function(t,e){t.b+=String.fromCharCode(e)},Hn.getStringU16=function(t){return t.b};var Xn={};r["luxe.utils.unifill._Utf16.StringU16_Impl_"]=Xn,Xn.__name__=["luxe","utils","unifill","_Utf16","StringU16_Impl_"],Xn.__properties__={get_length:"get_length"},Xn.fromString=function(t){return t},Xn.fromCodeUnit=function(t){var e=String.fromCharCode(t);return e},Xn.fromTwoCodeUnits=function(t,e){var i=String.fromCharCode(t)+String.fromCharCode(e);return i},Xn.ofArray=function(t){for(var e="",i=0;ie;)s.push(ae.fastCodeAt(t,e++));return s},Xn._new=function(t){return t},Xn.get_length=function(t){return t.length};var Yn=function(t){this.log=!1,this.batcher=t,this.geom_state=new zr,this.last_geom_state=new zr};r["phoenix.BatchState"]=Yn,Yn.__name__=["phoenix","BatchState"],Yn.prototype={batcher:null,geom_state:null,last_geom_state:null,last_texture_id:null,last_shader_id:null,is_clipping:null,clip_rect:null,last_clip_rect:null,log:null,active_shader:function(){return null!=this.geom_state.shader?this.geom_state.shader:null!=this.geom_state.texture?this.batcher.renderer.shaders.textured.shader:this.batcher.renderer.shaders.plain.shader},activate:function(t){if(this.geom_state.dirty){null!=this.geom_state.texture?this.last_texture_id!=this.geom_state.texture.id&&(this.last_texture_id=this.geom_state.texture.id,null!=this.geom_state.texture.texture&&this.geom_state.texture.bind()):(V.renderer.state.bindTexture2D(null),this.last_texture_id=null);var e;e=null==t.shader?this.geom_state.shader:t.shader,null==e&&(e=null!=this.geom_state.texture?t.renderer.shaders.textured.shader:t.renderer.shaders.plain.shader),this.last_shader_id!=e.program&&(e.no_default_uniforms||(e.uniforms.set_matrix4_arr("projectionMatrix",t.view.proj_arr,oo.gl.getUniformLocation(e.program,"projectionMatrix")),e.uniforms.set_matrix4_arr("modelViewMatrix",t.view.view_inverse_arr,oo.gl.getUniformLocation(e.program,"modelViewMatrix"))),e.use(),e.uniforms.apply(),V.renderer.state.activeTexture(33984),this.last_shader_id=e.program)}if(this.geom_state.clip){if(this.is_clipping||(oo.gl.enable(3089),this.is_clipping=!0),null!=this.clip_rect&&!this.clip_rect.equal(this.last_clip_rect)){var i=t.view.viewport.h-(this.clip_rect.y+this.clip_rect.h);oo.gl.scissor(0|this.clip_rect.x,0|i,0|this.clip_rect.w,0|this.clip_rect.h)}}else this.is_clipping&&(oo.gl.disable(3089),this.is_clipping=!1);this.geom_state.dirty=!1},deactivate:function(){null!=this.last_texture_id&&V.renderer.state.bindTexture2D(null),V.renderer.state.useProgram(null),this.is_clipping&&oo.gl.disable(3089)},update:function(t){return this.geom_state.clone_onto(this.last_geom_state),this.geom_state.update(t.state),this.geom_state.clip&&(this.last_clip_rect=this.clip_rect,this.clip_rect=t.clip_rect),this.geom_state.dirty||this.last_clip_rect!=this.clip_rect},str:function(){this.log&&(Be.trace(" + BATCHSTATE LAST ",{fileName:"BatchState.hx",lineNumber:159,className:"phoenix.BatchState",methodName:"str"}),Be.trace(" depth - "+this.last_geom_state.depth,{fileName:"BatchState.hx",lineNumber:160,className:"phoenix.BatchState",methodName:"str"}),Be.trace(" texture - "+(null==this.last_geom_state.texture?"null":this.last_geom_state.texture.id),{fileName:"BatchState.hx",lineNumber:161,className:"phoenix.BatchState",methodName:"str"}),null!=this.last_geom_state.texture&&Be.trace(" "+re.string(this.last_geom_state.texture.texture),{fileName:"BatchState.hx",lineNumber:163,className:"phoenix.BatchState",methodName:"str"}),Be.trace(" shader - "+(null==this.last_geom_state.shader?"null":this.last_geom_state.shader.id),{fileName:"BatchState.hx",lineNumber:165,className:"phoenix.BatchState",methodName:"str"}),Be.trace(" primitive_type - "+this.last_geom_state.primitive_type,{fileName:"BatchState.hx",lineNumber:166,className:"phoenix.BatchState",methodName:"str"}),Be.trace(" clip - "+re.string(this.last_geom_state.clip),{fileName:"BatchState.hx",lineNumber:167,className:"phoenix.BatchState",methodName:"str"}),Be.trace(" - BATCHSTATE LAST",{fileName:"BatchState.hx",lineNumber:168,className:"phoenix.BatchState",methodName:"str"}),Be.trace(" + BATCHSTATE STATE",{fileName:"BatchState.hx",lineNumber:170,className:"phoenix.BatchState",methodName:"str"}),Be.trace(" depth - "+this.geom_state.depth,{fileName:"BatchState.hx",lineNumber:171,className:"phoenix.BatchState",methodName:"str"}),Be.trace(" texture - "+(null==this.geom_state.texture?"null":this.geom_state.texture.id),{fileName:"BatchState.hx",lineNumber:172,className:"phoenix.BatchState",methodName:"str"}),null!=this.geom_state.texture&&Be.trace(" "+re.string(this.geom_state.texture.texture),{fileName:"BatchState.hx",lineNumber:174,className:"phoenix.BatchState",methodName:"str"}),Be.trace(" shader - "+(null==this.geom_state.shader?"null":this.geom_state.shader.id),{fileName:"BatchState.hx",lineNumber:176,className:"phoenix.BatchState",methodName:"str"}),Be.trace(" primitive_type - "+this.geom_state.primitive_type,{fileName:"BatchState.hx",lineNumber:177,className:"phoenix.BatchState",methodName:"str"}),Be.trace(" clip - "+re.string(this.geom_state.clip),{fileName:"BatchState.hx",lineNumber:178,className:"phoenix.BatchState",methodName:"str"}),Be.trace(" - BATCHSTATE STATE",{fileName:"BatchState.hx",lineNumber:179,className:"phoenix.BatchState",methodName:"str"}))},__class__:Yn};var Kn=function(t,e,i){null==i&&(i=16384),null==e&&(e=""),this.normal_floats=0,this.color_floats=0,this.tcoord_floats=0,this.pos_floats=0,this.sequence=-1,this.name="",this.log=!1,this.visible_count=0,this.static_batched_count=0,this.dynamic_batched_count=0,this.draw_calls=0,this.vert_count=0,this.max_floats=0,this.max_verts=0,this.tree_changed=!1,this.layer=0,this.enabled=!0,this.id=V.utils.uniqueid(null),this.renderer=t,this.sequence=++Kn._sequence_key,this.geometry=new zs(n(this,this.geometry_compare)),this.emitter=new z,this.max_verts=i,this.max_floats=4*this.max_verts,this.pos_list=new Float32Array(this.max_floats),this.tcoord_list=new Float32Array(this.max_floats),this.color_list=new Float32Array(this.max_floats),this.normal_list=new Float32Array(this.max_floats),this.view=this.renderer.camera,oo.gl.enableVertexAttribArray(0),oo.gl.enableVertexAttribArray(1),oo.gl.enableVertexAttribArray(2),oo.gl.enableVertexAttribArray(3),this.name=0==e.length?V.utils.uniqueid(null):e,this._dropped=[]};r["phoenix.Batcher"]=Kn,Kn.__name__=["phoenix","Batcher"],Kn.prototype={id:null,enabled:null,layer:null,geometry:null,emitter:null,tree_changed:null,pos_list:null,tcoord_list:null,color_list:null,normal_list:null,max_verts:null,max_floats:null,vert_count:null,renderer:null,view:null,shader:null,draw_calls:null,dynamic_batched_count:null,static_batched_count:null,visible_count:null,log:null,name:null,sequence:null,pos_floats:null,tcoord_floats:null,color_floats:null,normal_floats:null,on:function(t,e){this.emitter.on(t,e)},off:function(t,e){return this.emitter.off(t,e)},add:function(t,e){null==e&&(e=!1),(null==this.geometry.find(t.key)||e)&&(W.has(t.batchers,this)||t.batchers.push(this),this.geometry.insert(t.key,t),t.added=!0,this.tree_changed=!0)},empty:function(t){if(null==t&&(t=!0),t)for(var e=new Zs(this.geometry);null==e.current||null==e.rightest?!1:e.tree.compare(e.current.key,e.rightest.key)<=0;){var i=e.next();i.drop(!0),i=null}else for(var s=new Zs(this.geometry);null==s.current||null==s.rightest?!1:s.tree.compare(s.current.key,s.rightest.key)<=0;){var n=s.next();this.geometry.remove(n.key)}},destroy:function(t){null==t&&(t=!0),this.empty(t),this.renderer.remove_batch(this),this.emitter=null,this.geometry=null,this.pos_list=null,this.tcoord_list=null,this.color_list=null,this.normal_list=null,this.max_verts=0,this.max_floats=0,this.vert_count=0,this.renderer=null,this.view=null},remove:function(t,e){null==e&&(e=!0),e&&(M.remove(t.batchers,this),0==t.batchers.length&&(t.added=!1));this.geometry.size();this.geometry.remove(t.key);this.geometry.size();this.tree_changed=!0},state:null,_dropped:null,batch:function(t){null==t&&(t=!1),this.dynamic_batched_count=0,this.static_batched_count=0,this.visible_count=0,this.pos_floats=0,this.tcoord_floats=0,this.color_floats=0,this.normal_floats=0,this.state=new Yn(this);for(var e=null,i=new Zs(this.geometry);null==i.current||null==i.rightest?!1:i.tree.compare(i.current.key,i.rightest.key)<=0;){var s=i.next();if(e=s,null!=e&&!e.dropped&&(this.state.update(e)&&this.submit_current_vertex_list(this.state.last_geom_state.primitive_type),this.state.activate(this),e.visible)){if(this.visible_count++,e.buffer_based){this.visible_count--;continue}e.locked?(this.submit_current_vertex_list(this.state.last_geom_state.primitive_type),this.submit_static_geometry(e),this.vert_count+=e.vertices.length):3==e.state.primitive_type||2==e.state.primitive_type||5==e.state.primitive_type||6==e.state.primitive_type?(this.geometry_batch(e),this.submit_current_vertex_list(e.state.primitive_type),this.vert_count+=e.vertices.length):(this.geometry_batch(e),this.dynamic_batched_count++,this.vert_count+=e.vertices.length),!t&&e.immediate&&(e.dropped=!0,this._dropped.push(e))}}this.pos_floats>0&&null!=e&&(this.state.update(e),this.state.activate(this),this.submit_current_vertex_list(this.state.last_geom_state.primitive_type)),this.state.deactivate(this),this.state=null,this.prune()},prune:function(){if(this._dropped.length>0){for(var t=0,e=this._dropped;tthis.max_floats)throw new li("uh oh, somehow too many floats are being submitted (max:$max_floats, attempt:$pos_floats).");var e=new Float32Array(this.pos_list.buffer,0,4*this.pos_floats/4|0),i=new Float32Array(this.tcoord_list.buffer,0,4*this.tcoord_floats/4|0),s=new Float32Array(this.color_list.buffer,0,4*this.color_floats/4|0),n=null;return n=new Float32Array(this.normal_list.buffer,0,4*this.normal_floats/4|0),this.submit_buffers(t,e,i,s,n),e=null,i=null,s=null,n=null,this.pos_floats=0,this.tcoord_floats=0,this.color_floats=0,this.normal_floats=0,!0},geometry_batch:function(t){if(t.vertices.length>this.max_verts)return t.set_locked(!0),t.dirty_based=!1,Be.trace(" i / batcher / "+("WARNING batcher `"+this.name+"` trying to batch a geometry `"+t.id+"` that has more verts than the batcher has preallocated, ("+t.vertices.length+" vs max of "+this.max_verts+")"),{fileName:"Batcher.hx",lineNumber:550,className:"phoenix.Batcher",methodName:"geometry_batch"}),void Be.trace(" i / batcher / WARNING geometry has been marked as direct submit, and will be submitted independently!",{fileName:"Batcher.hx",lineNumber:551,className:"phoenix.Batcher",methodName:"geometry_batch"});var e=t.vertices.length+this.pos_floats/4;e>this.max_verts&&this.submit_current_vertex_list(t.state.primitive_type),t.batch(this.pos_floats,this.tcoord_floats,this.color_floats,this.normal_floats,this.pos_list,this.tcoord_list,this.color_list,this.normal_list);var i=4*t.vertices.length;this.pos_floats+=i,this.tcoord_floats+=i,this.color_floats+=i,this.normal_floats+=i},set_layer:function(t){return this.layer=t,this.renderer.batchers.sort(($o=this.renderer,n($o,$o.sort_batchers))),this.layer},toString:function(){return"Batcher("+this.name+")"},compare:function(t){return this.layer==t.layer?0:this.layer";case 3:return"shader <";case 4:return"shader >";case 5:return"shader s._ >";case 6:return"shader _.s <";case 7:return"texture <";case 8:return"texture >";case 9:return"texture t._ >";case 10:return"texture _.t <";case 11:return"primitive <";case 12:return"primitive >";case 13:return"unclipped";case 14:return"clipped";case 15:return"timestamp <";case 16:return"timestamp >";case 17:return"timestamp ==";case 18:return"sequence <";case 19:return"sequence >";case 20:return"fallback";default:return"unknown"}},compare_rule:function(t,e){if(t.uuid==e.uuid)return 0;if(t.depthe.depth)return 2;if(null!=t.shader&&null!=e.shader){if(t.shader.ide.shader.id)return 4}else{if(null!=t.shader&&null==e.shader)return 5;if(null==t.shader&&null!=e.shader)return 6}if(null!=t.texture&&null!=e.texture){if(t.texture.ide.texture.id)return 8}else{if(null!=t.texture&&null==e.texture)return 9;if(null==t.texture&&null!=e.texture)return 10}var i=t.primitive_type,s=e.primitive_type;if(s>i)return 11;if(i>s)return 12;if(t.clip!=e.clip){if(0==t.clip&&1==e.clip)return 13;if(1==t.clip&&0==e.clip)return 14}return t.timestampe.timestamp?16:t.timestamp==e.timestamp?17:t.sequencee.sequence?19:20},geometry_compare:function(t,e){if(t.uuid==e.uuid)return 0;if(t.depthe.depth)return 1;if(null!=t.shader&&null!=e.shader){if(t.shader.ide.shader.id)return 1}else{if(null!=t.shader&&null==e.shader)return 1;if(null==t.shader&&null!=e.shader)return-1}if(null!=t.texture&&null!=e.texture){if(t.texture.ide.texture.id)return 1}else{if(null!=t.texture&&null==e.texture)return 1;if(null==t.texture&&null!=e.texture)return-1}var i=t.primitive_type,s=e.primitive_type;if(s>i)return-1;if(i>s)return 1;if(t.clip!=e.clip){if(0==t.clip&&1==e.clip)return 1;if(1==t.clip&&0==e.clip)return-1}return t.timestampe.timestamp?1:t.sequencee.sequence?1:1},list_geometry:function(){for(var t=new Zs(this.geometry);null==t.current||null==t.rightest?!1:t.tree.compare(t.current.key,t.rightest.key)<=0;){t.next()}},__class__:Kn,__properties__:{set_layer:"set_layer"}};var Un=function(t){if(null==t)throw new li(Vi.null_assertion("_options was null"));if(t.resource_type=6,ms.call(this,t),this.texture_path=null!=t.texture_path?t.texture_path:ri.directory(this.id),this.pages=new Se,null!=t.pages&&null==t.font_data)throw new li(Vi.null_assertion("_options.font_data was null ( BitmapFont create from pages + font_data requires both of those options )"));if(null!=t.font_data){if(null==t.pages)throw new li(Vi.null_assertion("_options.pages was null ( BitmapFont create from pages + font_data requires both of those options )"));this.set_info(us.parse(t.font_data)),this.apply_pages(t.pages)}};r["phoenix.BitmapFont"]=Un,Un.__name__=["phoenix","BitmapFont"],Un.__super__=ms,Un.prototype=i(ms.prototype,{pages:null,info:null,space_char:null,texture_path:null,kerning:function(t,e){var i=this.info.kernings.h[t];return null!=i&&i.h.hasOwnProperty(e)?i.h[e]:0},wrap_string_to_bounds:function(t,e,i,s){null==s&&(s=0),null==i&&(i=1);var n=this;if(null==e)return t;for(var r=0,o=0,a="",l=n.width_of(" ",i,s,null),_=t.split(" "),u=_.length,h=0;h<_.length;){var g=_[h];if(++h,-1==Jn.uIndexOf(g,"\n",null)){""==g&&(g=" ");var c=n.width_of(g,i,s,null);r+c>e.w&&(r=0,a+="\n"),r+=c,a+=g}else for(var I=0,d=g.split("\n"),p=0;pe.w&&(r=0,a+="\n"),r+=C,a+=m}else r=0;Io&&(a+=" ",r+=l+s),o++}return a},width_of_line:function(t,e,i){null==i&&(i=0),null==e&&(e=1);for(var s=0,n=0,r=e/this.info.point_size,o=0,a=Vn.codePointCount(t,0,t.length),l=0,_=t,u=0,h=t.length;h>u;){var g;l=u,u+=Wn.codePointWidthAt(_,u),g=Vn.codePointAt(_,l);var c=g,I=this.info.chars.h[c];null==I&&(I=this.space_char);var d=(I.xoffset+Math.max(I.width,I.xadvance))*r,p=s+I.xoffset*r,m=I.xadvance;if(a-1>o){var C=Jn.uCharCodeAt(t,o+1);m+=this.kerning(c,C),C>=32&&(m+=i)}s+=m*r,n=Math.max(n,p+d),++o}return n},width_of:function(t,e,i,s){null==i&&(i=0),null==e&&(e=1);for(var n=0,r=null!=s,o=Jn.uSplit(t,"\n"),a=0;at;)this._float32array[t]=this.elements[t],++t;return this._float32array},identity:function(){return this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this},copy:function(t){var e=t.elements;return this.set(e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15]),this},make2D:function(t,e,i,s){null==s&&(s=0),null==i&&(i=1);var n=.017453292519943278*s,r=Math.cos(n),o=Math.sin(n);return this.set(r*i,o*i,0,t,-o*i,r*i,0,e,0,0,1,0,0,0,0,1),this},copyPosition:function(t){return this.elements[12]=t.elements[12],this.elements[13]=t.elements[13],this.elements[14]=t.elements[14],this},getPosition:function(){return new pr(this.elements[12],this.elements[13],this.elements[14],1)},extractRotation:function(t){var e=new pr,i=t.elements,s=1/e.set_xyz(i[0],i[1],i[2]).get_length(),n=1/e.set_xyz(i[4],i[5],i[6]).get_length(),r=1/e.set_xyz(i[8],i[9],i[10]).get_length();return this.elements[0]=i[0]*s,this.elements[1]=i[1]*s,this.elements[2]=i[2]*s,this.elements[4]=i[4]*n,this.elements[5]=i[5]*n,this.elements[6]=i[6]*n,this.elements[8]=i[8]*r,this.elements[9]=i[9]*r,this.elements[10]=i[10]*r,this},makeRotationFromEuler:function(t,e){null==e&&(e=0);var i=this.elements,s=t.x,n=t.y,r=t.z,o=Math.cos(s),a=Math.sin(s),l=Math.cos(n),_=Math.sin(n),u=Math.cos(r),h=Math.sin(r);if(0==e){var g=o*u,c=o*h,I=a*u,d=a*h;i[0]=l*u,i[4]=-l*h,i[8]=_,i[1]=c+I*_,i[5]=g-d*_,i[9]=-a*l,i[2]=d-g*_,i[6]=I+c*_,i[10]=o*l}else if(1==e){var p=l*u,m=l*h,C=_*u,A=_*h;i[0]=p+A*a,i[4]=C*a-m,i[8]=o*_,i[1]=o*h,i[5]=o*u,i[9]=-a,i[2]=m*a-C,i[6]=A+p*a,i[10]=o*l}else if(2==e){var f=l*u,v=l*h,y=_*u,b=_*h;i[0]=f-b*a,i[4]=-o*h,i[8]=y+v*a,i[1]=v+y*a,i[5]=o*u,i[9]=b-f*a,i[2]=-o*_,i[6]=a,i[10]=o*l}else if(3==e){var w=o*u,x=o*h,k=a*u,Z=a*h;i[0]=l*u,i[4]=k*_-x,i[8]=w*_+Z,i[1]=l*h,i[5]=Z*_+w,i[9]=x*_-k,i[2]=-_,i[6]=a*l,i[10]=o*l}else if(4==e){var S=o*l,z=o*_,N=a*l,O=a*_;i[0]=l*u,i[4]=O-S*h,i[8]=N*h+z,i[1]=h,i[5]=o*u,i[9]=-a*u,i[2]=-_*u,i[6]=z*h+N,i[10]=S-O*h}else if(5==e){var G=o*l,R=o*_,E=a*l,B=a*_;i[0]=l*u,i[4]=-h,i[8]=_*u,i[1]=G*h+B,i[5]=o*u,i[9]=R*h-E,i[2]=E*h-R,i[6]=a*u,i[10]=B*h+G}return i[3]=0,i[7]=0,i[11]=0,i[12]=0,i[13]=0,i[14]=0,i[15]=1,this},makeRotationFromQuaternion:function(t){var e=this.elements,i=t.x+t.x,s=t.y+t.y,n=t.z+t.z,r=t.x*i,o=t.x*s,a=t.x*n,l=t.y*s,_=t.y*n,u=t.z*n,h=t.w*i,g=t.w*s,c=t.w*n;return e[0]=1-(l+u),e[4]=o-c,e[8]=a+g,e[1]=o+c,e[5]=1-(r+u),e[9]=_-h,e[2]=a-g,e[6]=_+h,e[10]=1-(r+l),e[3]=0,e[7]=0,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,this},lookAt:function(t,e,i){var s=new pr,n=new pr,r=new pr,o=this.elements;if(r=new pr(e.x-t.x,e.y-t.y,e.z-t.z).get_normalized(),0==Math.sqrt(r.x*r.x+r.y*r.y+r.z*r.z)&&(r.z=1,r._construct?r.z:(null==r.listen_z||r.ignore_listeners||r.listen_z(1),r.z)),s=new pr(i.y*r.z-i.z*r.y,i.z*r.x-i.x*r.z,i.x*r.y-i.y*r.x).get_normalized(),0==Math.sqrt(s.x*s.x+s.y*s.y+s.z*s.z)){var a=r;a.set_x(a.x+1e-4),s=new pr(i.y*r.z-i.z*r.y,i.z*r.x-i.x*r.z,i.x*r.y-i.y*r.x).get_normalized()}return n=new pr(r.y*s.z-r.z*s.y,r.z*s.x-r.x*s.z,r.x*s.y-r.y*s.x),o[0]=s.x,o[4]=n.x,o[8]=r.x,o[1]=s.y,o[5]=n.y,o[9]=r.y,o[2]=s.z,o[6]=n.z,o[10]=r.z,this},multiply:function(t){return this.multiplyMatrices(this,t)},multiplyMatrices:function(t,e){var i=t.elements,s=e.elements,n=this.elements,r=i[0],o=i[4],a=i[8],l=i[12],_=i[1],u=i[5],h=i[9],g=i[13],c=i[2],I=i[6],d=i[10],p=i[14],m=i[3],C=i[7],A=i[11],f=i[15],v=s[0],y=s[4],b=s[8],w=s[12],x=s[1],k=s[5],Z=s[9],S=s[13],z=s[2],N=s[6],O=s[10],G=s[14],R=s[3],E=s[7],B=s[11],j=s[15];return n[0]=r*v+o*x+a*z+l*R,n[4]=r*y+o*k+a*N+l*E,n[8]=r*b+o*Z+a*O+l*B,n[12]=r*w+o*S+a*G+l*j,n[1]=_*v+u*x+h*z+g*R,n[5]=_*y+u*k+h*N+g*E,n[9]=_*b+u*Z+h*O+g*B,n[13]=_*w+u*S+h*G+g*j,n[2]=c*v+I*x+d*z+p*R,n[6]=c*y+I*k+d*N+p*E,n[10]=c*b+I*Z+d*O+p*B,n[14]=c*w+I*S+d*G+p*j,n[3]=m*v+C*x+A*z+f*R,n[7]=m*y+C*k+A*N+f*E,n[11]=m*b+C*Z+A*O+f*B,n[15]=m*w+C*S+A*G+f*j,this},multiplyToArray:function(t,e,i){var s=this.elements;return this.multiplyMatrices(t,e),i[0]=s[0],i[1]=s[1],i[2]=s[2],i[3]=s[3],i[4]=s[4],i[5]=s[5],i[6]=s[6],i[7]=s[7],i[8]=s[8],i[9]=s[9],i[10]=s[10],i[11]=s[11],i[12]=s[12],i[13]=s[13],i[14]=s[14],i[15]=s[15],this},multiplyScalar:function(t){var e=this.elements;return e[0]*=t,e[4]*=t,e[8]*=t,e[12]*=t,e[1]*=t,e[5]*=t,e[9]*=t,e[13]*=t,e[2]*=t,e[6]*=t,e[10]*=t,e[14]*=t,e[3]*=t,e[7]*=t,e[11]*=t,e[15]*=t,this},multiplyVector3Array:function(t){for(var e=new pr,i=0,s=t.length;s>i;)e.set_x(t[i]),e.set_y(t[i+1]),e.set_z(t[i+2]),e.applyProjection(this),t[i]=e.x,t[i+1]=e.y,t[i+2]=e.z,i+=3;return t},determinant:function(){var t=this.elements,e=t[0],i=t[4],s=t[8],n=t[12],r=t[1],o=t[5],a=t[9],l=t[13],_=t[2],u=t[6],h=t[10],g=t[14],c=t[3],I=t[7],d=t[11],p=t[15];return c*(n*a*u-s*l*u-n*o*h+i*l*h+s*o*g-i*a*g)+I*(e*a*g-e*l*h+n*r*h-s*r*g+s*l*_-n*a*_)+d*(e*l*u-e*o*g-n*r*u+i*r*g+n*o*_-i*l*_)+p*(-s*o*_-e*a*u+e*o*h+s*r*u-i*r*h+i*a*_)},transpose:function(){var t,e=this.elements;return t=e[1],e[1]=e[4],e[4]=t,t=e[2],e[2]=e[8],e[8]=t,t=e[6],e[6]=e[9],e[9]=t,t=e[3],e[3]=e[12],e[12]=t,t=e[7],e[7]=e[13],e[13]=t,t=e[11],e[11]=e[14],e[14]=t,this},flattenToArray:function(t){if(null==t){t=[];for(var e=0;16>e;){{e++}t.push(0)}}var i=this.elements;return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],t[9]=i[9],t[10]=i[10],t[11]=i[11],t[12]=i[12],t[13]=i[13],t[14]=i[14],t[15]=i[15],t},flattenToArrayOffset:function(t,e){var i=this.elements;return t[e]=i[0],t[e+1]=i[1],t[e+2]=i[2],t[e+3]=i[3],t[e+4]=i[4],t[e+5]=i[5],t[e+6]=i[6],t[e+7]=i[7],t[e+8]=i[8],t[e+9]=i[9],t[e+10]=i[10],t[e+11]=i[11],t[e+12]=i[12],t[e+13]=i[13],t[e+14]=i[14],t[e+15]=i[15],t},setPosition:function(t){var e=this.elements;return e[12]=t.x,e[13]=t.y,e[14]=t.z,this},inverse:function(){return this.clone().getInverse(this)},getInverse:function(t){var e=this.elements,i=t.elements,s=i[0],n=i[4],r=i[8],o=i[12],a=i[1],l=i[5],_=i[9],u=i[13],h=i[2],g=i[6],c=i[10],I=i[14],d=i[3],p=i[7],m=i[11],C=i[15];e[0]=_*I*p-u*c*p+u*g*m-l*I*m-_*g*C+l*c*C,e[4]=o*c*p-r*I*p-o*g*m+n*I*m+r*g*C-n*c*C,e[8]=r*u*p-o*_*p+o*l*m-n*u*m-r*l*C+n*_*C,e[12]=o*_*g-r*u*g-o*l*c+n*u*c+r*l*I-n*_*I,e[1]=u*c*d-_*I*d-u*h*m+a*I*m+_*h*C-a*c*C,e[5]=r*I*d-o*c*d+o*h*m-s*I*m-r*h*C+s*c*C,e[9]=o*_*d-r*u*d-o*a*m+s*u*m+r*a*C-s*_*C,e[13]=r*u*h-o*_*h+o*a*c-s*u*c-r*a*I+s*_*I,e[2]=l*I*d-u*g*d+u*h*p-a*I*p-l*h*C+a*g*C,e[6]=o*g*d-n*I*d-o*h*p+s*I*p+n*h*C-s*g*C,e[10]=n*u*d-o*l*d+o*a*p-s*u*p-n*a*C+s*l*C,e[14]=o*l*h-n*u*h-o*a*g+s*u*g+n*a*I-s*l*I,e[3]=_*g*d-l*c*d-_*h*p+a*c*p+l*h*m-a*g*m,e[7]=n*c*d-r*g*d+r*h*p-s*c*p-n*h*m+s*g*m,e[11]=r*l*d-n*_*d-r*a*p+s*_*p+n*a*m-s*l*m,e[15]=n*_*h-r*l*h+r*a*g-s*_*g-n*a*c+s*l*c;var A=i[0]*e[0]+i[1]*e[4]+i[2]*e[8]+i[3]*e[12];return 0==A?(Be.trace("Matrix.getInverse: cant invert matrix, determinant is 0",{fileName:"Matrix.hx",lineNumber:697,className:"phoenix.Matrix",methodName:"getInverse"}),this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1),this):(this.multiplyScalar(1/A),this)},scale:function(t){var e=this.elements,i=t.x,s=t.y,n=t.z;return e[0]*=i,e[4]*=s,e[8]*=n,e[1]*=i,e[5]*=s,e[9]*=n,e[2]*=i,e[6]*=s,e[10]*=n,e[3]*=i,e[7]*=s,e[11]*=n,this},getMaxScaleOnAxis:function(){var t=this.elements,e=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],i=t[4]*t[4]+t[5]*t[5]+t[6]*t[6],s=t[8]*t[8]+t[9]*t[9]+t[10]*t[10];return Math.sqrt(Math.max(e,Math.max(i,s)))},makeTranslation:function(t,e,i){return this.set(1,0,0,t,0,1,0,e,0,0,1,i,0,0,0,1),this},makeRotationX:function(t){var e=Math.cos(t),i=Math.sin(t);return this.set(1,0,0,0,0,e,-i,0,0,i,e,0,0,0,0,1),this},makeRotationY:function(t){var e=Math.cos(t),i=Math.sin(t);return this.set(e,0,i,0,0,1,0,0,-i,0,e,0,0,0,0,1),this},makeRotationZ:function(t){var e=Math.cos(t),i=Math.sin(t);return this.set(e,-i,0,0,i,e,0,0,0,0,1,0,0,0,0,1),this},makeRotationAxis:function(t,e){var i=Math.cos(e),s=Math.sin(e),n=1-i,r=t.x,o=t.y,a=t.z,l=n*r,_=n*o;return this.set(l*r+i,l*o-s*a,l*a+s*o,0,l*o+s*a,_*o+i,_*a-s*r,0,l*a-s*o,_*a+s*r,n*a*a+i,0,0,0,0,1),this},makeScale:function(t,e,i){return this.set(t,0,0,0,0,e,0,0,0,0,i,0,0,0,0,1),this},compose_with_origin:function(t,e,i,s){return this.set(1,0,0,e.x,0,1,0,e.y,0,0,1,e.z,0,0,0,1),this.scale(s),this.multiply((new er).makeRotationFromQuaternion(i)),this.multiply((new er).makeTranslation(-e.x,-e.y,-e.z)),this.multiply((new er).makeTranslation(t.x,t.y,t.z)),this},compose:function(t,e,i){return this.makeRotationFromQuaternion(e),this.scale(i),this.setPosition(t),this},_transform:null,decompose:function(t,e,i){var s=this.elements,n=new er,r=s[0],o=s[1],a=s[2],l=s[4],_=s[5],u=s[6],h=s[8],g=s[9],c=s[10],I=Math.sqrt(r*r+o*o+a*a),d=Math.sqrt(l*l+_*_+u*u),p=Math.sqrt(h*h+g*g+c*c);null==e&&(e=new ir),null==t?t=new pr(s[12],s[13],s[14]):(t.set_x(s[12]),t.set_y(s[13]),t.set_z(s[14])),null==i?i=new pr(I,d,p):(i.x=I,i._construct?i.x:(null==i.listen_x||i.ignore_listeners||i.listen_x(I),i.x),i.y=d,i._construct?i.y:(null==i.listen_y||i.ignore_listeners||i.listen_y(d),i.y),i.z=p,i._construct?i.z:(null==i.listen_z||i.ignore_listeners||i.listen_z(p),i.z)),n.elements=this.elements.concat([]);var m=n.elements;return m[0]/=I,m[1]/=I,m[2]/=I,m[4]/=d,m[5]/=d,m[6]/=d,m[8]/=p,m[9]/=p,m[10]/=p,e.setFromRotationMatrix(n),null==this._transform?this._transform=new tr(t,e,i):(this._transform.pos=t,this._transform.rotation=e,this._transform.scale=i),this._transform},makeFrustum:function(t,e,i,s,n,r){var o=this.elements,a=2*n/(e-t),l=2*n/(s-i),_=(e+t)/(e-t),u=(s+i)/(s-i),h=-(r+n)/(r-n),g=-2*r*n/(r-n);return o[0]=a,o[4]=0,o[8]=_,o[12]=0,o[1]=0,o[5]=l,o[9]=u,o[13]=0,o[2]=0,o[6]=0,o[10]=h,o[14]=g,o[3]=0,o[7]=0,o[11]=-1,o[15]=0,this},makePerspective:function(t,e,i,s){var n=i*Math.tan(.5*t*.017453292519943278),r=-n,o=r*e,a=n*e;return this.makeFrustum(o,a,r,n,i,s)},makeOrthographic:function(t,e,i,s,n,r){var o=this.elements,a=e-t,l=i-s,_=r-n,u=(e+t)/a,h=(i+s)/l,g=(r+n)/_;return o[0]=2/a,o[4]=0,o[8]=0,o[12]=-u,o[1]=0,o[5]=2/l,o[9]=0,o[13]=-h,o[2]=0,o[6]=0,o[10]=-2/_,o[14]=-g,o[3]=0,o[7]=0,o[11]=0,o[15]=1,this},fromArray:function(t){this.elements=t.concat([])},toArray:function(){var t=this.elements;return[t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],t[8],t[9],t[10],t[11],t[12],t[13],t[14],t[15]]},clone:function(){var t=this.elements;return new er(t[0],t[4],t[8],t[12],t[1],t[5],t[9],t[13],t[2],t[6],t[10],t[14],t[3],t[7],t[11],t[15])},up:function(){return new pr(this.elements[4],this.elements[5],this.elements[6])},down:function(){return new pr(this.elements[4],this.elements[5],this.elements[6]).get_inverted()},left:function(){return new pr(this.elements[0],this.elements[1],this.elements[2]).get_inverted()},right:function(){return new pr(this.elements[0],this.elements[1],this.elements[2])},backward:function(){return new pr(this.elements[8],this.elements[9],this.elements[10])},forward:function(){return new pr(this.elements[8],this.elements[9],this.elements[10]).get_inverted()},__class__:er,__properties__:{set_M44:"set_M44",get_M44:"get_M44",set_M34:"set_M34",get_M34:"get_M34",set_M24:"set_M24",get_M24:"get_M24",set_M14:"set_M14",get_M14:"get_M14",set_M43:"set_M43",get_M43:"get_M43",set_M33:"set_M33",get_M33:"get_M33",set_M23:"set_M23",get_M23:"get_M23",set_M13:"set_M13",get_M13:"get_M13",set_M42:"set_M42",get_M42:"get_M42",set_M32:"set_M32",get_M32:"get_M32",set_M22:"set_M22",get_M22:"get_M22",set_M12:"set_M12",get_M12:"get_M12",set_M41:"set_M41",get_M41:"get_M41",set_M31:"set_M31",get_M31:"get_M31",set_M21:"set_M21",get_M21:"get_M21",set_M11:"set_M11",get_M11:"get_M11"}};var ir=function(t,e,i,s){null==s&&(s=1),null==i&&(i=0),null==e&&(e=0),null==t&&(t=0),this.ignore_euler=!1,this._construct=!1,this.ignore_listeners=!1,this.w=0,this.z=0,this.y=0,this.x=0,this._construct=!0,this.x=t,this._construct?this.x:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_x||this.ignore_listeners||this.listen_x(this.x),this.x),this.y=e,this._construct?this.y:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_y||this.ignore_listeners||this.listen_y(this.y),this.y),this.z=i,this._construct?this.z:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_z||this.ignore_listeners||this.listen_z(this.z),this.z),this.w=s,this._construct?this.w:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_w||this.ignore_listeners||this.listen_w(this.w),this.w),this.euler=new pr,this._construct=!1};r["phoenix.Quaternion"]=ir,ir.__name__=["phoenix","Quaternion"],ir.Add=function(t,e){return t.clone().add(e)},ir.Multiply=function(t,e){return t.clone().multiply(e)},ir.MultiplyScalar=function(t,e){return t.clone().multiplyScalar(e)},ir.Slerp=function(t,e,i,s){return i.copy(t).slerp(e,s)},ir.Dot=function(t,e){return new ir(t.x,t.y,t.z,t.w).dot(e)},ir.Listen=function(t,e){t.listen_x=e,t.listen_y=e,t.listen_z=e,t.listen_w=e},ir.prototype={x:null,y:null,z:null,w:null,euler:null,ignore_listeners:null,listen_x:null,listen_y:null,listen_z:null,listen_w:null,_construct:null,toString:function(){return"{ x:"+this.x+", y:"+this.y+", z:"+this.z+", w:"+this.w+" }"},set:function(t,e,i,s){return this.ignore_euler=!0,this.x=t,this._construct?this.x:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_x||this.ignore_listeners||this.listen_x(this.x),this.x),this.y=e,this._construct?this.y:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_y||this.ignore_listeners||this.listen_y(this.y),this.y),this.z=i,this._construct?this.z:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_z||this.ignore_listeners||this.listen_z(this.z),this.z),this.w=s,this._construct?this.w:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_w||this.ignore_listeners||this.listen_w(this.w),this.w),this.ignore_euler=!1,null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_x||this.ignore_listeners||this.listen_x(this.x),null==this.listen_y||this.ignore_listeners||this.listen_y(this.y),null==this.listen_z||this.ignore_listeners||this.listen_z(this.z),null==this.listen_w||this.ignore_listeners||this.listen_w(this.w),this},copy:function(t){return this.ignore_euler=!0,this.x=t.x,this._construct?this.x:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_x||this.ignore_listeners||this.listen_x(this.x),this.x),this.y=t.y,this._construct?this.y:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_y||this.ignore_listeners||this.listen_y(this.y),this.y),this.z=t.z,this._construct?this.z:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_z||this.ignore_listeners||this.listen_z(this.z),this.z),this.w=t.w,this._construct?this.w:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_w||this.ignore_listeners||this.listen_w(this.w),this.w),this.ignore_euler=!1,null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_x||this.ignore_listeners||this.listen_x(this.x),null==this.listen_y||this.ignore_listeners||this.listen_y(this.y),null==this.listen_z||this.ignore_listeners||this.listen_z(this.z),null==this.listen_w||this.ignore_listeners||this.listen_w(this.w),this},dot:function(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w},setFromEuler:function(t,e){null==e&&(e=0);var i=this.x,s=this.y,n=this.z,r=this.w,o=Math.cos(t.x/2),a=Math.cos(t.y/2),l=Math.cos(t.z/2),_=Math.sin(t.x/2),u=Math.sin(t.y/2),h=Math.sin(t.z/2);return 0==e?(i=_*a*l+o*u*h,s=o*u*l-_*a*h,n=o*a*h+_*u*l,r=o*a*l-_*u*h):1==e?(i=_*a*l+o*u*h,s=o*u*l-_*a*h,n=o*a*h-_*u*l,r=o*a*l+_*u*h):2==e?(i=_*a*l-o*u*h,s=o*u*l+_*a*h,n=o*a*h+_*u*l,r=o*a*l-_*u*h):3==e?(i=_*a*l-o*u*h,s=o*u*l+_*a*h,n=o*a*h-_*u*l,r=o*a*l+_*u*h):4==e?(i=_*a*l+o*u*h,s=o*u*l+_*a*h,n=o*a*h-_*u*l,r=o*a*l-_*u*h):5==e&&(i=_*a*l-o*u*h,s=o*u*l-_*a*h,n=o*a*h+_*u*l,r=o*a*l+_*u*h),this.ignore_euler=!0,this.x=i,this._construct?this.x:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_x||this.ignore_listeners||this.listen_x(this.x),this.x),this.y=s,this._construct?this.y:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_y||this.ignore_listeners||this.listen_y(this.y),this.y),this.z=n,this._construct?this.z:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_z||this.ignore_listeners||this.listen_z(this.z),this.z),this.w=r,this._construct?this.w:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_w||this.ignore_listeners||this.listen_w(this.w),this.w),this.ignore_euler=!1,null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_x||this.ignore_listeners||this.listen_x(this.x),null==this.listen_y||this.ignore_listeners||this.listen_y(this.y),null==this.listen_z||this.ignore_listeners||this.listen_z(this.z),null==this.listen_w||this.ignore_listeners||this.listen_w(this.w),this},setFromAxisAngle:function(t,e){var i=e/2,s=Math.sin(i);return this.set_xyzw(t.x*s,t.y*s,t.z*s,Math.cos(i)),this},setFromRotationMatrix:function(t){var e,i=t.elements,s=i[0],n=i[4],r=i[8],o=i[1],a=i[5],l=i[9],_=i[2],u=i[6],h=i[10],g=this.x,c=this.y,I=this.z,d=this.w,p=s+a+h;return p>0?(e=.5/Math.sqrt(p+1),d=.25/e,g=(u-l)*e,c=(r-_)*e,I=(o-n)*e):s>a&&s>h?(e=2*Math.sqrt(1+s-a-h),d=(u-l)/e,g=.25*e,c=(n+o)/e,I=(r+_)/e):a>h?(e=2*Math.sqrt(1+a-s-h),d=(r-_)/e,g=(n+o)/e,c=.25*e,I=(l+u)/e):(e=2*Math.sqrt(1+h-s-a),d=(o-n)/e,g=(r+_)/e,c=(l+u)/e,I=.25*e),this.ignore_euler=!0,this.x=g,this._construct?this.x:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_x||this.ignore_listeners||this.listen_x(this.x),this.x),this.y=c,this._construct?this.y:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_y||this.ignore_listeners||this.listen_y(this.y),this.y),this.z=I,this._construct?this.z:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_z||this.ignore_listeners||this.listen_z(this.z),this.z),this.w=d,this._construct?this.w:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_w||this.ignore_listeners||this.listen_w(this.w),this.w),this.ignore_euler=!1,null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_x||this.ignore_listeners||this.listen_x(this.x),null==this.listen_y||this.ignore_listeners||this.listen_y(this.y),null==this.listen_z||this.ignore_listeners||this.listen_z(this.z),null==this.listen_w||this.ignore_listeners||this.listen_w(this.w),this },inverse:function(){return this.conjugate().normalize()},conjugate:function(){return this.ignore_euler=!0,this.x=-1*this.x,this._construct?this.x:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_x||this.ignore_listeners||this.listen_x(this.x),this.x),this.y=-1*this.y,this._construct?this.y:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_y||this.ignore_listeners||this.listen_y(this.y),this.y),this.z=-1*this.z,this._construct?this.z:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_z||this.ignore_listeners||this.listen_z(this.z),this.z),this.ignore_euler=!1,null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_x||this.ignore_listeners||this.listen_x(this.x),null==this.listen_y||this.ignore_listeners||this.listen_y(this.y),null==this.listen_z||this.ignore_listeners||this.listen_z(this.z),this},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},normalize:function(){var t=this.length();return 0==t?(this.ignore_euler=!0,this.x=0,this._construct?this.x:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_x||this.ignore_listeners||this.listen_x(this.x),this.x),this.y=0,this._construct?this.y:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_y||this.ignore_listeners||this.listen_y(this.y),this.y),this.z=0,this._construct?this.z:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_z||this.ignore_listeners||this.listen_z(this.z),this.z),this.w=1,this._construct?this.w:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_w||this.ignore_listeners||this.listen_w(this.w),this.w),this.ignore_euler=!1,null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_x||this.ignore_listeners||this.listen_x(this.x),null==this.listen_y||this.ignore_listeners||this.listen_y(this.y),null==this.listen_z||this.ignore_listeners||this.listen_z(this.z),null==this.listen_w||this.ignore_listeners||this.listen_w(this.w)):(t=1/t,this.ignore_euler=!0,this.x=this.x*t,this._construct?this.x:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_x||this.ignore_listeners||this.listen_x(this.x),this.x),this.y=this.y*t,this._construct?this.y:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_y||this.ignore_listeners||this.listen_y(this.y),this.y),this.z=this.z*t,this._construct?this.z:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_z||this.ignore_listeners||this.listen_z(this.z),this.z),this.w=this.w*t,this._construct?this.w:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_w||this.ignore_listeners||this.listen_w(this.w),this.w),this.ignore_euler=!1,null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_x||this.ignore_listeners||this.listen_x(this.x),null==this.listen_y||this.ignore_listeners||this.listen_y(this.y),null==this.listen_z||this.ignore_listeners||this.listen_z(this.z),null==this.listen_w||this.ignore_listeners||this.listen_w(this.w)),this},multiply:function(t){return this.multiplyQuaternions(this,t)},add:function(t){return this.addQuaternions(this,t)},addQuaternions:function(t,e){return this.x=t.x+e.x,this._construct?this.x:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_x||this.ignore_listeners||this.listen_x(this.x),this.x),this.y=t.y+e.y,this._construct?this.y:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_y||this.ignore_listeners||this.listen_y(this.y),this.y),this.z=t.z+e.z,this._construct?this.z:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_z||this.ignore_listeners||this.listen_z(this.z),this.z),this.w=t.w+e.w,this._construct?this.w:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_w||this.ignore_listeners||this.listen_w(this.w),this.w),this},multiplyScalar:function(t){var e=this;e.x=e.x*t,e._construct?e.x:(null==e.euler||e.ignore_euler||e._construct||e.euler.setEulerFromQuaternion(e,null),null==e.listen_x||e.ignore_listeners||e.listen_x(e.x),e.x);var i=this;i.y=i.y*t,i._construct?i.y:(null==i.euler||i.ignore_euler||i._construct||i.euler.setEulerFromQuaternion(i,null),null==i.listen_y||i.ignore_listeners||i.listen_y(i.y),i.y);var s=this;s.z=s.z*t,s._construct?s.z:(null==s.euler||s.ignore_euler||s._construct||s.euler.setEulerFromQuaternion(s,null),null==s.listen_z||s.ignore_listeners||s.listen_z(s.z),s.z);var n=this;return n.w=n.w*t,n._construct?n.w:(null==n.euler||n.ignore_euler||n._construct||n.euler.setEulerFromQuaternion(n,null),null==n.listen_w||n.ignore_listeners||n.listen_w(n.w),n.w),this},multiplyQuaternions:function(t,e){var i=t.x,s=t.y,n=t.z,r=t.w,o=e.x,a=e.y,l=e.z,_=e.w;return this.ignore_euler=!0,this.x=i*_+r*o+s*l-n*a,this._construct?this.x:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_x||this.ignore_listeners||this.listen_x(this.x),this.x),this.y=s*_+r*a+n*o-i*l,this._construct?this.y:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_y||this.ignore_listeners||this.listen_y(this.y),this.y),this.z=n*_+r*l+i*a-s*o,this._construct?this.z:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_z||this.ignore_listeners||this.listen_z(this.z),this.z),this.w=r*_-i*o-s*a-n*l,this._construct?this.w:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_w||this.ignore_listeners||this.listen_w(this.w),this.w),this.ignore_euler=!1,null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_x||this.ignore_listeners||this.listen_x(this.x),null==this.listen_y||this.ignore_listeners||this.listen_y(this.y),null==this.listen_z||this.ignore_listeners||this.listen_z(this.z),null==this.listen_w||this.ignore_listeners||this.listen_w(this.w),this},slerp:function(t,e){var i=this.x,s=this.y,n=this.z,r=this.w,o=r*t.w+i*t.x+s*t.y+n*t.z;if(0>o?(this.x=-t.x,this._construct?this.x:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_x||this.ignore_listeners||this.listen_x(this.x),this.x),this.y=-t.y,this._construct?this.y:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_y||this.ignore_listeners||this.listen_y(this.y),this.y),this.z=-t.z,this._construct?this.z:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_z||this.ignore_listeners||this.listen_z(this.z),this.z),this.w=-t.w,this._construct?this.w:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_w||this.ignore_listeners||this.listen_w(this.w),this.w),o=-o):this.copy(t),o>=1)return this.ignore_euler=!0,this.x=i,this._construct?this.x:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_x||this.ignore_listeners||this.listen_x(this.x),this.x),this.y=s,this._construct?this.y:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_y||this.ignore_listeners||this.listen_y(this.y),this.y),this.z=n,this._construct?this.z:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_z||this.ignore_listeners||this.listen_z(this.z),this.z),this.w=r,this._construct?this.w:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_w||this.ignore_listeners||this.listen_w(this.w),this.w),this.ignore_euler=!1,null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_x||this.ignore_listeners||this.listen_x(this.x),null==this.listen_y||this.ignore_listeners||this.listen_y(this.y),null==this.listen_z||this.ignore_listeners||this.listen_z(this.z),null==this.listen_w||this.ignore_listeners||this.listen_w(this.w),this;var a=Math.acos(o),l=Math.sqrt(1-o*o);if(Math.abs(l)<.001)return this.ignore_euler=!0,this.x=.5*(i+this.x),this._construct?this.x:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_x||this.ignore_listeners||this.listen_x(this.x),this.x),this.y=.5*(s+this.y),this._construct?this.y:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_y||this.ignore_listeners||this.listen_y(this.y),this.y),this.z=.5*(n+this.z),this._construct?this.z:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_z||this.ignore_listeners||this.listen_z(this.z),this.z),this.w=.5*(r+this.w),this._construct?this.w:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_w||this.ignore_listeners||this.listen_w(this.w),this.w),this.ignore_euler=!1,null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_x||this.ignore_listeners||this.listen_x(this.x),null==this.listen_y||this.ignore_listeners||this.listen_y(this.y),null==this.listen_z||this.ignore_listeners||this.listen_z(this.z),null==this.listen_w||this.ignore_listeners||this.listen_w(this.w),this;var _=Math.sin((1-e)*a)/l,u=Math.sin(e*a)/l;return this.ignore_euler=!0,this.x=i*_+this.x*u,this._construct?this.x:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_x||this.ignore_listeners||this.listen_x(this.x),this.x),this.y=s*_+this.y*u,this._construct?this.y:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_y||this.ignore_listeners||this.listen_y(this.y),this.y),this.z=n*_+this.z*u,this._construct?this.z:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_z||this.ignore_listeners||this.listen_z(this.z),this.z),this.w=r*_+this.w*u,this._construct?this.w:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_w||this.ignore_listeners||this.listen_w(this.w),this.w),this.ignore_euler=!1,null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_x||this.ignore_listeners||this.listen_x(this.x),null==this.listen_y||this.ignore_listeners||this.listen_y(this.y),null==this.listen_z||this.ignore_listeners||this.listen_z(this.z),null==this.listen_w||this.ignore_listeners||this.listen_w(this.w),this},equals:function(t){return t.x==this.x&&t.y==this.y&&t.z==this.z&&t.w==this.w},fromArray:function(t){return this.ignore_euler=!0,this.x=t[0],this._construct?this.x:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_x||this.ignore_listeners||this.listen_x(this.x),this.x),this.y=t[1],this._construct?this.y:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_y||this.ignore_listeners||this.listen_y(this.y),this.y),this.z=t[2],this._construct?this.z:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_z||this.ignore_listeners||this.listen_z(this.z),this.z),this.w=t[3],this._construct?this.w:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_w||this.ignore_listeners||this.listen_w(this.w),this.w),this.ignore_euler=!1,null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_x||this.ignore_listeners||this.listen_x(this.x),null==this.listen_y||this.ignore_listeners||this.listen_y(this.y),null==this.listen_z||this.ignore_listeners||this.listen_z(this.z),null==this.listen_w||this.ignore_listeners||this.listen_w(this.w),this},toArray:function(){return[this.x,this.y,this.z,this.w]},clone:function(){return new ir(this.x,this.y,this.z,this.w)},toeuler:function(){return(new pr).setEulerFromQuaternion(this,null).degrees()},update_euler:function(){null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null)},ignore_euler:null,set_xyzw:function(t,e,i,s){this.ignore_euler=!0,this.x=t,this._construct?this.x:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_x||this.ignore_listeners||this.listen_x(this.x),this.x),this.y=e,this._construct?this.y:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_y||this.ignore_listeners||this.listen_y(this.y),this.y),this.z=i,this._construct?this.z:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_z||this.ignore_listeners||this.listen_z(this.z),this.z),this.w=s,this._construct?this.w:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_w||this.ignore_listeners||this.listen_w(this.w),this.w),this.ignore_euler=!1,null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_x||this.ignore_listeners||this.listen_x(this.x),null==this.listen_y||this.ignore_listeners||this.listen_y(this.y),null==this.listen_z||this.ignore_listeners||this.listen_z(this.z),null==this.listen_w||this.ignore_listeners||this.listen_w(this.w)},set_xyz:function(t,e,i){this.ignore_euler=!0,this.x=t,this._construct?this.x:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_x||this.ignore_listeners||this.listen_x(this.x),this.x),this.y=e,this._construct?this.y:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_y||this.ignore_listeners||this.listen_y(this.y),this.y),this.z=i,this._construct?this.z:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_z||this.ignore_listeners||this.listen_z(this.z),this.z),this.ignore_euler=!1,null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_x||this.ignore_listeners||this.listen_x(this.x),null==this.listen_y||this.ignore_listeners||this.listen_y(this.y),null==this.listen_z||this.ignore_listeners||this.listen_z(this.z)},set_x:function(t){return this.x=t,this._construct?this.x:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_x||this.ignore_listeners||this.listen_x(this.x),this.x)},set_y:function(t){return this.y=t,this._construct?this.y:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_y||this.ignore_listeners||this.listen_y(this.y),this.y)},set_z:function(t){return this.z=t,this._construct?this.z:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_z||this.ignore_listeners||this.listen_z(this.z),this.z)},set_w:function(t){return this.w=t,this._construct?this.w:(null==this.euler||this.ignore_euler||this._construct||this.euler.setEulerFromQuaternion(this,null),null==this.listen_w||this.ignore_listeners||this.listen_w(this.w),this.w)},__class__:ir,__properties__:{set_w:"set_w",set_z:"set_z",set_y:"set_y",set_x:"set_x"}};var sr=function(t,e,i){if(null==i&&(i=new nr(0,0,V.core.screen.get_w(),V.core.screen.get_h())),null==e)throw new li("Camera required for a ray!");this.camera=e,this.viewport=i,this.refresh(t)};r["phoenix.Ray"]=sr,sr.__name__=["phoenix","Ray"],sr.prototype={origin:null,end:null,dir:null,camera:null,viewport:null,refresh:function(t){var e=2*(t.x/this.viewport.w-.5),i=2*((this.viewport.h-t.y)/this.viewport.h-.5),s=new pr(e,i,0,1),n=new pr(e,i,1,1);this.origin=this.camera.unproject(s),this.end=this.camera.unproject(n),this.dir=pr.Subtract(this.end,this.origin)},__class__:sr};var nr=function(t,e,i,s){null==s&&(s=0),null==i&&(i=0),null==e&&(e=0),null==t&&(t=0),this.ignore_listeners=!1,this.h=0,this.w=0,this.y=0,this.x=0,this.set_x(t),this.set_y(e),this.set_w(i),this.set_h(s)};r["phoenix.Rectangle"]=nr,nr.__name__=["phoenix","Rectangle"],nr.listen=function(t,e){t.listen_x=e,t.listen_y=e,t.listen_w=e,t.listen_h=e},nr.prototype={x:null,y:null,w:null,h:null,ignore_listeners:null,listen_x:null,listen_y:null,listen_w:null,listen_h:null,toString:function(){return"{ x:"+this.x+", y:"+this.y+", w:"+this.w+", h:"+this.h+" }"},point_inside:function(t){return t.xthis.x+this.w?!1:t.y>this.y+this.h?!1:!0},overlaps:function(t){return null==t?!1:this.xt.x&&this.y+this.h>t.y?!0:!1},clone:function(){return new nr(this.x,this.y,this.w,this.h)},equal:function(t){return null==t?!1:this.x==t.x&&this.y==t.y&&this.w==t.w&&this.h==t.h},copy_from:function(t){this.set_x(t.x),this.set_y(t.y),this.set_w(t.w),this.set_h(t.h)},set:function(t,e,i,s){var n=this.x,r=this.y,o=this.w,a=this.h;return null!=t&&(n=t),null!=e&&(r=e),null!=i&&(o=i),null!=s&&(a=s),this.set_x(n),this.set_y(r),this.set_w(o),this.set_h(a),this},set_x:function(t){return this.x=t,null==this.listen_x||this.ignore_listeners||this.listen_x(t),this.x},set_y:function(t){return this.y=t,null==this.listen_y||this.ignore_listeners||this.listen_y(t),this.y},set_w:function(t){return this.w=t,null==this.listen_w||this.ignore_listeners||this.listen_w(t),this.w},set_h:function(t){return this.h=t,null==this.listen_h||this.ignore_listeners||this.listen_h(t),this.h},__class__:nr,__properties__:{set_h:"set_h",set_w:"set_w",set_y:"set_y",set_x:"set_x"}};var rr=function(t){this.renderer=t};r["phoenix.RenderPath"]=rr,rr.__name__=["phoenix","RenderPath"],rr.prototype={renderer:null,render:function(t,e){for(var i=t.length,s=0;i>s;){var n=t[s];n.enabled&&(n.draw_calls=0,n.vert_count=0,n.emitter.emit(1,n),n.view.process(),n.renderer.state.viewport(n.view.viewport.x,n.view.viewport.y,n.view.viewport.w,n.view.viewport.h),n.batch(!1),n.emitter.emit(2,n),e.geometry_count+=n.geometry.size(),e.dynamic_batched_count+=n.dynamic_batched_count,e.static_batched_count+=n.static_batched_count,e.visible_count+=n.visible_count,e.draw_calls+=n.draw_calls,e.vert_count+=n.vert_count),n=null,++s}},__class__:rr};var or=function(t){this._last_depth_mask=!0,this._last_line_width=1,this._active_texture=-1,this._used_program=null,this._current_rbo=null,this.current_fbo=null,this.depth_func=-1,this._view_target_h=0,this.depth_mask=!0,this.depth_test=!1,this.cull_face=!1,this.renderer=t,this._viewport=new nr(0,0,0,0)};r["phoenix.RenderState"]=or,or.__name__=["phoenix","RenderState"],or.prototype={cull_face:null,depth_test:null,depth_mask:null,renderer:null,_viewport:null,_view_target_h:null,enable:function(t){switch(t){case 2884:this.cull_face||(this.cull_face=!0,oo.gl.enable(2884));break;case 2929:V.core.app.config.render.depth>0&&(this.depth_test||(this.depth_test=!0,oo.gl.enable(2929)))}},disable:function(t){switch(t){case 2884:this.cull_face&&(this.cull_face=!1,oo.gl.disable(2884));break;case 2929:V.core.app.config.render.depth>0&&this.depth_test&&(this.depth_test=!1,oo.gl.disable(2929))}},depth_func:null,depth_function:function(t){this.depth_func!=t&&(oo.gl.depthFunc(t),this.depth_func=t)},viewport:function(t,e,i,s){var n=this.renderer.target_size.y;if(this._viewport.x!=t||this._viewport.y!=e||this._viewport.w!=i||this._viewport.h!=s||this._view_target_h!=n){this._viewport.set_x(t),this._viewport.set_y(e),this._viewport.set_w(i),this._viewport.set_h(s),this._view_target_h=n;var r=n-(e+s);oo.gl.viewport(0|t,0|r,0|i,0|s)}},current_fbo:null,bindFramebuffer:function(t){this.current_fbo!=t&&(null==t&&(t=this.renderer.default_fbo),oo.gl.bindFramebuffer(36160,t),this.current_fbo=t)},_current_rbo:null,bindRenderbuffer:function(t){this._current_rbo!=t&&(null==t&&(t=this.renderer.default_rbo),oo.gl.bindRenderbuffer(36161,t),this._current_rbo=t)},_used_program:null,useProgram:function(t){this._used_program!=t&&(this._used_program=t,oo.gl.useProgram(t))},_active_texture:null,activeTexture:function(t){this._active_texture!=t&&(oo.gl.activeTexture(t),this._active_texture=t)},bindTexture:function(t,e){switch(t){case 3553:this.bindTexture2D(e);break;case 34067:this.bindTextureCube(e)}},bindTexture2D:function(t){or.bound_texture_2D!=t&&(or.bound_texture_2D=t,oo.gl.bindTexture(3553,t))},bindTextureCube:function(t){or.bound_texture_cube!=t&&(or.bound_texture_cube=t,oo.gl.bindTexture(34067,t))},_last_line_width:null,lineWidth:function(t){this._last_line_width!=t&&(this._last_line_width=t,oo.gl.lineWidth(t))},_last_depth_mask:null,depthMask:function(t){this._last_depth_mask!=t&&(this._last_depth_mask=t,oo.gl.depthMask(t))},__class__:or};var ar=function(t){if(this.load_premultiply_alpha=!1,this.height=-1,this.width=-1,this.height_actual=-1,this.width_actual=-1,this.compressed=!1,this.border=0,this.slot=0,null==t)throw new li(Vi.null_assertion("_options was null ( Texture create requires non-null options )"));if(null==t.resource_type&&(t.resource_type=4),t.resource_type,ms.call(this,t),null==t.texture&&(t.texture=this.create_texture_id()),t.texture,this.texture=t.texture,this.bind(),this.apply_default_options(t),null!=t.pixels){if(null==t.width)throw new li(Vi.null_assertion("_options.width was null ( Texture create with pixels requires both width and height )"));if(null==t.height)throw new li(Vi.null_assertion("_options.height was null ( Texture create with pixels requires both width and height )"))}if(null!=t.width||null!=t.height){if(null==t.height)throw new li(Vi.null_assertion("_options.height was null ( Texture requires both width and height, only width was given in construct options )"));if(null==t.width)throw new li(Vi.null_assertion("_options.width was null ( Texture requires both width and height, only height was given in construct options )"));this.width=this.width_actual=t.width,this.height=this.height_actual=t.height,null!=t.pixels&&this.submit(t.pixels)}};r["phoenix.Texture"]=ar,ar.__name__=["phoenix","Texture"],ar.max_size=function(){return oo.gl.getParameter(3379)},ar.dump_asset_info=function(){},ar.type_name=function(t){switch(t){case 3553:return"tex_2D";case 34067:return"tex_cube"}},ar.filter_name=function(t){switch(t){case 9729:return"linear";case 9728:return"nearest";case 9987:return"mip_linear_linear";case 9985:return"mip_linear_nearest";case 9986:return"mip_nearest_linear";case 9984:return"mip_nearest_nearest"}},ar.clamp_name=function(t){switch(t){case 33071:return"edge";case 10497:return"repeat";case 33648:return"mirror"}},ar.__super__=ms,ar.prototype=i(ms.prototype,{slot:null,border:null,texture:null,format:null,type:null,data_type:null,compressed:null,width_actual:null,height_actual:null,width:null,height:null,filter_min:null,filter_mag:null,clamp_s:null,clamp_t:null,load_premultiply_alpha:null,memory_use:function(){return this.width_actual*this.height_actual*4},fetch:function(t,e,i,s,n){if(null==i&&(i=0),null==e&&(e=0),null==t)throw new li(Vi.null_assertion("_into was null ( Texture fetch requires a valid buffer to store the pixels. )"));null==e&&(e=0),null==i&&(i=0),null==s&&(s=this.width),null==n&&(n=this.height);var r=s*n*4;if(!(t.length>=r))throw new li(Vi.assertion("_into.length >= _required"+(" ( "+("Texture fetch requires at least "+r+" (w * h * 4) bytes for the pixels, you have "+t.length+"!")+" )")));var o=oo.gl.createFramebuffer();if(oo.gl.bindFramebuffer(36160,o),oo.gl.framebufferTexture2D(36160,36064,3553,this.texture,0),36053!=oo.gl.checkFramebufferStatus(36160))throw new li(Vi.assertion("GL.checkFramebufferStatus(GL.FRAMEBUFFER) == GL.FRAMEBUFFER_COMPLETE"));return oo.gl.readPixels(e,i,s,n,6408,5121,t),oo.gl.bindFramebuffer(36160,null),oo.gl.deleteFramebuffer(o),o=null,t},submit:function(t,e,i){if(null==i&&(i=0),!(i>=0))throw new li(Vi.assertion("_level >= 0 ( Texture submit level cannot be negative )"));var s=ar.max_size();if(!(this.width_actual<=s))throw new li(Vi.assertion("width_actual <= _max"+(" ( "+("Texture actual width bigger than maximum hardware size (width:"+this.width_actual+", max:"+s+")")+" )")));if(!(this.height_actual<=s))throw new li(Vi.assertion("height_actual <= _max"+(" ( "+("Texture actual height bigger than maximum hardware size (height:"+this.height_actual+", max:"+s+")")+" )")));if(this.bind(),3553==this.type)null==e&&(e=3553);else if(null==e)throw new li(Vi.null_assertion("_target was null ( Texture submit to a non 2D texture requires the _target to be specified )"));this.compressed?oo.gl.compressedTexImage2D(e,i,this.format,this.width_actual,this.height_actual,this.border,t):oo.gl.texImage2D(e,i,this.format,this.width_actual,this.height_actual,this.border,this.format,this.data_type,t)},generate_mipmaps:function(){this.bind(),oo.gl.generateMipmap(this.type)},bind:function(){V.renderer.state.activeTexture(33984+this.slot),V.renderer.state.bindTexture(this.type,this.texture)},reload:function(){var t=this;if(6==this.state)throw new li(Vi.assertion("state != ResourceState.destroyed ( Resource cannot reload when already destroyed )"));return this.clear(),new Fr(function(e,i){t.set_state(2);var s=ho.load(V.core.app.assets,t.id);s.then(function(i){t.texture=t.create_texture_id(),t.from_asset(i),t.set_state(3),e(t)}),s.error(function(e){t.set_state(4),i(e)})})},from_asset:function(t,e){null==e&&(e=!0),this.width=t.image.width,this.height=t.image.height,this.width_actual=t.image.width_actual,this.height_actual=t.image.height_actual,this.load_premultiply_alpha&&V.utils.premultiply_alpha(t.image.pixels),this.submit(t.image.pixels),e&&(t.image.pixels=null,t=null),oo.gl.texParameteri(this.type,10241,this.filter_min),oo.gl.texParameteri(this.type,10240,this.filter_mag),oo.gl.texParameteri(this.type,10242,this.clamp_s),oo.gl.texParameteri(this.type,10243,this.clamp_t)},clear:function(){null!=this.texture&&oo.gl.deleteTexture(this.texture)},create_texture_id:function(){return oo.gl.createTexture()},apply_props:function(){oo.gl.texParameteri(this.type,10241,this.filter_min),oo.gl.texParameteri(this.type,10240,this.filter_mag),oo.gl.texParameteri(this.type,10242,this.clamp_s),oo.gl.texParameteri(this.type,10243,this.clamp_t)},apply_default_options:function(t){null==t.load_premultiply_alpha&&(t.load_premultiply_alpha=!1),this.load_premultiply_alpha=t.load_premultiply_alpha,null==t.compressed&&(t.compressed=!1),this.compressed=t.compressed,null==t.format&&(t.format=6408),this.format=t.format,null==t.type&&(t.type=3553),this.type=t.type,null==t.data_type&&(t.data_type=5121),this.data_type=t.data_type,this.set_filter_min(function(){var e;return null==t.filter_min&&(t.filter_min=ar.default_filter),e=t.filter_min}(this)),this.set_filter_mag(function(){var e;return null==t.filter_mag&&(t.filter_mag=ar.default_filter),e=t.filter_mag}(this)),this.set_clamp_s(function(){var e;return null==t.clamp_s&&(t.clamp_s=ar.default_clamp),e=t.clamp_s}(this)),this.set_clamp_t(function(){var e;return null==t.clamp_t&&(t.clamp_t=ar.default_clamp),e=t.clamp_t}(this))},set_clamp_s:function(t){return this.bind(),oo.gl.texParameteri(this.type,10242,t),this.clamp_s=t},set_clamp_t:function(t){return this.bind(),oo.gl.texParameteri(this.type,10243,t),this.clamp_t=t},set_filter_min:function(t){return this.bind(),oo.gl.texParameteri(this.type,10241,t),this.filter_min=t},set_filter_mag:function(t){return this.bind(),oo.gl.texParameteri(this.type,10240,t),this.filter_mag=t},apply_clamp:function(t,e){oo.gl.texParameteri(this.type,e,t)},apply_filter:function(t,e){oo.gl.texParameteri(this.type,e,t)},toString:function(){var t=ar.type_name(this.type),e=ar.filter_name(this.filter_min),i=ar.filter_name(this.filter_mag),s=(ar.clamp_name(this.clamp_s),ar.clamp_name(this.clamp_t)),n="filter(min: "+e+", mag:"+i+")",r="clamp(s: "+s+", t: "+s+")",o="size(size: "+this.width+"x"+this.height+", actual: "+this.width_actual+"x"+this.height_actual+")";return"Texture(id: "+this.id+", tex: "+re.string(this.texture)+", type:"+t+", "+o+" "+n+" "+r+" )"},__class__:ar,__properties__:i(ms.prototype.__properties__,{set_clamp_t:"set_clamp_t",set_clamp_s:"set_clamp_s",set_filter_mag:"set_filter_mag",set_filter_min:"set_filter_min"})});var lr=function(t){t.resource_type=5,ar.call(this,t),null==t.width&&(t.width=re["int"](V.core.screen.get_w())),t.width,null==t.height&&(t.height=re["int"](V.core.screen.get_h())),t.height,this.width=this.width_actual=t.width,this.height=this.height_actual=t.height,null!=t.texture&&this.submit(null),oo.gl.texParameteri(this.type,10241,this.filter_min),oo.gl.texParameteri(this.type,10240,this.filter_mag),oo.gl.texParameteri(this.type,10242,this.clamp_s),oo.gl.texParameteri(this.type,10243,this.clamp_t),this.fbo=oo.gl.createFramebuffer(),this.bindBuffer(),this.renderbuffer=oo.gl.createRenderbuffer(),this.bindRenderBuffer(),oo.gl.renderbufferStorage(36161,33189,this.width,this.height),oo.gl.framebufferTexture2D(36160,36064,3553,this.texture,0),oo.gl.framebufferRenderbuffer(36160,36096,36161,this.renderbuffer);var e=oo.gl.checkFramebufferStatus(36160);switch(e){case 36053:break;case 36054:throw new li("Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_ATTACHMENT");case 36055:throw new li("Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT");case 36057:throw new li("Incomplete framebuffer: FRAMEBUFFER_INCOMPLETE_DIMENSIONS");case 36061:throw new li("Incomplete framebuffer: FRAMEBUFFER_UNSUPPORTED");default:throw new li("Incomplete framebuffer: "+e)}this.unbindBuffer(),this.unbindRenderBuffer(),this.system.add(this)};r["phoenix.RenderTexture"]=lr,lr.__name__=["phoenix","RenderTexture"],lr.__super__=ar,lr.prototype=i(ar.prototype,{fbo:null,renderbuffer:null,clear:function(){ar.prototype.clear.call(this),null!=this.fbo&&oo.gl.deleteFramebuffer(this.fbo),null!=this.renderbuffer&&oo.gl.deleteRenderbuffer(this.renderbuffer)},bindBuffer:function(){V.renderer.state.bindFramebuffer(this.fbo)},unbindBuffer:function(t){V.renderer.state.bindFramebuffer(t)},bindRenderBuffer:function(){V.renderer.state.bindRenderbuffer(this.renderbuffer)},unbindRenderBuffer:function(t){V.renderer.state.bindRenderbuffer(t)},__class__:lr});var _r=function(t,e){this.stop_count=0,this.stop=!1,this.should_clear=!0,this.core=t,this.font_asset=e,this.default_fbo=oo.gl.getParameter(36006),this.default_rbo=oo.gl.getParameter(36007)};r["phoenix.Renderer"]=_r,_r.__name__=["phoenix","Renderer"],_r.prototype={batchers:null,core:null,state:null,default_fbo:null,default_rbo:null,shaders:null,batcher:null,camera:null,font:null,font_asset:null,render_path:null,default_render_path:null,target:null,target_size:null,should_clear:null,stop:null,stop_count:null,clear_color:null,stats:null,init:function(){this.state=new or(this),this.clear_color=(new ns).rgb(16113856),this.stats=new ur,this.batchers=[],this.target_size=new pr(V.core.screen.get_w(),V.core.screen.get_h()),this.camera=new Dn,this.default_render_path=new rr(this),this.render_path=this.default_render_path,this.create_default_shaders(),this.batcher=new Kn(this,"default batcher"),this.batcher.set_layer(1),this.add_batch(this.batcher),V.core.app.config.render.depth>0&&(this.state.enable(2929),this.state.depth_function(515),oo.gl.clearDepth(1)),oo.gl.enable(3042),oo.gl.blendFunc(770,771),oo.gl.pixelStorei(37441,0) },destroy:function(){this.clear((new ns).rgb(16729099))},sort_batchers:function(t,e){return t.layere.layer?1:t.sequencee.sequence?1:1},add_batch:function(t){this.batchers.push(t),this.batchers.sort(n(this,this.sort_batchers))},remove_batch:function(t){M.remove(this.batchers,t)},create_batcher:function(t){var e=2;null!=t?(null==t.name&&(t.name="batcher"),t.name,null==t.layer&&(t.layer=e),t.layer,null==t.camera&&(t.camera=new Dn),t.camera,null==t.max_verts&&(t.max_verts=16384),t.max_verts):t={name:"batcher",camera:new Dn,layer:e,max_verts:16384};var i=new Kn(this,t.name,t.max_verts);return i.view=t.camera,i.layer=t.layer,i.renderer.batchers.sort(($o=i.renderer,n($o,$o.sort_batchers))),i.layer,(null==t.no_add||0==t.no_add)&&this.add_batch(i),i},clear:function(t){null==t&&(t=this.clear_color),oo.gl.clearColor(t.r,t.g,t.b,t.a),V.core.app.config.render.depth>0?(oo.gl.clear(16640),oo.gl.clearDepth(1)):oo.gl.clear(16384)},blend_mode:function(t,e){null==e&&(e=771),null==t&&(t=770),oo.gl.blendFunc(t,e)},blend_equation:function(t){null==t&&(t=32774),oo.gl.blendEquation(t)},internal_resized:function(t,e){null==this.get_target()&&this.target_size.set_xy(t,e)},process:function(){this.stop||(this.should_clear&&this.clear(this.clear_color),this.stats.batchers=this.batchers.length,this.stats.reset(),this.render_path.render(this.batchers,this.stats))},onresize:function(){},get_target:function(){return this.target},set_target:function(t){return null!=t?(this.target_size.set_x(t.width),this.target_size.set_y(t.height),this.state.bindFramebuffer(t.fbo)):(this.target_size.set_x(V.core.screen.get_w()),this.target_size.set_y(V.core.screen.get_h()),this.state.bindFramebuffer()),this.target=t},create_default_shaders:function(){var t=null,e=null,i=null,s=null;null==t&&(t=je.getString("default.vert.glsl"),e=je.getString("default.frag.glsl"),i=je.getString("default.frag.textured.glsl"),s=je.getString("default.frag.bitmapfont.glsl"));oo.gl.getExtension("OES_standard_derivatives");e="precision mediump float;\n"+e,i="precision mediump float;\n"+i,s="#extension GL_OES_standard_derivatives : enable\n#extension OES_standard_derivatives : enable\nprecision mediump float;\n"+s;var n=new gr({id:"luxe.shader",frag_id:"default",vert_id:"default"}),r=new gr({id:"luxe.shader_textured",frag_id:"textured",vert_id:"default"}),o=new gr({id:"luxe.shader_bitmapfont",frag_id:"bitmapfont",vert_id:"default"}),a=!0;if(a=a&&n.from_string(t,e),a=a&&r.from_string(t,i),a=a&&o.from_string(t,s),!a)throw new li(Vi.assertion("_ok ( Default shaders failed to compile or link. See log for errors )"));this.shaders={plain:{shader:n,source:{vert:t,frag:e}},textured:{shader:r,source:{vert:t,frag:i}},bitmapfont:{shader:o,source:{vert:t,frag:s}}}},create_default_font:function(){if(null==this.font_asset)throw new li(Vi.null_assertion("font_asset was null ( Renderer / failed to create the default font )"));var t=new ar({id:"luxe.font.png",width:this.font_asset.image.width_actual,height:this.font_asset.image.height_actual,pixels:this.font_asset.image.pixels});if(null==t)throw new li(Vi.null_assertion("_font_texture was null ( Renderer / failed to create the default font... font_texture was null. )"));var e=je.getString("default.fnt");this.font=new Un({id:"luxe.font",font_data:e,pages:[t]})},__class__:_r,__properties__:{set_target:"set_target",get_target:"get_target"}};var ur=function(){this.vert_count=0,this.draw_calls=0,this.visible_count=0,this.static_batched_count=0,this.dynamic_batched_count=0,this.geometry_count=0,this.batchers=0};r["phoenix.RendererStats"]=ur,ur.__name__=["phoenix","RendererStats"],ur.prototype={batchers:null,geometry_count:null,dynamic_batched_count:null,static_batched_count:null,visible_count:null,draw_calls:null,vert_count:null,reset:function(){this.geometry_count=0,this.dynamic_batched_count=0,this.static_batched_count=0,this.visible_count=0,this.draw_calls=0,this.vert_count=0},toString:function(){return"Renderer Statistics\n batcher count : "+this.batchers+"\n total geometry : "+this.geometry_count+"\n visible geometry : "+this.visible_count+"\n dynamic batched geometry : "+this.dynamic_batched_count+"\n static batched geometry : "+this.static_batched_count+"\n total draw calls : "+this.draw_calls+"\n total vertices : "+this.vert_count},__class__:ur};var hr=function(){this.clear()};r["phoenix.Uniforms"]=hr,hr.__name__=["phoenix","Uniforms"],hr.prototype={ints:null,floats:null,vector2s:null,vector3s:null,vector4s:null,matrix4s:null,matrix4arrs:null,colors:null,textures:null,dirty_ints:null,dirty_floats:null,dirty_vector2s:null,dirty_vector3s:null,dirty_vector4s:null,dirty_matrix4s:null,dirty_matrix4arrs:null,dirty_colors:null,dirty_textures:null,destroy:function(){this.ints=null,this.floats=null,this.vector2s=null,this.vector3s=null,this.vector4s=null,this.matrix4s=null,this.colors=null,this.textures=null,this.dirty_ints=null,this.dirty_floats=null,this.dirty_vector2s=null,this.dirty_vector3s=null,this.dirty_vector4s=null,this.dirty_matrix4s=null,this.dirty_matrix4arrs=null,this.dirty_colors=null,this.dirty_textures=null},clear:function(){this.destroy(),this.ints=new De,this.floats=new De,this.vector2s=new De,this.vector3s=new De,this.vector4s=new De,this.matrix4s=new De,this.matrix4arrs=new De,this.colors=new De,this.textures=new De,this.dirty_ints=[],this.dirty_floats=[],this.dirty_vector2s=[],this.dirty_vector3s=[],this.dirty_vector4s=[],this.dirty_matrix4s=[],this.dirty_matrix4arrs=[],this.dirty_colors=[],this.dirty_textures=[]},set_int:function(t,e,i){var s=this.ints.get(t);null!=s?s.value=e:(s=new Ar(t,e,i),this.ints.set(t,s)),this.dirty_ints.push(s)},set_float:function(t,e,i){var s=this.floats.get(t);null!=s?s.value=e:(s=new Cr(t,e,i),this.floats.set(t,s)),this.dirty_floats.push(s)},set_vector2:function(t,e,i){var s=this.vector2s.get(t);null!=s?s.value=e:(s=new br(t,e,i),this.vector2s.set(t,s)),this.dirty_vector2s.push(s)},set_vector3:function(t,e,i){var s=this.vector3s.get(t);null!=s?s.value=e:(s=new br(t,e,i),this.vector3s.set(t,s)),this.dirty_vector3s.push(s)},set_vector4:function(t,e,i){var s=this.vector4s.get(t);null!=s?s.value=e:(s=new br(t,e,i),this.vector4s.set(t,s)),this.dirty_vector4s.push(s)},set_matrix4:function(t,e,i){var s=this.matrix4s.get(t);null!=s?s.value=e:(s=new vr(t,e,i),this.matrix4s.set(t,s)),this.dirty_matrix4s.push(s)},set_matrix4_arr:function(t,e,i){var s=this.matrix4arrs.get(t);null!=s?s.value=e:(s=new wr(t,e,i),this.matrix4arrs.set(t,s)),this.dirty_matrix4arrs.push(s)},set_color:function(t,e,i){var s=this.colors.get(t);null!=s?s.value=e:(s=new fr(t,e,i),this.colors.set(t,s)),this.dirty_colors.push(s)},set_texture:function(t,e,i){var s=this.textures.get(t);null!=s?s.value=e:(s=new yr(t,e,i),this.textures.set(t,s)),this.dirty_textures.push(s)},apply:function(){for(;this.dirty_ints.length>0;){var t=this.dirty_ints.pop();oo.gl.uniform1i(t.location,t.value)}for(;this.dirty_floats.length>0;){var e=this.dirty_floats.pop();oo.gl.uniform1f(e.location,e.value)}for(;this.dirty_vector2s.length>0;){var i=this.dirty_vector2s.pop();oo.gl.uniform2f(i.location,i.value.x,i.value.y)}for(;this.dirty_vector3s.length>0;){var s=this.dirty_vector3s.pop();oo.gl.uniform3f(s.location,s.value.x,s.value.y,s.value.z)}for(;this.dirty_vector4s.length>0;){var n=this.dirty_vector4s.pop();oo.gl.uniform4f(n.location,n.value.x,n.value.y,n.value.z,n.value.w)}for(;this.dirty_colors.length>0;){var r=this.dirty_colors.pop();oo.gl.uniform4f(r.location,r.value.r,r.value.g,r.value.b,r.value.a)}for(;this.dirty_textures.length>0;){var o=this.dirty_textures.pop();oo.gl.uniform1i(o.location,o.value.slot),o.value.bind()}for(;this.dirty_matrix4s.length>0;){var a=this.dirty_matrix4s.pop();oo.uniformMatrix4fv(a.location,!1,a.value.float32array())}for(;this.dirty_matrix4arrs.length>0;){var l=this.dirty_matrix4arrs.pop();oo.gl.uniformMatrix4fv(l.location,!1,l.value)}},__class__:hr};var gr=function(t){if(this.no_default_uniforms=!1,this.frag_id="",this.vert_id="",this.log="",null==t)throw new li(Vi.null_assertion("_options was null"));t.resource_type=7,ms.call(this,t),this.frag_id=t.frag_id,this.vert_id=t.vert_id,null==t.no_default_uniforms&&(t.no_default_uniforms=!1),this.no_default_uniforms=t.no_default_uniforms,this.uniforms=new hr};r["phoenix.Shader"]=gr,gr.__name__=["phoenix","Shader"],gr.__super__=ms,gr.prototype=i(ms.prototype,{log:null,vert_source:null,frag_source:null,vert_id:null,frag_id:null,vert_shader:null,frag_shader:null,program:null,shader:null,no_default_uniforms:null,proj_attribute:null,view_attribute:null,uniforms:null,activate:function(){this.use(),this.uniforms.apply(),V.renderer.state.activeTexture(33984)},use:function(){null!=this.program&&V.renderer.state.useProgram(this.program)},deactivate:function(){V.renderer.state.useProgram(null)},clone:function(t){var e=new gr({id:t,frag_id:this.frag_id,vert_id:this.vert_id});return e.from_string(this.vert_source,this.frag_source),e},set_int:function(t,e){this.uniforms.set_int(t,e,oo.gl.getUniformLocation(this.program,t))},set_float:function(t,e){this.uniforms.set_float(t,e,oo.gl.getUniformLocation(this.program,t))},set_vector2:function(t,e){this.uniforms.set_vector2(t,e,oo.gl.getUniformLocation(this.program,t))},set_vector3:function(t,e){this.uniforms.set_vector3(t,e,oo.gl.getUniformLocation(this.program,t))},set_vector4:function(t,e){this.uniforms.set_vector4(t,e,oo.gl.getUniformLocation(this.program,t))},set_matrix4:function(t,e){this.uniforms.set_matrix4(t,e,oo.gl.getUniformLocation(this.program,t))},set_matrix4_arr:function(t,e){this.uniforms.set_matrix4_arr(t,e,oo.gl.getUniformLocation(this.program,t))},set_color:function(t,e){this.uniforms.set_color(t,e,oo.gl.getUniformLocation(this.program,t))},set_texture:function(t,e){this.uniforms.set_texture(t,e,oo.gl.getUniformLocation(this.program,t))},compile:function(t,e){var i=oo.gl.createShader(t);oo.gl.shaderSource(i,e),oo.gl.compileShader(i);var s=oo.gl.getShaderInfoLog(i),n="";if(s.length>0){var r,o=35632==t;r=o?"frag":"vert";var a;a=o?this.frag_id:this.vert_id,n+="\n // start -- ("+r+" / "+a+") compile log --\n",n+=this.format_log(s),n+="\n // end --\n"}return 0==oo.gl.getShaderParameter(i,35713)?(this.log+=" Failed to compile shader `"+this.id+"`:\n",this.add_log(0==n.length?this.format_log(oo.gl.getShaderInfoLog(i)):n),oo.gl.deleteShader(i),i=null,null):i},link:function(){if(this.program=oo.gl.createProgram(),oo.gl.attachShader(this.program,this.vert_shader),oo.gl.attachShader(this.program,this.frag_shader),oo.gl.bindAttribLocation(this.program,0,"vertexPosition"),oo.gl.bindAttribLocation(this.program,1,"vertexTCoord"),oo.gl.bindAttribLocation(this.program,2,"vertexColor"),oo.gl.bindAttribLocation(this.program,3,"vertexNormal"),oo.gl.linkProgram(this.program),0==oo.gl.getProgramParameter(this.program,35714))return this.log+=" Failed to link shader program:",this.add_log(this.format_log(oo.gl.getProgramInfoLog(this.program))),oo.gl.deleteProgram(this.program),this.program=null,!1;if(this.use(),!this.no_default_uniforms){this.proj_attribute=oo.gl.getUniformLocation(this.program,"projectionMatrix"),this.view_attribute=oo.gl.getUniformLocation(this.program,"modelViewMatrix");var t=oo.gl.getUniformLocation(this.program,"tex0"),e=oo.gl.getUniformLocation(this.program,"tex1"),i=oo.gl.getUniformLocation(this.program,"tex2"),s=oo.gl.getUniformLocation(this.program,"tex3"),n=oo.gl.getUniformLocation(this.program,"tex4"),r=oo.gl.getUniformLocation(this.program,"tex5"),o=oo.gl.getUniformLocation(this.program,"tex6"),a=oo.gl.getUniformLocation(this.program,"tex7");null!=t&&oo.gl.uniform1i(t,0),null!=e&&oo.gl.uniform1i(e,1),null!=i&&oo.gl.uniform1i(i,2),null!=s&&oo.gl.uniform1i(s,3),null!=n&&oo.gl.uniform1i(n,4),null!=r&&oo.gl.uniform1i(r,5),null!=o&&oo.gl.uniform1i(o,6),null!=a&&oo.gl.uniform1i(a,7)}return!0},location:function(t){return oo.gl.getUniformLocation(this.program,t)},clear:function(){null!=this.vert_shader&&oo.gl.deleteShader(this.vert_shader),null!=this.frag_shader&&oo.gl.deleteShader(this.frag_shader),null!=this.program&&oo.gl.deleteProgram(this.program),this.vert_source=null,this.frag_source=null,this.uniforms.clear()},reload:function(){var t=this;if(6==this.state)throw new li(Vi.assertion("state != ResourceState.destroyed"));return this.clear(),new Fr(function(e,i){t.set_state(2);var s=t.frag_id;switch(s){case"default":t.frag_source=V.renderer.shaders.plain.source.frag;break;case"textured":t.frag_source=V.renderer.shaders.textured.source.frag}var n=t.vert_id;switch(n){case"default":t.vert_source=V.renderer.shaders.plain.source.vert}var r=function(e){t.set_state(4),i(e)},o=[Fr.resolve()];if(null==t.frag_source){var a=Io.load(V.core.app.assets,t.frag_id);a.then(function(e){t.frag_source=e.text}),o.push(a)}if(null==t.vert_source){var l=Io.load(V.core.app.assets,t.vert_id);l.then(function(e){t.vert_source=e.text}),o.push(l)}Fr.all(o).then(function(){t.from_string(t.vert_source,t.frag_source)?(t.set_state(3),e(t)):r(ko.error("`"+t.id+"` failed to create :\n\n"+t.log))}).error(function(e){r(ko.error("`"+t.id+"` failed to create :\n "+e+"\n"))})})},from_string:function(t,e){var i=this;return this.clear(),this.frag_source=e,this.vert_source=t,this.vert_shader=this.compile(35633,this.vert_source),this.frag_shader=this.compile(35632,this.frag_source),null==this.vert_shader||null==this.frag_shader?(i.log.length>0&&Be.trace(" i / shader / "+i.log,{fileName:"Shader.hx",lineNumber:589,className:"phoenix.Shader",methodName:"from_string"}),!1):this.link()?!0:(i.log.length>0&&Be.trace(" i / shader / "+i.log,{fileName:"Shader.hx",lineNumber:589,className:"phoenix.Shader",methodName:"from_string"}),!1)},add_log:function(t){this.log+=t},toString:function(){return"Shader("+this.id+") vert:"+this.vert_id+" / frag: "+this.frag_id},format_log:function(t){var e=t.split("\n");return e=e.filter(function(t){return""!=ae.trim(t)}),e=e.map(function(t){return" "+ae.trim(t)}),e.join("\n")},__class__:gr});var cr=function(t,e,i){this.name=t,this.value=e,this.location=i};r["phoenix._Shader.Uniform"]=cr,cr.__name__=["phoenix","_Shader","Uniform"],cr.prototype={name:null,value:null,location:null,__class__:cr};var Ir=function(){this._destroying=!1,this._cleaning=!1,this._setup=!0,this.dirty=!0,Ci.call(this,"transform"),this.set_local(new dr),this.set_world(new dr),this._origin_undo_matrix=new er,this._pos_matrix=new er,this._rotation_matrix=new er,this.set_origin(new pr),this.local.pos_changed=n(this,this.on_local_pos_change),this.local.rotation_changed=n(this,this.on_local_rotation_change),this.local.scale_changed=n(this,this.on_local_scale_change),this._setup=!1};r["phoenix.Transform"]=Ir,Ir.__name__=["phoenix","Transform"],Ir.__super__=Ci,Ir.prototype=i(Ci.prototype,{parent:null,local:null,world:null,origin:null,dirty:null,_origin_undo_matrix:null,_pos_matrix:null,_rotation_matrix:null,_setup:null,_cleaning:null,_clean_handlers:null,_dirty_handlers:null,_pos_handlers:null,_rotation_handlers:null,_scale_handlers:null,_origin_handlers:null,_parent_handlers:null,_destroying:null,destroy:function(){this._destroying=!0,null!=this.parent&&this.parent.unlisten(n(this,this.on_parent_cleaned)),this._clean_handlers=null,this._dirty_handlers=null,this._pos_handlers=null,this._rotation_handlers=null,this._scale_handlers=null,this._origin_handlers=null,this._parent_handlers=null,this.local.destroy(),function(t){var e;return t._destroying||(null!=t.parent&&t.parent.dirty&&t.parent.clean(),t.dirty&&!t._cleaning&&t.clean()),e=t.world}(this).destroy(),this.local=null,this.world=null,this.dirty=!0,this.dirty&&!this._setup&&null!=this._dirty_handlers&&this._dirty_handlers.length>0&&this.propagate_dirty(),this.dirty,this.origin=null,null!=this._origin_handlers&&this._origin_handlers.length>0&&this.propagate_origin(this.origin),this.origin,this._origin_undo_matrix=null,this._pos_matrix=null,this._rotation_matrix=null},set_dirty:function(t){return this.dirty=t,this.dirty&&!this._setup&&null!=this._dirty_handlers&&this._dirty_handlers.length>0&&this.propagate_dirty(),this.dirty},on_local_pos_change:function(t){this.dirty=!0,this.dirty&&!this._setup&&null!=this._dirty_handlers&&this._dirty_handlers.length>0&&this.propagate_dirty(),this.dirty,null!=this._pos_handlers&&this._pos_handlers.length>0&&this.propagate_pos(t)},on_local_rotation_change:function(t){this.dirty=!0,this.dirty&&!this._setup&&null!=this._dirty_handlers&&this._dirty_handlers.length>0&&this.propagate_dirty(),this.dirty,null!=this._rotation_handlers&&this._rotation_handlers.length>0&&this.propagate_rotation(t)},on_local_scale_change:function(t){this.dirty=!0,this.dirty&&!this._setup&&null!=this._dirty_handlers&&this._dirty_handlers.length>0&&this.propagate_dirty(),this.dirty,null!=this._scale_handlers&&this._scale_handlers.length>0&&this.propagate_scale(t)},on_parent_cleaned:function(){this.dirty=!0,this.dirty&&!this._setup&&null!=this._dirty_handlers&&this._dirty_handlers.length>0&&this.propagate_dirty(),this.dirty},get_local:function(){return this.local},set_local:function(t){return null!=t&&(this.dirty=!0,this.dirty&&!this._setup&&null!=this._dirty_handlers&&this._dirty_handlers.length>0&&this.propagate_dirty(),this.dirty,t.pos_changed=n(this,this.on_local_pos_change),t.rotation_changed=n(this,this.on_local_rotation_change),t.scale_changed=n(this,this.on_local_scale_change)),this.local=t},get_world:function(){return this._destroying||(null!=this.parent&&this.parent.dirty&&this.parent.clean(),this.dirty&&!this._cleaning&&this.clean()),this.world},clean_check:function(){null!=this.parent&&this.parent.dirty&&this.parent.clean(),this.dirty&&!this._cleaning&&this.clean()},clean:function(){this.dirty&&(this._cleaning=!0,this._pos_matrix.makeTranslation(this.local.pos.x,this.local.pos.y,this.local.pos.z),this._rotation_matrix.makeRotationFromQuaternion(this.local.rotation),this._origin_undo_matrix.makeTranslation(-this.origin.x,-this.origin.y,-this.origin.z),this.local.matrix.makeTranslation(this.origin.x,this.origin.y,this.origin.z),this.local.matrix.multiply(this._rotation_matrix),this.local.matrix.scale(this.local.scale),this.local.matrix.setPosition(this.local.pos),this.local.matrix.multiply(this._origin_undo_matrix),null!=this.parent?this.get_world().set_matrix(this.get_world().get_matrix().multiplyMatrices(this.parent.get_world().get_matrix(),this.local.matrix)):this.get_world().get_matrix().copy(this.local.matrix),this.get_world().decompose(!1),this.dirty=!1,this.dirty&&!this._setup&&null!=this._dirty_handlers&&this._dirty_handlers.length>0&&this.propagate_dirty(),this.dirty,this._cleaning=!1,null!=this._clean_handlers&&this._clean_handlers.length>0&&this.propagate_clean())},toString:function(){return"Transform ("+this.id+")"},get_origin:function(){return this.origin},set_origin:function(t){return this.dirty=!0,this.dirty&&!this._setup&&null!=this._dirty_handlers&&this._dirty_handlers.length>0&&this.propagate_dirty(),this.dirty,this.origin=t,null!=this._origin_handlers&&this._origin_handlers.length>0&&this.propagate_origin(this.origin),this.origin},set_world:function(t){return null==t?this.world=t:(this.dirty=!0,this.dirty&&!this._setup&&null!=this._dirty_handlers&&this._dirty_handlers.length>0&&this.propagate_dirty(),this.dirty,this.world=t)},get_parent:function(){return this.parent},set_parent:function(t){return this.dirty=!0,this.dirty&&!this._setup&&null!=this._dirty_handlers&&this._dirty_handlers.length>0&&this.propagate_dirty(),this.dirty,null!=this.parent&&this.parent.unlisten(n(this,this.on_parent_cleaned)),this.parent=t,null!=this._parent_handlers&&this._parent_handlers.length>0&&this.propagate_parent(this.parent),null!=this.parent&&this.parent.listen(n(this,this.on_parent_cleaned)),this.parent},get_pos:function(){return this.local.pos},get_rotation:function(){return this.local.rotation},get_scale:function(){return this.local.scale},set_pos:function(t){return this.local.set_pos(t)},set_rotation:function(t){return this.local.set_rotation(t)},set_scale:function(t){return this.local.set_scale(t)},propagate_clean:function(){for(var t=0,e=this._clean_handlers;tr?-1:r>1?1:r),Math.abs(r)<.99999?(g=Math.atan2(-l,h),I=Math.atan2(-n,s)):(g=Math.atan2(u,a),I=0)):1==e?(g=Math.asin(-(-1>l?-1:l>1?1:l)),Math.abs(l)<.99999?(c=Math.atan2(r,h),I=Math.atan2(o,a)):(c=Math.atan2(-_,s),I=0)):2==e?(g=Math.asin(-1>u?-1:u>1?1:u),Math.abs(u)<.99999?(c=Math.atan2(-_,h),I=Math.atan2(-n,a)):(c=0,I=Math.atan2(o,s))):3==e?(c=Math.asin(-(-1>_?-1:_>1?1:_)),Math.abs(_)<.99999?(g=Math.atan2(u,h),I=Math.atan2(o,s)):(g=0,I=Math.atan2(-n,a))):4==e?(I=Math.asin(-1>o?-1:o>1?1:o),Math.abs(o)<.99999?(g=Math.atan2(-l,a),c=Math.atan2(-_,s)):(g=0,c=Math.atan2(r,h))):5==e&&(I=Math.asin(-(-1>n?-1:n>1?1:n)),Math.abs(n)<.99999?(g=Math.atan2(u,a),c=Math.atan2(r,s)):(g=Math.atan2(-l,h),c=0)),this.set_xyz(g,c,I),this},setEulerFromQuaternion:function(t,e){null==e&&(e=0);var i=t.x*t.x,s=t.y*t.y,n=t.z*t.z,r=t.w*t.w,o=this.x,a=this.y,l=this.z;return 0==e?(o=Math.atan2(2*(t.x*t.w-t.y*t.z),r-i-s+n),a=Math.asin(Gn.clamp(2*(t.x*t.z+t.y*t.w),-1,1)),l=Math.atan2(2*(t.z*t.w-t.x*t.y),r+i-s-n)):1==e?(o=Math.asin(Gn.clamp(2*(t.x*t.w-t.y*t.z),-1,1)),a=Math.atan2(2*(t.x*t.z+t.y*t.w),r-i-s+n),l=Math.atan2(2*(t.x*t.y+t.z*t.w),r-i+s-n)):2==e?(o=Math.asin(Gn.clamp(2*(t.x*t.w+t.y*t.z),-1,1)),a=Math.atan2(2*(t.y*t.w-t.z*t.x),r-i-s+n),l=Math.atan2(2*(t.z*t.w-t.x*t.y),r-i+s-n)):3==e?(o=Math.atan2(2*(t.x*t.w+t.z*t.y),r-i-s+n),a=Math.asin(Gn.clamp(2*(t.y*t.w-t.x*t.z),-1,1)),l=Math.atan2(2*(t.x*t.y+t.z*t.w),r+i-s-n)):4==e?(o=Math.atan2(2*(t.x*t.w-t.z*t.y),r-i+s-n),a=Math.atan2(2*(t.y*t.w-t.x*t.z),r+i-s-n),l=Math.asin(Gn.clamp(2*(t.x*t.y+t.z*t.w),-1,1))):5==e&&(o=Math.atan2(2*(t.x*t.w+t.y*t.z),r-i+s-n),a=Math.atan2(2*(t.x*t.z+t.y*t.w),r+i-s-n),l=Math.asin(Gn.clamp(2*(t.z*t.w-t.x*t.y),-1,1))),this.set_xyz(o,a,l),this},degrees:function(){return this.set_xyz(57.29577951308238*this.x,57.29577951308238*this.y,57.29577951308238*this.z),this},radians:function(){return this.set_xyz(.017453292519943278*this.x,.017453292519943278*this.y,.017453292519943278*this.z),this},__class__:pr,__properties__:{get_inverted:"get_inverted",get_normalized:"get_normalized",set_angle2D:"set_angle2D",get_angle2D:"get_angle2D",get_lengthsq:"get_lengthsq",set_length:"set_length",get_length:"get_length",set_z:"set_z",set_y:"set_y",set_x:"set_x"}};var mr={};r["phoenix._Vector.Vec_Impl_"]=mr,mr.__name__=["phoenix","_Vector","Vec_Impl_"],mr._new=function(t,e,i,s){return new pr(t,e,i,s)},mr._multiply=function(t,e){return new pr(t.x*e.x,t.y*e.y,t.z*e.z)},mr._multiply_scalar=function(t,e){return pr.Multiply(t,e)},mr._multiply_scalar_int=function(t,e){return pr.Multiply(t,e)},mr._divide=function(t,e){return new pr(t.x/e.x,t.y/e.y,t.z/e.z)},mr._divide_scalar=function(t,e){return new pr(t.x/e,t.y/e,t.z/e)},mr._divide_scalar_int=function(t,e){return new pr(t.x/e,t.y/e,t.z/e)},mr._add=function(t,e){return new pr(t.x+e.x,t.y+e.y,t.z+e.z)},mr._add_scalar=function(t,e){return new pr(t.x+e,t.y+e,t.z+e)},mr._add_scalar_int=function(t,e){return new pr(t.x+e,t.y+e,t.z+e)},mr._subtract=function(t,e){return new pr(t.x-e.x,t.y-e.y,t.z-e.z)},mr._subtract_scalar=function(t,e){return new pr(t.x-e,t.y-e,t.z-e)},mr._subtract_scalar_int=function(t,e){return new pr(t.x-e,t.y-e,t.z-e)};var Cr=function(t,e,i){this.name=t,this.value=e,this.location=i};r["phoenix._Shader.Uniform_Float"]=Cr,Cr.__name__=["phoenix","_Shader","Uniform_Float"],Cr.prototype={name:null,value:null,location:null,__class__:Cr};var Ar=function(t,e,i){this.name=t,this.value=e,this.location=i};r["phoenix._Shader.Uniform_Int"]=Ar,Ar.__name__=["phoenix","_Shader","Uniform_Int"],Ar.prototype={name:null,value:null,location:null,__class__:Ar};var fr=function(t,e,i){this.name=t,this.value=e,this.location=i};r["phoenix._Shader.Uniform_phoenix_Color"]=fr,fr.__name__=["phoenix","_Shader","Uniform_phoenix_Color"],fr.prototype={name:null,value:null,location:null,__class__:fr};var vr=function(t,e,i){this.name=t,this.value=e,this.location=i};r["phoenix._Shader.Uniform_phoenix_Matrix"]=vr,vr.__name__=["phoenix","_Shader","Uniform_phoenix_Matrix"],vr.prototype={name:null,value:null,location:null,__class__:vr};var yr=function(t,e,i){this.name=t,this.value=e,this.location=i};r["phoenix._Shader.Uniform_phoenix_Texture"]=yr,yr.__name__=["phoenix","_Shader","Uniform_phoenix_Texture"],yr.prototype={name:null,value:null,location:null,__class__:yr};var br=function(t,e,i){this.name=t,this.value=e,this.location=i};r["phoenix._Shader.Uniform_phoenix_Vector"]=br,br.__name__=["phoenix","_Shader","Uniform_phoenix_Vector"],br.prototype={name:null,value:null,location:null,__class__:br};var wr=function(t,e,i){this.name=t,this.value=e,this.location=i};r["phoenix._Shader.Uniform_snow_api_buffers_Float32Array"]=wr,wr.__name__=["phoenix","_Shader","Uniform_snow_api_buffers_Float32Array"],wr.prototype={name:null,value:null,location:null,__class__:wr};var xr=function(t){t.primitive_type=1,k.call(this,t);var e=32,i=32;if(null==t.end_angle&&(t.end_angle=360),t.end_angle,null==t.start_angle&&(t.start_angle=0),t.start_angle,null!=t.r&&(e=t.r,i=t.r),null!=t.rx&&(e=t.rx),null!=t.ry&&(i=t.ry),null==t.steps)if(null==t.smooth){var s=Math.max(e,i);t.steps=V.utils.geometry.segments_for_smooth_circle(s)}else{var n=t.smooth,r=Math.max(e,i);t.steps=V.utils.geometry.segments_for_smooth_circle(r,n)}this.set(t.x,t.y,e,i,t.steps,t.start_angle,t.end_angle)};r["phoenix.geometry.RingGeometry"]=xr,xr.__name__=["phoenix","geometry","RingGeometry"],xr.__super__=k,xr.prototype=i(k.prototype,{set:function(t,e,i,s,n,r,o){null==o&&(o=360),null==r&&(r=0);var a=.017453292519943278*r,l=.017453292519943278*o,_=l-a,u=_/n,h=Math.tan(u),g=Math.cos(u),c=i*Math.cos(a),I=i*Math.sin(a),d=i/s;0==d&&(d=1e-9);for(var p=0,m=[],C=0;n>C;){var A=(C++,c),f=I/d,v=new pr(A,f);if(m.push(v),this.add(new jr(v,this.color)),p>0){var y=m[p];this.add(new jr(new pr(y.x,y.y,y.z,y.w),this.color))}var b=-I,w=c;c+=b*h,I+=w*h,c*=g,I*=g,p++}m.length>0&&this.add(new jr(m[0].clone(),this.color)),this.transform.set_pos(new pr(t,e))},__class__:xr});var kr=function(t){xr.call(this,t),this.vertices.pop(),this.vertices.pop()};r["phoenix.geometry.ArcGeometry"]=kr,kr.__name__=["phoenix","geometry","ArcGeometry"],kr.__super__=xr,kr.prototype=i(xr.prototype,{__class__:kr});var Zr=function(t){t.primitive_type=4,k.call(this,t);var e=32,i=32;if(null==t.end_angle&&(t.end_angle=360),t.end_angle,null==t.start_angle&&(t.start_angle=0),t.start_angle,null!=t.r&&(e=t.r,i=t.r),null!=t.rx&&(e=t.rx),null!=t.ry&&(i=t.ry),null==t.steps)if(null==t.smooth){var s=Math.max(e,i);t.steps=V.utils.geometry.segments_for_smooth_circle(s)}else{var n=t.smooth,r=Math.max(e,i);t.steps=V.utils.geometry.segments_for_smooth_circle(r,n)}this.set(t.x,t.y,e,i,t.steps,t.start_angle,t.end_angle)};r["phoenix.geometry.CircleGeometry"]=Zr,Zr.__name__=["phoenix","geometry","CircleGeometry"],Zr.__super__=k,Zr.prototype=i(k.prototype,{set:function(t,e,i,s,n,r,o){null==o&&(o=360),null==r&&(r=0);var a=Math.PI/2,l=.017453292519943278*r-a,_=.017453292519943278*o-a,u=_-l;n=Math.ceil(Math.abs(u)/(2*Math.PI)*n);var h=u/n,g=Math.tan(h),c=Math.cos(h),I=i*Math.cos(l),d=i*Math.sin(l),p=i/s;0==p&&(p=1e-9);for(var m=0,C=[],A=0,f=n+1;f>A;){var v=(A++,I),y=d/p,b=new pr(v,y);C.push(b),m>0&&this.add(new jr(b,this.color)),this.add(new jr(new pr(0,0),this.color)),this.add(new jr(b,this.color));var w=-d,x=I;I+=w*g,d+=x*g,I*=c,d*=c,m++}this.add(new jr(C[n],this.color)),this.transform.set_pos(new pr(t,e))},__class__:Zr});var Sr=function(){this.clip=!1,this.depth=0,this.uuid="",this.sequence=0,this.timestamp=0};r["phoenix.geometry.GeometryKey"]=Sr,Sr.__name__=["phoenix","geometry","GeometryKey"],Sr.prototype={timestamp:null,sequence:null,uuid:null,primitive_type:null,texture:null,shader:null,depth:null,clip:null,__class__:Sr};var zr=function(){this.log=!1,this.dirty=!0,this.clip=!1,this.dirty=!0,this.clip_x=0,this.dirty=!0,this.clip_y=0,this.dirty=!0,this.clip_w=0,this.dirty=!0,this.clip_h=0,this.dirty=!0,this.texture=null,this.dirty=!0,this.shader=null,this.depth=0,this.dirty=!0,this.primitive_type=0,this.dirty=!1};r["phoenix.geometry.GeometryState"]=zr,zr.__name__=["phoenix","geometry","GeometryState"],zr.prototype={dirty:null,primitive_type:null,shader:null,texture:null,depth:null,clip:null,clip_x:null,clip_y:null,clip_w:null,clip_h:null,log:null,clone_onto:function(t){t.dirty=this.dirty,t.dirty=!0,t.texture=this.texture,t.dirty=!0,t.shader=this.shader,t.depth=this.depth,t.dirty=!0,t.primitive_type=this.primitive_type,t.dirty=!0,t.clip=this.clip,t.dirty=!0,t.clip_x=this.clip_x,t.dirty=!0,t.clip_y=this.clip_y,t.dirty=!0,t.clip_w=this.clip_w,t.dirty=!0,t.clip_h=this.clip_h},str:function(){this.log&&(Be.trace(" + GEOMETRYSTATE "+re.string(this.dirty),{fileName:"GeometryState.hx",lineNumber:64,className:"phoenix.geometry.GeometryState",methodName:"str"}),Be.trace(" depth - "+this.depth,{fileName:"GeometryState.hx",lineNumber:65,className:"phoenix.geometry.GeometryState",methodName:"str"}),Be.trace(" texture - "+(null==this.texture?"null":this.texture.id),{fileName:"GeometryState.hx",lineNumber:66,className:"phoenix.geometry.GeometryState",methodName:"str"}),null!=this.texture&&Be.trace(" "+re.string(this.texture.texture),{fileName:"GeometryState.hx",lineNumber:68,className:"phoenix.geometry.GeometryState",methodName:"str"}),Be.trace(" shader - "+(null==this.shader?"null":this.shader.id),{fileName:"GeometryState.hx",lineNumber:70,className:"phoenix.geometry.GeometryState",methodName:"str"}),Be.trace(" primitive_type - "+this.primitive_type,{fileName:"GeometryState.hx",lineNumber:71,className:"phoenix.geometry.GeometryState",methodName:"str"}),Be.trace(" clip - "+re.string(this.clip),{fileName:"GeometryState.hx",lineNumber:72,className:"phoenix.geometry.GeometryState",methodName:"str"}),Be.trace(" clip rect - "+this.clip_x+","+this.clip_y+","+this.clip_w+","+this.clip_h,{fileName:"GeometryState.hx",lineNumber:73,className:"phoenix.geometry.GeometryState",methodName:"str"}),Be.trace(" - GEOMETRYSTATE",{fileName:"GeometryState.hx",lineNumber:74,className:"phoenix.geometry.GeometryState",methodName:"str"}))},clean:function(){this.dirty=!1},update:function(t){this.depth!=t.depth&&(this.depth=t.depth),this.texture!=t.texture&&(this.dirty=!0,this.texture=t.texture),this.shader!=t.shader&&(this.dirty=!0,this.shader=t.shader),this.primitive_type!=t.primitive_type&&(this.dirty=!0,this.primitive_type=t.primitive_type),this.clip!=t.clip&&(this.dirty=!0,this.clip=t.clip),this.clip_x!=t.clip_x&&(this.dirty=!0,this.clip_x=t.clip_x),this.clip_y!=t.clip_y&&(this.dirty=!0,this.clip_y=t.clip_y),this.clip_w!=t.clip_w&&(this.dirty=!0,this.clip_w=t.clip_w),this.clip_h!=t.clip_h&&(this.dirty=!0,this.clip_h=t.clip_h)},set_primitive_type:function(t){return this.dirty=!0,this.primitive_type=t},set_texture:function(t){return this.dirty=!0,this.texture=t},set_shader:function(t){return this.dirty=!0,this.shader=t},set_depth:function(t){return this.depth=t},set_clip:function(t){return this.dirty=!0,this.clip=t},set_clip_x:function(t){return this.dirty=!0,this.clip_x=t},set_clip_y:function(t){return this.dirty=!0,this.clip_y=t},set_clip_w:function(t){return this.dirty=!0,this.clip_w=t},set_clip_h:function(t){return this.dirty=!0,this.clip_h=t},__class__:zr,__properties__:{set_clip_h:"set_clip_h",set_clip_w:"set_clip_w",set_clip_y:"set_clip_y",set_clip_x:"set_clip_x",set_clip:"set_clip",set_depth:"set_depth",set_texture:"set_texture",set_shader:"set_shader",set_primitive_type:"set_primitive_type"}};var Nr=function(t){t.primitive_type=1,k.call(this,t),null==t.color&&(t.color=new ns),t.color,null==t.color0&&(t.color0=t.color),t.color0,null==t.color1&&(t.color1=t.color),t.color1,this.set_p0(function(){var e;return null==t.p0&&(t.p0=new pr),e=t.p0}(this)),this.set_p1(function(){var e;return null==t.p1&&(t.p1=new pr(64,64)),e=t.p1}(this)),this.add(new jr(this.p0,t.color0)),this.add(new jr(this.p1,t.color1))};r["phoenix.geometry.LineGeometry"]=Nr,Nr.__name__=["phoenix","geometry","LineGeometry"],Nr.__super__=k,Nr.prototype=i(k.prototype,{p0:null,p1:null,color0:null,color1:null,set_p0:function(t){return this.p0=t,0==this.vertices.length?this.p0:(this.vertices[0].pos=this.p0,this.p0=t)},set_p1:function(t){return this.p1=t,0==this.vertices.length?this.p1:(this.vertices[1].pos=this.p1,this.p1=t)},set_color0:function(t){return this.color0=t,0==this.vertices.length?this.color0:(this.vertices[0].color=this.color0,this.color0)},set_color1:function(t){return this.color1=t,0==this.vertices.length?this.color1:(this.vertices[1].color=this.color1,this.color1)},__class__:Nr,__properties__:i(k.prototype.__properties__,{set_color1:"set_color1",set_color0:"set_color0",set_p1:"set_p1",set_p0:"set_p0"})});var Or=function(t){t.primitive_type=4,k.call(this,t),this.quads=new Se};r["phoenix.geometry.QuadPackGeometry"]=Or,Or.__name__=["phoenix","geometry","QuadPackGeometry"],Or.__super__=k,Or.prototype=i(k.prototype,{quads:null,clear:function(){for(var t=this.quads.keys();t.hasNext();){var e=t.next();this.quad_remove(e)}},quad_add:function(t){null==t.visible&&(t.visible=!0),t.visible,null==t.flipx&&(t.flipx=!1),t.flipx,null==t.flipy&&(t.flipy=!1),t.flipy;var e=V.utils.uniquehash(),i=new jr(new pr(t.x,t.y),t.color),s=new jr(new pr(t.x+t.w,t.y),t.color),n=new jr(new pr(t.x+t.w,t.y+t.h),t.color),r=new jr(new pr(t.x,t.y+t.h),t.color),o=new jr(new pr(t.x,t.y),t.color),a=new jr(new pr(t.x+t.w,t.y+t.h),t.color);this.add(i),this.add(s),this.add(n),this.add(r),this.add(o),this.add(a);var l={uid:e,verts:[],flipx:t.flipx,flipy:t.flipx,visible:t.visible,_uv_cache:new nr(0,0,1,1)};return l.verts.push(i),l.verts.push(s),l.verts.push(n),l.verts.push(r),l.verts.push(o),l.verts.push(a),this.quads.h[e]=l,null!=t.uv&&this.quad_uv(e,t.uv),this.set_dirty(!0),e},quad_remove:function(t){var e=this.quads.h[t];null!=e&&(this.remove(e.verts[0]),this.remove(e.verts[1]),this.remove(e.verts[2]),this.remove(e.verts[3]),this.remove(e.verts[4]),this.remove(e.verts[5]),this.quads.remove(t),this.set_dirty(!0))},quad_visible:function(t,e){var i=this.quads.h[t];null!=i&&(e&&!i.visible?(i.visible=!1,this.add(i.verts[0]),this.add(i.verts[1]),this.add(i.verts[2]),this.add(i.verts[3]),this.add(i.verts[4]),this.add(i.verts[5])):!e&&i.visible&&(i.visible=!1,this.remove(i.verts[0]),this.remove(i.verts[1]),this.remove(i.verts[2]),this.remove(i.verts[3]),this.remove(i.verts[4]),this.remove(i.verts[5])),this.set_dirty(!0))},quad_resize:function(t,e){var i=this.quads.h[t];null!=i&&(i.verts[0].pos=new pr(e.x,e.y),i.verts[1].pos=new pr(e.x+e.w,e.y),i.verts[2].pos=new pr(e.x+e.w,e.y+e.h),i.verts[3].pos=new pr(e.x,e.y+e.h),i.verts[4].pos=new pr(e.x,e.y),i.verts[5].pos=new pr(e.x+e.w,e.y+e.h),this.set_dirty(!0))},quad_pos:function(t,e){var i=this.quads.h[t];if(null!=i){var s=e.x-i.verts[0].pos.x,n=e.y-i.verts[0].pos.y,r=i.verts[0].pos;r.set_x(r.x+s);var o=i.verts[0].pos;o.set_y(o.y+n);var a=i.verts[1].pos;a.set_x(a.x+s);var l=i.verts[1].pos;l.set_y(l.y+n);var _=i.verts[2].pos;_.set_x(_.x+s);var u=i.verts[2].pos;u.set_y(u.y+n);var h=i.verts[3].pos;h.set_x(h.x+s);var g=i.verts[3].pos;g.set_y(g.y+n);var c=i.verts[4].pos;c.set_x(c.x+s);var I=i.verts[4].pos;I.set_y(I.y+n);var d=i.verts[5].pos;d.set_x(d.x+s);var p=i.verts[5].pos;p.set_y(p.y+n),this.set_dirty(!0)}},quad_color:function(t,e){var i=this.quads.h[t];null!=i&&(i.verts[0].color=e,i.verts[1].color=e,i.verts[2].color=e,i.verts[3].color=e,i.verts[4].color=e,i.verts[5].color=e)},quad_alpha:function(t,e){var i=this.quads.h[t];null!=i&&(i.verts[0].color.a=e,i.verts[1].color.a=e,i.verts[2].color.a=e,i.verts[3].color.a=e,i.verts[4].color.a=e,i.verts[5].color.a=e)},quad_uv_space:function(t,e){var i=this.quads.h[t];if(null!=i){var s=i.flipx,n=i.flipy,r=e.w,o=e.h,a=e.x,l=e.y;i._uv_cache.set(a,l,r,o);var _=a+r,u=l,h=a+r,g=l+o,c=a,I=l+o,d=0,p=0;n&&(p=I,I=l,l=p,p=g,g=u,u=p),s&&(d=_,_=a,a=d,d=h,h=c,c=d),i.verts[0].uv.uv0.set_uv(a,l),i.verts[1].uv.uv0.set_uv(_,u),i.verts[2].uv.uv0.set_uv(h,g),i.verts[3].uv.uv0.set_uv(c,I),i.verts[4].uv.uv0.set_uv(a,l),i.verts[5].uv.uv0.set_uv(h,g),this.set_dirty(!0)}},quad_uv:function(t,e){if(null==this.state.texture)return void Be.trace("Warning : calling UV on a PackedQuad Geometry with null texture.",{fileName:"QuadPackGeometry.hx",lineNumber:352,className:"phoenix.geometry.QuadPackGeometry",methodName:"quad_uv"});var i=e.x/this.state.texture.width_actual,s=e.y/this.state.texture.height_actual,n=e.w/this.state.texture.width_actual,r=e.h/this.state.texture.height_actual;this.quad_uv_space(t,new nr(i,s,n,r))},quad_flipx:function(t,e){var i=this.quads.h[t];null!=i&&(i.flipx=e,this.quad_uv_space(t,i._uv_cache))},quad_flipy:function(t,e){var i=this.quads.h[t];null!=i&&(i.flipy=e,this.quad_uv_space(t,i._uv_cache))},__class__:Or});var Gr=function(t){t.primitive_type=1,k.call(this,t);var e=t.x,i=t.y,s=t.w,n=t.h;null!=t.rect&&(e=t.rect.x,i=t.rect.y,s=t.rect.w,n=t.rect.h),this.add(new jr(new pr(0,0),this.color)),this.add(new jr(new pr(s,0),this.color)),this.add(new jr(new pr(s,0),this.color)),this.add(new jr(new pr(s,n),this.color)),this.add(new jr(new pr(s,n),this.color)),this.add(new jr(new pr(0,n),this.color)),this.add(new jr(new pr(0,n),this.color)),this.add(new jr(new pr(0,0),this.color)),this.transform.set_pos(this.transform.local.pos.set_xy(e,i))};r["phoenix.geometry.RectangleGeometry"]=Gr,Gr.__name__=["phoenix","geometry","RectangleGeometry"],Gr.__super__=k,Gr.prototype=i(k.prototype,{set_xywh:function(t,e,i,s){0!=this.vertices.length&&(this.vertices[0].pos.set_xy(0,0),this.vertices[1].pos.set_xy(i,0),this.vertices[2].pos.set_xy(i,0),this.vertices[3].pos.set_xy(i,s),this.vertices[4].pos.set_xy(i,s),this.vertices[5].pos.set_xy(0,s),this.vertices[6].pos.set_xy(0,s),this.vertices[7].pos.set_xy(0,0),this.transform.set_pos(this.transform.local.pos.set_xy(t,e)))},set:function(t){this.set_xywh(t.x,t.y,t.w,t.h)},__class__:Gr});var Rr=function(t){if(this.setup_=!0,this.dirty_align=!0,this.dirty_sizing=!0,this.point_ratio=1,this.text_h_h=0,this.text_h_w=0,this.text_height=0,this.text_width=0,this.glow_amount=0,this.glow_threshold=0,this.outline=0,this.thickness=.5,this.smoothness=.75,this.unique=!1,this.sdf=!1,this.bounds_wrap=!1,this.letter_snapping=!1,this.letter_spacing=0,this.line_spacing=0,this.point_size=32,this.text="",this.options=t,this.emitter=new z,null==this.options)throw new li(Vi.null_assertion("options was null ( TextGeometry requires non-null options )"));null!=this.options.sdf&&(this.sdf=this.options.sdf),this.set_font(function(t){var e;return null==t.options.font&&(t.options.font=V.renderer.font),e=t.options.font}(this)),this.font==V.renderer.font&&(this.sdf=!0),null==this.options.shader?this.options.shader=this.sdf?V.renderer.shaders.bitmapfont.shader:V.renderer.shaders.textured.shader:this.options.shader!=V.renderer.shaders.bitmapfont.shader&&(this.unique=!0),this.options.primitive_type=4,k.call(this,this.options),this.cache=[],this.line_widths=[],this.line_offsets=[[],[]],this.lines=[],this.set_outline_color(new ns),this.set_glow_color(new ns),this.default_options(),this.setup_=!1};r["phoenix.geometry.TextGeometry"]=Rr,Rr.__name__=["phoenix","geometry","TextGeometry"],Rr.__super__=k,Rr.prototype=i(k.prototype,{text:null,font:null,point_size:null,line_spacing:null,letter_spacing:null,letter_snapping:null,bounds:null,bounds_wrap:null,align:null,align_vertical:null,sdf:null,unique:null,smoothness:null,thickness:null,outline:null,outline_color:null,glow_threshold:null,glow_amount:null,glow_color:null,line_widths:null,text_width:null,text_height:null,line_offsets:null,lines:null,emitter:null,cache:null,options:null,text_h_w:null,text_h_h:null,point_ratio:null,dirty_sizing:null,dirty_align:null,setup_:null,tidy:function(){var t=Math.floor(this.vertices.length/6),e=this.cache.length-t;if(e>0)for(var i=this.cache.splice(t,e),s=i.length;s>0;){s--;var n=i.pop();n=null}},drop:function(t){if(null==t&&(t=!0),this.set_text(null),this.font=null,this.font,this.bounds=null,null==this.bounds?this.bounds:(this.dirty_align=!0,this.dirty_sizing=!0,this.update_text(),this.bounds),this.outline_color=null,this.glow_color=null,null!=this.line_widths&&(this.line_widths.splice(0,this.line_widths.length),this.line_widths=null),null!=this.line_offsets&&(this.line_offsets.splice(0,this.line_offsets.length),this.line_offsets=null),null!=this.lines&&(this.lines.splice(0,this.lines.length),this.lines=null),this.emitter=null,this.options=null,null!=this.cache){for(;this.cache.length>0;){for(var e=this.cache.pop();e.length>0;){var i=e.pop();i.pos=null,i.color=null,i.normal=null,i.uv.destroy(),i.uv=null,i=null}e=null}this.cache=null}k.prototype.drop.call(this,t)},default_options:function(){this.set_texture(this.font.pages.h[0]),null!=this.options.letter_snapping&&(this.letter_snapping=this.options.letter_snapping,this.dirty_align=!0,this.dirty_sizing=!0,this.update_text(),this.letter_snapping),null!=this.options.letter_spacing&&(this.letter_spacing=this.options.letter_spacing,this.dirty_align=!0,this.dirty_sizing=!0,this.update_text(),this.letter_spacing),null!=this.options.line_spacing&&(this.line_spacing=this.options.line_spacing,this.dirty_align=!0,this.dirty_sizing=!0,this.update_text(),this.line_spacing),null!=this.options.point_size&&this.set_point_size(this.options.point_size),null!=this.options.bounds&&(this.bounds=this.options.bounds,null==this.bounds?this.bounds:(this.dirty_align=!0,this.dirty_sizing=!0,this.update_text(),this.bounds)),null!=this.options.bounds_wrap&&(this.bounds_wrap=this.options.bounds_wrap,this.dirty_align=!0,this.dirty_sizing=!0,this.update_text(),this.bounds_wrap),null==this.options.align&&(this.options.align=0),this.options.align,null==this.options.align_vertical&&(this.options.align_vertical=3),this.options.align_vertical,this.align=this.options.align,this.dirty_align=!0,this.update_text(),this.align,this.align_vertical=this.options.align_vertical,this.dirty_align=!0,this.update_text(),this.align_vertical,null!=this.options.thickness&&this.set_thickness(this.options.thickness),null!=this.options.smoothness&&this.set_smoothness(this.options.smoothness),null!=this.options.outline&&this.set_outline(this.options.outline),null!=this.options.outline_color&&this.set_outline_color(this.options.outline_color),null!=this.options.glow_threshold&&this.set_glow_threshold(this.options.glow_threshold),null!=this.options.glow_amount&&this.set_glow_amount(this.options.glow_amount),null!=this.options.glow_color&&this.set_glow_color(this.options.glow_color),this.sdf&&null!=this.state.shader&&this.sdf&&(this.state.shader.set_float("smoothness",this.smoothness),this.state.shader.set_float("thickness",this.thickness),this.state.shader.set_float("outline",this.outline),this.state.shader.set_float("glow_threshold",this.glow_threshold),this.state.shader.set_float("glow_amount",this.glow_amount),this.state.shader.set_color("outline_color",this.outline_color),this.state.shader.set_color("glow_color",this.glow_color)),null!=this.options.text&&this.set_text(this.options.text)},set_text:function(t){return null==t&&(t=""),this.text!=t&&(this.text=t,""!=this.text?(this.dirty_align=!0,this.dirty_sizing=!0,this.update_text()):this.vertices.splice(0,this.vertices.length)),this.text},stats:function(){return"letters:"+this.vertices.length/6+" / cache:"+this.cache.length},update_sizes:function(){if(!this.dirty_sizing)return!1;var t=Rr.tab_regex.replace(this.text," ");return this.bounds_wrap&&null!=this.bounds&&(t=this.font.wrap_string_to_bounds(t,this.bounds,this.point_size,this.letter_spacing)),this.lines.splice(0,this.lines.length),this.lines=t.split("\n"),this.line_widths.splice(0,this.line_widths.length),this.text_width=this.font.width_of(t,this.point_size,this.letter_spacing,this.line_widths),this.text_height=this.font.height_of_lines(this.lines,this.point_size,this.line_spacing),this.text_h_w=this.text_width/2,this.text_h_h=this.text_height/2,this.point_ratio=this.point_size/this.font.info.point_size,this.dirty_align=!0,this.dirty_sizing=!1,!0},update_text:function(){var t=this,e=0,i=0,s=null!=this.bounds;s&&(this.transform.local.pos.set_x(e=this.bounds.x),this.transform.local.pos.set_y(i=this.bounds.y));for(var n=0,r=0,o=0,a=0,l=!0,_=(this.update_sizes(),0),u=this.lines;_v;){var b;A=v,v+=Wn.codePointWidthAt(f,v),b=Vn.codePointAt(f,A);var w=b,x=this.font.info.chars.h[w];if(l=null!=x&&w>32,l||(x=this.font.space_char),l){var k=g+n+x.xoffset*this.point_ratio,Z=c+r+x.yoffset*this.point_ratio;this.letter_snapping&&(k=Math.floor(k),Z=Math.floor(Z));var S=this.font.pages.h[x.page],z=x.x/S.width_actual,N=x.y/S.height_actual,O=(x.x+x.width)/S.width_actual,G=(x.y+x.height)/S.height_actual;this.update_char(a,k,Z,x.width*this.point_ratio,x.height*this.point_ratio,z,N,O,G,this.color),a++}var R=x.xadvance;C=32&&(R+=this.letter_spacing)),R*=this.point_ratio,n+=R,C++}o++}var E=this.vertices.length/6|0,B=E-a;B>0&&this.vertices.splice(6*a,6*B),this.dirty_align=!1,this.emitter.emit(1)},update_char:function(t,e,i,s,n,r,o,a,l,_){var u,h,g,c,I,d,p=this.cache[t];null==p?(u=new jr(new pr(e,i),_),h=new jr(new pr(e+s,i),_),g=new jr(new pr(e+s,i+n),_),c=new jr(new pr(e,i+n),_),I=new jr(new pr(e,i),_),d=new jr(new pr(e+s,i+n),_),p=[u,h,g,c,I,d],this.cache[t]=p):(u=p[0],h=p[1],g=p[2],c=p[3],I=p[4],d=p[5],u.pos.set_xy(e,i),h.pos.set_xy(e+s,i),g.pos.set_xy(e+s,i+n),c.pos.set_xy(e,i+n),I.pos.set_xy(e,i),d.pos.set_xy(e+s,i+n)),u.uv.uv0.set_uv(r,o),h.uv.uv0.set_uv(a,o),g.uv.uv0.set_uv(a,l),c.uv.uv0.set_uv(r,l),I.uv.uv0.set_uv(r,o),d.uv.uv0.set_uv(a,l);var m=Math.floor(this.vertices.length/6);t>=m&&(this.add(u),this.add(h),this.add(g),this.add(c),this.add(I),this.add(d))},set_dirty_sizing:function(t){return this.dirty_align=!0,this.dirty_sizing=t},set_bounds:function(t){return this.bounds=t,null==this.bounds?this.bounds:(this.dirty_align=!0,this.dirty_sizing=!0,this.update_text(),this.bounds)},set_bounds_wrap:function(t){return this.bounds_wrap=t,this.dirty_align=!0,this.dirty_sizing=!0,this.update_text(),this.bounds_wrap},set_letter_snapping:function(t){return this.letter_snapping=t,this.dirty_align=!0,this.dirty_sizing=!0,this.update_text(),this.letter_snapping},set_line_spacing:function(t){return this.line_spacing=t,this.dirty_align=!0,this.dirty_sizing=!0,this.update_text(),this.line_spacing},set_letter_spacing:function(t){return this.letter_spacing=t,this.dirty_align=!0,this.dirty_sizing=!0,this.update_text(),this.letter_spacing},set_align:function(t){return this.align=t,this.dirty_align=!0,this.update_text(),this.align},set_align_vertical:function(t){return this.align_vertical=t,this.dirty_align=!0,this.update_text(),this.align_vertical},set_point_size:function(t){return 0>t&&(t=0),this.point_size=t,this.dirty_align=!0,this.dirty_sizing=!0,this.update_text(),this.point_size},set_font:function(t){return this.font=t,this.setup_||null==t||(this.set_texture(this.font.pages.h[0]),this.dirty_align=!0,this.dirty_sizing=!0,this.dirty_align=!0,this.update_text()),this.font},set_smoothness:function(t){return 0>t&&(t=0),null!=this.state.shader&&this.sdf&&this.unique&&this.state.shader.set_float("smoothness",t),this.smoothness=t},set_thickness:function(t){return 0>t&&(t=0),null!=this.state.shader&&this.sdf&&this.unique&&this.state.shader.set_float("thickness",t),this.thickness=t},set_outline:function(t){return t=0>t?0:t>1?1:t,null!=this.state.shader&&this.sdf&&this.unique&&this.state.shader.set_float("outline",t),this.outline=t},set_glow_threshold:function(t){return 0>t&&(t=0),null!=this.state.shader&&this.sdf&&this.unique&&this.state.shader.set_float("glow_threshold",t),this.glow_threshold=t},set_glow_amount:function(t){return 0>t&&(t=0),null!=this.state.shader&&this.sdf&&this.unique&&this.state.shader.set_float("glow_amount",t),this.glow_amount=t},set_outline_color:function(t){return null==t?this.outline_color=t:(null!=this.state.shader&&this.sdf&&this.unique&&this.state.shader.set_color("outline_color",t),this.outline_color=t)},set_glow_color:function(t){return null==t?this.glow_color=t:(null!=this.state.shader&&this.sdf&&this.unique&&this.state.shader.set_color("glow_color",t),this.glow_color=t)},flush_uniforms:function(){null!=this.state.shader&&this.sdf&&(this.state.shader.set_float("smoothness",this.smoothness),this.state.shader.set_float("thickness",this.thickness),this.state.shader.set_float("outline",this.outline),this.state.shader.set_float("glow_threshold",this.glow_threshold),this.state.shader.set_float("glow_amount",this.glow_amount),this.state.shader.set_color("outline_color",this.outline_color),this.state.shader.set_color("glow_color",this.glow_color))},__class__:Rr,__properties__:i(k.prototype.__properties__,{set_dirty_sizing:"set_dirty_sizing",set_glow_color:"set_glow_color",set_glow_amount:"set_glow_amount",set_glow_threshold:"set_glow_threshold",set_outline_color:"set_outline_color",set_outline:"set_outline",set_thickness:"set_thickness",set_smoothness:"set_smoothness",set_align_vertical:"set_align_vertical",set_align:"set_align",set_bounds_wrap:"set_bounds_wrap",set_bounds:"set_bounds",set_letter_snapping:"set_letter_snapping",set_letter_spacing:"set_letter_spacing",set_line_spacing:"set_line_spacing",set_point_size:"set_point_size",set_font:"set_font",set_text:"set_text"})});var Er=function(){this.uv0=new Br,this.uv1=new Br,this.uv2=new Br,this.uv3=new Br,this.uv4=new Br,this.uv5=new Br,this.uv6=new Br,this.uv7=new Br};r["phoenix.geometry.TextureCoordSet"]=Er,Er.__name__=["phoenix","geometry","TextureCoordSet"],Er.prototype={uv0:null,uv1:null,uv2:null,uv3:null,uv4:null,uv5:null,uv6:null,uv7:null,clone:function(){var t=new Er;return t.uv0.set(this.uv0.u,this.uv0.v,this.uv0.w,this.uv0.t),t.uv1.set(this.uv1.u,this.uv1.v,this.uv1.w,this.uv1.t),t.uv2.set(this.uv2.u,this.uv2.v,this.uv2.w,this.uv2.t),t.uv3.set(this.uv3.u,this.uv3.v,this.uv3.w,this.uv3.t),t.uv4.set(this.uv4.u,this.uv4.v,this.uv4.w,this.uv4.t),t.uv5.set(this.uv5.u,this.uv5.v,this.uv5.w,this.uv5.t),t.uv6.set(this.uv6.u,this.uv6.v,this.uv6.w,this.uv6.t),t.uv7.set(this.uv7.u,this.uv7.v,this.uv7.w,this.uv7.t),t },destroy:function(){this.uv0=null,this.uv1=null,this.uv2=null,this.uv3=null,this.uv4=null,this.uv5=null,this.uv6=null,this.uv7=null},__class__:Er};var Br=function(t,e,i,s){null==s&&(s=0),null==i&&(i=0),null==e&&(e=0),null==t&&(t=0),this.t=0,this.w=0,this.v=0,this.u=0,this.u=t,this.v=e,this.w=i,this.t=s};r["phoenix.geometry.TextureCoord"]=Br,Br.__name__=["phoenix","geometry","TextureCoord"],Br.prototype={u:null,v:null,w:null,t:null,clone:function(){return new Br(this.u,this.v,this.w,this.t)},set:function(t,e,i,s){return this.u=t,this.v=e,this.w=i,this.t=s,this},set_uv:function(t,e){return this.u=t,this.v=e,this},toString:function(){return"{ u:"+this.v+", v:"+this.v+" }"},__class__:Br};var jr=function(t,e,i){this.uv=new Er,this.pos=t,this.color=null==e?new ns:e,this.normal=null==i?new pr:i};r["phoenix.geometry.Vertex"]=jr,jr.__name__=["phoenix","geometry","Vertex"],jr.prototype={pos:null,color:null,uv:null,normal:null,clone:function(){var t=new jr(this.pos.clone(),this.color.clone(),this.normal.clone());return t.uv=this.uv.clone(),t},destroy:function(){this.pos=null,this.color=null,this.normal=null,this.uv.destroy(),this.uv=null},__class__:jr};var Mr=function(){};r["phoenix.utils.Rendering"]=Mr,Mr.__name__=["phoenix","utils","Rendering"],Mr.gl_blend_mode_from_BlendMode=function(t){switch(t){case 0:return 0;case 1:return 1;case 768:return 768;case 769:return 769;case 770:return 770;case 771:return 771;case 772:return 772;case 773:return 773;case 774:return 774;case 775:return 775;case 776:return 776}},Mr.fovx_to_y=function(t,e){return 180/Math.PI*2*Math.atan(Math.tan(t*(Math.PI/180)/2)*(1/e))};var Wr=function(t){if(this.had_ready_event=!1,this.i=0,this.immediate_shutdown=!1,this.has_focus=!0,this.has_shutdown=!1,this.shutting_down=!1,this.debug=!1,this.platform="unknown",this.ready=!1,this.freeze=!1,null==t)throw new li(Jr.null_assertion("_host was null ( snow App instance was null! )"));this.host=t,this.host.app=this,this.config=this.default_config(),this.sys_event=new Bo,this.win_event=new jo,this.io=new wo(this),this.input=new vo(this),this.audio=new Co(this),this.assets=new mo(this),this.extensions=[];for(var e=0,i=xo.extensions;e0;)this.cycle_next_queue();for(;Wr.defer_queue.length>0;)this.cycle_defer_queue();for(this.dispatch_event(2),Hr.step();Wr.next_queue.length>0;)this.cycle_next_queue();for(;Wr.defer_queue.length>0;)this.cycle_defer_queue();var o=this.runtime.run();!o||this.has_shutdown||this.shutting_down||this.shutdown()};r["snow.Snow"]=Wr,Wr.__name__=["snow","Snow"],Wr.__properties__={get_timestamp:"get_timestamp"},Wr.next=function(t){null!=t&&Wr.next_queue.push(t)},Wr.defer=function(t){null!=t&&Wr.defer_queue.push(t)},Wr.get_timestamp=function(){return window.performance.now()/1e3-to.timestamp_start},Wr.prototype={host:null,config:null,freeze:null,ready:null,runtime:null,io:null,input:null,audio:null,assets:null,platform:null,os:null,debug:null,shutting_down:null,has_shutdown:null,has_focus:null,extensions:null,sys_event:null,win_event:null,immediate_shutdown:null,shutdown:function(){if(this.shutting_down)return void Be.trace(" i / snow / shutdown / called again, already shutting down - ignoring",{fileName:"Snow.hx",lineNumber:160,className:"snow.Snow",methodName:"shutdown"});if(0!=this.has_shutdown)throw new li(Jr.assertion("has_shutdown == false ( snow - calling shutdown more than once is disallowed )"));this.shutting_down=!0,this.host.ondestroy(),this.dispatch_event(7),this.io.shutdown(),this.audio.shutdown(),this.assets.shutdown(),this.input.shutdown(),this.runtime.shutdown(this.immediate_shutdown),this.has_shutdown=!0},dispatch_event:function(t){this.sys_event.set(t,null,null),this.onevent(this.sys_event)},dispatch_window_event:function(t,e,i,s,n){this.win_event.set(t,e,i,s,n),this.sys_event.set(8,this.win_event,null),7==t?this.has_focus=!1:9==t&&(this.has_focus=!0),this.onevent(this.sys_event)},dispatch_input_event:function(t){this.sys_event.set(9,null,t),this.onevent(this.sys_event)},i:null,onevent:function(t){for(this.io.module.onevent(t),this.audio.onevent(t),this.input.onevent(t),this.host.onevent(t),this.i=0;this.i0;)this.cycle_next_queue();for(;Wr.defer_queue.length>0;)this.cycle_defer_queue()},on_tick_event:function(){this.freeze||(Yr.update(),Hr.step(),this.cycle_next_queue(),!this.shutting_down&&this.ready&&this.host.internal_tick(),this.cycle_defer_queue())},setup_configs:function(){var t=this;return null==xo.app_config||""==xo.app_config?(this.config=this.host.config(this.config),Fr.resolve()):new Fr(function(e){t.default_user_config().then(function(e){t.config.user=e}).error(function(t){throw new li(ko.init("config / failed / default user config JSON failed to parse. Cannot recover. "+t))}).then(function(){t.config=t.host.config(t.config),e()})})},setup_host_config:function(){this.config=this.host.config(this.config)},default_user_config:function(){var t=this;return new Fr(function(e,i){var s=t.io.data_flow(ri.join([t.assets.root,xo.app_config]),po.processor);s.then(e).error(function(t){switch(t[1]){case 2:{t[2]}i(t);break;default:Be.trace(" i / snow / config / user config will be null! / "+re.string(t),{fileName:"Snow.hx",lineNumber:389,className:"snow.Snow",methodName:"default_user_config"}),e(null)}})})},default_config:function(){return{user:null,window:this.default_window_config(),render:this.default_render_config(),runtime:null}},default_render_config:function(){return{depth:0,stencil:0,antialiasing:0,red_bits:8,green_bits:8,blue_bits:8,alpha_bits:8,opengl:{major:0,minor:0,profile:0},webgl:{version:1}}},default_window_config:function(){var t={true_fullscreen:!1,fullscreen:!1,borderless:!1,resizable:!0,x:536805376,y:536805376,width:960,height:640,title:"snow app"};return t},set_freeze:function(t){return this.freeze=t,this.dispatch_event(t?4:5),this.freeze},step:function(){for(Hr.step();Wr.next_queue.length>0;)this.cycle_next_queue();for(;Wr.defer_queue.length>0;)this.cycle_defer_queue()},cycle_next_queue:function(){for(var t=Wr.next_queue.length,e=0;t>e;)Wr.next_queue.shift()(),++e},cycle_defer_queue:function(){for(var t=Wr.defer_queue.length,e=0;t>e;)Wr.defer_queue.shift()(),++e},copy_window_config:function(t){return{borderless:t.borderless,fullscreen:t.fullscreen,true_fullscreen:t.true_fullscreen,height:t.height,no_input:t.no_input,resizable:t.resizable,title:""+t.title,width:t.width,x:t.x,y:t.y}},copy_render_config:function(t){return{antialiasing:t.antialiasing,depth:t.depth,stencil:t.stencil,red_bits:t.red_bits,green_bits:t.green_bits,blue_bits:t.blue_bits,alpha_bits:t.alpha_bits,opengl:{major:t.opengl.major,minor:t.opengl.minor,profile:t.opengl.profile}}},make_uniqueid:function(t){null==t&&(t=re.random(2147483647));var e=t%62|0,i=t/62|0;return i>0?this.make_uniqueid(i)+(e>9?function(){var t,i=65+(e-10);return i>90&&(i+=6),t=String.fromCharCode(i)}(this):(null==e?"null":""+e).charAt(0)):re.string(e>9?function(){var t,i=65+(e-10);return i>90&&(i+=6),t=String.fromCharCode(i)}(this):(null==e?"null":""+e).charAt(0))},__class__:Wr,__properties__:{get_uniqueid:"get_uniqueid",get_time:"get_time",set_freeze:"set_freeze"}};var Lr=r["snow.api._Debug.LogError"]={__ename__:["snow","api","_Debug","LogError"],__constructs__:["RequireString"]};Lr.RequireString=function(t){var e=["RequireString",0,t];return e.__enum__=Lr,e.toString=o,e},Lr.__empty_constructs__=[];var Tr=function(){};r["snow.api.Debug"]=Tr,Tr.__name__=["snow","api","Debug"],Tr._get_spacing=function(t){var e="",i=t.length+4,s=Tr._log_width-i;if(s>0)for(var n=0;s>n;){{n++}e+=" "}return e};var Jr=r["snow.api.DebugError"]={__ename__:["snow","api","DebugError"],__constructs__:["assertion","null_assertion"]};Jr.assertion=function(t){var e=["assertion",0,t];return e.__enum__=Jr,e.toString=o,e},Jr.null_assertion=function(t){var e=["null_assertion",1,t];return e.__enum__=Jr,e.toString=o,e},Jr.__empty_constructs__=[];var Vr=function(){this._checking=!1,this._to_remove=new L,this.connected=new L,this.bindings=new Se};r["snow.api.Emitter"]=Vr,Vr.__name__=["snow","api","Emitter"],Vr.prototype={bindings:null,connected:null,_to_remove:null,emit:function(t,e){this._check();var i=this.bindings.h[t];if(null!=i&&i.length>0)for(var s=0;s0){for(var t=this._to_remove.h,e=null;null!=t;){var i;i=function(){var i;return e=t[0],t=t[1],i=e}(this);var s=this.bindings.h[i.event];M.remove(s,i.handler),0==s.length&&this.bindings.remove(i.event)}this._to_remove=null,this._to_remove=new L}this._checking=!1}},__class__:Vr};var Fr=function(t){this.was_caught=!1;var e=this;this.state=0,this.reject_reactions=[],this.fulfill_reactions=[],this.settle_reactions=[],Hr.queue(function(){t(n(e,e.onfulfill),n(e,e.onreject)),Hr.defer(Hr.next)})};r["snow.api.Promise"]=Fr,Fr.__name__=["snow","api","Promise"],Fr.all=function(t){return new Fr(function(e,i){for(var s=0,n=t.length,r=[],o=null,a=0,l=function(t,i){0==a&&(s++,r[t]=i,n==s&&(a=1,e(r)))},_=function(t){0==a&&(a=2,o=t,i(o))},u=0,h=0;h0;){var e=this.fulfill_reactions.shift();e(this.result)}this.onsettle()},onreject:function(t){for(this.state=2,this.result=t;this.reject_reactions.length>0;){var e=this.reject_reactions.shift();e(this.result)}this.onsettle()},onsettle:function(){for(;this.settle_reactions.length>0;){var t=this.settle_reactions.shift();t(this.result)}},onexception:function(t){var e=this;this.add_settle(function(){if(!e.was_caught&&2==e.state)throw new li(Xr.UnhandledPromiseRejection(e.toString()))}),0==this.state&&this.onreject(t)},state_string:function(){var t=this.state;switch(t){case 0:return"pending";case 1:return"fulfilled";case 2:return"rejected"}},__class__:Fr};var Hr=function(){};r["snow.api.Promises"]=Hr,Hr.__name__=["snow","api","Promises"],Hr.step=function(){for(Hr.next();Hr.defers.length>0;){var t=Hr.defers.shift();t.f(t.a)}},Hr.next=function(){Hr.calls.length>0&&Hr.calls.shift()()},Hr.defer=function(t,e){null!=t&&Hr.defers.push({f:t,a:e})},Hr.queue=function(t){null!=t&&Hr.calls.push(t)};var Xr=r["snow.api.PromiseError"]={__ename__:["snow","api","PromiseError"],__constructs__:["UnhandledPromiseRejection"]};Xr.UnhandledPromiseRejection=function(t){var e=["UnhandledPromiseRejection",0,t];return e.__enum__=Xr,e.toString=o,e},Xr.__empty_constructs__=[];var Yr=function(t){this.time=t,Yr.running_timers.push(this),this.fire_at=window.performance.now()/1e3-to.timestamp_start+this.time,this.running=!0};r["snow.api.Timer"]=Yr,Yr.__name__=["snow","api","Timer"],Yr.measure=function(t,e){var i=window.performance.now()/1e3-to.timestamp_start,s=t();return Be.trace(window.performance.now()/1e3-to.timestamp_start-i+"s",e),s},Yr.update=function(){for(var t=window.performance.now()/1e3-to.timestamp_start,e=0,i=Yr.running_timers;e0),e.antialias=e.antialias,null==e.depth&&(e.depth=this.app.config.render.depth>0),e.depth=e.depth,null==e.stencil&&(e.stencil=this.app.config.render.stencil>0),e.stencil=e.stencil,e},create_render_context_failed:function(){var t="WebGL is required to run this!

";t+='visit get.webgl.com for info
',t+="and contact the developer of this app";var e,i,s=window.document;e=s.createElement("div");var n=window.document;throw i=n.createElement("div"),e.style.marginLeft="auto",e.style.marginRight="auto",e.style.color="#d3d3d3",e.style.marginTop="5em",e.style.fontSize="1.4em",e.style.fontFamily="helvetica,sans-serif",e.innerHTML=t,i.style.top="0",i.style.left="0",i.style.width="100%",i.style.height="100%",i.style.display="block",i.style.minWidth="100%",i.style.minHeight="100%",i.style.textAlign="center",i.style.position="absolute",i.style.background="rgba(1,1,1,0.90)",i.appendChild(e),window.document.body.appendChild(i),new li(ko.error("runtime / web / failed to create render context, unable to recover"))},request_frame:function(){window.requestAnimationFrame(n(this,this.loop))},loop:function(t){return null==t&&(t=.016),this.app.has_shutdown?!1:(this.gamepads_supported&&this.gamepads_poll(),this.update_window_bounds(),this.app.dispatch_event(3),this.app.shutting_down||window.requestAnimationFrame(n(this,this.loop)),!0) },loop_pre_ready:function(t){return null==t&&(t=.016),this.app.dispatch_event(3),this.app.shutting_down||window.requestAnimationFrame(this.app.ready?n(this,this.loop):n(this,this.loop_pre_ready)),!0},mod_state_from_event:function(t){var e=!(t.altKey||t.ctrlKey||t.metaKey||t.shiftKey);return this.app.input.mod_state.none=e,this.app.input.mod_state.lshift=t.shiftKey,this.app.input.mod_state.rshift=t.shiftKey,this.app.input.mod_state.lctrl=t.ctrlKey,this.app.input.mod_state.rctrl=t.ctrlKey,this.app.input.mod_state.lalt=t.altKey,this.app.input.mod_state.ralt=t.altKey,this.app.input.mod_state.lmeta=t.metaKey,this.app.input.mod_state.rmeta=t.metaKey,this.app.input.mod_state.num=!1,this.app.input.mod_state.caps=!1,this.app.input.mod_state.mode=!1,this.app.input.mod_state.ctrl=t.ctrlKey,this.app.input.mod_state.shift=t.shiftKey,this.app.input.mod_state.alt=t.altKey,this.app.input.mod_state.meta=t.metaKey,this.app.input.mod_state},convert_keycode:function(t){return t>=65&&90>=t?t+32:eo.dom_key_to_keycode(t)},get_window_x:function(t){return Math.round(t.left+window.pageXOffset-window.document.body.clientTop)},get_window_y:function(t){return Math.round(t.top+window.pageYOffset-window.document.body.clientLeft)},update_window_bounds:function(){this.window_dpr=null==window.devicePixelRatio?1:window.devicePixelRatio;var t=this.window.getBoundingClientRect(),e=Math.round(t.left+window.pageXOffset-window.document.body.clientTop),i=Math.round(t.top+window.pageYOffset-window.document.body.clientLeft),s=Math.round(t.width),n=Math.round(t.height);(e!=this.window_x||i!=this.window_y)&&(this.window_x=e,this.window_y=i,this.app.dispatch_window_event(4,window.performance.now()/1e3-to.timestamp_start,1,this.window_x,this.window_y)),(s!=this.window_w||n!=this.window_h)&&(this.window_w=s,this.window_h=n,this.window.width=Math.floor(this.window_w*this.window_dpr),this.window.height=Math.floor(this.window_h*this.window_dpr),this.app.dispatch_window_event(6,window.performance.now()/1e3-to.timestamp_start,1,this.window.width,this.window.height))},gamepad_btns_cache:null,gamepads_init_cache:function(t){this.gamepad_btns_cache[t.index]=[];for(var e=0,i=t.buttons.length;i>e;){{e++}this.gamepad_btns_cache[t.index].push(0)}},gamepads_init:function(){var t;if(t=null!=($o=window.navigator,n($o,$o.getGamepads))?window.navigator.getGamepads():null!=window.navigator.webkitGetGamepads?window.navigator.webkitGetGamepads():null,null!=t){this.gamepads_supported=!0,this.gamepad_btns_cache=[];for(var e=0;ei;){var s=t[i];if(null!=s){for(var r=0,o=s.axes.length;o>r;){var a=r++,l=s.axes[a];0!=l&&this.app.input.dispatch_gamepad_axis_event(s.index,a,l,window.performance.now()/1e3-to.timestamp_start)}for(var _=this.gamepad_btns_cache[s.index],u=0,h=s.buttons.length;h>u;){var g=u++,c=s.buttons[g];c.value!=_[g]&&(c.pressed?this.app.input.dispatch_gamepad_button_down_event(s.index,g,c.value,window.performance.now()/1e3-to.timestamp_start):this.app.input.dispatch_gamepad_button_up_event(s.index,g,c.value,window.performance.now()/1e3-to.timestamp_start),_[g]=c.value)}i++}else i++}},gamepads_get_list:function(){return null!=($o=window.navigator,n($o,$o.getGamepads))?window.navigator.getGamepads():null!=window.navigator.webkitGetGamepads?window.navigator.webkitGetGamepads():null},guess_os:function(){var t=window.navigator.appVersion,e=window.navigator.userAgent;return function(){var e,i=new S("mac","gi");return e=i.match(t)}(this)?"mac":function(){var e,i=new S("win","gi");return e=i.match(t)}(this)?"windows":function(){var e,i=new S("x11","gi");return e=i.match(t)}(this)?"linux":function(){var e,i=new S("linux","gi");return e=i.match(t)}(this)?"linux":function(){var e,i=new S("android","gi");return e=i.match(t)}(this)?"android":function(){var t,i=new S("ipad","gi");return t=i.match(e)}(this)?"ios":function(){var t,i=new S("iphone","gi");return t=i.match(e)}(this)?"ios":function(){var t,i=new S("ipod","gi");return t=i.match(e)}(this)?"ios":"unknown"},__class__:to};var eo=function(){};r["snow.core.web._Runtime.DOMKeys"]=eo,eo.__name__=["snow","core","web","_Runtime","DOMKeys"],eo.dom_key_to_keycode=function(t){switch(t){case 16:return bo.lshift;case 17:return bo.lctrl;case 18:return bo.lalt;case 20:return bo.capslock;case 33:return bo.pageup;case 34:return bo.pagedown;case 35:return bo.end;case 36:return bo.home;case 37:return bo.left;case 38:return bo.up;case 39:return bo.right;case 40:return bo.down;case 44:return bo.printscreen;case 45:return bo.insert;case 46:return 127;case 91:return bo.lmeta;case 93:return bo.rmeta;case 224:return bo.lmeta;case 96:return bo.kp_0;case 97:return bo.kp_1;case 98:return bo.kp_2;case 99:return bo.kp_3;case 100:return bo.kp_4;case 101:return bo.kp_5;case 102:return bo.kp_6;case 103:return bo.kp_7;case 104:return bo.kp_8;case 105:return bo.kp_9;case 106:return bo.kp_multiply;case 107:return bo.kp_plus;case 109:return bo.kp_minus;case 110:return bo.kp_decimal;case 111:return bo.kp_divide;case 144:return bo.numlockclear;case 112:return bo.f1;case 113:return bo.f2;case 114:return bo.f3;case 115:return bo.f4;case 116:return bo.f5;case 117:return bo.f6;case 118:return bo.f7;case 119:return bo.f8;case 120:return bo.f9;case 121:return bo.f10;case 122:return bo.f11;case 123:return bo.f12;case 124:return bo.f13;case 125:return bo.f14;case 126:return bo.f15;case 127:return bo.f16;case 128:return bo.f17;case 129:return bo.f18;case 130:return bo.f19;case 131:return bo.f20;case 132:return bo.f21;case 133:return bo.f22;case 134:return bo.f23;case 135:return bo.f24;case 160:return 94;case 161:return 33;case 162:return 34;case 163:return 35;case 164:return 36;case 165:return 37;case 166:return 38;case 167:return 95;case 168:return 40;case 169:return 41;case 170:return 42;case 171:return 43;case 172:return 92;case 173:return 45;case 174:return 91;case 175:return 93;case 176:return 96;case 181:return bo.audiomute;case 182:return bo.volumedown;case 183:return bo.volumeup;case 188:return 44;case 190:return 46;case 191:return 47;case 192:return 96;case 219:return 91;case 221:return 93;case 220:return 92;case 222:return 39}return t};var io=function(){};r["snow.modules.interfaces.Assets"]=io,io.__name__=["snow","modules","interfaces","Assets"],io.prototype={app:null,onevent:null,shutdown:null,image_info_from_load:null,image_info_from_bytes:null,image_info_from_pixels:null,__class__:io};var so=function(t){this.app=t};r["snow.core.web.assets.Assets"]=so,so.__name__=["snow","core","web","assets","Assets"],so.__interfaces__=[io],so.prototype={app:null,onevent:function(){},shutdown:function(){},image_info_from_load:function(t,e){return null==e&&(e=4),this.app.io.data_flow(t,ho.processor)},image_info_from_element:function(t,e){var i=this.nearest_power_of_two(e.width),s=this.nearest_power_of_two(e.height),n=this.POT_bytes_from_element(e.width,e.height,i,s,e),r=new No(this.app,{id:t,bpp:4,width:e.width,height:e.height,width_actual:i,height_actual:s,bpp_source:4,pixels:n});return n=null,r},image_info_from_pixels:function(t,e,i,s,n){null==n&&(n=4);var r=new No(this.app,{id:t,bpp:4,width:e,height:i,width_actual:e,height_actual:i,bpp_source:4,pixels:s});return r},image_info_from_bytes:function(t,e,i){null==i&&(i=4);var s=this;if(null==t)throw new li(Jr.null_assertion("_id was null"));if(null==e)throw new li(Jr.null_assertion("_bytes was null"));if(0==e.length)throw new li(Jr.assertion("_bytes.length != 0"));var n=ri.extension(t);return new Fr(function(i,r){for(var o="",a=0,l=e.length;l>a;)o+=String.fromCharCode(255&function(){var t,i=a++;return t=e[i]}(this));var _=window.btoa(o),u="data:image/"+n+";base64,"+_,h=new Image;h.onload=function(){var e=s.image_info_from_element(t,h);i(e)},h.onerror=function(t){r(ko.error("failed to load image from bytes, on error: "+t))},h.src=u})},POT_bytes_from_pixels:function(t,e,i,s,n){var r,o=window.document;r=o.createElement("canvas"),r.width=i,r.height=s;var a=r.getContext("2d",null);a.clearRect(0,0,r.width,r.height);var l=null,_=new Uint8ClampedArray(n.buffer),u=a.createImageData(t,e);u.data.set(_);try{a.putImageData(u,0,0),l=a.getImageData(0,0,r.width,r.height)}catch(h){Ge.lastException=h,h instanceof li&&(h=h.val);var g="- textures served from file:/// throw security errors\n";throw g+="- textures served over http:// work for cross origin byte requests",Be.trace(" i / assets / "+g,{fileName:"Assets.hx",lineNumber:183,className:"snow.core.web.assets.Assets",methodName:"POT_bytes_from_pixels"}),new li(h)}return r=null,a=null,u=null,new _a(l.data)},POT_bytes_from_element:function(t,e,i,s,n){var r,o=window.document;r=o.createElement("canvas"),r.width=i,r.height=s;var a=r.getContext("2d",null);a.clearRect(0,0,r.width,r.height),a.drawImage(n,0,0,t,e);var l=null;try{l=a.getImageData(0,0,r.width,r.height)}catch(_){Ge.lastException=_,_ instanceof li&&(_=_.val);var u="- textures served from file:/// throw security errors\n";throw u+="- textures served over http:// work for cross origin byte requests",Be.trace(" i / assets / "+u,{fileName:"Assets.hx",lineNumber:221,className:"snow.core.web.assets.Assets",methodName:"POT_bytes_from_element"}),new li(_)}return r=null,a=null,new _a(l.data)},nearest_power_of_two:function(t){return so.POT?(t--,t|=t>>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,t++,t):t},__class__:so};var no=function(){};r["snow.modules.interfaces.IO"]=no,no.__name__=["snow","modules","interfaces","IO"],no.prototype={app:null,onevent:null,shutdown:null,url_open:null,data_load:null,data_save:null,app_path:null,app_path_prefs:null,string_save_path:null,string_slot_load:null,string_slot_encode:null,string_slot_decode:null,string_slot_save:null,string_slot_destroy:null,__class__:no};var ro=function(t){this.app=t};r["snow.core.web.io.IO"]=ro,ro.__name__=["snow","core","web","io","IO"],ro.__interfaces__=[no],ro.prototype={app:null,shutdown:function(){},onevent:function(){},app_path:function(){return"./"},app_path_prefs:function(){return"./"},url_open:function(t){null!=t&&t.length>0&&window.open(t,"_blank")},data_load:function(t,e){return new Fr(function(i,s){var n=!0,r=!0;null!=e&&null!=e.binary&&(r=e.binary);var o=new XMLHttpRequest;o.open("GET",t,n),o.overrideMimeType(r?"text/plain; charset=x-user-defined":"text/plain; charset=UTF-8"),n&&(o.responseType="arraybuffer"),o.onload=function(){200==o.status?i(function(){var t,e=o.response;return t=new _a(e)}(this)):s(ko.error("request status was "+o.status+" / "+o.statusText))},o.send()})},data_save:function(){return!1},string_save_path:function(t){null==t&&(t=0);var e="",i=this.string_slot_id(t),s=ri.join([e,i]);return ri.normalize(s)},string_slot_id:function(t){null==t&&(t=0);var e=xo.app_ident.split("."),i=e.pop(),s=e.join(".");return""+s+"/"+i+"/"+this.app.io.string_save_prefix+"."+t},string_slot_destroy:function(t){null==t&&(t=0);var e=window.localStorage;if(null==e)return Be.trace(" i / io / localStorage isnt supported in this browser?!",{fileName:"IO.hx",lineNumber:119,className:"snow.core.web.io.IO",methodName:"string_slot_destroy"}),!1;var i=this.string_slot_id(t);return e.removeItem(i),!1},string_slot_save:function(t,e){null==t&&(t=0);var i=window.localStorage;if(null==i)return Be.trace(" i / io / localStorage isnt supported in this browser?!",{fileName:"IO.hx",lineNumber:136,className:"snow.core.web.io.IO",methodName:"string_slot_save"}),!1;var s=this.string_slot_id(t);return i.setItem(s,e),!0},string_slot_load:function(t){null==t&&(t=0);var e=window.localStorage;if(null==e)return Be.trace(" i / io / localStorage isnt supported in this browser?!",{fileName:"IO.hx",lineNumber:154,className:"snow.core.web.io.IO",methodName:"string_slot_load"}),null;var i=this.string_slot_id(t);return e.getItem(i)},string_slot_encode:function(t){return window.btoa(t)},string_slot_decode:function(t){return window.atob(t)},__class__:ro};var oo=function(){};r["snow.modules.opengl.web.GL"]=oo,oo.__name__=["snow","modules","opengl","web","GL"],oo.__properties__={get_version:"get_version"},oo.versionString=function(){var t=oo.gl.getParameter(7938),e=oo.gl.getParameter(35724),i=oo.gl.getParameter(7937),s=oo.gl.getParameter(7936);return"/ "+t+" / "+e+" / "+i+" / "+s+" /"},oo.activeTexture=function(t){oo.gl.activeTexture(t)},oo.attachShader=function(t,e){oo.gl.attachShader(t,e)},oo.bindAttribLocation=function(t,e,i){oo.gl.bindAttribLocation(t,e,i)},oo.bindBuffer=function(t,e){oo.gl.bindBuffer(t,e)},oo.bindFramebuffer=function(t,e){oo.gl.bindFramebuffer(t,e)},oo.bindRenderbuffer=function(t,e){oo.gl.bindRenderbuffer(t,e)},oo.bindTexture=function(t,e){oo.gl.bindTexture(t,e)},oo.blendColor=function(t,e,i,s){oo.gl.blendColor(t,e,i,s)},oo.blendEquation=function(t){oo.gl.blendEquation(t)},oo.blendEquationSeparate=function(t,e){oo.gl.blendEquationSeparate(t,e)},oo.blendFunc=function(t,e){oo.gl.blendFunc(t,e)},oo.blendFuncSeparate=function(t,e,i,s){oo.gl.blendFuncSeparate(t,e,i,s)},oo.bufferData=function(t,e,i){oo.gl.bufferData(t,e,i)},oo.bufferSubData=function(t,e,i){oo.gl.bufferSubData(t,e,i)},oo.checkFramebufferStatus=function(t){return oo.gl.checkFramebufferStatus(t)},oo.clear=function(t){oo.gl.clear(t)},oo.clearColor=function(t,e,i,s){oo.gl.clearColor(t,e,i,s)},oo.clearDepth=function(t){oo.gl.clearDepth(t)},oo.clearStencil=function(t){oo.gl.clearStencil(t)},oo.colorMask=function(t,e,i,s){oo.gl.colorMask(t,e,i,s)},oo.compileShader=function(t){oo.gl.compileShader(t)},oo.compressedTexImage2D=function(t,e,i,s,n,r,o){oo.gl.compressedTexImage2D(t,e,i,s,n,r,o)},oo.compressedTexSubImage2D=function(t,e,i,s,n,r,o,a){oo.gl.compressedTexSubImage2D(t,e,i,s,n,r,o,a)},oo.copyTexImage2D=function(t,e,i,s,n,r,o,a){oo.gl.copyTexImage2D(t,e,i,s,n,r,o,a)},oo.copyTexSubImage2D=function(t,e,i,s,n,r,o,a){oo.gl.copyTexSubImage2D(t,e,i,s,n,r,o,a)},oo.createBuffer=function(){return oo.gl.createBuffer()},oo.createFramebuffer=function(){return oo.gl.createFramebuffer()},oo.createProgram=function(){return oo.gl.createProgram()},oo.createRenderbuffer=function(){return oo.gl.createRenderbuffer()},oo.createShader=function(t){return oo.gl.createShader(t)},oo.createTexture=function(){return oo.gl.createTexture()},oo.cullFace=function(t){oo.gl.cullFace(t)},oo.deleteBuffer=function(t){oo.gl.deleteBuffer(t)},oo.deleteFramebuffer=function(t){oo.gl.deleteFramebuffer(t)},oo.deleteProgram=function(t){oo.gl.deleteProgram(t)},oo.deleteRenderbuffer=function(t){oo.gl.deleteRenderbuffer(t)},oo.deleteShader=function(t){oo.gl.deleteShader(t)},oo.deleteTexture=function(t){oo.gl.deleteTexture(t)},oo.depthFunc=function(t){oo.gl.depthFunc(t)},oo.depthMask=function(t){oo.gl.depthMask(t)},oo.depthRange=function(t,e){oo.gl.depthRange(t,e)},oo.detachShader=function(t,e){oo.gl.detachShader(t,e)},oo.disable=function(t){oo.gl.disable(t)},oo.disableVertexAttribArray=function(t){oo.gl.disableVertexAttribArray(t)},oo.drawArrays=function(t,e,i){oo.gl.drawArrays(t,e,i)},oo.drawElements=function(t,e,i,s){oo.gl.drawElements(t,e,i,s)},oo.enable=function(t){oo.gl.enable(t)},oo.enableVertexAttribArray=function(t){oo.gl.enableVertexAttribArray(t)},oo.finish=function(){oo.gl.finish()},oo.flush=function(){oo.gl.flush()},oo.framebufferRenderbuffer=function(t,e,i,s){oo.gl.framebufferRenderbuffer(t,e,i,s)},oo.framebufferTexture2D=function(t,e,i,s,n){oo.gl.framebufferTexture2D(t,e,i,s,n)},oo.frontFace=function(t){oo.gl.frontFace(t)},oo.generateMipmap=function(t){oo.gl.generateMipmap(t)},oo.getActiveAttrib=function(t,e){return oo.gl.getActiveAttrib(t,e)},oo.getActiveUniform=function(t,e){return oo.gl.getActiveUniform(t,e)},oo.getAttachedShaders=function(t){return oo.gl.getAttachedShaders(t)},oo.getAttribLocation=function(t,e){return oo.gl.getAttribLocation(t,e)},oo.getBufferParameter=function(t,e){return oo.gl.getBufferParameter(t,e)},oo.getContextAttributes=function(){return oo.gl.getContextAttributes()},oo.getError=function(){return oo.gl.getError()},oo.getExtension=function(t){return oo.gl.getExtension(t)},oo.getFramebufferAttachmentParameter=function(t,e,i){return oo.gl.getFramebufferAttachmentParameter(t,e,i)},oo.getParameter=function(t){return oo.gl.getParameter(t)},oo.getProgramInfoLog=function(t){return oo.gl.getProgramInfoLog(t)},oo.getProgramParameter=function(t,e){return oo.gl.getProgramParameter(t,e)},oo.getRenderbufferParameter=function(t,e){return oo.gl.getRenderbufferParameter(t,e)},oo.getShaderInfoLog=function(t){return oo.gl.getShaderInfoLog(t)},oo.getShaderParameter=function(t,e){return oo.gl.getShaderParameter(t,e)},oo.getShaderPrecisionFormat=function(t,e){return oo.gl.getShaderPrecisionFormat(t,e)},oo.getShaderSource=function(t){return oo.gl.getShaderSource(t)},oo.getSupportedExtensions=function(){return oo.gl.getSupportedExtensions()},oo.getTexParameter=function(t,e){return oo.gl.getTexParameter(t,e)},oo.getUniform=function(t,e){return oo.gl.getUniform(t,e)},oo.getUniformLocation=function(t,e){return oo.gl.getUniformLocation(t,e)},oo.getVertexAttrib=function(t,e){return oo.gl.getVertexAttrib(t,e)},oo.getVertexAttribOffset=function(t,e){return oo.gl.getVertexAttribOffset(t,e)},oo.hint=function(t,e){oo.gl.hint(t,e)},oo.isBuffer=function(t){return oo.gl.isBuffer(t)},oo.isEnabled=function(t){return oo.gl.isEnabled(t)},oo.isFramebuffer=function(t){return oo.gl.isFramebuffer(t)},oo.isProgram=function(t){return oo.gl.isProgram(t)},oo.isRenderbuffer=function(t){return oo.gl.isRenderbuffer(t)},oo.isShader=function(t){return oo.gl.isShader(t)},oo.isTexture=function(t){return oo.gl.isTexture(t)},oo.lineWidth=function(t){oo.gl.lineWidth(t)},oo.linkProgram=function(t){oo.gl.linkProgram(t)},oo.pixelStorei=function(t,e){oo.gl.pixelStorei(t,e)},oo.polygonOffset=function(t,e){oo.gl.polygonOffset(t,e)},oo.readPixels=function(t,e,i,s,n,r,o){oo.gl.readPixels(t,e,i,s,n,r,o)},oo.renderbufferStorage=function(t,e,i,s){oo.gl.renderbufferStorage(t,e,i,s)},oo.sampleCoverage=function(t,e){oo.gl.sampleCoverage(t,e)},oo.scissor=function(t,e,i,s){oo.gl.scissor(t,e,i,s)},oo.shaderSource=function(t,e){oo.gl.shaderSource(t,e)},oo.stencilFunc=function(t,e,i){oo.gl.stencilFunc(t,e,i)},oo.stencilFuncSeparate=function(t,e,i,s){oo.gl.stencilFuncSeparate(t,e,i,s)},oo.stencilMask=function(t){oo.gl.stencilMask(t)},oo.stencilMaskSeparate=function(t,e){oo.gl.stencilMaskSeparate(t,e)},oo.stencilOp=function(t,e,i){oo.gl.stencilOp(t,e,i)},oo.stencilOpSeparate=function(t,e,i,s){oo.gl.stencilOpSeparate(t,e,i,s)},oo.texImage2D=function(t,e,i,s,n,r,o,a,l){oo.gl.texImage2D(t,e,i,s,n,r,o,a,l)},oo.texParameterf=function(t,e,i){oo.gl.texParameterf(t,e,i)},oo.texParameteri=function(t,e,i){oo.gl.texParameteri(t,e,i)},oo.texSubImage2D=function(t,e,i,s,n,r,o,a,l){oo.gl.texSubImage2D(t,e,i,s,n,r,o,a,l)},oo.uniform1f=function(t,e){oo.gl.uniform1f(t,e)},oo.uniform1fv=function(t,e){oo.gl.uniform1fv(t,e)},oo.uniform1i=function(t,e){oo.gl.uniform1i(t,e)},oo.uniform1iv=function(t,e){oo.gl.uniform1iv(t,e)},oo.uniform2f=function(t,e,i){oo.gl.uniform2f(t,e,i)},oo.uniform2fv=function(t,e){oo.gl.uniform2fv(t,e)},oo.uniform2i=function(t,e,i){oo.gl.uniform2i(t,e,i)},oo.uniform2iv=function(t,e){oo.gl.uniform2iv(t,e)},oo.uniform3f=function(t,e,i,s){oo.gl.uniform3f(t,e,i,s)},oo.uniform3fv=function(t,e){oo.gl.uniform3fv(t,e)},oo.uniform3i=function(t,e,i,s){oo.gl.uniform3i(t,e,i,s)},oo.uniform3iv=function(t,e){oo.gl.uniform3iv(t,e)},oo.uniform4f=function(t,e,i,s,n){oo.gl.uniform4f(t,e,i,s,n)},oo.uniform4fv=function(t,e){oo.gl.uniform4fv(t,e)},oo.uniform4i=function(t,e,i,s,n){oo.gl.uniform4i(t,e,i,s,n)},oo.uniform4iv=function(t,e){oo.gl.uniform4iv(t,e)},oo.uniformMatrix2fv=function(t,e,i){oo.gl.uniformMatrix2fv(t,e,i)},oo.uniformMatrix3fv=function(t,e,i){oo.gl.uniformMatrix3fv(t,e,i)},oo.uniformMatrix4fv=function(t,e,i){oo.gl.uniformMatrix4fv(t,e,i)},oo.useProgram=function(t){oo.gl.useProgram(t)},oo.validateProgram=function(t){oo.gl.validateProgram(t)},oo.vertexAttrib1f=function(t,e){oo.gl.vertexAttrib1f(t,e)},oo.vertexAttrib1fv=function(t,e){oo.gl.vertexAttrib1fv(t,e)},oo.vertexAttrib2f=function(t,e,i){oo.gl.vertexAttrib2f(t,e,i)},oo.vertexAttrib2fv=function(t,e){oo.gl.vertexAttrib2fv(t,e)},oo.vertexAttrib3f=function(t,e,i,s){oo.gl.vertexAttrib3f(t,e,i,s)},oo.vertexAttrib3fv=function(t,e){oo.gl.vertexAttrib3fv(t,e)},oo.vertexAttrib4f=function(t,e,i,s,n){oo.gl.vertexAttrib4f(t,e,i,s,n)},oo.vertexAttrib4fv=function(t,e){oo.gl.vertexAttrib4fv(t,e)},oo.vertexAttribPointer=function(t,e,i,s,n,r){oo.gl.vertexAttribPointer(t,e,i,s,n,r)},oo.viewport=function(t,e,i,s){oo.gl.viewport(t,e,i,s)},oo.get_version=function(){return 7938};var ao=function(t){this.active=!1,this.handle_seq=0,this.app=t,this.instances=new Se;try{this.context=new AudioContext}catch(e){Ge.lastException=e,e instanceof li&&(e=e.val);try{this.context=new window.webkitAudioContext}catch(i){return Ge.lastException=i,i instanceof li&&(i=i.val),void Be.trace(" i / audio / WebAudio: no AudioContext could be created! No audio loading or playback will be available.",{fileName:"Audio.hx",lineNumber:59,className:"snow.modules.webaudio.Audio",methodName:"new"})}}if(null==this.context)throw new li(Jr.null_assertion("context was null ( Audio / webaudio / no AudioContext could be created, is the Web Audio API supported? )"));var s="channelCount: "+this.context.destination.channelCount+", "+('channelCountMode: "'+this.context.destination.channelCountMode+'", ')+('channelInterpretation: "'+this.context.destination.channelInterpretation+'", ')+("maxChannelCount: "+this.context.destination.maxChannelCount+", ")+("numberOfInputs: "+this.context.destination.numberOfInputs+", ")+("numberOfOutputs: "+this.context.destination.numberOfOutputs);Be.trace(" i / audio / "+("webaudio: "+re.string(this.context)+" / sampleRate: "+this.context.sampleRate+" / destination: "+s),{fileName:"Audio.hx",lineNumber:74,className:"snow.modules.webaudio.Audio",methodName:"new"}),this.active=!0};r["snow.modules.webaudio.Audio"]=ao,ao.__name__=["snow","modules","webaudio","Audio"],ao.__interfaces__=[Dr],ao.prototype={handle_seq:null,instances:null,buffers:null,context:null,app:null,active:null,shutdown:function(){this.context.close()},onevent:function(){},snd_of:function(t){return this.instances.h[t]},play_buffer:function(t){var e=this.context.createBufferSource();return e.buffer=t.buffer,e},play_buffer_again:function(t,e,i){e.buffer_node=this.play_buffer(e.source.data),e.buffer_node.connect(e.pan_node),e.buffer_node.loop=e.loop,e.pan_node.connect(e.gain_node),e.gain_node.connect(this.context.destination),e.buffer_node.start(0,i),e.buffer_node.onended=function(t,e){return function(){t(e)}}(n(this,this.destroy_snd),e)},play_instance:function(t,e,i,s,r,o,a){var l=this,_=this.context.createGain(),u=this.context.createPanner(),h=null;_.gain.value=o,u.panningModel="equalpower",u.setPosition(Math.cos(-1.5707),0,Math.sin(1.5707)),null!=r&&(h=r,r.loop=a),null!=s.media_node&&(h=s.media_node,s.media_elem.loop=a),h.connect(u),u.connect(_),_.connect(this.context.destination);var g={handle:t,source:e,instance:i,buffer_node:r,media_node:s.media_node,media_elem:s.media_elem,gain_node:_,pan_node:u,state:1,time_start:window.performance.now()/1e3-to.timestamp_start,loop:a,pan:0};this.instances.h[t]=g,null!=r&&(r.start(0),r.onended=function(t,e){return function(){t(e)}}(n(this,this.destroy_snd),g)),null!=s.media_node&&(s.media_elem.play(),s.media_node.addEventListener("ended",function(){l.app.audio.emit_Int(0,t),g.state=2}))},play:function(t,e){var i=t.data,s=this.handle_seq,n=t.instance(s);return t.data.is_stream?(i.media_elem.play(),i.media_elem.volume=1,this.play_instance(s,t,n,i,null,e,!1)):this.play_instance(s,t,n,i,this.play_buffer(i),e,!1),this.handle_seq++,s},loop:function(t,e){var i=t.data,s=this.handle_seq,n=t.instance(s);return t.data.is_stream?(i.media_elem.play(),i.media_elem.volume=1,this.play_instance(s,t,n,i,null,e,!0)):this.play_instance(s,t,n,i,this.play_buffer(i),e,!0),this.handle_seq++,s},stop_buffer:function(t){t.buffer_node.stop(),t.buffer_node.disconnect(),t.gain_node.disconnect(),t.pan_node.disconnect(),t.buffer_node=null},pause:function(t){var e=this.instances.h[t];null!=e&&(e.time_pause=window.performance.now()/1e3-to.timestamp_start-e.time_start,e.state=0,null!=e.buffer_node?this.stop_buffer(e):null!=e.media_node&&e.media_elem.pause())},unpause:function(t){var e=this.instances.h[t];null!=e&&0==e.state&&(null==e.media_node?this.play_buffer_again(t,e,e.time_pause):e.media_elem.play(),e.state=1)},destroy_snd:function(t){null!=t.buffer_node&&(t.buffer_node.stop(),t.buffer_node.disconnect(),t.buffer_node=null),null!=t.media_node&&(t.media_elem.pause(),t.media_elem.currentTime=0,t.media_node.disconnect(),t.media_elem=null,t.media_node=null),null!=t.gain_node&&(t.gain_node.disconnect(),t.gain_node=null),null!=t.pan_node&&(t.pan_node.disconnect(),t.pan_node=null),this.instances.remove(t.handle),t=null},stop:function(t){var e=this.instances.h[t];null!=e&&(this.destroy_snd(e),e.state=2)},volume:function(t,e){var i=this.instances.h[t];null!=i&&(i.gain_node.gain.value=e)},pan:function(t,e){var i=this.instances.h[t];null!=i&&(i.pan=e,i.pan_node.setPosition(Math.cos(1.5707*(e-1)),0,Math.sin(1.5707*(e+1))))},pitch:function(t,e){var i=this.instances.h[t];null!=i&&(null!=i.buffer_node?i.buffer_node.playbackRate.value=e:null!=i.media_node&&(i.media_elem.playbackRate=e))},position:function(t,e){var i=this.instances.h[t];null!=i&&(null!=i.buffer_node?(this.stop_buffer(i),this.play_buffer_again(t,i,e)):i.media_elem.currentTime=e)},volume_of:function(t){var e=this.instances.h[t];return null==e?0:e.gain_node.gain.value},pan_of:function(t){var e=this.instances.h[t];return null==e?0:e.pan},pitch_of:function(t){var e=this.instances.h[t];if(null==e)return 0;var i=1;return null!=e.buffer_node?i=e.buffer_node.playbackRate.value:null!=e.media_node&&(i=e.media_elem.playbackRate),i},position_of:function(t){var e=this.instances.h[t];return null==e?0:0},state_of:function(t){var e=this.instances.h[t];return null==e?-1:e.state},loop_of:function(t){var e=this.instances.h[t];return null==e?!1:e.loop},instance_of:function(t){var e=this.instances.h[t];return null==e?null:e.instance},suspend:function(){this.context.suspend()},resume:function(){this.context.resume()},data_from_load:function(t,e,i){return null==e&&(e=!1),this.active?(null==i&&(i=Qr.audio_format_from_path(t)),e?this.data_from_load_stream(t,i):this.data_from_load_sound(t,i)):Fr.reject("WebAudio context unavailable")},data_from_bytes:function(t,e,i){var s=this;return this.active?new Fr(function(n,r){s.data_from_bytes_direct(t,e,i,n,r)}):Fr.reject("WebAudio context unavailable")},data_from_bytes_direct:function(t,e,i,s,n){var r=this;this.context.decodeAudioData(e.buffer,function(e){var n=new _o(r.app,e,null,null,{id:t,is_stream:!1,format:i,samples:null,length:e.length,channels:e.numberOfChannels,rate:0|e.sampleRate});s(n)},function(){n("failed to decode audio for `"+t+"`")})},data_from_load_sound:function(t,e){var i=this;return new Fr(function(s,n){var r=i.app.io.module.data_load(t,null);r.then(function(r){i.data_from_bytes_direct(t,r,e,s,n)})})},data_from_load_stream:function(t,e){var i=this;return new Fr(function(s,n){var r=new Audio(t);r.autoplay=!1,r.controls=!1,r.preload="auto",r.onerror=function(){var e,i=r.error.code;switch(i){case 1:e="MEDIA_ERR_ABORTED";break;case 2:e="MEDIA_ERR_NETWORK";break;case 3:e="MEDIA_ERR_DECODE";break;case 4:e="MEDIA_ERR_SRC_NOT_SUPPORTED";break;case 5:e="MEDIA_ERR_ENCRYPTED";break;default:e="unknown error"}return n("failed to load `"+t+"` as stream : `"+e+"`")},r.onloadedmetadata=function(){var n=i.context.createMediaElementSource(r),o=2,a=0|i.context.sampleRate,l=n.channelCount,_=a*l*o,u=r.duration*_|0,h=new _o(i.app,null,n,r,{id:t,is_stream:!0,format:e,samples:null,length:u,channels:l,rate:a});return s(h)}})},__class__:ao};var lo=function(t,e){this.is_stream=!1,this.format=0,this.channels=1,this.length=0,this.rate=44100,this.id="AudioData",this.app=t,null==e.id&&(e.id=this.id),this.id=e.id,null==e.rate&&(e.rate=this.rate),this.rate=e.rate,null==e.length&&(e.length=this.length),this.length=e.length,null==e.format&&(e.format=this.format),this.format=e.format,null==e.channels&&(e.channels=this.channels),this.channels=e.channels,null==e.is_stream&&(e.is_stream=this.is_stream),this.is_stream=e.is_stream,null==e.samples&&(e.samples=this.samples),this.samples=e.samples,e=null};r["snow.types.AudioData"]=lo,lo.__name__=["snow","types","AudioData"],lo.prototype={app:null,id:null,samples:null,rate:null,length:null,channels:null,format:null,is_stream:null,destroy:function(){this.id=null,this.samples=null},seek:function(){return!1},portion:function(t,e,i,s){return s},toString:function(){return'{ "AudioData":true, "id":'+this.id+', "rate":'+this.rate+', "length":'+this.length+', "channels":'+this.channels+', "format":"'+function(t){var e,i=t.format;return e=null!=i?function(){var t;switch(i){case 0:t="af_unknown";break;case 1:t="af_custom";break;case 2:t="af_ogg";break;case 3:t="af_wav";break;case 4:t="af_pcm";break;default:t=""+i}return t}(t):""+i}(this)+'", "is_stream":'+re.string(this.is_stream)+" }"},__class__:lo};var _o=function(t,e,i,s,n){this.buffer=e,this.media_node=i,this.media_elem=s,lo.call(this,t,n)};r["snow.modules.webaudio._Audio.AudioDataWebAudio"]=_o,_o.__name__=["snow","modules","webaudio","_Audio","AudioDataWebAudio"],_o.__super__=lo,_o.prototype=i(lo.prototype,{buffer:null,media_node:null,media_elem:null,destroy:function(){this.buffer=null,this.media_node=null,this.media_elem=null},__class__:_o});var uo=function(t,e,i){if(null==i&&(i=0),this.loaded=!1,null==e)throw new li(Jr.null_assertion("_id was null"));if(null==t)throw new li(Jr.null_assertion("_system was null"));this.system=t,this.type=i,this.id=e};r["snow.systems.assets.Asset"]=uo,uo.__name__=["snow","systems","assets","Asset"],uo.prototype={system:null,id:null,loaded:null,type:null,destroy:function(){},__class__:uo};var ho=function(t,e,i){uo.call(this,t,e,4),this.set_image(i)};r["snow.systems.assets.AssetImage"]=ho,ho.__name__=["snow","systems","assets","AssetImage"],ho.load=function(t,e){if(null==e)throw new li(Jr.null_assertion("_id was null"));if(null==t)throw new li(Jr.null_assertion("_system was null"));return new ho(t,e,null).reload()},ho.load_from_bytes=function(t,e,i){if(null==e)throw new li(Jr.null_assertion("_id was null"));if(null==i)throw new li(Jr.null_assertion("_bytes was null"));if(null==t)throw new li(Jr.null_assertion("_system was null"));return new ho(t,e,null).reload_from_bytes(i)},ho.load_from_pixels=function(t,e,i,s,n){if(null==e)throw new li(Jr.null_assertion("_id was null"));if(null==n)throw new li(Jr.null_assertion("_pixels was null"));if(null==t)throw new li(Jr.null_assertion("_system was null"));var r=t.module.image_info_from_pixels(e,i,s,n);return new ho(t,e,r)},ho.provider=function(t,e){return t.assets.module.image_info_from_load(e)},ho.processor=function(t,e,i){return null==i?Fr.reject(ko.error("AssetImage processor: data was null")):t.assets.module.image_info_from_bytes(e,i)},ho.__super__=uo,ho.prototype=i(uo.prototype,{image:null,reload:function(){var t=this;return this.loaded=!1,new Fr(function(e,i){var s=t.system.app.io.data_flow(ri.join([t.system.root,t.id]),null,ho.provider);s.then(function(i){t.set_image(i),e(t)}).error(i)})},destroy:function(){this.image.destroy(),this.set_image(null)},reload_from_bytes:function(t){var e=this;return this.loaded=!1,new Fr(function(i,s){var n=e.system.module.image_info_from_bytes(e.id,t);n.then(function(t){e.set_image(t),i(e)}).error(s)})},reload_from_pixels:function(t,e,i){this.loaded=!1,this.set_image(this.system.module.image_info_from_pixels(this.id,t,e,i)) },set_image:function(t){return this.loaded=null!=t,this.image=t},__class__:ho,__properties__:{set_image:"set_image"}});var go=function(t,e,i){uo.call(this,t,e,5),this.set_audio(i)};r["snow.systems.assets.AssetAudio"]=go,go.__name__=["snow","systems","assets","AssetAudio"],go.load=function(t,e,i){if(null==i&&(i=!1),null==e)throw new li(Jr.null_assertion("_id was null"));if(null==t)throw new li(Jr.null_assertion("_system was null"));return new go(t,e,null).reload(i)},go.load_from_bytes=function(t,e,i,s){if(null==e)throw new li(Jr.null_assertion("_id was null"));if(null==i)throw new li(Jr.null_assertion("_bytes was null"));if(null==t)throw new li(Jr.null_assertion("_system was null"));return new go(t,e,null).reload_from_bytes(i,s)},go.__super__=uo,go.prototype=i(uo.prototype,{audio:null,reload:function(t){null==t&&(t=!1);var e=this;return this.loaded=!1,new Fr(function(i,s){var n=e.system.app.audio.module.data_from_load(ri.join([e.system.root,e.id]),t);n.then(function(t){e.set_audio(t),i(e)}).error(s)})},destroy:function(){this.audio.destroy(),this.set_audio(null)},reload_from_bytes:function(t,e){var i=this;return this.loaded=!1,new Fr(function(s,n){var r=i.system.app.audio.module.data_from_bytes(i.id,t,e);r.then(function(t){i.set_audio(t),s(i)}).error(n)})},set_audio:function(t){return this.loaded=null!=t,this.audio=t},__class__:go,__properties__:{set_audio:"set_audio"}});var co=function(t,e,i){uo.call(this,t,e,1),this.set_bytes(i)};r["snow.systems.assets.AssetBytes"]=co,co.__name__=["snow","systems","assets","AssetBytes"],co.load=function(t,e){return new co(t,e,null).reload()},co.__super__=uo,co.prototype=i(uo.prototype,{bytes:null,reload:function(){var t=this;return new Fr(function(e,i){t.system.app.io.data_flow(ri.join([t.system.root,t.id])).then(function(i){t.set_bytes(i),e(t)}).error(i)})},destroy:function(){this.set_bytes(null)},set_bytes:function(t){return this.loaded=null!=t,this.bytes=t},__class__:co,__properties__:{set_bytes:"set_bytes"}});var Io=function(t,e,i){uo.call(this,t,e,2),this.set_text(i)};r["snow.systems.assets.AssetText"]=Io,Io.__name__=["snow","systems","assets","AssetText"],Io.load=function(t,e){return new Io(t,e,null).reload()},Io.processor=function(t,e,i){if(null==i)return Fr.reject(ko.error("AssetText processor: data was null"));var s=new Je(new _a(i.buffer)).toString();return i=null,Fr.resolve(s)},Io.__super__=uo,Io.prototype=i(uo.prototype,{text:null,reload:function(){var t=this;return new Fr(function(e,i){t.system.app.io.data_flow(ri.join([t.system.root,t.id]),Io.processor).then(function(i){t.set_text(i),e(t)}).error(i)})},destroy:function(){this.set_text(null)},set_text:function(t){return this.loaded=null!=t,this.text=t},__class__:Io,__properties__:{set_text:"set_text"}});var po=function(t,e,i){uo.call(this,t,e,3),this.set_json(i)};r["snow.systems.assets.AssetJSON"]=po,po.__name__=["snow","systems","assets","AssetJSON"],po.load=function(t,e){return new po(t,e,null).reload()},po.processor=function(t,e,i){return null==i?Fr.reject(ko.error("AssetJSON: data was null")):new Fr(function(t,e){var s=null;try{s=JSON.parse(new Je(new _a(i.buffer)).toString()),i=null}catch(n){return Ge.lastException=n,n instanceof li&&(n=n.val),i=null,e(ko.parse(n))}return t(s)})},po.__super__=uo,po.prototype=i(uo.prototype,{json:null,reload:function(){var t=this;return new Fr(function(e,i){t.system.app.io.data_flow(ri.join([t.system.root,t.id]),po.processor).then(function(i){t.set_json(i),e(t)}).error(i)})},destroy:function(){this.set_json(null)},set_json:function(t){return this.loaded=null!=t,this.json=t},__class__:po,__properties__:{set_json:"set_json"}});var mo=function(t){this.root="",this.app=t,this.module=new so(this.app)};r["snow.systems.assets.Assets"]=mo,mo.__name__=["snow","systems","assets","Assets"],mo.prototype={root:null,module:null,app:null,shutdown:function(){this.module.shutdown()},path:function(t){return ri.join([this.root,t])},bytes:function(t){return co.load(this,t)},text:function(t){return Io.load(this,t)},json:function(t){return po.load(this,t)},image:function(t){return ho.load(this,t)},image_from_bytes:function(t,e){return ho.load_from_bytes(this,t,e)},image_from_pixels:function(t,e,i,s){return ho.load_from_pixels(this,t,e,i,s)},audio:function(t,e){return null==e&&(e=!1),go.load(this,t,e)},audio_from_bytes:function(t,e,i){return go.load_from_bytes(this,t,e,i)},__class__:mo};var Co=function(t){this.active=!1,this.app=t,this.module=new ao(this.app),this.emitter=new Vr,this.active=this.module.active};r["snow.systems.audio.Audio"]=Co,Co.__name__=["snow","systems","audio","Audio"],Co.prototype={off_Int:function(t,e){return this.emitter.off(t,e)},on_Int:function(t,e){this.emitter.on(t,e)},emit_Int:function(t,e){this.emitter.emit(t,e)},emit_snow_systems_audio_AudioSource:function(t,e){this.emitter.emit(t,e)},app:null,module:null,active:null,emitter:null,play:function(t,e,i){return null==i&&(i=!1),null==e&&(e=1),this.active?this.module.play(t,e,i):-1},loop:function(t,e,i){return null==i&&(i=!1),null==e&&(e=1),this.active?this.module.loop(t,e,i):-1},pause:function(t){this.active&&this.module.pause(t)},unpause:function(t){this.active&&this.module.unpause(t)},stop:function(t){this.active&&this.module.stop(t)},volume:function(t,e){this.active&&this.module.volume(t,e)},pan:function(t,e){this.active&&this.module.pan(t,e)},pitch:function(t,e){this.active&&this.module.pitch(t,e)},position:function(t,e){this.active&&this.module.position(t,e)},state_of:function(t){return this.module.state_of(t)},loop_of:function(t){if(!this.active)throw new li(Jr.assertion("active ( audio is suspended, queries are invalid )"));return this.module.loop_of(t)},instance_of:function(t){if(!this.active)throw new li(Jr.assertion("active ( audio is suspended, queries are invalid )"));return this.module.instance_of(t)},volume_of:function(t){if(!this.active)throw new li(Jr.assertion("active ( audio is suspended, queries are invalid )"));return this.module.volume_of(t)},pan_of:function(t){if(!this.active)throw new li(Jr.assertion("active ( audio is suspended, queries are invalid )"));return this.module.pan_of(t)},pitch_of:function(t){if(!this.active)throw new li(Jr.assertion("active ( audio is suspended, queries are invalid )"));return this.module.pitch_of(t)},position_of:function(t){if(!this.active)throw new li(Jr.assertion("active ( audio is suspended, queries are invalid )"));return this.module.position_of(t)},suspend:function(){this.active&&(this.active=!1,this.module.suspend())},resume:function(){!this.active&&this.module.active&&(this.active=!0,this.module.resume())},onevent:function(t){if(this.module.onevent(t),8==t.type){var e=t.window.type;switch(e){case 7:this.suspend();break;case 9:this.resume()}}},shutdown:function(){this.active=!1,this.module.shutdown()},__class__:Co};var Ao=function(t,e){this.destroyed=!1,this.source=t,this.handle=e};r["snow.systems.audio.AudioInstance"]=Ao,Ao.__name__=["snow","systems","audio","AudioInstance"],Ao.prototype={source:null,handle:null,destroyed:null,tick:function(){},has_ended:function(){if(0!=this.destroyed)throw new li(Jr.assertion("destroyed == false ( snow / Audio / Instance has_ended queried after being destroyed )"));return 2==this.source.app.audio.state_of(this.handle)},destroy:function(){if(0!=this.destroyed)throw new li(Jr.assertion("destroyed == false ( snow / Audio / Instance being destroyed more than once )"));this.source.app.audio.emit_Int(1,this.handle),this.source.instance_killed(this),this.destroyed=!0,this.source=null,this.handle=-1},data_get:function(t,e,i,s){if(0!=this.destroyed)throw new li(Jr.assertion("destroyed == false ( snow / Audio / Instance data_get queried after being destroyed )"));return this.source.data.portion(t,e,i,s)},data_seek:function(t){if(0!=this.destroyed)throw new li(Jr.assertion("destroyed == false ( snow / Audio / Instance data_seek queried after being destroyed )"));return this.source.data.seek(t)},__class__:Ao};var fo=function(t,e){this.stream_buffer_count=2,this.stream_buffer_length=176400,this.app=t,this.data=e,this.instances=[]};r["snow.systems.audio.AudioSource"]=fo,fo.__name__=["snow","systems","audio","AudioSource"],fo.prototype={app:null,data:null,stream_buffer_length:null,stream_buffer_count:null,instances:null,instance:function(t){var e=new Ao(this,t);return-1==M.indexOf(this.instances,e,0)&&this.instances.push(e),e},bytes_to_seconds:function(t){var e,i=16;e=16==i?2:1;var s=this.data.rate*this.data.channels*e;return t/s},seconds_to_bytes:function(t){var e,i=16;e=16==i?2:1;var s=this.data.rate*this.data.channels*e;return t*s|0},duration:function(){return this.bytes_to_seconds(this.data.length)},destroy:function(){var t=this.instances.length,e=0;for(Be.trace("i / audiosource / "+("destroy "+this.data.id+", stream="+re.string(this.data.is_stream)+", instances="+t),{fileName:"AudioSource.hx",lineNumber:83,className:"snow.systems.audio.AudioSource",methodName:"destroy"}),this.app.audio.emit_snow_systems_audio_AudioSource(2,this);t>e;){var i=this.instances.pop();i.destroy(),i=null,e++}this.data.destroy(),this.data=null,this.instances=null,this.app=null},instance_killed:function(t){M.remove(this.instances,t)},__class__:fo};var vo=function(t){this.touch_count=0,this.gamepad_init_count=16,this.app=t,this.event=new Vo,this.key_event=new Mo,this.text_event=new Wo,this.mouse_event=new Lo,this.touch_event=new To,this.gamepad_event=new Jo,this.mod_state=new Fo,this.mod_state.none=!0,this.key_code_pressed=new Se,this.key_code_down=new Se,this.key_code_released=new Se,this.scan_code_pressed=new Se,this.scan_code_down=new Se,this.scan_code_released=new Se,this.mouse_button_pressed=new Se,this.mouse_button_down=new Se,this.mouse_button_released=new Se,this.gamepad_button_pressed=new Se,this.gamepad_button_down=new Se,this.gamepad_button_released=new Se,this.gamepad_axis_values=new Se;for(var e=0,i=this.gamepad_init_count;i>e;){var s=e++,n=new Se;this.gamepad_button_pressed.h[s]=n;var r=new Se;this.gamepad_button_down.h[s]=r;var o=new Se;this.gamepad_button_released.h[s]=o;var a=new Se;this.gamepad_axis_values.h[s]=a}this.touches_down=new Se};r["snow.systems.input.Input"]=vo,vo.__name__=["snow","systems","input","Input"],vo.prototype={app:null,gamepad_init_count:null,event:null,key_event:null,text_event:null,mouse_event:null,touch_event:null,gamepad_event:null,mod_state:null,shutdown:function(){},keypressed:function(t){return this.key_code_pressed.h.hasOwnProperty(t)},keyreleased:function(t){return this.key_code_released.h.hasOwnProperty(t)},keydown:function(t){return this.key_code_down.h.hasOwnProperty(t)},scanpressed:function(t){return this.scan_code_pressed.h.hasOwnProperty(t)},scanreleased:function(t){return this.scan_code_released.h.hasOwnProperty(t)},scandown:function(t){return this.scan_code_down.h.hasOwnProperty(t)},mousepressed:function(t){return this.mouse_button_pressed.h.hasOwnProperty(t)},mousereleased:function(t){return this.mouse_button_released.h.hasOwnProperty(t)},mousedown:function(t){return this.mouse_button_down.h.hasOwnProperty(t)},gamepadpressed:function(t,e){var i=this.gamepad_button_pressed.h[t];return null!=i?i.h.hasOwnProperty(e):!1},gamepadreleased:function(t,e){var i=this.gamepad_button_released.h[t];return null!=i?i.h.hasOwnProperty(e):!1},gamepaddown:function(t,e){var i=this.gamepad_button_down.h[t];return null!=i?i.h.hasOwnProperty(e):!1},gamepadaxis:function(t,e){var i=this.gamepad_axis_values.h[t];return null!=i&&i.h.hasOwnProperty(e)?i.h[e]:0},dispatch_key_down_event:function(t,e,i,s,n,r){i||(this.key_code_pressed.h[t]=!1,this.key_code_down.h[t]=!0,this.scan_code_pressed.h[e]=!1,this.scan_code_down.h[e]=!0),this.key_event.set(1,t,e,i,s),this.event.set_key(this.key_event,r,n),this.app.dispatch_input_event(this.event),this.app.host.onkeydown(t,e,i,s,n,r)},dispatch_key_up_event:function(t,e,i,s,n,r){this.key_code_released.h[t]=!1,this.key_code_down.remove(t),this.scan_code_released.h[e]=!1,this.scan_code_down.remove(e),this.key_event.set(2,t,e,i,s),this.event.set_key(this.key_event,r,n),this.app.dispatch_input_event(this.event),this.app.host.onkeyup(t,e,i,s,n,r)},dispatch_text_event:function(t,e,i,s,n,r){this.text_event.set(s,t,e,i),this.event.set_text(this.text_event,r,n),this.app.dispatch_input_event(this.event),this.app.host.ontextinput(t,e,i,s,n,r)},dispatch_mouse_move_event:function(t,e,i,s,n,r){this.mouse_event.set(1,t,e,i,s,0,0,0),this.event.set_mouse(this.mouse_event,r,n),this.app.dispatch_input_event(this.event),this.app.host.onmousemove(t,e,i,s,n,r)},dispatch_mouse_down_event:function(t,e,i,s,n){this.mouse_button_pressed.h[i]=!1,this.mouse_button_down.h[i]=!0,this.mouse_event.set(2,t,e,0,0,i,0,0),this.event.set_mouse(this.mouse_event,n,s),this.app.dispatch_input_event(this.event),this.app.host.onmousedown(t,e,i,s,n)},dispatch_mouse_up_event:function(t,e,i,s,n){this.mouse_button_released.h[i]=!1,this.mouse_button_down.remove(i),this.mouse_event.set(3,t,e,0,0,i,0,0),this.event.set_mouse(this.mouse_event,n,s),this.app.dispatch_input_event(this.event),this.app.host.onmouseup(t,e,i,s,n)},dispatch_mouse_wheel_event:function(t,e,i,s){this.mouse_event.set(4,0,0,0,0,0,t,e),this.event.set_mouse(this.mouse_event,s,i),this.app.dispatch_input_event(this.event),this.app.host.onmousewheel(t,e,i,s)},dispatch_touch_down_event:function(t,e,i,s,n,r){this.touches_down.h.hasOwnProperty(n)||(this.touch_count++,this.touches_down.h[n]=!0),this.touch_event.set(2,n,t,e,i,s),this.event.set_touch(this.touch_event,r),this.app.dispatch_input_event(this.event),this.app.host.ontouchdown(t,e,i,s,n,r)},dispatch_touch_up_event:function(t,e,i,s,n,r){this.touch_event.set(3,n,t,e,i,s),this.event.set_touch(this.touch_event,r),this.app.dispatch_input_event(this.event),this.app.host.ontouchup(t,e,i,s,n,r),this.touches_down.remove(n)&&this.touch_count--},dispatch_touch_move_event:function(t,e,i,s,n,r){this.touch_event.set(1,n,t,e,i,s),this.event.set_touch(this.touch_event,r),this.app.dispatch_input_event(this.event),this.app.host.ontouchmove(t,e,i,s,n,r)},dispatch_gamepad_axis_event:function(t,e,i,s){if(!this.gamepad_axis_values.h.hasOwnProperty(t))throw new li(Jr.assertion("gamepad_axis_values.exists(gamepad)"+(" ( "+("gamepad with id "+t+" not pre-inited? Is gamepad_init_count too low, or the gamepad id not sequential from 0?")+" )")));var n=this.gamepad_axis_values.h[t];n.set(e,i),this.gamepad_event.set_axis(t,e,i),this.event.set_gamepad(this.gamepad_event,s),this.app.dispatch_input_event(this.event),this.app.host.ongamepadaxis(t,e,i,s)},dispatch_gamepad_button_down_event:function(t,e,i,s){if(!this.gamepad_button_pressed.h.hasOwnProperty(t))throw new li(Jr.assertion("gamepad_button_pressed.exists(gamepad)"+(" ( "+("gamepad with id "+t+" not pre-inited? Is gamepad_init_count too low, or the gamepad id not sequential from 0?")+" )")));if(!this.gamepad_button_down.h.hasOwnProperty(t))throw new li(Jr.assertion("gamepad_button_down.exists(gamepad)"+(" ( "+("gamepad with id "+t+" not pre-inited? Is gamepad_init_count too low, or the gamepad id not sequential from 0?")+" )")));var n=this.gamepad_button_pressed.h[t];n.set(e,!1);var r=this.gamepad_button_down.h[t];r.set(e,!0),this.gamepad_event.set_button(2,t,e,i),this.event.set_gamepad(this.gamepad_event,s),this.app.dispatch_input_event(this.event),this.app.host.ongamepaddown(t,e,i,s)},dispatch_gamepad_button_up_event:function(t,e,i,s){if(!this.gamepad_button_released.h.hasOwnProperty(t))throw new li(Jr.assertion("gamepad_button_released.exists(gamepad)"+(" ( "+("gamepad with id "+t+" not pre-inited? Is gamepad_init_count too low, or the gamepad id not sequential from 0?")+" )")));if(!this.gamepad_button_down.h.hasOwnProperty(t))throw new li(Jr.assertion("gamepad_button_down.exists(gamepad)"+(" ( "+("gamepad with id "+t+" not pre-inited? Is gamepad_init_count too low, or the gamepad id not sequential from 0?")+" )")));var n=this.gamepad_button_released.h[t];n.set(e,!1);var r=this.gamepad_button_down.h[t];r.remove(e),this.gamepad_event.set_button(3,t,e,i),this.event.set_gamepad(this.gamepad_event,s),this.app.dispatch_input_event(this.event),this.app.host.ongamepadup(t,e,i,s)},dispatch_gamepad_device_event:function(t,e,i,s){this.gamepad_event.set_device(t,e,i),this.event.set_gamepad(this.gamepad_event,s),this.app.dispatch_input_event(this.event),this.app.host.ongamepaddevice(t,e,i,s)},onevent:function(t){3==t.type&&(this._update_keystate(),this._update_gamepadstate(),this._update_mousestate())},_update_mousestate:function(){for(var t=this.mouse_button_pressed.keys();t.hasNext();){var e=t.next();this.mouse_button_pressed.h[e]?this.mouse_button_pressed.remove(e):this.mouse_button_pressed.h[e]=!0}for(var i=this.mouse_button_released.keys();i.hasNext();){var s=i.next();this.mouse_button_released.h[s]?this.mouse_button_released.remove(s):this.mouse_button_released.h[s]=!0}},_update_gamepadstate:function(){},_update_keystate:function(){for(var t=this.key_code_pressed.keys();t.hasNext();){var e=t.next();this.key_code_pressed.h[e]?this.key_code_pressed.remove(e):this.key_code_pressed.h[e]=!0}for(var i=this.key_code_released.keys();i.hasNext();){var s=i.next();this.key_code_released.h[s]?this.key_code_released.remove(s):this.key_code_released.h[s]=!0}for(var n=this.scan_code_pressed.keys();n.hasNext();){var r=n.next();this.scan_code_pressed.h[r]?this.scan_code_pressed.remove(r):this.scan_code_pressed.h[r]=!0}for(var o=this.scan_code_released.keys();o.hasNext();){var a=o.next();this.scan_code_released.h[a]?this.scan_code_released.remove(a):this.scan_code_released.h[a]=!0}},key_code_down:null,key_code_pressed:null,key_code_released:null,scan_code_down:null,scan_code_pressed:null,scan_code_released:null,mouse_button_down:null,mouse_button_pressed:null,mouse_button_released:null,gamepad_button_down:null,gamepad_button_pressed:null,gamepad_button_released:null,gamepad_axis_values:null,touch_count:null,touches_down:null,__class__:vo};var yo=function(){};r["snow.systems.input.Scancodes"]=yo,yo.__name__=["snow","systems","input","Scancodes"],yo.$name=function(t){var e=null;return t>=0&&ti;){var n=i++;e[n]=t(this[n])}return e}),null==Array.prototype.filter&&(Array.prototype.filter=function(t){for(var e=[],i=0,s=this.length;s>i;){var n=i++,r=this[n];t(r)&&e.push(r)}return e}),je.content=[{name:"default.frag.textured.gl3.glsl",data:"I3ZlcnNpb24gMzMwIGNvcmUKCnVuaWZvcm0gc2FtcGxlcjJEIHRleDA7CmluIHZlYzIgdGNvb3JkOwppbiB2ZWM0IGNvbG9yOwpvdXQgdmVjNCBmcmFnOwoKdm9pZCBtYWluKCkgewogICAgdmVjNCB0ZXhjb2xvciA9IHRleHR1cmUodGV4MCwgdGNvb3JkKTsKICAgIGZyYWcgPSBjb2xvciAqIHRleGNvbG9yOwp9"},{name:"localization",data:"WwogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAibG9jYWxlIiwKICAgICAgICAiZW4iOiAiZW5nbGlzaCIsCiAgICAgICAgImRvbmUiOiB0cnVlLAogICAgICAgICJ3b3JkY291bnQiOiAiIiwKICAgICAgICAibm90ZXMiOiAiIiwKICAgICAgICAiZm9udCI6ICJwbl9zb2Z0IiwKICAgICAgICAiZGUiOiAiZGV1dHNjaCIsCiAgICAgICAgImZyIjogImZyYW7Dp2FpcyIsCiAgICAgICAgIml0IjogIml0YWxpYW5vIiwKICAgICAgICAiamEiOiAi5pel5pys6KqeIgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogImRpZ2l0X2dyb3VwaW5nIiwKICAgICAgICAiZW4iOiAiLDMiLAogICAgICAgICJkb25lIjogdHJ1ZSwKICAgICAgICAid29yZGNvdW50IjogIiIsCiAgICAgICAgIm5vdGVzIjogImludGVnZXIgZm9ybWF0dGluZyBydWxlIiwKICAgICAgICAiZm9udCI6ICJoZWFkaW5nLGhlYWRpbmdfaXRhbGljLHBuX3NvZnQscG5faXRhbGljLGJvZHkiLAogICAgICAgICJkZSI6ICJwMyIsCiAgICAgICAgImZyIjogInMzIiwKICAgICAgICAiaXQiOiAicDMiLAogICAgICAgICJqYSI6ICIsMyIKICAgIH0sCiAgICB7CiAgICAgICAgInN0cmluZ19pZCI6ICJtZW51LnRpdGxlIiwKICAgICAgICAiZW4iOiAiVE9QU09JTCIsCiAgICAgICAgImRvbmUiOiBmYWxzZSwKICAgICAgICAid29yZGNvdW50IjogMSwKICAgICAgICAibm90ZXMiOiAibm90IGxvY2FsaXplZCEiLAogICAgICAgICJmb250IjogImhlYWRpbmciLAogICAgICAgICJkZSI6ICIiLAogICAgICAgICJmciI6ICIiLAogICAgICAgICJpdCI6ICIiLAogICAgICAgICJqYSI6ICIiCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAibWVudS5uaWNvX3ByaW5zIiwKICAgICAgICAiZW4iOiAiTklDTyBQUklOUyIsCiAgICAgICAgImRvbmUiOiBmYWxzZSwKICAgICAgICAid29yZGNvdW50IjogMiwKICAgICAgICAibm90ZXMiOiAibm90IGxvY2FsaXplZCEiLAogICAgICAgICJmb250IjogImhlYWRpbmciLAogICAgICAgICJkZSI6ICIiLAogICAgICAgICJmciI6ICIiLAogICAgICAgICJpdCI6ICIiLAogICAgICAgICJqYSI6ICIiCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAibWVudS5lbGlzZV9rYXRlcyIsCiAgICAgICAgImVuIjogIkVMSVNFIEtBVEVTIiwKICAgICAgICAiZG9uZSI6IGZhbHNlLAogICAgICAgICJ3b3JkY291bnQiOiAyLAogICAgICAgICJub3RlcyI6ICJub3QgbG9jYWxpemVkISIsCiAgICAgICAgImZvbnQiOiAiaGVhZGluZyIsCiAgICAgICAgImRlIjogIiIsCiAgICAgICAgImZyIjogIiIsCiAgICAgICAgIml0IjogIiIsCiAgICAgICAgImphIjogIiIKICAgIH0sCiAgICB7CiAgICAgICAgInN0cmluZ19pZCI6ICJzdG9yZS5kZXNjcmlwdGlvbi5zaG9ydCIsCiAgICAgICAgImVuIjogIkdyb3cgcGxhbnRzIGFuZCB3b3JrIHlvdXIgZ2FyZGVuJ3Mgc29pbC4iLAogICAgICAgICJkb25lIjogdHJ1ZSwKICAgICAgICAid29yZGNvdW50IjogIiIsCiAgICAgICAgIm5vdGVzIjogIjgwIGNoYXJhY3RlcnMgbWF4LCAxIHNlbnRlbmNlIGRlc2NyaXB0aW9uIiwKICAgICAgICAiZm9udCI6ICIiLAogICAgICAgICJkZSI6ICJMYXNzIFBmbGFuemVuIGluIGRlaW5lbSBHYXJ0ZW4gc3ByaWXDn2VuLiIsCiAgICAgICAgImZyIjogIkZhaXRlcyBwb3Vzc2VyIGRlcyBwbGFudGVzIGV0IHRyYXZhaWxsZXogbGEgdGVycmUgZGUgdm90cmUgamFyZGluLiIsCiAgICAgICAgIml0IjogIkNvbHRpdmEgbGUgcGlhbnRlIGUgbGF2b3JhIGlsIHRlcnJlbm8gZGVsIGdpYXJkaW5vIiwKICAgICAgICAiamEiOiAi5qSN54mp44KS6IKy44Gm44Gm5bqt44KS6ICV44Gd44GG44CCIgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogInN0b3JlLmRlc2NyaXB0aW9uLmxvbmciLAogICAgICAgICJlbiI6ICJUb3Bzb2lsIGlzIGFuIG9yaWdpbmFsIHB1enpsZSBnYW1lIHdoZXJlIHlvdSBncm93IHBsYW50cyBhbmQgd29yayB5b3VyIGdhcmRlbidzIHNvaWwuXG5cbkluIFRvcHNvaWwsIHlvdXIgZ29hbCBpcyB0byBoYXJ2ZXN0IHRoZSBtb3N0IHBsYW50cyB5b3UgY2FuISBZb3UgZ3JvdyB5b3VyIGdhcmRlbiBieSBwbGFjaW5nIG1hdGNoaW5nIHBsYW50cyBpbnRvIHRoZSBzYW1lIHNvaWwgYW5kIGhhcnZlc3RpbmcgdGhlbSB0b2dldGhlci4gVGhlIG1vcmUgcGxhbnRzIHlvdSBoYXJ2ZXN0IGF0IG9uY2UsIHRoZSBtb3JlIHBvaW50cyB5b3UgZWFybi4gQnV0IGRvbid0IGxldCB5b3VyIGdhcmRlbiBmaWxsIHVwIOKAlCB0aGF0J3MgZ2FtZSBvdmVyLiBLZWVwIHlvdXIgc29pbCBpbiBnb29kIHNoYXBlLCBhbmQgeW91J2xsIGRpc2NvdmVyIHNlZWRzLCB0cmVlcyBhbmQgZnJpZW5kbHkgYmlyZHMgYWxvbmcgdGhlIHdheS4iLAogICAgICAgICJkb25lIjogdHJ1ZSwKICAgICAgICAid29yZGNvdW50IjogIiIsCiAgICAgICAgIm5vdGVzIjogIjEgcGFyYWdyYXBoIGdhbWUgZGVzY3JpcHRpb24iLAogICAgICAgICJmb250IjogIiIsCiAgICAgICAgImRlIjogIlRvcHNvaWwgaXN0IGVpbiBuZXVhcnRpZ2VzIFB1enpsZXNwaWVsLCBpbiBkZW0gZHUgUGZsYW56ZW4gaW4gZGVpbmVtIEdhcnRlbiBzcHJpZcOfZW4gbMOkc3N0LlxuIFxuIERlaW4gWmllbCBpc3QgZXMsIHNvIHZpZWxlIFBmbGFuemVuIHdpZSBtw7ZnbGljaCB6dSBlcm50ZW4hIExhc3NlIGRlaW5lbiBHYXJ0ZW4gd2FjaHNlbiwgaW5kZW0gZHUgZ2xlaWNoZSBQZmxhbnplbiBuZWJlbmVpbmFuZGVyIGluIGRlciBnbGVpY2hlbiBNdXR0ZXJlcmRlIHBsYXR6aWVyc3QgdW5kIHNpZSBkYW5uIGVybnRlc3QuIEplIG1laHIgUGZsYW56ZW4gZHUgYXVmIGVpbm1hbCBhYmVybnRlbiBrYW5uc3QsIGRlc3RvIG1laHIgUHVua3RlIGJyaW5nZW4gc2llIGVpbi4gQWJlciBWb3JzaWNodDogV2VubiBkZWluIEdhcnRlbiB2b2xsIGlzdCwgaXN0IGRhcyBTcGllbCB2ZXJsb3Jlbi4gS8O8bW1lcmUgZGljaCBndXQgdW0gZGVpbmUgRXJkZSB1bmQgZW50ZGVja2UgbmV1ZSBTYW1lbiwgQsOkdW1lIHVuZCBzb2dhciBWw7ZnZWwuIiwKICAgICAgICAiZnIiOiAiVG9wc29pbCBlc3QgdW4gY2Fzc2UtdMOqdGUgb3JpZ2luYWwgcXVpIGNvbnNpc3RlIMOgIGZhaXJlIHBvdXNzZXIgZGVzIHBsYW50ZXMgZXQgdHJhdmFpbGxlciBsYSB0ZXJyZSBkZSB2b3RyZSBqYXJkaW4uXG4gXG4gVm90cmUgb2JqZWN0aWYgPyBSw6ljb2x0ZXIgbGUgcGx1cyBkZSBwbGFudGVzIHBvc3NpYmxlLiBQb3VyIGNlbGEsIHZvdXMgZGV2ZXogcGxhY2VyIGRlcyBwbGFudGVzIGlkZW50aXF1ZXMgZGFucyBsYSBtw6ptZSBjb3VjaGUgZGUgc29sIHBvdXIgcG91dm9pciBlbnN1aXRlIGxlcyByw6ljb2x0ZXIgZW5zZW1ibGUuIFBsdXMgdm91cyByw6ljb2x0ZXogZGUgcGxhbnRlcyBlbiB1biBzZXVsIGNvdXAsIHBsdXMgdm91cyBnYWduZXogZGUgcG9pbnRzLiBNYWlzIGF0dGVudGlvbiA6IG5lIGxhaXNzZXogcGFzIHZvdHJlIGphcmRpbiBzZSByZW1wbGlyIG91IHZvdXMgcGVyZHJleiBsYSBwYXJ0aWUgISBFbiB2b3VzIG9jY3VwYW50IGJpZW4gZGUgdm90cmUgdGVycmUsIHZvdXMgZMOpY291dnJpcmV6IGF1IGZ1ciBldCDDoCBtZXN1cmUgZGVzIG9pc2VhdXgsIGRlcyBncmFpbmVzIGV0IGRlcyBhcmJyZXMuIiwKICAgICAgICAiaXQiOiAiVG9wc29pbCDDqCB1biBwdXp6bGUgZ2FtZSBvcmlnaW5hbGUgaW4gY3VpIGNvbHRpdmkgcGlhbnRlIGUgbGF2b3JpIGlsIHRlcnJlbm8gZGVsIGdpYXJkaW5vLlxuIFxuIEluIFRvcHNvaWwsIGlsIHR1byBvYmlldHRpdm8gw6ggcmFjY29nbGllcmUgcGnDuSBwaWFudGUgY2hlIHB1b2khIFBlciBmYXIgY3Jlc2NlcmUgaWwgdHVvIGdpYXJkaW5vLCBwb3NpemlvbmEgcGlhbnRlIHVndWFsaSBzdWxsbyBzdGVzc28gdGVycmVubyBlIHJhY2NvZ2xpbGUgaW5zaWVtZS4gUGnDuSBwaWFudGUgcmFjY29nbGkgbmVsbG8gc3Rlc3NvIG1vbWVudG8sIHBpw7kgcHVudGkgZ3VhZGFnbmksIG1hIGZhaSBhdHRlbnppb25lIGEgbm9uIHJpZW1waXJlIGlsIGdpYXJkaW5vIG8gbGEgcGFydGl0YSB0ZXJtaW5lcsOgLiBUaWVuaSBpbCB0ZXJyZW5vIGluIGJ1b25vIHN0YXRvIGUgc2NvcHJpcmFpIHNlbWksIGFsYmVyaSBlIGFtaWNpIHBlbm51dGkuIiwKICAgICAgICAiamEiOiAiVG9wc29pbOOBr+OAgeakjeeJqeOCkuiCsuOBpuOBpuW6reOCkuiAleOBmeOCquODvOOCrOODi+ODg+OCr+OBquODkeOCuuODq+OCsuODvOODoOOBp+OBmeOAglxuXG7jgrLjg7zjg6Djga7nm67mqJnjga/jgIHjgarjgovjgbnjgY/jgZ/jgY/jgZXjgpPmpI3nianjgpLlj47nqavjgZnjgovjgZPjgajvvIHjgYLjgarjgZ/jga7luq3jga/jgIHlkIzjgZjlnJ/jgavnm7jmgKfjga7jgYTjgYTmpI3nianjgpLkuKbjgbnjgIHjgb7jgajjgoHjgablj47nqavjgZnjgovjgZPjgajjgaflpKfjgY3jgY/jgarjgaPjgabjgYTjgY3jgb7jgZnjgILmpI3nianjgpIx5bqm44Gr5aSa44GP5Y+O56mr44GZ44KL44G744Gp44CB44Gf44GP44GV44KT44Gu44Od44Kk44Oz44OI44KS44Ky44OD44OI77yB44Gn44KC44CB5bqt44GM44GE44Gj44Gx44GE44Gr44Gq44KL44Go44Ky44O844Og44Kq44O844OQ44O844Gq44Gu44Gn6KaB5rOo5oSP44CC5Zyf44Gu5b2i44Gr44KC5rOo5oSP44GX44Gm44OX44Os44Kk44GZ44KM44Gw44CB6Imy44CF44Gq56iu44KE5qi544CB5YSq44GX44GE6bOl44Go44Gu5Ye65Lya44GE44GM5b6F44Gj44Gm44GE44G+44GZ44CCIgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogInN0b3JlLnNjcmVlbnNob3QuMSIsCiAgICAgICAgImVuIjogIkdST1cgUExBTlRTIiwKICAgICAgICAiZG9uZSI6IHRydWUsCiAgICAgICAgIndvcmRjb3VudCI6ICIiLAogICAgICAgICJub3RlcyI6ICJhbGwgY2FwcywgdXNlZCBhcyBzdWJ0aXRsZXMgZm9yIHNjcmVlbnNob3RzIiwKICAgICAgICAiZm9udCI6ICIiLAogICAgICAgICJkZSI6ICJMQVNTIFBGTEFOWkVOIFNQUklFU1NFTiIsCiAgICAgICAgImZyIjogIkZBSVRFUyBQT1VTU0VSIERFUyBQTEFOVEVTIiwKICAgICAgICAiaXQiOiAiQ09MVElWQSBMRSBQSUFOVEUiLAogICAgICAgICJqYSI6ICLmpI3nianjgpLogrLjgabjgaYiCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAic3RvcmUuc2NyZWVuc2hvdC4yIiwKICAgICAgICAiZW4iOiAiV09SSyBUSEUgU09JTCIsCiAgICAgICAgImRvbmUiOiB0cnVlLAogICAgICAgICJ3b3JkY291bnQiOiAiIiwKICAgICAgICAibm90ZXMiOiAiIiwKICAgICAgICAiZm9udCI6ICIiLAogICAgICAgICJkZSI6ICJCRUFSQkVJVEUgREVOIEJPREVOIiwKICAgICAgICAiZnIiOiAiVFJBVkFJTExFWiBMQSBURVJSRSIsCiAgICAgICAgIml0IjogIkxBVk9SQSBJTCBURVJSRU5PIiwKICAgICAgICAiamEiOiAi5Zyf44KS6ICV44Gd44GGIgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogInN0b3JlLnNjcmVlbnNob3QuMyIsCiAgICAgICAgImVuIjogIkNPTExFQ1QgQklSRFMiLAogICAgICAgICJkb25lIjogdHJ1ZSwKICAgICAgICAid29yZGNvdW50IjogIiIsCiAgICAgICAgIm5vdGVzIjogIiIsCiAgICAgICAgImZvbnQiOiAiIiwKICAgICAgICAiZGUiOiAiU0FNTUxFIFbDlkdFTCIsCiAgICAgICAgImZyIjogIlRST1VWRVogREVTIE9JU0VBVVgiLAogICAgICAgICJpdCI6ICJDT0xMRVpJT05BIFVDQ0VMTEkiLAogICAgICAgICJqYSI6ICLps6XjgpLpm4bjgoHjgojjgYYiCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAic3RvcmUuc2NyZWVuc2hvdC40IiwKICAgICAgICAiZW4iOiAiRElTQ09WRVIgU0VFRFMiLAogICAgICAgICJkb25lIjogdHJ1ZSwKICAgICAgICAid29yZGNvdW50IjogIiIsCiAgICAgICAgIm5vdGVzIjogIiIsCiAgICAgICAgImZvbnQiOiAiIiwKICAgICAgICAiZGUiOiAiRU5UREVDS0UgU0FNRU4iLAogICAgICAgICJmciI6ICJEw4lDT1VWUkVaIERFUyBHUkFJTkVTIiwKICAgICAgICAiaXQiOiAiU0NPUFJJIEkgU0VNSSIsCiAgICAgICAgImphIjogIueoruOCkueZuuimiyIKICAgIH0sCiAgICB7CiAgICAgICAgInN0cmluZ19pZCI6ICJzdG9yZS5zY3JlZW5zaG90LjUiLAogICAgICAgICJlbiI6ICJNQVNURVIgWU9VUiBHQVJERU4iLAogICAgICAgICJkb25lIjogdHJ1ZSwKICAgICAgICAid29yZGNvdW50IjogIiIsCiAgICAgICAgIm5vdGVzIjogIiIsCiAgICAgICAgImZvbnQiOiAiIiwKICAgICAgICAiZGUiOiAiV0VSREUgRUlOIE1FSVNURVJHw4RSVE5FUiIsCiAgICAgICAgImZyIjogIk9SR0FOSVNFWiBWT1RSRSBKQVJESU4iLAogICAgICAgICJpdCI6ICJESVZFTlRBIFVOIFBPTExJQ0UgVkVSREUiLAogICAgICAgICJqYSI6ICLosYrjgYvjgarluq3jgpLpgKDjgorjgb7jgZfjgofjgYYiCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAiaWFwLmRlc2NyaXB0aW9uIiwKICAgICAgICAiZW4iOiAiUGxheSBmb3JldmVyIHdpdGhvdXQgYWRzISIsCiAgICAgICAgImRvbmUiOiB0cnVlLAogICAgICAgICJ3b3JkY291bnQiOiAiIiwKICAgICAgICAibm90ZXMiOiAiIiwKICAgICAgICAiZm9udCI6ICIiLAogICAgICAgICJkZSI6ICJTcGllbGUgb2huZSBXZXJidW5nISIsCiAgICAgICAgImZyIjogIkpvdWV6IHNhbnMgYXVjdW5lIHB1YmxpY2l0w6kgISIsCiAgICAgICAgIml0IjogIlBhcnRpdGUgaW5maW5pdGUgc2VuemEgc3BvdCEiLAogICAgICAgICJqYSI6ICLluoPlkYrjgarjgZfjgaflpb3jgY3jgarjgaDjgZHjg5fjg6zjgqTvvIEiCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAic3RvcmUuaGlnaF9zY29yZSIsCiAgICAgICAgImVuIjogIkhpZ2ggc2NvcmUiLAogICAgICAgICJkb25lIjogdHJ1ZSwKICAgICAgICAid29yZGNvdW50IjogIiIsCiAgICAgICAgIm5vdGVzIjogIiIsCiAgICAgICAgImZvbnQiOiAiIiwKICAgICAgICAiZGUiOiAiSMO2Y2hzdHB1bmt0emFobCIsCiAgICAgICAgImZyIjogIk1laWxsZXVyIHNjb3JlIiwKICAgICAgICAiaXQiOiAiUmVjb3JkIGRpIHB1bnRpIiwKICAgICAgICAiamEiOiAi44OP44Kk44K544Kz44KiIgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogIm1lbnUuZ2FtZV9vdmVyIiwKICAgICAgICAiZW4iOiAiR0FNRSBPVkVSIiwKICAgICAgICAiZG9uZSI6IHRydWUsCiAgICAgICAgIndvcmRjb3VudCI6ICIiLAogICAgICAgICJub3RlcyI6ICJhbGwgY2FwcyIsCiAgICAgICAgImZvbnQiOiAiaGVhZGluZyIsCiAgICAgICAgImRlIjogIlNQSUVMIFZFUkxPUkVOIiwKICAgICAgICAiZnIiOiAiUEVSRFUgISIsCiAgICAgICAgIml0IjogIkdBTUUgT1ZFUiIsCiAgICAgICAgImphIjogIuOCsuODvOODoOOCquODvOODkOODvCIKICAgIH0sCiAgICB7CiAgICAgICAgInN0cmluZ19pZCI6ICJtZW51LnN1Y2Nlc3MiLAogICAgICAgICJlbiI6ICJTVUNDRVNTIiwKICAgICAgICAiZG9uZSI6IHRydWUsCiAgICAgICAgIndvcmRjb3VudCI6ICIiLAogICAgICAgICJub3RlcyI6ICJoZWFkaW5nIHVzZWQgdG8gY29uZmlybSBwdXJjaGFzZSIsCiAgICAgICAgImZvbnQiOiAiaGVhZGluZyIsCiAgICAgICAgImRlIjogIkVSRk9MRyEiLAogICAgICAgICJmciI6ICJBQ0hBVCBFRkZFQ1RVw4kiLAogICAgICAgICJpdCI6ICJBQ1FVSVNUTyBSSVVTQ0lUTyIsCiAgICAgICAgImphIjogIuizvOWFpeWujOS6hiIKICAgIH0sCiAgICB7CiAgICAgICAgInN0cmluZ19pZCI6ICJtZW51Lm5vX3Nwb25zb3JzIiwKICAgICAgICAiZW4iOiAiTk8gU1BPTlNPUlMiLAogICAgICAgICJkb25lIjogdHJ1ZSwKICAgICAgICAid29yZGNvdW50IjogIiIsCiAgICAgICAgIm5vdGVzIjogImhlYWRpbmcgd2hlbiBubyBhZCBzcG9uc29ycyBhcmUgYXZhaWxhYmxlIHRvIHNob3cgYW4gYWQiLAogICAgICAgICJmb250IjogImhlYWRpbmciLAogICAgICAgICJkZSI6ICJLRUlORSBTUE9OU09SRU4iLAogICAgICAgICJmciI6ICJBVUNVTkUgUFVCTElDSVTDiSBESVNQT05JQkxFIiwKICAgICAgICAiaXQiOiAiTkVTU1VOTyBTUE9OU09SIiwKICAgICAgICAiamEiOiAi5bqD5ZGK44GM44GC44KK44G+44Gb44KTIgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogIm1lbnUuc3VidGl0bGUiLAogICAgICAgICJlbiI6ICJhIGdhcmRlbiBwdXp6bGUiLAogICAgICAgICJkb25lIjogdHJ1ZSwKICAgICAgICAid29yZGNvdW50IjogIiIsCiAgICAgICAgIm5vdGVzIjogImdhbWUgc3VidGl0bGUiLAogICAgICAgICJmb250IjogImhlYWRpbmdfaXRhbGljIiwKICAgICAgICAiZGUiOiAiYSBnYXJkZW4gcHV6emxlIiwKICAgICAgICAiZnIiOiAiYSBnYXJkZW4gcHV6emxlIiwKICAgICAgICAiaXQiOiAiYSBnYXJkZW4gcHV6emxlIiwKICAgICAgICAiamEiOiAiYSBnYXJkZW4gcHV6emxlIgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogIm1lbnUudmVyc2lvbiIsCiAgICAgICAgImVuIjogInZlcnNpb24iLAogICAgICAgICJkb25lIjogdHJ1ZSwKICAgICAgICAid29yZGNvdW50IjogIiIsCiAgICAgICAgIm5vdGVzIjogImxvd2VyY2FzZSBwcmVmaXggZm9yIFwidmVyc2lvbiAxLjAuMFwiIiwKICAgICAgICAiZm9udCI6ICJoZWFkaW5nX2l0YWxpYyIsCiAgICAgICAgImRlIjogIlZlcnNpb24iLAogICAgICAgICJmciI6ICJ2ZXJzaW9uIiwKICAgICAgICAiaXQiOiAidmVyc2lvbmUiLAogICAgICAgICJqYSI6ICJ2ZXJzaW9uIgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogIm1lbnUuY3JlYXRlZF9ieSIsCiAgICAgICAgImVuIjogImNyZWF0ZWQgYnkiLAogICAgICAgICJkb25lIjogdHJ1ZSwKICAgICAgICAid29yZGNvdW50IjogIiIsCiAgICAgICAgIm5vdGVzIjogImxvd2VyY2FzZSIsCiAgICAgICAgImZvbnQiOiAiaGVhZGluZ19pdGFsaWMiLAogICAgICAgICJkZSI6ICJlbnR3aWNrZWx0IHZvbiIsCiAgICAgICAgImZyIjogImNvbmNlcHRpb24iLAogICAgICAgICJpdCI6ICJjcmVhdG8gZGEiLAogICAgICAgICJqYSI6ICLliLbkvZwiCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAibWVudS5hdWRpb19ieSIsCiAgICAgICAgImVuIjogImF1ZGlvIGJ5IiwKICAgICAgICAiZG9uZSI6IHRydWUsCiAgICAgICAgIndvcmRjb3VudCI6ICIiLAogICAgICAgICJub3RlcyI6ICJsb3dlcmNhc2UiLAogICAgICAgICJmb250IjogImhlYWRpbmdfaXRhbGljIiwKICAgICAgICAiZGUiOiAiQXVkaW8gdm9uIiwKICAgICAgICAiZnIiOiAiYXVkaW8iLAogICAgICAgICJpdCI6ICJhdWRpbyBkaSIsCiAgICAgICAgImphIjogIuOCquODvOODh+OCo+OCqiIKICAgIH0sCiAgICB7CiAgICAgICAgInN0cmluZ19pZCI6ICJtZW51LmNvbmZpcm1fcmVzdGFydCIsCiAgICAgICAgImVuIjogIm5ldyBnYW1lPyIsCiAgICAgICAgImRvbmUiOiB0cnVlLAogICAgICAgICJ3b3JkY291bnQiOiAiIiwKICAgICAgICAibm90ZXMiOiAidXNlZCBhcyByZXN0YXJ0IGNvbmZpcm1hdGlvbiBoZWFkaW5nIiwKICAgICAgICAiZm9udCI6ICJoZWFkaW5nX2l0YWxpYyIsCiAgICAgICAgImRlIjogIk5ldWVzIFNwaWVsPyIsCiAgICAgICAgImZyIjogIm5vdXZlbGxlIHBhcnRpZSA/IiwKICAgICAgICAiaXQiOiAibnVvdmEgcGFydGl0YT8iLAogICAgICAgICJqYSI6ICLjga/jgZjjgoHjgYvjgonvvJ8iCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAibWVudS55b3VyX3Njb3JlIiwKICAgICAgICAiZW4iOiAieW91ciBzY29yZSIsCiAgICAgICAgImRvbmUiOiB0cnVlLAogICAgICAgICJ3b3JkY291bnQiOiAiIiwKICAgICAgICAibm90ZXMiOiAibGFiZWwgZm9yIG51bWVyaWMgc2NvcmUsIGUuZy4gNTA5IiwKICAgICAgICAiZm9udCI6ICJoZWFkaW5nX2l0YWxpYyIsCiAgICAgICAgImRlIjogImRlaW5lIFB1bmt0emFobCIsCiAgICAgICAgImZyIjogInZvdHJlIHNjb3JlIiwKICAgICAgICAiaXQiOiAicHVudGVnZ2lvIiwKICAgICAgICAiamEiOiAi44K544Kz44KiIgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogIm1lbnUubmV3X2Jlc3QiLAogICAgICAgICJlbiI6ICJuZXcgYmVzdCIsCiAgICAgICAgImRvbmUiOiB0cnVlLAogICAgICAgICJ3b3JkY291bnQiOiAiIiwKICAgICAgICAibm90ZXMiOiAibG93ZXJjYXNlIiwKICAgICAgICAiZm9udCI6ICJoZWFkaW5nX2l0YWxpYyIsCiAgICAgICAgImRlIjogIm5ldWUgQmVzdHB1bmt0emFobCIsCiAgICAgICAgImZyIjogIm5vdXZlYXUgbWVpbGxldXIgc2NvcmUiLAogICAgICAgICJpdCI6ICJudW92byByZWNvcmQiLAogICAgICAgICJqYSI6ICLmlrDoqJjpjLIiCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAibWVudS5hdmVyYWdlIiwKICAgICAgICAiZW4iOiAiYXZlcmFnZSIsCiAgICAgICAgImRvbmUiOiB0cnVlLAogICAgICAgICJ3b3JkY291bnQiOiAiIiwKICAgICAgICAibm90ZXMiOiAibG93ZXJjYXNlIiwKICAgICAgICAiZm9udCI6ICJoZWFkaW5nX2l0YWxpYyIsCiAgICAgICAgImRlIjogIkR1cmNoc2Nobml0dCIsCiAgICAgICAgImZyIjogIm1veWVubmUiLAogICAgICAgICJpdCI6ICJtZWRpYSIsCiAgICAgICAgImphIjogIuW5s+WdhyIKICAgIH0sCiAgICB7CiAgICAgICAgInN0cmluZ19pZCI6ICJtZW51LmJlc3Rfc2NvcmUiLAogICAgICAgICJlbiI6ICJiZXN0IHNjb3JlIiwKICAgICAgICAiZG9uZSI6IHRydWUsCiAgICAgICAgIndvcmRjb3VudCI6ICIiLAogICAgICAgICJub3RlcyI6ICJsb3dlcmNhc2UiLAogICAgICAgICJmb250IjogImhlYWRpbmdfaXRhbGljIiwKICAgICAgICAiZGUiOiAiQmVzdHB1bmt0emFobCIsCiAgICAgICAgImZyIjogIm1laWxsZXVyIHNjb3JlIiwKICAgICAgICAiaXQiOiAicmVjb3JkIiwKICAgICAgICAiamEiOiAi44OZ44K544OI44K544Kz44KiIgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogIm1lbnUub2xkX2Jlc3QiLAogICAgICAgICJlbiI6ICJvbGQgYmVzdCIsCiAgICAgICAgImRvbmUiOiB0cnVlLAogICAgICAgICJ3b3JkY291bnQiOiAiIiwKICAgICAgICAibm90ZXMiOiAibG93ZXJjYXNlIiwKICAgICAgICAiZm9udCI6ICJoZWFkaW5nX2l0YWxpYyIsCiAgICAgICAgImRlIjogImFsdGUgQmVzdHB1bmt0emFobCIsCiAgICAgICAgImZyIjogImFuY2llbiBtZWlsbGV1ciBzY29yZSIsCiAgICAgICAgIml0IjogInZlY2NoaW8gcmVjb3JkIiwKICAgICAgICAiamEiOiAi44KC44Go44Gu6KiY6YyyIgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogIm1lbnUudGhhbmtfeW91IiwKICAgICAgICAiZW4iOiAidGhhbmsgeW91ISIsCiAgICAgICAgImRvbmUiOiB0cnVlLAogICAgICAgICJ3b3JkY291bnQiOiAiIiwKICAgICAgICAibm90ZXMiOiAibG93ZXJjYXNlIiwKICAgICAgICAiZm9udCI6ICJoZWFkaW5nX2l0YWxpYyIsCiAgICAgICAgImRlIjogIkRhbmtlISIsCiAgICAgICAgImZyIjogIm1lcmNpICEiLAogICAgICAgICJpdCI6ICJncmF6aWUhIiwKICAgICAgICAiamEiOiAi44GC44KK44GM44Go44GG44GU44GW44GE44G+44GZ77yBIgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogIm1lbnUuY29ubmVjdGluZyIsCiAgICAgICAgImVuIjogImNvbm5lY3RpbmciLAogICAgICAgICJkb25lIjogdHJ1ZSwKICAgICAgICAid29yZGNvdW50IjogIiIsCiAgICAgICAgIm5vdGVzIjogInNob3duIHdoZW4gd2FpdGluZyBmb3IgbmV0d29yayIsCiAgICAgICAgImZvbnQiOiAiaGVhZGluZ19pdGFsaWMiLAogICAgICAgICJkZSI6ICJ2ZXJiaW5kZSAuLi4iLAogICAgICAgICJmciI6ICJjb25uZXhpb24gZW4gY291cnMiLAogICAgICAgICJpdCI6ICJpbiBjb25uZXNzaW9uZSIsCiAgICAgICAgImphIjogIuaOpee2muS4rSIKICAgIH0sCiAgICB7CiAgICAgICAgInN0cmluZ19pZCI6ICJtZW51LnRyeV9hZ2Fpbl9sYXRlciIsCiAgICAgICAgImVuIjogInRyeSBhZ2FpbiBsYXRlciIsCiAgICAgICAgImRvbmUiOiB0cnVlLAogICAgICAgICJ3b3JkY291bnQiOiAiIiwKICAgICAgICAibm90ZXMiOiAibG93ZXJjYXNlIiwKICAgICAgICAiZm9udCI6ICJoZWFkaW5nX2l0YWxpYyIsCiAgICAgICAgImRlIjogInZlcnN1Y2hlIGVzIHNww6R0ZXIgZXJuZXV0IiwKICAgICAgICAiZnIiOiAicsOpZXNzYXlleiBwbHVzIHRhcmQiLAogICAgICAgICJpdCI6ICJyaXByb3ZhIHBpw7kgdGFyZGkiLAogICAgICAgICJqYSI6ICLjgYLjgajjgafjgoTjgornm7TjgZfjgabjgY/jgaDjgZXjgYQiCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAibWVudS5wbHVzX25fcGxheXMiLAogICAgICAgICJlbiI6ICIrIyBwbGF5cyIsCiAgICAgICAgImRvbmUiOiB0cnVlLAogICAgICAgICJ3b3JkY291bnQiOiAiIiwKICAgICAgICAibm90ZXMiOiAicGx1cmFsLCAjIGlzIHJlcGxhY2VkIHdpdGggYSBudW1iZXIgZ3JlYXRlciB0aGFuIDEiLAogICAgICAgICJmb250IjogImhlYWRpbmdfaXRhbGljIiwKICAgICAgICAiZGUiOiAiKyMgU3BpZWxlIiwKICAgICAgICAiZnIiOiAiKyMgcGFydGllcyIsCiAgICAgICAgIml0IjogIisjIHBhcnRpdGUiLAogICAgICAgICJqYSI6ICIrI+ODl+ODrOOCpCIKICAgIH0sCiAgICB7CiAgICAgICAgInN0cmluZ19pZCI6ICJtZW51LmVhcm5fbl9wbGF5cyIsCiAgICAgICAgImVuIjogImVhcm4gIyBwbGF5cyIsCiAgICAgICAgImRvbmUiOiB0cnVlLAogICAgICAgICJ3b3JkY291bnQiOiAiIiwKICAgICAgICAibm90ZXMiOiAicGx1cmFsLCAjIGlzIHJlcGxhY2VkIHdpdGggYSBudW1iZXIgZ3JlYXRlciB0aGFuIDEiLAogICAgICAgICJmb250IjogInBuX2l0YWxpYyIsCiAgICAgICAgImRlIjogInZlcmRpZW5lICMgU3BpZWxlIiwKICAgICAgICAiZnIiOiAiZ2FnbmVyICMgcGFydGllcyIsCiAgICAgICAgIml0IjogIm90dGllbmkgIyBwYXJ0aXRlIiwKICAgICAgICAiamEiOiAiI+ODl+ODrOOCpOeNsuW+lyIKICAgIH0sCiAgICB7CiAgICAgICAgInN0cmluZ19pZCI6ICJtZW51LnVwZ3JhZGVfZm9yX24iLAogICAgICAgICJlbiI6ICJ1cGdyYWRlIGZvciAjIiwKICAgICAgICAiZG9uZSI6IHRydWUsCiAgICAgICAgIndvcmRjb3VudCI6ICIiLAogICAgICAgICJub3RlcyI6ICIjIGlzIHJlcGxhY2VkIHdpdGggbG9jYWxpemVkIGN1cnJlbmN5IHZhbHVlIiwKICAgICAgICAiZm9udCI6ICJwbl9pdGFsaWMiLAogICAgICAgICJkZSI6ICJVcGdyYWRlIGbDvHIgIyIsCiAgICAgICAgImZyIjogImFtw6lsaW9yZXIgcG91ciAjIiwKICAgICAgICAiaXQiOiAidXBncmFkZSBwZXIgIyIsCiAgICAgICAgImphIjogIiPjgafjgqLjg4Pjg5fjgrDjg6zjg7zjg4kiCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAibWVudS51bmxvY2tlZCIsCiAgICAgICAgImVuIjogInVubG9ja2VkIiwKICAgICAgICAiZG9uZSI6IHRydWUsCiAgICAgICAgIndvcmRjb3VudCI6ICIiLAogICAgICAgICJub3RlcyI6ICJ1c2VkIHRvIGluZGljYXRlIHRoYXQgYSBwdXJjaGFzZSBpcyB1bmxvY2tlZCIsCiAgICAgICAgImZvbnQiOiAicG5faXRhbGljLHBuX3NvZnQiLAogICAgICAgICJkZSI6ICJmcmVpZ2VzY2hhbHRldCIsCiAgICAgICAgImZyIjogImTDqXZlcnJvdWlsbMOpIiwKICAgICAgICAiaXQiOiAic2Jsb2NjYXRvIiwKICAgICAgICAiamEiOiAi44Ki44Oz44Ot44OD44KvIgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogIm1lbnUuc2lnbl9pbiIsCiAgICAgICAgImVuIjogInNpZ24gaW4iLAogICAgICAgICJkb25lIjogdHJ1ZSwKICAgICAgICAid29yZGNvdW50IjogIiIsCiAgICAgICAgIm5vdGVzIjogImxvd2VyY2FzZSIsCiAgICAgICAgImZvbnQiOiAicG5fc29mdCIsCiAgICAgICAgImRlIjogImFubWVsZGVuIiwKICAgICAgICAiZnIiOiAiY29ubmV4aW9uIiwKICAgICAgICAiaXQiOiAiYWNjZWRpIiwKICAgICAgICAiamEiOiAi44Ot44Kw44Kk44OzIgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogIm1lbnUuc2lnbl9vdXQiLAogICAgICAgICJlbiI6ICJzaWduIG91dCIsCiAgICAgICAgImRvbmUiOiB0cnVlLAogICAgICAgICJ3b3JkY291bnQiOiAiIiwKICAgICAgICAibm90ZXMiOiAibG93ZXJjYXNlIiwKICAgICAgICAiZm9udCI6ICJwbl9zb2Z0IiwKICAgICAgICAiZGUiOiAiYWJtZWxkZW4iLAogICAgICAgICJmciI6ICJkw6ljb25uZXhpb24iLAogICAgICAgICJpdCI6ICJlc2NpIiwKICAgICAgICAiamEiOiAi44Ot44Kw44Ki44Km44OIIgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogIm1lbnUuY3JlZGl0cyIsCiAgICAgICAgImVuIjogImNyZWRpdHMiLAogICAgICAgICJkb25lIjogdHJ1ZSwKICAgICAgICAid29yZGNvdW50IjogIiIsCiAgICAgICAgIm5vdGVzIjogImNyZWRpdHMgYXMgaW4gYXR0cmlidXRpb24iLAogICAgICAgICJmb250IjogInBuX3NvZnQiLAogICAgICAgICJkZSI6ICJNaXR3aXJrZW5kZSIsCiAgICAgICAgImZyIjogImNyw6lkaXRzIiwKICAgICAgICAiaXQiOiAicmljb25vc2NpbWVudGkiLAogICAgICAgICJqYSI6ICLjgq/jg6zjgrjjg4Pjg4giCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAibWVudS5sYW5ndWFnZSIsCiAgICAgICAgImVuIjogImxhbmd1YWdlIiwKICAgICAgICAiZG9uZSI6IHRydWUsCiAgICAgICAgIndvcmRjb3VudCI6ICIiLAogICAgICAgICJub3RlcyI6ICIiLAogICAgICAgICJmb250IjogInBuX3NvZnQiLAogICAgICAgICJkZSI6ICJTcHJhY2hlIiwKICAgICAgICAiZnIiOiAibGFuZ3VlIiwKICAgICAgICAiaXQiOiAibGluZ3VhIiwKICAgICAgICAiamEiOiAi6KiA6KqeIgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogIm1lbnUub3B0aW9ucyIsCiAgICAgICAgImVuIjogIm9wdGlvbnMiLAogICAgICAgICJkb25lIjogdHJ1ZSwKICAgICAgICAid29yZGNvdW50IjogIiIsCiAgICAgICAgIm5vdGVzIjogIiIsCiAgICAgICAgImZvbnQiOiAicG5fc29mdCIsCiAgICAgICAgImRlIjogIk9wdGlvbmVuIiwKICAgICAgICAiZnIiOiAib3B0aW9ucyIsCiAgICAgICAgIml0IjogIm9wemlvbmkiLAogICAgICAgICJqYSI6ICLjgqrjg5fjgrfjg6fjg7MiCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAibWVudS5iYXR0ZXJ5X3NhdmVyIiwKICAgICAgICAiZW4iOiAiYmF0dGVyeSBzYXZlciIsCiAgICAgICAgImRvbmUiOiB0cnVlLAogICAgICAgICJ3b3JkY291bnQiOiAiIiwKICAgICAgICAibm90ZXMiOiAiIiwKICAgICAgICAiZm9udCI6ICJwbl9zb2Z0IiwKICAgICAgICAiZGUiOiAiRW5lcmdpZXNwYXJtb2R1cyIsCiAgICAgICAgImZyIjogImwnw6ljb25vbWlzZXVyIGRlIGJhdHRlcmllIiwKICAgICAgICAiaXQiOiAicmlzcGFybWlvIGVuZXJnZXRpY28iLAogICAgICAgICJqYSI6ICLjg5Djg4Pjg4bjg6rjg7wg44K744O844OQ44O8IgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogIm1lbnUud3JpdGVfYV9yZXZpZXciLAogICAgICAgICJlbiI6ICJ3cml0ZSBhIHJldmlldyIsCiAgICAgICAgImRvbmUiOiB0cnVlLAogICAgICAgICJ3b3JkY291bnQiOiAiIiwKICAgICAgICAibm90ZXMiOiAiIiwKICAgICAgICAiZm9udCI6ICJwbl9zb2Z0IiwKICAgICAgICAiZGUiOiAiUmV6ZW5zaW9uIHNjaHJlaWJlbiIsCiAgICAgICAgImZyIjogImRvbm5lciB2b3RyZSBhdmlzIiwKICAgICAgICAiaXQiOiAic2NyaXZpIHVuYSByZWNlbnNpb25lIiwKICAgICAgICAiamEiOiAi44Os44OT44Ol44O844KS5pu444GPIgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogIm1lbnUuY2xvc2UiLAogICAgICAgICJlbiI6ICJjbG9zZSIsCiAgICAgICAgImRvbmUiOiB0cnVlLAogICAgICAgICJ3b3JkY291bnQiOiAiIiwKICAgICAgICAibm90ZXMiOiAiIiwKICAgICAgICAiZm9udCI6ICJwbl9zb2Z0IiwKICAgICAgICAiZGUiOiAic2NobGllw59lbiIsCiAgICAgICAgImZyIjogImZlcm1lciIsCiAgICAgICAgIml0IjogImNoaXVkaSIsCiAgICAgICAgImphIjogIumWieOBmOOCiyIKICAgIH0sCiAgICB7CiAgICAgICAgInN0cmluZ19pZCI6ICJtZW51LmNvbnRpbnVlIiwKICAgICAgICAiZW4iOiAiY29udGludWUiLAogICAgICAgICJkb25lIjogdHJ1ZSwKICAgICAgICAid29yZGNvdW50IjogIiIsCiAgICAgICAgIm5vdGVzIjogIiIsCiAgICAgICAgImZvbnQiOiAicG5fc29mdCIsCiAgICAgICAgImRlIjogImZvcnRmYWhyZW4iLAogICAgICAgICJmciI6ICJjb250aW51ZXIiLAogICAgICAgICJpdCI6ICJjb250aW51YSIsCiAgICAgICAgImphIjogIue2muOBkeOCiyIKICAgIH0sCiAgICB7CiAgICAgICAgInN0cmluZ19pZCI6ICJtZW51LmNhbmNlbCIsCiAgICAgICAgImVuIjogImNhbmNlbCIsCiAgICAgICAgImRvbmUiOiB0cnVlLAogICAgICAgICJ3b3JkY291bnQiOiAiIiwKICAgICAgICAibm90ZXMiOiAiIiwKICAgICAgICAiZm9udCI6ICJwbl9zb2Z0IiwKICAgICAgICAiZGUiOiAiYWJicmVjaGVuIiwKICAgICAgICAiZnIiOiAiYW5udWxlciIsCiAgICAgICAgIml0IjogImFubnVsbGEiLAogICAgICAgICJqYSI6ICLjgq3jg6Pjg7Pjgrvjg6siCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAibWVudS5yZXN0YXJ0IiwKICAgICAgICAiZW4iOiAicmVzdGFydCIsCiAgICAgICAgImRvbmUiOiB0cnVlLAogICAgICAgICJ3b3JkY291bnQiOiAiIiwKICAgICAgICAibm90ZXMiOiAiIiwKICAgICAgICAiZm9udCI6ICJwbl9zb2Z0IiwKICAgICAgICAiZGUiOiAiTmV1c3RhcnQiLAogICAgICAgICJmciI6ICJyZWNvbW1lbmNlciIsCiAgICAgICAgIml0IjogInJpY29taW5jaWEiLAogICAgICAgICJqYSI6ICLjg6rjgrnjgr/jg7zjg4giCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAibWVudS50dXRvcmlhbCIsCiAgICAgICAgImVuIjogInR1dG9yaWFsIiwKICAgICAgICAiZG9uZSI6IHRydWUsCiAgICAgICAgIndvcmRjb3VudCI6ICIiLAogICAgICAgICJub3RlcyI6ICIiLAogICAgICAgICJmb250IjogInBuX3NvZnQiLAogICAgICAgICJkZSI6ICJFaW5mw7xocnVuZyIsCiAgICAgICAgImZyIjogImRpZGFjdGljaWVsIiwKICAgICAgICAiaXQiOiAidHV0b3JpYWwiLAogICAgICAgICJqYSI6ICLjg4Hjg6Xjg7zjg4jjg6rjgqLjg6siCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAibWVudS55ZXMiLAogICAgICAgICJlbiI6ICJ5ZXMiLAogICAgICAgICJkb25lIjogdHJ1ZSwKICAgICAgICAid29yZGNvdW50IjogIiIsCiAgICAgICAgIm5vdGVzIjogIiIsCiAgICAgICAgImZvbnQiOiAicG5fc29mdCIsCiAgICAgICAgImRlIjogImphIiwKICAgICAgICAiZnIiOiAib3VpIiwKICAgICAgICAiaXQiOiAic8OsIiwKICAgICAgICAiamEiOiAi44Gv44GEIgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogIm1lbnUubm8iLAogICAgICAgICJlbiI6ICJubyIsCiAgICAgICAgImRvbmUiOiB0cnVlLAogICAgICAgICJ3b3JkY291bnQiOiAiIiwKICAgICAgICAibm90ZXMiOiAiIiwKICAgICAgICAiZm9udCI6ICJwbl9zb2Z0IiwKICAgICAgICAiZGUiOiAibmVpbiIsCiAgICAgICAgImZyIjogIm5vbiIsCiAgICAgICAgIml0IjogIm5vIiwKICAgICAgICAiamEiOiAi44GE44GE44GIIgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogIm1lbnUubl9wbGF5c19sZWZ0IiwKICAgICAgICAiZW4iOiAiIyBwbGF5cyBsZWZ0IiwKICAgICAgICAiZG9uZSI6IHRydWUsCiAgICAgICAgIndvcmRjb3VudCI6ICIiLAogICAgICAgICJub3RlcyI6ICJwbHVyYWwsICMgaXMgcmVwbGFjZWQiLAogICAgICAgICJmb250IjogInBuX3NvZnQiLAogICAgICAgICJkZSI6ICJub2NoICMgU3BpZWxlIiwKICAgICAgICAiZnIiOiAiIyBwYXJ0aWVzIHJlc3RhbnRlcyIsCiAgICAgICAgIml0IjogIiMgcGFydGl0ZSByaW1hc3RlIiwKICAgICAgICAiamEiOiAi5q6L44KKI+ODl+ODrOOCpCIKICAgIH0sCiAgICB7CiAgICAgICAgInN0cmluZ19pZCI6ICJtZW51LjFfcGxheV9sZWZ0IiwKICAgICAgICAiZW4iOiAiMSBwbGF5IGxlZnQiLAogICAgICAgICJkb25lIjogdHJ1ZSwKICAgICAgICAid29yZGNvdW50IjogIiIsCiAgICAgICAgIm5vdGVzIjogIiIsCiAgICAgICAgImZvbnQiOiAicG5fc29mdCIsCiAgICAgICAgImRlIjogIm5vY2ggMSBTcGllbCIsCiAgICAgICAgImZyIjogIjEgcGFydGllIHJlc3RhbnRlIiwKICAgICAgICAiaXQiOiAiMSBwYXJ0aXRhIHJpbWFzdGEiLAogICAgICAgICJqYSI6ICLmrovjgoox44OX44Os44KkIgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogIm1lbnUud2F0Y2hfYWR2ZXJ0IiwKICAgICAgICAiZW4iOiAid2F0Y2ggYWR2ZXJ0IiwKICAgICAgICAiZG9uZSI6IHRydWUsCiAgICAgICAgIndvcmRjb3VudCI6ICIiLAogICAgICAgICJub3RlcyI6ICIiLAogICAgICAgICJmb250IjogInBuX3NvZnQiLAogICAgICAgICJkZSI6ICJXZXJidW5nIGFuc2VoZW4iLAogICAgICAgICJmciI6ICJyZWdhcmRlciB1bmUgcHVibGljaXTDqSIsCiAgICAgICAgIml0IjogImd1YXJkYSBzcG90IiwKICAgICAgICAiamEiOiAi5bqD5ZGK44KS6KaW6IG0IgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogIm1lbnUuaW5maW5pdGVfcGxheXMiLAogICAgICAgICJlbiI6ICJpbmZpbml0ZSBwbGF5cyIsCiAgICAgICAgImRvbmUiOiB0cnVlLAogICAgICAgICJ3b3JkY291bnQiOiAiIiwKICAgICAgICAibm90ZXMiOiAiIiwKICAgICAgICAiZm9udCI6ICJwbl9zb2Z0IiwKICAgICAgICAiZGUiOiAidW5lbmRsaWNoIFNwaWVsZSIsCiAgICAgICAgImZyIjogInBhcnRpZXMgaWxsaW1pdMOpZXMiLAogICAgICAgICJpdCI6ICJwYXJ0aXRlIGluZmluaXRlIiwKICAgICAgICAiamEiOiAi54Sh6ZmQ44OX44Os44KkIgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogIm1lbnUucmVzdG9yZV9wdXJjaGFzZSIsCiAgICAgICAgImVuIjogInJlc3RvcmUgcHVyY2hhc2UiLAogICAgICAgICJkb25lIjogdHJ1ZSwKICAgICAgICAid29yZGNvdW50IjogIiIsCiAgICAgICAgIm5vdGVzIjogIiIsCiAgICAgICAgImZvbnQiOiAicG5fc29mdCIsCiAgICAgICAgImRlIjogIkthdWYgd2llZGVyaGVyc3RlbGxlbiIsCiAgICAgICAgImZyIjogInJlc3RhdXJlciBsZXMgYWNoYXRzIiwKICAgICAgICAiaXQiOiAicmlwcmlzdGluYSBhY3F1aXN0byIsCiAgICAgICAgImphIjogIuizvOWFpeOCkuW+qeWFgyIKICAgIH0sCiAgICB7CiAgICAgICAgInN0cmluZ19pZCI6ICJtZW51LnBsYXlfYWdhaW4iLAogICAgICAgICJlbiI6ICJwbGF5IGFnYWluIiwKICAgICAgICAiZG9uZSI6IHRydWUsCiAgICAgICAgIndvcmRjb3VudCI6ICIiLAogICAgICAgICJub3RlcyI6ICIiLAogICAgICAgICJmb250IjogInBuX3NvZnQiLAogICAgICAgICJkZSI6ICJOZXVlcyBTcGllbCIsCiAgICAgICAgImZyIjogInJlam91ZXIiLAogICAgICAgICJpdCI6ICJnaW9jYSBkaSBudW92byIsCiAgICAgICAgImphIjogIuOCguOBhjHluqYiCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAibWVudS5sZWFkZXJib2FyZCIsCiAgICAgICAgImVuIjogImxlYWRlcmJvYXJkIiwKICAgICAgICAiZG9uZSI6IHRydWUsCiAgICAgICAgIndvcmRjb3VudCI6ICIiLAogICAgICAgICJub3RlcyI6ICIiLAogICAgICAgICJmb250IjogInBuX3NvZnQiLAogICAgICAgICJkZSI6ICJCZXN0ZW5saXN0ZSIsCiAgICAgICAgImZyIjogImNsYXNzZW1lbnQiLAogICAgICAgICJpdCI6ICJjbGFzc2lmaWNhIiwKICAgICAgICAiamEiOiAi44Op44Oz44Kt44Oz44KwIgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogIm1lbnUuYWNoaWV2ZW1lbnRzIiwKICAgICAgICAiZW4iOiAiYWNoaWV2ZW1lbnRzIiwKICAgICAgICAiZG9uZSI6IHRydWUsCiAgICAgICAgIndvcmRjb3VudCI6ICIiLAogICAgICAgICJub3RlcyI6ICIiLAogICAgICAgICJmb250IjogInBuX3NvZnQiLAogICAgICAgICJkZSI6ICJFcmZvbGdlIiwKICAgICAgICAiZnIiOiAic3VjY8OocyIsCiAgICAgICAgIml0IjogIm9iaWV0dGl2aSIsCiAgICAgICAgImphIjogIuWun+e4viIKICAgIH0sCiAgICB7CiAgICAgICAgInN0cmluZ19pZCI6ICJtZW51LnBsdXNfbl9wbGFudHMiLAogICAgICAgICJlbiI6ICIrIyBwbGFudHMiLAogICAgICAgICJkb25lIjogdHJ1ZSwKICAgICAgICAid29yZGNvdW50IjogIiIsCiAgICAgICAgIm5vdGVzIjogIiIsCiAgICAgICAgImZvbnQiOiAicG5fc29mdCIsCiAgICAgICAgImRlIjogIisjIFBmbGFuemVuIiwKICAgICAgICAiZnIiOiAiKyMgcGxhbnRlcyIsCiAgICAgICAgIml0IjogIisjIHBpYW50ZSIsCiAgICAgICAgImphIjogIisj5qSN54mpIgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogIm1lbnUucGx1c18xX3BsYW50IiwKICAgICAgICAiZW4iOiAiKzEgcGxhbnQiLAogICAgICAgICJkb25lIjogdHJ1ZSwKICAgICAgICAid29yZGNvdW50IjogIiIsCiAgICAgICAgIm5vdGVzIjogIiIsCiAgICAgICAgImZvbnQiOiAicG5fc29mdCIsCiAgICAgICAgImRlIjogIisjIFBmbGFuemUiLAogICAgICAgICJmciI6ICIrIyBwbGFudGUiLAogICAgICAgICJpdCI6ICIrIyBwaWFudGEiLAogICAgICAgICJqYSI6ICIrI+akjeeJqSIKICAgIH0sCiAgICB7CiAgICAgICAgInN0cmluZ19pZCI6ICJnYW1lLm1lbnUiLAogICAgICAgICJlbiI6ICJtZW51IiwKICAgICAgICAiZG9uZSI6IHRydWUsCiAgICAgICAgIndvcmRjb3VudCI6ICIiLAogICAgICAgICJub3RlcyI6ICJvcGVucyBwYXVzZSBtZW51IGZyb20gaW4gZ2FtZSIsCiAgICAgICAgImZvbnQiOiAicG5fc29mdCIsCiAgICAgICAgImRlIjogIk1lbsO8IiwKICAgICAgICAiZnIiOiAibWVudSIsCiAgICAgICAgIml0IjogIm1lbnUiLAogICAgICAgICJqYSI6ICLjg6Hjg4vjg6Xjg7wiCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAiZ2FtZS51bmRvIiwKICAgICAgICAiZW4iOiAidW5kbyIsCiAgICAgICAgImRvbmUiOiB0cnVlLAogICAgICAgICJ3b3JkY291bnQiOiAiIiwKICAgICAgICAibm90ZXMiOiAidW5kbyBhIG1vdmUgaW4gZ2FtZSIsCiAgICAgICAgImZvbnQiOiAicG5fc29mdCIsCiAgICAgICAgImRlIjogInp1csO8Y2siLAogICAgICAgICJmciI6ICJhbm51bGVyIiwKICAgICAgICAiaXQiOiAiYW5udWxsYSIsCiAgICAgICAgImphIjogIuOCguOBqOOBq+aIu+OBmSIKICAgIH0sCiAgICB7CiAgICAgICAgInN0cmluZ19pZCI6ICJnYW1lLm91dF9vZl9tb3ZlcyIsCiAgICAgICAgImVuIjogIm91dCBvZiBtb3ZlcyIsCiAgICAgICAgImRvbmUiOiB0cnVlLAogICAgICAgICJ3b3JkY291bnQiOiAiIiwKICAgICAgICAibm90ZXMiOiAiIiwKICAgICAgICAiZm9udCI6ICJwbl9zb2Z0IiwKICAgICAgICAiZGUiOiAia2VpbmUgRXJkZSBtZWhyIiwKICAgICAgICAiZnIiOiAicGx1cyBkJ2FjdGlvbnMgISIsCiAgICAgICAgIml0IjogIm1vc3NlIGVzYXVyaXRlIiwKICAgICAgICAiamEiOiAi5omL6Kmw44G+44KK44Gn44GZIgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogImdhbWUudHV0b3JpYWwuMSIsCiAgICAgICAgImVuIjogIkxldOKAmXMgcGxhbnQgdGhlc2UgaW4geW91ciBnYXJkZW4hIiwKICAgICAgICAiZG9uZSI6IHRydWUsCiAgICAgICAgIndvcmRjb3VudCI6ICIiLAogICAgICAgICJub3RlcyI6ICJ0dXRvcmlhbCBpcyBjYXBpdGFsaXplZCBhbmQgaGFzIHB1bmN0dWF0aW9uIiwKICAgICAgICAiZm9udCI6ICJwbl9zb2Z0IiwKICAgICAgICAiZGUiOiAiQmVwZmxhbnplIGRlaW5lbiBHYXJ0ZW4hIiwKICAgICAgICAiZnIiOiAiUGxhbnRleiBjZXMgY3VsdHVyZXMgZGFucyB2b3RyZSBqYXJkaW4gISIsCiAgICAgICAgIml0IjogIlBpYW50aWFtb2xlIG5lbCB0dW8gZ2lhcmRpbm8hIiwKICAgICAgICAiamEiOiAi5bqt44Gr5qSN54mp44KS5qSN44GI44G+44GX44KH44GG77yBIgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogImdhbWUudHV0b3JpYWwuMiIsCiAgICAgICAgImVuIjogIllvdXIgZ29hbCBpcyB0byBoYXJ2ZXN0IHBsYW50cy4iLAogICAgICAgICJkb25lIjogdHJ1ZSwKICAgICAgICAid29yZGNvdW50IjogIiIsCiAgICAgICAgIm5vdGVzIjogIiIsCiAgICAgICAgImZvbnQiOiAicG5fc29mdCIsCiAgICAgICAgImRlIjogIkVybnRlIGRpZSBQZmxhbnplbiBhYi4iLAogICAgICAgICJmciI6ICJWb3RyZSBidXQgZXN0IGRlIHLDqWNvbHRlciBkZXMgcGxhbnRlcy4iLAogICAgICAgICJpdCI6ICJJbCB0dW8gb2JpZXR0aXZvIMOoIHJhY2NvZ2xpZXJlIHBpYW50ZS4iLAogICAgICAgICJqYSI6ICLmpI3nianjgpLlj47nqavjgZnjgovjga7jgYznm67mqJnjgafjgZnjgIIiCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAiZ2FtZS50dXRvcmlhbC4zIiwKICAgICAgICAiZW4iOiAiSGFydmVzdGluZyBjeWNsZXMgdGhlIHNvaWwuIiwKICAgICAgICAiZG9uZSI6IHRydWUsCiAgICAgICAgIndvcmRjb3VudCI6ICIiLAogICAgICAgICJub3RlcyI6ICIiLAogICAgICAgICJmb250IjogInBuX3NvZnQiLAogICAgICAgICJkZSI6ICJFaW5lIEVybnRlIHZlcsOkbmRlcnQgZGllIEVyZGUuIiwKICAgICAgICAiZnIiOiAiTGEgcsOpY29sdGUgcHJvdm9xdWUgbGEgcm90YXRpb24gZGVzIHNvbHMuIiwKICAgICAgICAiaXQiOiAiUXVhbmRvIHJhY2NvZ2xpLCBpbCB0ZXJyZW5vIGNhbWJpYS4iLAogICAgICAgICJqYSI6ICLlj47nqavjgZnjgovjgajlnJ/jgYzlhaXjgozmm7/jgo/jgorjgb7jgZnjgIIiCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAiZ2FtZS50dXRvcmlhbC40IiwKICAgICAgICAiZW4iOiAiRG9u4oCZdCBsZXQgeW91ciBnYXJkZW4gZmlsbCB1cC4uLiIsCiAgICAgICAgImRvbmUiOiB0cnVlLAogICAgICAgICJ3b3JkY291bnQiOiAiIiwKICAgICAgICAibm90ZXMiOiAiIiwKICAgICAgICAiZm9udCI6ICJwbl9zb2Z0IiwKICAgICAgICAiZGUiOiAiRGllIEVyZGUgZGFyZiBkaXIgbmljaHQgYXVzZ2VoZW4hIiwKICAgICAgICAiZnIiOiAiTmUgbGFpc3NleiBwYXMgdm90cmUgamFyZGluIHNlIHJlbXBsaXIuLi4iLAogICAgICAgICJpdCI6ICJOb24gcmllbXBpcmUgaWwgZ2lhcmRpbm8uLi4iLAogICAgICAgICJqYSI6ICLluq3jgYzjgYTjgaPjgbHjgYTjgavjgarjgonjgarjgYTjgojjgYbjgavigKYiCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAiZ2FtZS50dXRvcmlhbC41IiwKICAgICAgICAiZW4iOiAiSGFydmVzdCB0aGUgbW9zdCBwbGFudHMgeW91IGNhbiEiLAogICAgICAgICJkb25lIjogdHJ1ZSwKICAgICAgICAid29yZGNvdW50IjogIiIsCiAgICAgICAgIm5vdGVzIjogIiIsCiAgICAgICAgImZvbnQiOiAicG5fc29mdCIsCiAgICAgICAgImRlIjogIkVybnRlIHNvIHZpZWxlIFBmbGFuemVuIHdpZSBtw7ZnbGljaCEiLAogICAgICAgICJmciI6ICJSw6ljb2x0ZXogbGUgcGx1cyBkZSBwbGFudGVzIHBvc3NpYmxlICEiLAogICAgICAgICJpdCI6ICJSYWNjb2dsaSBwacO5IHBpYW50ZSBjaGUgcHVvaSEiLAogICAgICAgICJqYSI6ICLjgZ/jgY/jgZXjgpPmpI3nianjgpLlj47nqavjgZfjgb7jgZfjgofjgYbvvIEiCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAiZ2FtZS50dXRvcmlhbC42IiwKICAgICAgICAiZW4iOiAiSGVyZeKAmXMgdGhlIHJlc3Qgb2YgeW91ciBnYXJkZW4uIiwKICAgICAgICAiZG9uZSI6IHRydWUsCiAgICAgICAgIndvcmRjb3VudCI6ICIiLAogICAgICAgICJub3RlcyI6ICIiLAogICAgICAgICJmb250IjogInBuX3NvZnQiLAogICAgICAgICJkZSI6ICJIaWVyIGlzdCBkZXIgUmVzdCBkZWluZXMgR2FydGVucy4iLAogICAgICAgICJmciI6ICJWb2ljaSBsZSByZXN0ZSBkZSB2b3RyZSBqYXJkaW4uIiwKICAgICAgICAiaXQiOiAiRWNjbyBpbCByZXN0byBkZWwgZ2lhcmRpbm8uIiwKICAgICAgICAiamEiOiAi5bqt44Gv44GT44KM44Gn5YWo6YOo44CCIgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogImdhbWUudHV0b3JpYWwuNyIsCiAgICAgICAgImVuIjogIlRoZSBuZXh0IGNvbG9yIGlzIGJlbG93IHRoZSB0b3Bzb2lsLiIsCiAgICAgICAgImRvbmUiOiB0cnVlLAogICAgICAgICJ3b3JkY291bnQiOiAiIiwKICAgICAgICAibm90ZXMiOiAiIiwKICAgICAgICAiZm9udCI6ICJwbl9zb2Z0IiwKICAgICAgICAiZGUiOiAiRGllIG7DpGNoc3RlIEZhcmJlIGlzdCB1bnRlciBkZXIgTXV0dGVyZXJkZS4iLAogICAgICAgICJmciI6ICJMYSBjb3VsZXVyIGRlIHNvbCBzdWl2YW50ZSBlc3QgdmlzaWJsZSBzb3VzIGxhIGNvdWNoZSBhcmFibGUuIiwKICAgICAgICAiaXQiOiAiSWwgcHJvc3NpbW8gY29sb3JlIMOoIHNvdHRvIGxhIHN1cGVyZmljaWUuIiwKICAgICAgICAiamEiOiAi5qyh44Gu6Imy44Gv6KGo5Zyf44Gu5LiL44Gr6KaL44GI44Gm44GE44G+44GZ44CCIgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogImdhbWUudHV0b3JpYWwuOCIsCiAgICAgICAgImVuIjogIlRoYXTigJlzIGl0LCBnb29kIGx1Y2shIiwKICAgICAgICAiZG9uZSI6IHRydWUsCiAgICAgICAgIndvcmRjb3VudCI6ICIiLAogICAgICAgICJub3RlcyI6ICIiLAogICAgICAgICJmb250IjogInBuX3NvZnQiLAogICAgICAgICJkZSI6ICJXZWl0ZXIgc28g4oCTIHZpZWwgR2zDvGNrISIsCiAgICAgICAgImZyIjogIkJvbm5lIGNoYW5jZSAhIiwKICAgICAgICAiaXQiOiAiVHV0dG8gcXVpLiBCdW9uYSBmb3J0dW5hISIsCiAgICAgICAgImphIjogIuOBneOCjOOBp+OBr+OAgeOBjOOCk+OBsOOBo+OBpu+8gSIKICAgIH0sCiAgICB7CiAgICAgICAgInN0cmluZ19pZCI6ICJnYW1lLnR1dG9yaWFsLmZhaWxzYWZlIiwKICAgICAgICAiZW4iOiAiVHJ5IHRvIHB1dCBwbGFudHMgdG9nZXRoZXIuIiwKICAgICAgICAiZG9uZSI6IHRydWUsCiAgICAgICAgIndvcmRjb3VudCI6ICIiLAogICAgICAgICJub3RlcyI6ICIiLAogICAgICAgICJmb250IjogInBuX3NvZnQiLAogICAgICAgICJkZSI6ICJWZXJzdWNoZSwgUGZsYW56ZW4genUgdmVyYmluZGVuLiIsCiAgICAgICAgImZyIjogIkVzc2F5ZXogZGUgcmFzc2VtYmxlciBsZXMgcGxhbnRlcy4iLAogICAgICAgICJpdCI6ICJDZXJjYSBkaSB0ZW5lcmUgdmljaW5lIGxlIHBpYW50ZS4iLAogICAgICAgICJqYSI6ICLmpI3nianjgpLjgarjgonjgbnjgabmpI3jgYjjgabjgb/jgb7jgZfjgofjgYbjgIIiCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAibWVudS5jaG9vc2VfZmF2b3JpdGVfdG9vbHRpcCIsCiAgICAgICAgImVuIjogImJpcmRzIGluY3JlYXNlIGNoYWluIG11bHRpcGxpZXIiLAogICAgICAgICJkb25lIjogdHJ1ZSwKICAgICAgICAid29yZGNvdW50IjogIiIsCiAgICAgICAgIm5vdGVzIjogIiIsCiAgICAgICAgImZvbnQiOiAiYm9keV9pdGFsaWMiLAogICAgICAgICJkZSI6ICJWw7ZnZWwgZXJow7ZoZW4gZGVuIEtldHRlbmJvbnVzIiwKICAgICAgICAiZnIiOiAibGVzIG9pc2VhdXggYXVnbWVudGVudCBsZSBtdWx0aXBsaWNhdGV1ciBkZSBwb2ludHMiLAogICAgICAgICJpdCI6ICJHbGkgdWNjZWxsaSBhdW1lbnRhbm8gaWwgbW9sdGlwbGljYXRvcmUiLAogICAgICAgICJqYSI6ICLps6Xjga/jg4HjgqfjgqTjg7PlgI3njofjgpLkuIrjgZLjgabjgY/jgozjgb7jgZkiCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAiZ29hbC5jb21wbGV0ZV9hX2dhbWUubmFtZSIsCiAgICAgICAgImVuIjogInNlZWQiLAogICAgICAgICJkb25lIjogdHJ1ZSwKICAgICAgICAid29yZGNvdW50IjogIiIsCiAgICAgICAgIm5vdGVzIjogImdvYWwgbmFtZXMgYXJlIGxvd2VyY2FzZSB3aXRob3V0IHB1bmN0dWF0aW9uIiwKICAgICAgICAiZm9udCI6ICJib2R5LHBuX3NvZnQiLAogICAgICAgICJkZSI6ICJTYW1lbiIsCiAgICAgICAgImZyIjogImdyYWluZSIsCiAgICAgICAgIml0IjogInNlbWUiLAogICAgICAgICJqYSI6ICLnqK4iCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAiZ29hbC5jb21wbGV0ZV9hX2dhbWVfd2l0aF81MDAubmFtZSIsCiAgICAgICAgImVuIjogInJvb3RzIiwKICAgICAgICAiZG9uZSI6IHRydWUsCiAgICAgICAgIndvcmRjb3VudCI6ICIiLAogICAgICAgICJub3RlcyI6ICIiLAogICAgICAgICJmb250IjogImJvZHkscG5fc29mdCIsCiAgICAgICAgImRlIjogIld1emVsbiIsCiAgICAgICAgImZyIjogInJhY2luZXMiLAogICAgICAgICJpdCI6ICJyYWRpY2kiLAogICAgICAgICJqYSI6ICLmoLkiCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAiZ29hbC5jb21wbGV0ZV9hX2dhbWVfd2l0aF8xMDAwLm5hbWUiLAogICAgICAgICJlbiI6ICJ0cnVuayIsCiAgICAgICAgImRvbmUiOiB0cnVlLAogICAgICAgICJ3b3JkY291bnQiOiAiIiwKICAgICAgICAibm90ZXMiOiAiIiwKICAgICAgICAiZm9udCI6ICJib2R5LHBuX3NvZnQiLAogICAgICAgICJkZSI6ICJTdGFtbSIsCiAgICAgICAgImZyIjogInRyb25jIiwKICAgICAgICAiaXQiOiAidHJvbmNvIiwKICAgICAgICAiamEiOiAi5bm5IgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogImdvYWwuY29tcGxldGVfYV9nYW1lX3dpdGhfMjAwMC5uYW1lIiwKICAgICAgICAiZW4iOiAiY3Jvd24iLAogICAgICAgICJkb25lIjogdHJ1ZSwKICAgICAgICAid29yZGNvdW50IjogIiIsCiAgICAgICAgIm5vdGVzIjogIiIsCiAgICAgICAgImZvbnQiOiAiYm9keSxwbl9zb2Z0IiwKICAgICAgICAiZGUiOiAiS3JvbmUiLAogICAgICAgICJmciI6ICJjb3Vyb25uZSIsCiAgICAgICAgIml0IjogImNoaW9tYSIsCiAgICAgICAgImphIjogIuaoueiRiSIKICAgIH0sCiAgICB7CiAgICAgICAgInN0cmluZ19pZCI6ICJnb2FsLmFsbF9vbmVfY29sb3IubmFtZSIsCiAgICAgICAgImVuIjogImZsYXRsYW5kIiwKICAgICAgICAiZG9uZSI6IHRydWUsCiAgICAgICAgIndvcmRjb3VudCI6ICIiLAogICAgICAgICJub3RlcyI6ICIiLAogICAgICAgICJmb250IjogImJvZHkscG5fc29mdCIsCiAgICAgICAgImRlIjogIkZsYWNobGFuZCIsCiAgICAgICAgImZyIjogInBsYWluZSIsCiAgICAgICAgIml0IjogInBpYW51cmEiLAogICAgICAgICJqYSI6ICLlubPlnLAiCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAiZ29hbC5jbGVhcl9ib2FyZC5uYW1lIiwKICAgICAgICAiZW4iOiAiZmFsbG93IiwKICAgICAgICAiZG9uZSI6IHRydWUsCiAgICAgICAgIndvcmRjb3VudCI6ICIiLAogICAgICAgICJub3RlcyI6ICIiLAogICAgICAgICJmb250IjogImJvZHkscG5fc29mdCIsCiAgICAgICAgImRlIjogIkJyYWNoZSIsCiAgICAgICAgImZyIjogImphY2jDqHJlIiwKICAgICAgICAiaXQiOiAibWFnZ2VzZSIsCiAgICAgICAgImphIjogIuS8kemWkeWcsCIKICAgIH0sCiAgICB7CiAgICAgICAgInN0cmluZ19pZCI6ICJnb2FsLmhhcnZlc3RfM19vYWtfdHJlZXMubmFtZSIsCiAgICAgICAgImVuIjogImhhcmR3b29kIiwKICAgICAgICAiZG9uZSI6IHRydWUsCiAgICAgICAgIndvcmRjb3VudCI6ICIiLAogICAgICAgICJub3RlcyI6ICJtYXRjaGVzIFwic29mdHdvb2RcIiIsCiAgICAgICAgImZvbnQiOiAiYm9keSxwbl9zb2Z0IiwKICAgICAgICAiZGUiOiAiSGFydGhvbHoiLAogICAgICAgICJmciI6ICJib2lzIGR1ciIsCiAgICAgICAgIml0IjogImxlZ25vIGR1cm8iLAogICAgICAgICJqYSI6ICLnoazmnKgiCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAiZ29hbC5oYXJ2ZXN0XzZfb2FrX3RyZWVzLm5hbWUiLAogICAgICAgICJlbiI6ICJvbGQtZ3Jvd3RoIiwKICAgICAgICAiZG9uZSI6IHRydWUsCiAgICAgICAgIndvcmRjb3VudCI6ICIiLAogICAgICAgICJub3RlcyI6ICIiLAogICAgICAgICJmb250IjogImJvZHkscG5fc29mdCIsCiAgICAgICAgImRlIjogIlByaW3DpHJ3YWxkIiwKICAgICAgICAiZnIiOiAiZm9yw6p0IHByaW1haXJlIiwKICAgICAgICAiaXQiOiAiZm9yZXN0YSBhbnRpY2EiLAogICAgICAgICJqYSI6ICLogIHpvaLmqLkiCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAiZ29hbC5oYXJ2ZXN0XzRfcGluZV90cmVlcy5uYW1lIiwKICAgICAgICAiZW4iOiAic29mdHdvb2QiLAogICAgICAgICJkb25lIjogdHJ1ZSwKICAgICAgICAid29yZGNvdW50IjogIiIsCiAgICAgICAgIm5vdGVzIjogIm1hdGNoZXMgXCJoYXJkd29vZFwiIiwKICAgICAgICAiZm9udCI6ICJib2R5LHBuX3NvZnQiLAogICAgICAgICJkZSI6ICJXZWljaGhvbHoiLAogICAgICAgICJmciI6ICJib2lzIHRlbmRyZSIsCiAgICAgICAgIml0IjogImxlZ25vIGRvbGNlIiwKICAgICAgICAiamEiOiAi6Luf5pyoIgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogImdvYWwuaGFydmVzdF84X3BpbmVfdHJlZXMubmFtZSIsCiAgICAgICAgImVuIjogImV2ZXJncmVlbiIsCiAgICAgICAgImRvbmUiOiB0cnVlLAogICAgICAgICJ3b3JkY291bnQiOiAiIiwKICAgICAgICAibm90ZXMiOiAiIiwKICAgICAgICAiZm9udCI6ICJib2R5LHBuX3NvZnQiLAogICAgICAgICJkZSI6ICJJbW1lcmdyw7xuIiwKICAgICAgICAiZnIiOiAiZm9yw6p0IGRlIGNvbmlmw6hyZXMiLAogICAgICAgICJpdCI6ICJzZW1wcmV2ZXJkZSIsCiAgICAgICAgImphIjogIuW4uOe3kSIKICAgIH0sCiAgICB7CiAgICAgICAgInN0cmluZ19pZCI6ICJnb2FsLmhhcnZlc3RfNl9mbG93ZXJzLm5hbWUiLAogICAgICAgICJlbiI6ICJibG9zc29tIiwKICAgICAgICAiZG9uZSI6IHRydWUsCiAgICAgICAgIndvcmRjb3VudCI6ICIiLAogICAgICAgICJub3RlcyI6ICIiLAogICAgICAgICJmb250IjogImJvZHkscG5fc29mdCIsCiAgICAgICAgImRlIjogIkJsw7x0ZSIsCiAgICAgICAgImZyIjogImZsb3JhaXNvbiIsCiAgICAgICAgIml0IjogImZpb3JpdHVyYSIsCiAgICAgICAgImphIjogIuiKseebm+OCiiIKICAgIH0sCiAgICB7CiAgICAgICAgInN0cmluZ19pZCI6ICJnb2FsLmhhcnZlc3RfMTBfZmxvd2Vycy5uYW1lIiwKICAgICAgICAiZW4iOiAiYm91cXVldCIsCiAgICAgICAgImRvbmUiOiB0cnVlLAogICAgICAgICJ3b3JkY291bnQiOiAiIiwKICAgICAgICAibm90ZXMiOiAiIiwKICAgICAgICAiZm9udCI6ICJib2R5LHBuX3NvZnQiLAogICAgICAgICJkZSI6ICJTdHJhdcOfIiwKICAgICAgICAiZnIiOiAiYm91cXVldCIsCiAgICAgICAgIml0IjogImJvdXF1ZXQiLAogICAgICAgICJqYSI6ICLjg5bjg7zjgrEiCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAiZ29hbC5oYXJ2ZXN0XzlfcGxhbnRzLm5hbWUiLAogICAgICAgICJlbiI6ICJidW5kbGUiLAogICAgICAgICJkb25lIjogdHJ1ZSwKICAgICAgICAid29yZGNvdW50IjogIiIsCiAgICAgICAgIm5vdGVzIjogImxhcmdlIGdyb3VwIG9mIHBsYW50cyIsCiAgICAgICAgImZvbnQiOiAiYm9keSxwbl9zb2Z0IiwKICAgICAgICAiZGUiOiAiQsO8bmRlbCIsCiAgICAgICAgImZyIjogImdlcmJlIiwKICAgICAgICAiaXQiOiAibWF6em8iLAogICAgICAgICJqYSI6ICLmnZ/liIjjgooiCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAiZ29hbC5oYXJ2ZXN0XzEyX3BsYW50cy5uYW1lIiwKICAgICAgICAiZW4iOiAicGFyY2VsIiwKICAgICAgICAiZG9uZSI6IHRydWUsCiAgICAgICAgIndvcmRjb3VudCI6ICIiLAogICAgICAgICJub3RlcyI6ICJiaWcgZ3JvdXAgb2YgcGxhbnRzIiwKICAgICAgICAiZm9udCI6ICJib2R5LHBuX3NvZnQiLAogICAgICAgICJkZSI6ICJMaWVmZXJ1bmciLAogICAgICAgICJmciI6ICJicmFzc8OpZSIsCiAgICAgICAgIml0IjogImFpdW9sYSIsCiAgICAgICAgImphIjogIuWxseWIiOOCiiIKICAgIH0sCiAgICB7CiAgICAgICAgInN0cmluZ19pZCI6ICJnb2FsLmhhcnZlc3RfMTVfcGxhbnRzLm5hbWUiLAogICAgICAgICJlbiI6ICJzd2F0aCIsCiAgICAgICAgImRvbmUiOiB0cnVlLAogICAgICAgICJ3b3JkY291bnQiOiAiIiwKICAgICAgICAibm90ZXMiOiAiaHVnZSBncm91cCBvZiBwbGFudHMiLAogICAgICAgICJmb250IjogImJvZHkscG5fc29mdCIsCiAgICAgICAgImRlIjogIlNjaHdhZGUiLAogICAgICAgICJmciI6ICJib3R0ZSIsCiAgICAgICAgIml0IjogImNhbXBvIiwKICAgICAgICAiamEiOiAi5LiA5paJ5Y+O56mrIgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogImdvYWwuZ3Jvd18xX3BpbmVfdHJlZS5uYW1lIiwKICAgICAgICAiZW4iOiAiY29uaWZlcm91cyIsCiAgICAgICAgImRvbmUiOiB0cnVlLAogICAgICAgICJ3b3JkY291bnQiOiAiIiwKICAgICAgICAibm90ZXMiOiAiIiwKICAgICAgICAiZm9udCI6ICJib2R5LHBuX3NvZnQiLAogICAgICAgICJkZSI6ICJaYXBmZW50csOkZ2VyIiwKICAgICAgICAiZnIiOiAiY29uaWbDqHJlIiwKICAgICAgICAiaXQiOiAiY29uaWZlcmUiLAogICAgICAgICJqYSI6ICLph53okYkiCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAiZ29hbC5ncm93XzFfb2FrX3RyZWUubmFtZSIsCiAgICAgICAgImVuIjogImRlY2lkdW91cyIsCiAgICAgICAgImRvbmUiOiB0cnVlLAogICAgICAgICJ3b3JkY291bnQiOiAiIiwKICAgICAgICAibm90ZXMiOiAiIiwKICAgICAgICAiZm9udCI6ICJib2R5LHBuX3NvZnQiLAogICAgICAgICJkZSI6ICJTb21tZXJncsO8biIsCiAgICAgICAgImZyIjogImZldWlsbHUiLAogICAgICAgICJpdCI6ICJkZWNpZHVlIiwKICAgICAgICAiamEiOiAi6JC96JGJIgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogImdvYWwuaGFydmVzdF8xX211c2hyb29tLm5hbWUiLAogICAgICAgICJlbiI6ICJzcG9yZSIsCiAgICAgICAgImRvbmUiOiB0cnVlLAogICAgICAgICJ3b3JkY291bnQiOiAiIiwKICAgICAgICAibm90ZXMiOiAiIiwKICAgICAgICAiZm9udCI6ICJib2R5LHBuX3NvZnQiLAogICAgICAgICJkZSI6ICJTcG9yZSIsCiAgICAgICAgImZyIjogInNwb3JlIiwKICAgICAgICAiaXQiOiAic3BvcmEiLAogICAgICAgICJqYSI6ICLog57lrZAiCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAiZ29hbC5oYXJ2ZXN0XzVfbXVzaHJvb21zLm5hbWUiLAogICAgICAgICJlbiI6ICJjb2xvbnkiLAogICAgICAgICJkb25lIjogdHJ1ZSwKICAgICAgICAid29yZGNvdW50IjogIiIsCiAgICAgICAgIm5vdGVzIjogImFzIGluOiBmdW5nYWwgY29sb255IiwKICAgICAgICAiZm9udCI6ICJib2R5LHBuX3NvZnQiLAogICAgICAgICJkZSI6ICJLb2xvbmllIiwKICAgICAgICAiZnIiOiAiY29sb25pZSIsCiAgICAgICAgIml0IjogImNvbG9uaWEiLAogICAgICAgICJqYSI6ICLjgrPjg63jg4vjg7wiCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAiZ29hbC5kZWNheV8xX211c2hyb29tLm5hbWUiLAogICAgICAgICJlbiI6ICJkZWNvbXBvc2UiLAogICAgICAgICJkb25lIjogdHJ1ZSwKICAgICAgICAid29yZGNvdW50IjogIiIsCiAgICAgICAgIm5vdGVzIjogIiIsCiAgICAgICAgImZvbnQiOiAiYm9keSxwbl9zb2Z0IiwKICAgICAgICAiZGUiOiAiS29tcG9zdCIsCiAgICAgICAgImZyIjogImTDqWNvbXBvc2l0aW9uIiwKICAgICAgICAiaXQiOiAiZGVjb21wb3NpemlvbmUiLAogICAgICAgICJqYSI6ICLliIbop6MiCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAiZ29hbC5kZWNheV8zX211c2hyb29tcy5uYW1lIiwKICAgICAgICAiZW4iOiAic3ltYmlvc2lzIiwKICAgICAgICAiZG9uZSI6IHRydWUsCiAgICAgICAgIndvcmRjb3VudCI6ICIiLAogICAgICAgICJub3RlcyI6ICIiLAogICAgICAgICJmb250IjogImJvZHkscG5fc29mdCIsCiAgICAgICAgImRlIjogIlN5bWJpb3NlIiwKICAgICAgICAiZnIiOiAic3ltYmlvc2UiLAogICAgICAgICJpdCI6ICJzaW1iaW9zaSIsCiAgICAgICAgImphIjogIuWFseeUnyIKICAgIH0sCiAgICB7CiAgICAgICAgInN0cmluZ19pZCI6ICJnb2FsLmNoYXNlXzNfYmlyZHMubmFtZSIsCiAgICAgICAgImVuIjogImZsdXR0ZXIiLAogICAgICAgICJkb25lIjogdHJ1ZSwKICAgICAgICAid29yZGNvdW50IjogIiIsCiAgICAgICAgIm5vdGVzIjogIiIsCiAgICAgICAgImZvbnQiOiAiYm9keSxwbl9zb2Z0IiwKICAgICAgICAiZGUiOiAiRmxhdHRlciIsCiAgICAgICAgImZyIjogImVudm9sIiwKICAgICAgICAiaXQiOiAiYmF0dGVyIGQnYWxpIiwKICAgICAgICAiamEiOiAi44Gv44Gw44Gf44GNIgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogImdvYWwuY2hhc2VfNl9iaXJkcy5uYW1lIiwKICAgICAgICAiZW4iOiAiZmxvY2siLAogICAgICAgICJkb25lIjogdHJ1ZSwKICAgICAgICAid29yZGNvdW50IjogIiIsCiAgICAgICAgIm5vdGVzIjogIiIsCiAgICAgICAgImZvbnQiOiAiYm9keSxwbl9zb2Z0IiwKICAgICAgICAiZGUiOiAiVm9nZWxzY2hhciIsCiAgICAgICAgImZyIjogIm51w6llIiwKICAgICAgICAiaXQiOiAic3Rvcm1vIiwKICAgICAgICAiamEiOiAi576k44KMIgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogImdvYWwuY29tcGxldGVfYV9nYW1lLmRlc2MiLAogICAgICAgICJlbiI6ICJjb21wbGV0ZSB5b3VyIGZpcnN0IGdhcmRlbiIsCiAgICAgICAgImRvbmUiOiB0cnVlLAogICAgICAgICJ3b3JkY291bnQiOiAiIiwKICAgICAgICAibm90ZXMiOiAiZ29hbCBkZXNjcmlwdGlvbnMgYXJlIGxvd2VyY2FzZSB3aXRob3V0IHB1bmN0dWF0aW9uIiwKICAgICAgICAiZm9udCI6ICJib2R5X2l0YWxpYyIsCiAgICAgICAgImRlIjogIkRlbiBlcnN0ZW4gR2FydGVuIGFic2NobGllw59lbiIsCiAgICAgICAgImZyIjogInRlcm1pbmVyIHZvdHJlIHByZW1pZXIgamFyZGluIiwKICAgICAgICAiaXQiOiAiY29tcGxldGEgaWwgcHJpbW8gZ2lhcmRpbm8iLAogICAgICAgICJqYSI6ICLmnIDliJ3jga7luq3jgpLjgq/jg6rjgqLjgZnjgosiCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAiZ29hbC5jb21wbGV0ZV9hX2dhbWVfd2l0aF81MDAuZGVzYyIsCiAgICAgICAgImVuIjogInNjb3JlIDUwMCBwb2ludHMgb3IgbW9yZSIsCiAgICAgICAgImRvbmUiOiB0cnVlLAogICAgICAgICJ3b3JkY291bnQiOiAiIiwKICAgICAgICAibm90ZXMiOiAiIiwKICAgICAgICAiZm9udCI6ICJib2R5X2l0YWxpYyIsCiAgICAgICAgImRlIjogIk1pbmRlc3RlbnMgNTAwIFB1bmt0ZSBlcnppZWxlbiIsCiAgICAgICAgImZyIjogIm9idGVuaXIgdW4gc2NvcmUgZGUgNTAwIG91IHBsdXMiLAogICAgICAgICJpdCI6ICJyYWdnaXVuZ2kgaSA1MDAgcHVudGkiLAogICAgICAgICJqYSI6ICI1MDDngrnku6XkuIrjgpLoqJjpjLLjgZnjgosiCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAiZ29hbC5jb21wbGV0ZV9hX2dhbWVfd2l0aF8xMDAwLmRlc2MiLAogICAgICAgICJlbiI6ICJzY29yZSAxLDAwMCBwb2ludHMgb3IgbW9yZSIsCiAgICAgICAgImRvbmUiOiB0cnVlLAogICAgICAgICJ3b3JkY291bnQiOiAiIiwKICAgICAgICAibm90ZXMiOiAiIiwKICAgICAgICAiZm9udCI6ICJib2R5X2l0YWxpYyIsCiAgICAgICAgImRlIjogIk1pbmRlc3RlbnMgMS4wMDAgUHVua3RlIGVyemllbGVuIiwKICAgICAgICAiZnIiOiAib2J0ZW5pciB1biBzY29yZSBkZSAxIDAwMCBvdSBwbHVzIiwKICAgICAgICAiaXQiOiAicmFnZ2l1bmdpIGkgMS4wMDAgcHVudGkiLAogICAgICAgICJqYSI6ICIxLDAwMOeCueS7peS4iuOCkuiomOmMsuOBmeOCiyIKICAgIH0sCiAgICB7CiAgICAgICAgInN0cmluZ19pZCI6ICJnb2FsLmNvbXBsZXRlX2FfZ2FtZV93aXRoXzIwMDAuZGVzYyIsCiAgICAgICAgImVuIjogInNjb3JlIDIsMDAwIHBvaW50cyBvciBtb3JlIiwKICAgICAgICAiZG9uZSI6IHRydWUsCiAgICAgICAgIndvcmRjb3VudCI6ICIiLAogICAgICAgICJub3RlcyI6ICIiLAogICAgICAgICJmb250IjogImJvZHlfaXRhbGljIiwKICAgICAgICAiZGUiOiAiTWluZGVzdGVucyAyLjAwMCBQdW5rdGUgZXJ6aWVsZW4iLAogICAgICAgICJmciI6ICJvYnRlbmlyIHVuIHNjb3JlIGRlIDIgMDAwIG91IHBsdXMiLAogICAgICAgICJpdCI6ICJyYWdnaXVuZ2kgaSAyLjAwMCBwdW50aSIsCiAgICAgICAgImphIjogIjIsMDAw54K55Lul5LiK44KS6KiY6Yyy44GZ44KLIgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogImdvYWwuYWxsX29uZV9jb2xvci5kZXNjIiwKICAgICAgICAiZW4iOiAibWFrZSB0aGUgc29pbCBhbGwgb25lIGNvbG9yIiwKICAgICAgICAiZG9uZSI6IHRydWUsCiAgICAgICAgIndvcmRjb3VudCI6ICIiLAogICAgICAgICJub3RlcyI6ICIiLAogICAgICAgICJmb250IjogImJvZHlfaXRhbGljIiwKICAgICAgICAiZGUiOiAiRXJkZSBpbiBlaW5oZWl0bGljaGUgRmFyYmUgYnJpbmdlbiIsCiAgICAgICAgImZyIjogIm9idGVuaXIgdW4gc2V1bCB0eXBlIGRlIHNvbCIsCiAgICAgICAgIml0IjogInJlbmRpIHR1dHRvIGlsIHN1b2xvIGRlbGxvIHN0ZXNzbyBjb2xvcmUiLAogICAgICAgICJqYSI6ICLlnJ/jgpIx6Imy44Gr44Gd44KN44GI44KLIgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogImdvYWwuY2xlYXJfYm9hcmQuZGVzYyIsCiAgICAgICAgImVuIjogImNsZWFyIGEgZ2FyZGVuIGNvbXBsZXRlbHkiLAogICAgICAgICJkb25lIjogdHJ1ZSwKICAgICAgICAid29yZGNvdW50IjogIiIsCiAgICAgICAgIm5vdGVzIjogIiIsCiAgICAgICAgImZvbnQiOiAiYm9keV9pdGFsaWMiLAogICAgICAgICJkZSI6ICJEZW4gZ2FuemVuIEdhcnRlbiBhYmVybnRlbiIsCiAgICAgICAgImZyIjogInLDqWNvbHRlciB0b3V0ZXMgbGVzIHBsYW50ZXMgZCd1biBqYXJkaW4iLAogICAgICAgICJpdCI6ICJzdnVvdGEgZGVsIHR1dHRvIHVuIGdpYXJkaW5vIiwKICAgICAgICAiamEiOiAi5bqt44KS44GZ44G544Gm56m644Gr44GZ44KLIgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogImdvYWwuaGFydmVzdF8zX29ha190cmVlcy5kZXNjIiwKICAgICAgICAiZW4iOiAiaGFydmVzdCBhIGdyb3VwIG9mIDMgb2FrIHRyZWVzIiwKICAgICAgICAiZG9uZSI6IHRydWUsCiAgICAgICAgIndvcmRjb3VudCI6ICIiLAogICAgICAgICJub3RlcyI6ICIiLAogICAgICAgICJmb250IjogImJvZHlfaXRhbGljIiwKICAgICAgICAiZGUiOiAiMyBFaWNoZW4gZ2xlaWNoemVpdGlnIGbDpGxsZW4iLAogICAgICAgICJmciI6ICJyw6ljb2x0ZXIgMyBjaMOqbmVzIGQndW4gY291cCIsCiAgICAgICAgIml0IjogInJhY2NvZ2xpIHVuIGdydXBwbyBkaSAzIHF1ZXJjZSIsCiAgICAgICAgImphIjogIuaoq+OBruacqOOCkuOBvuOBqOOCgeOBpjPjgaTlj47nqavjgZnjgosiCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAiZ29hbC5oYXJ2ZXN0XzZfb2FrX3RyZWVzLmRlc2MiLAogICAgICAgICJlbiI6ICJoYXJ2ZXN0IGEgZ3JvdXAgb2YgNiBvYWsgdHJlZXMiLAogICAgICAgICJkb25lIjogdHJ1ZSwKICAgICAgICAid29yZGNvdW50IjogIiIsCiAgICAgICAgIm5vdGVzIjogIiIsCiAgICAgICAgImZvbnQiOiAiYm9keV9pdGFsaWMiLAogICAgICAgICJkZSI6ICI2IEVpY2hlbiBnbGVpY2h6ZWl0aWcgZsOkbGxlbiIsCiAgICAgICAgImZyIjogInLDqWNvbHRlciA2IGNow6puZXMgZCd1biBjb3VwIiwKICAgICAgICAiaXQiOiAicmFjY29nbGkgdW4gZ3J1cHBvIGRpIDYgcXVlcmNlIiwKICAgICAgICAiamEiOiAi5qir44Gu5pyo44KS44G+44Go44KB44GmNuOBpOWPjuepq+OBmeOCiyIKICAgIH0sCiAgICB7CiAgICAgICAgInN0cmluZ19pZCI6ICJnb2FsLmhhcnZlc3RfNF9waW5lX3RyZWVzLmRlc2MiLAogICAgICAgICJlbiI6ICJoYXJ2ZXN0IGEgZ3JvdXAgb2YgNCBwaW5lIHRyZWVzIiwKICAgICAgICAiZG9uZSI6IHRydWUsCiAgICAgICAgIndvcmRjb3VudCI6ICIiLAogICAgICAgICJub3RlcyI6ICIiLAogICAgICAgICJmb250IjogImJvZHlfaXRhbGljIiwKICAgICAgICAiZGUiOiAiNCBLaWVmZXJuIGdsZWljaHplaXRpZyBmw6RsbGVuIiwKICAgICAgICAiZnIiOiAicsOpY29sdGVyIDQgc2FwaW5zIGQndW4gY291cCIsCiAgICAgICAgIml0IjogInJhY2NvZ2xpIHVuIGdydXBwbyBkaSA0IHBpbmkiLAogICAgICAgICJqYSI6ICLmnb7jga7mnKjjgpLjgb7jgajjgoHjgaY044Gk5Y+O56mr44GZ44KLIgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogImdvYWwuaGFydmVzdF84X3BpbmVfdHJlZXMuZGVzYyIsCiAgICAgICAgImVuIjogImhhcnZlc3QgYSBncm91cCBvZiA4IHBpbmUgdHJlZXMiLAogICAgICAgICJkb25lIjogdHJ1ZSwKICAgICAgICAid29yZGNvdW50IjogIiIsCiAgICAgICAgIm5vdGVzIjogIiIsCiAgICAgICAgImZvbnQiOiAiYm9keV9pdGFsaWMiLAogICAgICAgICJkZSI6ICI4IEtpZWZlcm4gZ2xlaWNoemVpdGlnIGbDpGxsZW4iLAogICAgICAgICJmciI6ICJyw6ljb2x0ZXIgOCBzYXBpbnMgZCd1biBjb3VwIiwKICAgICAgICAiaXQiOiAicmFjY29nbGkgdW4gZ3J1cHBvIGRpIDggcGluaSIsCiAgICAgICAgImphIjogIuadvuOBruacqOOCkuOBvuOBqOOCgeOBpjjjgaTlj47nqavjgZnjgosiCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAiZ29hbC5oYXJ2ZXN0XzZfZmxvd2Vycy5kZXNjIiwKICAgICAgICAiZW4iOiAiaGFydmVzdCBhIGdyb3VwIG9mIDYgZmxvd2VycyIsCiAgICAgICAgImRvbmUiOiB0cnVlLAogICAgICAgICJ3b3JkY291bnQiOiAiIiwKICAgICAgICAibm90ZXMiOiAiIiwKICAgICAgICAiZm9udCI6ICJib2R5X2l0YWxpYyIsCiAgICAgICAgImRlIjogIjYgQmx1bWVuIGdsZWljaHplaXRpZyBwZmzDvGNrZW4iLAogICAgICAgICJmciI6ICJyw6ljb2x0ZXIgNiBmbGV1cnMgZCd1biBjb3VwIiwKICAgICAgICAiaXQiOiAicmFjY29nbGkgdW4gZ3J1cHBvIGRpIDYgZmlvcmkiLAogICAgICAgICJqYSI6ICLoirHjgpLjgb7jgajjgoHjgaY244Gk5Y+O56mr44GZ44KLIgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogImdvYWwuaGFydmVzdF8xMF9mbG93ZXJzLmRlc2MiLAogICAgICAgICJlbiI6ICJoYXJ2ZXN0IGEgZ3JvdXAgb2YgMTAgZmxvd2VycyIsCiAgICAgICAgImRvbmUiOiB0cnVlLAogICAgICAgICJ3b3JkY291bnQiOiAiIiwKICAgICAgICAibm90ZXMiOiAiIiwKICAgICAgICAiZm9udCI6ICJib2R5X2l0YWxpYyIsCiAgICAgICAgImRlIjogIjEwIEJsdW1lbiBnbGVpY2h6ZWl0aWcgcGZsw7xja2VuIiwKICAgICAgICAiZnIiOiAicsOpY29sdGVyIDEwIGZsZXVycyBkJ3VuIGNvdXAiLAogICAgICAgICJpdCI6ICJyYWNjb2dsaSB1biBncnVwcG8gZGkgMTAgZmlvcmkiLAogICAgICAgICJqYSI6ICLoirHjgpLjgb7jgajjgoHjgaYxMOWAi+WPjuepq+OBmeOCiyIKICAgIH0sCiAgICB7CiAgICAgICAgInN0cmluZ19pZCI6ICJnb2FsLmhhcnZlc3RfOV9wbGFudHMuZGVzYyIsCiAgICAgICAgImVuIjogImhhcnZlc3QgYSBncm91cCBvZiA5IHBsYW50cyIsCiAgICAgICAgImRvbmUiOiB0cnVlLAogICAgICAgICJ3b3JkY291bnQiOiAiIiwKICAgICAgICAibm90ZXMiOiAiIiwKICAgICAgICAiZm9udCI6ICJib2R5X2l0YWxpYyIsCiAgICAgICAgImRlIjogIjkgUGZsYW56ZW4gZ2xlaWNoemVpdGlnIHBmbMO8Y2tlbiIsCiAgICAgICAgImZyIjogInLDqWNvbHRlciA5IHBsYW50ZXMgZCd1biBjb3VwIiwKICAgICAgICAiaXQiOiAicmFjY29nbGkgdW4gZ3J1cHBvIGRpIDkgcGlhbnRlIiwKICAgICAgICAiamEiOiAi5qSN54mp44KS44G+44Go44KB44GmOeOBpOWPjuepq+OBmeOCiyIKICAgIH0sCiAgICB7CiAgICAgICAgInN0cmluZ19pZCI6ICJnb2FsLmhhcnZlc3RfMTJfcGxhbnRzLmRlc2MiLAogICAgICAgICJlbiI6ICJoYXJ2ZXN0IGEgZ3JvdXAgb2YgMTIgcGxhbnRzIiwKICAgICAgICAiZG9uZSI6IHRydWUsCiAgICAgICAgIndvcmRjb3VudCI6ICIiLAogICAgICAgICJub3RlcyI6ICIiLAogICAgICAgICJmb250IjogImJvZHlfaXRhbGljIiwKICAgICAgICAiZGUiOiAiMTIgUGZsYW56ZW4gZ2xlaWNoemVpdGlnIHBmbMO8Y2tlbiIsCiAgICAgICAgImZyIjogInLDqWNvbHRlciAxMiBwbGFudGVzIGQndW4gY291cCIsCiAgICAgICAgIml0IjogInJhY2NvZ2xpIHVuIGdydXBwbyBkaSAxMiBwaWFudGUiLAogICAgICAgICJqYSI6ICLmpI3nianjgpLjgb7jgajjgoHjgaYxMuWAi+WPjuepq+OBmeOCiyIKICAgIH0sCiAgICB7CiAgICAgICAgInN0cmluZ19pZCI6ICJnb2FsLmhhcnZlc3RfMTVfcGxhbnRzLmRlc2MiLAogICAgICAgICJlbiI6ICJoYXJ2ZXN0IGEgZ3JvdXAgb2YgMTUgcGxhbnRzIiwKICAgICAgICAiZG9uZSI6IHRydWUsCiAgICAgICAgIndvcmRjb3VudCI6ICIiLAogICAgICAgICJub3RlcyI6ICIiLAogICAgICAgICJmb250IjogImJvZHlfaXRhbGljIiwKICAgICAgICAiZGUiOiAiMTUgUGZsYW56ZW4gZ2xlaWNoemVpdGlnIHBmbMO8Y2tlbiIsCiAgICAgICAgImZyIjogInLDqWNvbHRlciAxNSBwbGFudGVzIGQndW4gY291cCIsCiAgICAgICAgIml0IjogInJhY2NvZ2xpIHVuIGdydXBwbyBkaSAxNSBwaWFudGUiLAogICAgICAgICJqYSI6ICLmpI3nianjgpLjgb7jgajjgoHjgaYxNeWAi+WPjuepq+OBmeOCiyIKICAgIH0sCiAgICB7CiAgICAgICAgInN0cmluZ19pZCI6ICJnb2FsLmdyb3dfMV9waW5lX3RyZWUuZGVzYyIsCiAgICAgICAgImVuIjogImdyb3cgYSBwaW5lIHRyZWUiLAogICAgICAgICJkb25lIjogdHJ1ZSwKICAgICAgICAid29yZGNvdW50IjogIiIsCiAgICAgICAgIm5vdGVzIjogIiIsCiAgICAgICAgImZvbnQiOiAiYm9keV9pdGFsaWMiLAogICAgICAgICJkZSI6ICJFaW5lIEtpZWZlciB3YWNoc2VuIGxhc3NlbiIsCiAgICAgICAgImZyIjogImZhaXJlIHBvdXNzZXIgdW4gc2FwaW4iLAogICAgICAgICJpdCI6ICJjb2x0aXZhIHVuIHBpbm8iLAogICAgICAgICJqYSI6ICLmnb7jga7mnKjjgpLogrLjgabjgosiCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAiZ29hbC5ncm93XzFfb2FrX3RyZWUuZGVzYyIsCiAgICAgICAgImVuIjogImdyb3cgYW4gb2FrIHRyZWUiLAogICAgICAgICJkb25lIjogdHJ1ZSwKICAgICAgICAid29yZGNvdW50IjogIiIsCiAgICAgICAgIm5vdGVzIjogIiIsCiAgICAgICAgImZvbnQiOiAiYm9keV9pdGFsaWMiLAogICAgICAgICJkZSI6ICJFaW5lIEVpY2hlIHdhY2hzZW4gbGFzc2VuIiwKICAgICAgICAiZnIiOiAiZmFpcmUgcG91c3NlciB1biBjaMOqbmUiLAogICAgICAgICJpdCI6ICJjb2x0aXZhIHVuYSBxdWVyY2lhIiwKICAgICAgICAiamEiOiAi5qir44Gu5pyo44KS6IKy44Gm44KLIgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogImdvYWwuaGFydmVzdF8xX211c2hyb29tLmRlc2MiLAogICAgICAgICJlbiI6ICJoYXJ2ZXN0IGEgbXVzaHJvb20iLAogICAgICAgICJkb25lIjogdHJ1ZSwKICAgICAgICAid29yZGNvdW50IjogIiIsCiAgICAgICAgIm5vdGVzIjogIiIsCiAgICAgICAgImZvbnQiOiAiYm9keV9pdGFsaWMiLAogICAgICAgICJkZSI6ICJFaW5lbiBQaWx6IGVybnRlbiIsCiAgICAgICAgImZyIjogInLDqWNvbHRlciB1biBjaGFtcGlnbm9uIiwKICAgICAgICAiaXQiOiAicmFjY29nbGkgdW4gZnVuZ28iLAogICAgICAgICJqYSI6ICLjgq3jg47jgrPjgpLlj47nqavjgZnjgosiCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAiZ29hbC5oYXJ2ZXN0XzVfbXVzaHJvb21zLmRlc2MiLAogICAgICAgICJlbiI6ICJoYXJ2ZXN0IGEgZ3JvdXAgb2YgNSBtdXNocm9vbXMiLAogICAgICAgICJkb25lIjogdHJ1ZSwKICAgICAgICAid29yZGNvdW50IjogIiIsCiAgICAgICAgIm5vdGVzIjogIiIsCiAgICAgICAgImZvbnQiOiAiYm9keV9pdGFsaWMiLAogICAgICAgICJkZSI6ICI1IFBpbHplIGdsZWljaHplaXRpZyBlcm50ZW4iLAogICAgICAgICJmciI6ICJyw6ljb2x0ZXIgNSBjaGFtcGlnbm9ucyBkJ3VuIGNvdXAiLAogICAgICAgICJpdCI6ICJyYWNjb2dsaSB1biBncnVwcG8gZGkgNSBmdW5naGkiLAogICAgICAgICJqYSI6ICLjgq3jg47jgrPjgpLjgb7jgajjgoHjgaY144Gk5Y+O56mr44GZ44KLIgogICAgfSwKICAgIHsKICAgICAgICAic3RyaW5nX2lkIjogImdvYWwuZGVjYXlfMV9tdXNocm9vbS5kZXNjIiwKICAgICAgICAiZW4iOiAiZGVjYXkgYSBtdXNocm9vbSIsCiAgICAgICAgImRvbmUiOiB0cnVlLAogICAgICAgICJ3b3JkY291bnQiOiAiIiwKICAgICAgICAibm90ZXMiOiAiIiwKICAgICAgICAiZm9udCI6ICJib2R5X2l0YWxpYyIsCiAgICAgICAgImRlIjogIkVpbmVuIFBpbHogdmVycm90dGVuIGxhc3NlbiIsCiAgICAgICAgImZyIjogImxhaXNzZXIgcG91cnJpciB1biBjaGFtcGlnbm9uIiwKICAgICAgICAiaXQiOiAiZmFpIGRlY29tcG9ycmUgdW4gZnVuZ28iLAogICAgICAgICJqYSI6ICLjgq3jg47jgrPjgpLohZDmlZfjgZXjgZvjgosiCiAgICB9LAogICAgewogICAgICAgICJzdHJpbmdfaWQiOiAiZ29hbC5kZWNheV8zX211c2hyb29tcy5kZXNjIiwKICAgICAgICAiZW4iOiAiZGVjYXkgMyBtdXNocm9vbXMgYXQgb25jZSIsCiAgICAgICAgImRvbmUiOiB0cnVlLAogICAgICAgICJ3b3JkY291bnQiOiAiIiwKICAgICAgICAibm90ZXMiOiAiIiwKICAgICAgICAiZm9udCI6ICJib2R5X2l0YWxpYyIsCiAgICAgICAgImRlIjogIjMgUGlsemUgZ2xlaWNoemVpdGlnIHZlcnJvdHRlbiBsYXNzZW4iLAogICAgICAgICJmciI6ICJsYWlzc2VyIHBvdXJyaXIgMyBjaGFtcGlnbm9ucyBkJ3VuIGNvdXAiLAogICAgICAgICJpdCI6ICJmYWkgZGVjb21wb3JyZSAzIGZ1bmdoaSBpbnNpZW1lIiwKICAgICAgICAiamEiOiAi44Kt44OO44Kz44KS44G+44Go44KB44GmM+OBpOiFkOaVl+OBleOBm+OCiyIKICAgIH0sCiAgICB7CiAgICAgICAgInN0cmluZ19pZCI6ICJnb2FsLmNoYXNlXzNfYmlyZHMuZGVzYyIsCiAgICAgICAgImVuIjogImNoYXNlIGF3YXkgMyBiaXJkcyBhdCBvbmNlIiwKICAgICAgICAiZG9uZSI6IHRydWUsCiAgICAgICAgIndvcmRjb3VudCI6ICIiLAogICAgICAgICJub3RlcyI6ICIiLAogICAgICAgICJmb250IjogImJvZHlfaXRhbGljIiwKICAgICAgICAiZGUiOiAiMyBWw7ZnZWwgZ2xlaWNoemVpdGlnIHZlcmphZ2VuIiwKICAgICAgICAiZnIiOiAiZmFpcmUgcydlbnZvbGVyIDMgb2lzZWF1eCBkJ3VuIGNvdXAiLAogICAgICAgICJpdCI6ICJjYWNjaWEgdmlhIDMgdWNjZWxsaSBpbnNpZW1lIiwKICAgICAgICAiamEiOiAi6bOl44KS44G+44Go44KB44GmM+e+vei/veOBhOOBr+OCieOBhiIKICAgIH0sCiAgICB7CiAgICAgICAgInN0cmluZ19pZCI6ICJnb2FsLmNoYXNlXzZfYmlyZHMuZGVzYyIsCiAgICAgICAgImVuIjogImNoYXNlIGF3YXkgNiBiaXJkcyBhdCBvbmNlIiwKICAgICAgICAiZG9uZSI6IHRydWUsCiAgICAgICAgIndvcmRjb3VudCI6ICIiLAogICAgICAgICJub3RlcyI6ICIiLAogICAgICAgICJmb250IjogImJvZHlfaXRhbGljIiwKICAgICAgICAiZGUiOiAiNiBWw7ZnZWwgZ2xlaWNoemVpdGlnIHZlcmphZ2VuIiwKICAgICAgICAiZnIiOiAiZmFpcmUgcydlbnZvbGVyIDYgb2lzZWF1eCBkJ3VuIGNvdXAiLAogICAgICAgICJpdCI6ICJjYWNjaWEgdmlhIDYgdWNjZWxsaSBpbnNpZW1lIiwKICAgICAgICAiamEiOiAi6bOl44KS44G+44Go44KB44GmNue+vei/veOBhOOBr+OCieOBhiIKICAgIH0KXQo"},{name:"version",data:"MS4wLjAtYWxwaGEuMw"},{name:"bundle",data:"ewogInRva2VuX3ZhcmlhbnRzIjogWwogIHsKICAgImtpbmQiOiAiU3BhZGUiLCAKICAgInNwcmVhZHMiOiAiRkFMU0UiLCAKICAgImZhbGxvd3MiOiAiLTEiLCAKICAgInZhbHVlIjogIi0xIiwgCiAgICJkaWZmaWN1bHR5IjogIjAiLCAKICAgImJpcmRfY2hhbmNlIjogIjAiLCAKICAgInRleHR1cmVfMSI6ICIiLCAKICAgInRleHR1cmVfMCI6ICJzcGFkZSIsIAogICAiZ3Jvd190aW1lIjogIi0xIiwgCiAgICJkZWNheV90aW1lIjogIi0xIiwgCiAgICJleHBsb2RlcyI6ICJGQUxTRSIsIAogICAidG9vbHRpcCI6ICJoYXJ2ZXN0IGEgZ3JvdXAiCiAgfSwgCiAgewogICAia2luZCI6ICJGZXJuIiwgCiAgICJzcHJlYWRzIjogIkZBTFNFIiwgCiAgICJmYWxsb3dzIjogIi0xIiwgCiAgICJ2YWx1ZSI6ICIxIiwgCiAgICJkaWZmaWN1bHR5IjogIjEiLCAKICAgImJpcmRfY2hhbmNlIjogIjgiLCAKICAgInRleHR1cmVfMSI6ICIiLCAKICAgInRleHR1cmVfMCI6ICJmZXJuIiwgCiAgICJncm93X3RpbWUiOiAiLTEiLCAKICAgImRlY2F5X3RpbWUiOiAiLTEiLCAKICAgImV4cGxvZGVzIjogIkZBTFNFIiwgCiAgICJ0b29sdGlwIjogInBsYWNlIGZlcm4iCiAgfSwgCiAgewogICAia2luZCI6ICJGbG93ZXIiLCAKICAgInNwcmVhZHMiOiAiRkFMU0UiLCAKICAgImZhbGxvd3MiOiAiLTEiLCAKICAgInZhbHVlIjogIjEiLCAKICAgImRpZmZpY3VsdHkiOiAiMSIsIAogICAiYmlyZF9jaGFuY2UiOiAiMTAiLCAKICAgInRleHR1cmVfMSI6ICIiLCAKICAgInRleHR1cmVfMCI6ICJmbG93ZXIiLCAKICAgImdyb3dfdGltZSI6ICItMSIsIAogICAiZGVjYXlfdGltZSI6ICItMSIsIAogICAiZXhwbG9kZXMiOiAiRkFMU0UiLCAKICAgInRvb2x0aXAiOiAicGxhY2UgbXVzaHJvb20iCiAgfSwgCiAgewogICAia2luZCI6ICJNdXNocm9vbSIsIAogICAic3ByZWFkcyI6ICJGQUxTRSIsIAogICAiZmFsbG93cyI6ICItMSIsIAogICAidmFsdWUiOiAiMiIsIAogICAiZGlmZmljdWx0eSI6ICIxIiwgCiAgICJiaXJkX2NoYW5jZSI6ICIxNiIsIAogICAidGV4dHVyZV8xIjogIiIsIAogICAidGV4dHVyZV8wIjogIm11c2hyb29tIiwgCiAgICJncm93X3RpbWUiOiAiLTEiLCAKICAgImRlY2F5X3RpbWUiOiAiMyIsIAogICAiZXhwbG9kZXMiOiAiRkFMU0UiLCAKICAgInRvb2x0aXAiOiAicGxhY2UgbXVzaHJvb20iCiAgfSwgCiAgewogICAia2luZCI6ICJTaHJ1YiIsIAogICAic3ByZWFkcyI6ICJGQUxTRSIsIAogICAiZmFsbG93cyI6ICItMSIsIAogICAidmFsdWUiOiAiMSIsIAogICAiZGlmZmljdWx0eSI6ICIxIiwgCiAgICJiaXJkX2NoYW5jZSI6ICIxMiIsIAogICAidGV4dHVyZV8xIjogIiIsIAogICAidGV4dHVyZV8wIjogInNocnViIiwgCiAgICJncm93X3RpbWUiOiAiLTEiLCAKICAgImRlY2F5X3RpbWUiOiAiLTEiLCAKICAgImV4cGxvZGVzIjogIkZBTFNFIiwgCiAgICJ0b29sdGlwIjogInBsYWNlIHNocnViIgogIH0sIAogIHsKICAgImtpbmQiOiAiUGluZSIsIAogICAic3ByZWFkcyI6ICJGQUxTRSIsIAogICAiZmFsbG93cyI6ICItMSIsIAogICAidmFsdWUiOiAiNiIsIAogICAiZGlmZmljdWx0eSI6ICIyLjUiLCAKICAgImJpcmRfY2hhbmNlIjogIjE4IiwgCiAgICJ0ZXh0dXJlXzEiOiAicGluZSIsIAogICAidGV4dHVyZV8wIjogInBpbmVjb25lIiwgCiAgICJncm93X3RpbWUiOiAiMyIsIAogICAiZGVjYXlfdGltZSI6ICItMSIsIAogICAiZXhwbG9kZXMiOiAiRkFMU0UiLCAKICAgInRvb2x0aXAiOiAicGxhY2UgcGluZSBzZWVkIgogIH0sIAogIHsKICAgImtpbmQiOiAiVGhpc3RsZSIsIAogICAic3ByZWFkcyI6ICJGQUxTRSIsIAogICAiZmFsbG93cyI6ICItMSIsIAogICAidmFsdWUiOiAiMyIsIAogICAiZGlmZmljdWx0eSI6ICIyIiwgCiAgICJiaXJkX2NoYW5jZSI6ICIxNiIsIAogICAidGV4dHVyZV8xIjogInRoaXN0bGUiLCAKICAgInRleHR1cmVfMCI6ICJzZWVkcyIsIAogICAiZ3Jvd190aW1lIjogIjIiLCAKICAgImRlY2F5X3RpbWUiOiAiLTEiLCAKICAgImV4cGxvZGVzIjogIkZBTFNFIiwgCiAgICJ0b29sdGlwIjogInBsYWNlIHRoaXN0bGUiCiAgfSwgCiAgewogICAia2luZCI6ICJPYWsiLCAKICAgInNwcmVhZHMiOiAiRkFMU0UiLCAKICAgImZhbGxvd3MiOiAiLTEiLCAKICAgInZhbHVlIjogIjE1IiwgCiAgICJkaWZmaWN1bHR5IjogIjQiLCAKICAgImJpcmRfY2hhbmNlIjogIjIwIiwgCiAgICJ0ZXh0dXJlXzEiOiAib2FrIiwgCiAgICJ0ZXh0dXJlXzAiOiAiYWNvcm4iLCAKICAgImdyb3dfdGltZSI6ICI1IiwgCiAgICJkZWNheV90aW1lIjogIi0xIiwgCiAgICJleHBsb2RlcyI6ICJGQUxTRSIsIAogICAidG9vbHRpcCI6ICJwbGFjZSBhY29ybiIKICB9CiBdLCAKICJ0aWxlcyI6IFsKICB7CiAgICJ0ZXh0dXJlX25hbWUiOiAiZG90cyIsIAogICAiYm9yZGVyX2NvbG9yIjogIjB4ZmVkNDhiIiwgCiAgICJzdXJmYWNlX2NvbG9yIjogIjB4ZmVkZDk0IiwgCiAgICJsZXZlbCI6ICIwIgogIH0sIAogIHsKICAgInRleHR1cmVfbmFtZSI6ICJ3YXZlIiwgCiAgICJib3JkZXJfY29sb3IiOiAiMHhhMGMyOGUiLCAKICAgInN1cmZhY2VfY29sb3IiOiAiMHhiZGQ2OTYiLCAKICAgImxldmVsIjogIjEiCiAgfSwgCiAgewogICAidGV4dHVyZV9uYW1lIjogInppZ3phZyIsIAogICAiYm9yZGVyX2NvbG9yIjogIjB4OTRiZWIwIiwgCiAgICJzdXJmYWNlX2NvbG9yIjogIjB4YTVjYmJmIiwgCiAgICJsZXZlbCI6ICIyIgogIH0KIF0sIAogImRpZmZpY3VsdHlfZ3JhcGgiOiBbCiAgewogICAidmlydHVhbCBsZXZlbCI6ICJzY29yZSIsIAogICAiMjQiOiAiMjMxMSIsIAogICAiMjUiOiAiMjU3OSIsIAogICAiMjAiOiAiMTUzMiIsIAogICAiMjEiOiAiMTY5MiIsIAogICAiMjIiOiAiMTg3MyIsIAogICAiMjMiOiAiMjA3OCIsIAogICAiMSI6ICI5IiwgCiAgICIzIjogIjExOSIsIAogICAiMiI6ICI2NCIsIAogICAiNSI6ICIyMzIiLCAKICAgIjQiOiAiMTc1IiwgCiAgICI3IjogIjM1MSIsIAogICAiNiI6ICIyOTEiLCAKICAgIjkiOiAiNDc4IiwgCiAgICI4IjogIjQxMyIsIAogICAiMTEiOiAiNjE1IiwgCiAgICIxMCI6ICI1NDUiLCAKICAgIjEzIjogIjc2NyIsIAogICAiMTIiOiAiNjg5IiwgCiAgICIxNSI6ICI5NDEiLCAKICAgIjE0IjogIjg1MSIsIAogICAiMTciOiAiMTE0NCIsIAogICAiMTYiOiAiMTAzOCIsIAogICAiMTkiOiAiMTM4OSIsIAogICAiMTgiOiAiMTI2MCIKICB9LCAKICB7CiAgICJ2aXJ0dWFsIGxldmVsIjogInRva2VuIGNvdW50IiwgCiAgICIyNCI6ICIwIiwgCiAgICIyNSI6ICIwIiwgCiAgICIyMCI6ICI3IiwgCiAgICIyMSI6ICI3IiwgCiAgICIyMiI6ICI3IiwgCiAgICIyMyI6ICIwIiwgCiAgICIxIjogIjMiLCAKICAgIjMiOiAiNSIsIAogICAiMiI6ICI0IiwgCiAgICI1IjogIjUiLCAKICAgIjQiOiAiNSIsIAogICAiNyI6ICI2IiwgCiAgICI2IjogIjYiLCAKICAgIjkiOiAiNiIsIAogICAiOCI6ICI2IiwgCiAgICIxMSI6ICI2IiwgCiAgICIxMCI6ICI2IiwgCiAgICIxMyI6ICI2IiwgCiAgICIxMiI6ICI2IiwgCiAgICIxNSI6ICI2IiwgCiAgICIxNCI6ICI1IiwgCiAgICIxNyI6ICI3IiwgCiAgICIxNiI6ICI2IiwgCiAgICIxOSI6ICI3IiwgCiAgICIxOCI6ICI3IgogIH0KIF0sIAogInRva2VuX2tpbmRzIjogWwogIHsKICAgImtpbmQiOiAiU3BhZGUiCiAgfSwgCiAgewogICAia2luZCI6ICJGZXJuIgogIH0sIAogIHsKICAgImtpbmQiOiAiTXVzaHJvb20iCiAgfSwgCiAgewogICAia2luZCI6ICJTaHJ1YiIKICB9LCAKICB7CiAgICJraW5kIjogIlBpbmUiCiAgfSwgCiAgewogICAia2luZCI6ICJUaGlzdGxlIgogIH0sIAogIHsKICAgImtpbmQiOiAiT2FrIgogIH0sIAogIHsKICAgImtpbmQiOiAiRmxvd2VyIgogIH0KIF0sIAogImlkcyI6IFsKICB7CiAgICJub3RlIjogIiIsIAogICAiYW5kcm9pZCI6ICJDZ2tJNXBPZnNZQUZFQUlRQVEiLCAKICAgImlvcyI6ICJjb20ua25lZWtvLnRvcHNvaWwuc2NvcmUiLCAKICAgImlkIjogImxlYWRlcmJvYXJkIgogIH0sIAogIHsKICAgIm5vdGUiOiAiIiwgCiAgICJhbmRyb2lkIjogImNvbS5rbmVla28udG9wc29pbC5wcmVtaXVtIiwgCiAgICJpb3MiOiAiY29tLmtuZWVrby50b3Bzb2lsLnByZW1pdW0iLCAKICAgImlkIjogInByZW1pdW0iCiAgfSwgCiAgewogICAibm90ZSI6ICJzZWVkIiwgCiAgICJhbmRyb2lkIjogIkNna0k1cE9mc1lBRkVBSVFBZyIsIAogICAiaW9zIjogImNvbS5rbmVla28udG9wc29pbC5jb21wbGV0ZV9hX2dhbWUiLCAKICAgImlkIjogImdvYWwuY29tcGxldGVfYV9nYW1lLm5hbWUiCiAgfSwgCiAgewogICAibm90ZSI6ICJyb290cyIsIAogICAiYW5kcm9pZCI6ICJDZ2tJNXBPZnNZQUZFQUlRQlEiLCAKICAgImlvcyI6ICJjb20ua25lZWtvLnRvcHNvaWwuY29tcGxldGVfYV9nYW1lX3dpdGhfNTAwIiwgCiAgICJpZCI6ICJnb2FsLmNvbXBsZXRlX2FfZ2FtZV93aXRoXzUwMC5uYW1lIgogIH0sIAogIHsKICAgIm5vdGUiOiAidHJ1bmsiLCAKICAgImFuZHJvaWQiOiAiQ2drSTVwT2ZzWUFGRUFJUUNnIiwgCiAgICJpb3MiOiAiY29tLmtuZWVrby50b3Bzb2lsLmNvbXBsZXRlX2FfZ2FtZV93aXRoXzEwMDAiLCAKICAgImlkIjogImdvYWwuY29tcGxldGVfYV9nYW1lX3dpdGhfMTAwMC5uYW1lIgogIH0sIAogIHsKICAgIm5vdGUiOiAiY3Jvd24iLCAKICAgImFuZHJvaWQiOiAiQ2drSTVwT2ZzWUFGRUFJUUN3IiwgCiAgICJpb3MiOiAiY29tLmtuZWVrby50b3Bzb2lsLmNvbXBsZXRlX2FfZ2FtZV93aXRoXzIwMDAiLCAKICAgImlkIjogImdvYWwuY29tcGxldGVfYV9nYW1lX3dpdGhfMjAwMC5uYW1lIgogIH0sIAogIHsKICAgIm5vdGUiOiAibW9ub2Nocm9tZSIsIAogICAiYW5kcm9pZCI6ICJDZ2tJNXBPZnNZQUZFQUlRREEiLCAKICAgImlvcyI6ICJjb20ua25lZWtvLnRvcHNvaWwuYWxsX29uZV9jb2xvciIsIAogICAiaWQiOiAiZ29hbC5hbGxfb25lX2NvbG9yLm5hbWUiCiAgfSwgCiAgewogICAibm90ZSI6ICJ0aG9yb3VnaCIsIAogICAiYW5kcm9pZCI6ICJDZ2tJNXBPZnNZQUZFQUlRQ0EiLCAKICAgImlvcyI6ICJjb20ua25lZWtvLnRvcHNvaWwuY2xlYXJfYm9hcmQiLCAKICAgImlkIjogImdvYWwuY2xlYXJfYm9hcmQubmFtZSIKICB9LCAKICB7CiAgICJub3RlIjogInBlcnNpc3RlbnQiLCAKICAgImFuZHJvaWQiOiAiQ2drSTVwT2ZzWUFGRUFJUUNRIiwgCiAgICJpb3MiOiAiY29tLmtuZWVrby50b3Bzb2lsLmZpbGxfYW5kX2NsZWFyX2JvYXJkIiwgCiAgICJpZCI6ICJnb2FsLmZpbGxfYW5kX2NsZWFyX2JvYXJkLm5hbWUiCiAgfSwgCiAgewogICAibm90ZSI6ICJjb2xvbnkiLCAKICAgImFuZHJvaWQiOiAiQ2drSTVwT2ZzWUFGRUFJUURnIiwgCiAgICJpb3MiOiAiY29tLmtuZWVrby50b3Bzb2lsLmhhcnZlc3RfNV9tdXNocm9vbXMiLCAKICAgImlkIjogImdvYWwuaGFydmVzdF81X211c2hyb29tcy5uYW1lIgogIH0sIAogIHsKICAgIm5vdGUiOiAiaGFyZHdvb2QiLCAKICAgImFuZHJvaWQiOiAiQ2drSTVwT2ZzWUFGRUFJUUR3IiwgCiAgICJpb3MiOiAiY29tLmtuZWVrby50b3Bzb2lsLmhhcnZlc3RfM19vYWtfdHJlZXMiLCAKICAgImlkIjogImdvYWwuaGFydmVzdF8zX29ha190cmVlcy5uYW1lIgogIH0sIAogIHsKICAgIm5vdGUiOiAib2xkLWdyb3d0aCIsIAogICAiYW5kcm9pZCI6ICJDZ2tJNXBPZnNZQUZFQUlRRUEiLCAKICAgImlvcyI6ICJjb20ua25lZWtvLnRvcHNvaWwuaGFydmVzdF82X29ha190cmVlcyIsIAogICAiaWQiOiAiZ29hbC5oYXJ2ZXN0XzZfb2FrX3RyZWVzLm5hbWUiCiAgfSwgCiAgewogICAibm90ZSI6ICJzb2Z0d29vZCIsIAogICAiYW5kcm9pZCI6ICJDZ2tJNXBPZnNZQUZFQUlRRVEiLCAKICAgImlvcyI6ICJjb20ua25lZWtvLnRvcHNvaWwuaGFydmVzdF80X3BpbmVfdHJlZXMiLCAKICAgImlkIjogImdvYWwuaGFydmVzdF80X3BpbmVfdHJlZXMubmFtZSIKICB9LCAKICB7CiAgICJub3RlIjogImZvcmVzdCIsIAogICAiYW5kcm9pZCI6ICJDZ2tJNXBPZnNZQUZFQUlRRWciLCAKICAgImlvcyI6ICJjb20ua25lZWtvLnRvcHNvaWwuaGFydmVzdF84X3BpbmVfdHJlZXMiLCAKICAgImlkIjogImdvYWwuaGFydmVzdF84X3BpbmVfdHJlZXMubmFtZSIKICB9LCAKICB7CiAgICJub3RlIjogImJvdXF1ZXQiLCAKICAgImFuZHJvaWQiOiAiQ2drSTVwT2ZzWUFGRUFJUUV3IiwgCiAgICJpb3MiOiAiY29tLmtuZWVrby50b3Bzb2lsLmhhcnZlc3RfNl9mbG93ZXJzIiwgCiAgICJpZCI6ICJnb2FsLmhhcnZlc3RfNl9mbG93ZXJzLm5hbWUiCiAgfSwgCiAgewogICAibm90ZSI6ICJibG9zc29tIiwgCiAgICJhbmRyb2lkIjogIkNna0k1cE9mc1lBRkVBSVFGQSIsIAogICAiaW9zIjogImNvbS5rbmVla28udG9wc29pbC5oYXJ2ZXN0XzEwX2Zsb3dlcnMiLCAKICAgImlkIjogImdvYWwuaGFydmVzdF8xMF9mbG93ZXJzLm5hbWUiCiAgfSwgCiAgewogICAibm90ZSI6ICJ1bnRpdGxlZCIsIAogICAiYW5kcm9pZCI6ICJDZ2tJNXBPZnNZQUZFQUlRRlEiLCAKICAgImlvcyI6ICJjb20ua25lZWtvLnRvcHNvaWwuaGFydmVzdF84X3BsYW50cyIsIAogICAiaWQiOiAiZ29hbC5oYXJ2ZXN0XzhfcGxhbnRzLm5hbWUiCiAgfSwgCiAgewogICAibm90ZSI6ICJ1bnRpdGxlZCIsIAogICAiYW5kcm9pZCI6ICJDZ2tJNXBPZnNZQUZFQUlRRmciLCAKICAgImlvcyI6ICJjb20ua25lZWtvLnRvcHNvaWwuaGFydmVzdF8xMF9wbGFudHMiLCAKICAgImlkIjogImdvYWwuaGFydmVzdF8xMF9wbGFudHMubmFtZSIKICB9LCAKICB7CiAgICJub3RlIjogInVudGl0bGVkIiwgCiAgICJhbmRyb2lkIjogIkNna0k1cE9mc1lBRkVBSVFGdyIsIAogICAiaW9zIjogImNvbS5rbmVla28udG9wc29pbC5oYXJ2ZXN0XzEyX3BsYW50cyIsIAogICAiaWQiOiAiZ29hbC5oYXJ2ZXN0XzEyX3BsYW50cy5uYW1lIgogIH0sIAogIHsKICAgIm5vdGUiOiAidW50aXRsZWQiLCAKICAgImFuZHJvaWQiOiAiQ2drSTVwT2ZzWUFGRUFJUUdBIiwgCiAgICJpb3MiOiAiY29tLmtuZWVrby50b3Bzb2lsLmhhcnZlc3RfMTRfcGxhbnRzIiwgCiAgICJpZCI6ICJnb2FsLmhhcnZlc3RfMTRfcGxhbnRzLm5hbWUiCiAgfSwgCiAgewogICAibm90ZSI6ICJldmVyZ3JlZW4iLCAKICAgImFuZHJvaWQiOiAiQ2drSTVwT2ZzWUFGRUFJUUdRIiwgCiAgICJpb3MiOiAiY29tLmtuZWVrby50b3Bzb2lsLmdyb3dfMV9waW5lX3RyZWUiLCAKICAgImlkIjogImdvYWwuZ3Jvd18xX3BpbmVfdHJlZS5uYW1lIgogIH0sIAogIHsKICAgIm5vdGUiOiAiZGVjaWR1b3VzIiwgCiAgICJhbmRyb2lkIjogIkNna0k1cE9mc1lBRkVBSVFHZyIsIAogICAiaW9zIjogImNvbS5rbmVla28udG9wc29pbC5ncm93XzFfb2FrX3RyZWUiLCAKICAgImlkIjogImdvYWwuZ3Jvd18xX29ha190cmVlLm5hbWUiCiAgfSwgCiAgewogICAibm90ZSI6ICJzcG9yZSIsIAogICAiYW5kcm9pZCI6ICJDZ2tJNXBPZnNZQUZFQUlRR3ciLCAKICAgImlvcyI6ICJjb20ua25lZWtvLnRvcHNvaWwuaGFydmVzdF8xX211c2hyb29tIiwgCiAgICJpZCI6ICJnb2FsLmhhcnZlc3RfMV9tdXNocm9vbS5uYW1lIgogIH0sIAogIHsKICAgIm5vdGUiOiAic3ltYmlvc2lzIiwgCiAgICJhbmRyb2lkIjogIkNna0k1cE9mc1lBRkVBSVFIQSIsIAogICAiaW9zIjogImNvbS5rbmVla28udG9wc29pbC5kZWNheV8xX211c2hyb29tIiwgCiAgICJpZCI6ICJnb2FsLmRlY2F5XzFfbXVzaHJvb20ubmFtZSIKICB9LCAKICB7CiAgICJub3RlIjogInVuaXNvbiIsIAogICAiYW5kcm9pZCI6ICJDZ2tJNXBPZnNZQUZFQUlRSFEiLCAKICAgImlvcyI6ICJjb20ua25lZWtvLnRvcHNvaWwuZGVjYXlfM19tdXNocm9vbXMiLCAKICAgImlkIjogImdvYWwuZGVjYXlfM19tdXNocm9vbXMubmFtZSIKICB9CiBdLCAKICJ0aWxlc19hbHQiOiBbCiAgewogICAidGV4dHVyZV9uYW1lIjogImRvdHMiLCAKICAgImJvcmRlcl9jb2xvciI6ICIweGZlZDQ4YiIsIAogICAic3VyZmFjZV9jb2xvciI6ICIweGZmZDI4YSIsIAogICAibGV2ZWwiOiAiMCIKICB9LCAKICB7CiAgICJ0ZXh0dXJlX25hbWUiOiAiemlnemFnIiwgCiAgICJib3JkZXJfY29sb3IiOiAiMHhlODk1NzIiLCAKICAgInN1cmZhY2VfY29sb3IiOiAiMHhmMmE3ODQiLCAKICAgImxldmVsIjogIjEiCiAgfSwgCiAgewogICAidGV4dHVyZV9uYW1lIjogIndhdmUiLCAKICAgImJvcmRlcl9jb2xvciI6ICIweDkyYjVhOCIsIAogICAic3VyZmFjZV9jb2xvciI6ICIweGE1Y2JiZiIsIAogICAibGV2ZWwiOiAiMiIKICB9CiBdLCAKICJkaWZmaWN1bHR5X21vZGVsIjogWwogIHsKICAgIm9mZnNldCI6ICItNjQiLCAKICAgInN0ZXAiOiAiMjAiLCAKICAgImJhc2UiOiAiNTAiLCAKICAgImluY3JlbWVudCI6ICIxLjE4NSIsIAogICAibXVsdGlwbGllciI6ICIxIgogIH0KIF0sIAogImRyb3BfdGFibGUiOiBbCiAgewogICAiMjQiOiAiIiwgCiAgICIyNSI6ICIiLCAKICAgIjIwIjogIjEiLCAKICAgIjIxIjogIjEiLCAKICAgIjIyIjogIjEiLCAKICAgIjIzIjogIiIsIAogICAiMSI6ICIxLjUiLCAKICAgIjMiOiAiMS4zIiwgCiAgICIyIjogIjEuNCIsIAogICAiNSI6ICIxLjEiLCAKICAgIjQiOiAiMS4yIiwgCiAgICI3IjogIjEiLCAKICAgIjYiOiAiMSIsIAogICAiOSI6ICIxIiwgCiAgICI4IjogIjEiLCAKICAgIjEzIjogIjEiLCAKICAgIjExIjogIjEiLCAKICAgIjEwIjogIjEiLCAKICAgImtpbmQiOiAiRmVybiIsIAogICAiMTIiOiAiMSIsIAogICAiMTUiOiAiMSIsIAogICAiMTQiOiAiMSIsIAogICAiMTciOiAiMSIsIAogICAiMTYiOiAiMSIsIAogICAiMTkiOiAiMSIsIAogICAiMTgiOiAiMSIKICB9LCAKICB7CiAgICIyNCI6ICIiLCAKICAgIjI1IjogIiIsIAogICAiMjAiOiAiMSIsIAogICAiMjEiOiAiMSIsIAogICAiMjIiOiAiMSIsIAogICAiMjMiOiAiIiwgCiAgICIxIjogIiIsIAogICAiMyI6ICIiLCAKICAgIjIiOiAiIiwgCiAgICI1IjogIiIsIAogICAiNCI6ICIiLCAKICAgIjciOiAiIiwgCiAgICI2IjogIiIsIAogICAiOSI6ICIiLCAKICAgIjgiOiAiIiwgCiAgICIxMyI6ICIxIiwgCiAgICIxMSI6ICIxIiwgCiAgICIxMCI6ICIxIiwgCiAgICJraW5kIjogIk11c2hyb29tIiwgCiAgICIxMiI6ICIxIiwgCiAgICIxNSI6ICIxIiwgCiAgICIxNCI6ICIxIiwgCiAgICIxNyI6ICIxIiwgCiAgICIxNiI6ICIxIiwgCiAgICIxOSI6ICIxIiwgCiAgICIxOCI6ICIxIgogIH0sIAogIHsKICAgIjI0IjogIiIsIAogICAiMjUiOiAiIiwgCiAgICIyMCI6ICIxIiwgCiAgICIyMSI6ICIxIiwgCiAgICIyMiI6ICIxIiwgCiAgICIyMyI6ICIiLCAKICAgIjEiOiAiMSIsIAogICAiMyI6ICIxIiwgCiAgICIyIjogIjEiLCAKICAgIjUiOiAiMSIsIAogICAiNCI6ICIxIiwgCiAgICI3IjogIjEiLCAKICAgIjYiOiAiMSIsIAogICAiOSI6ICIxIiwgCiAgICI4IjogIjEiLCAKICAgIjEzIjogIiIsIAogICAiMTEiOiAiIiwgCiAgICIxMCI6ICIiLCAKICAgImtpbmQiOiAiU2hydWIiLCAKICAgIjEyIjogIiIsIAogICAiMTUiOiAiMSIsIAogICAiMTQiOiAiIiwgCiAgICIxNyI6ICIxIiwgCiAgICIxNiI6ICIxIiwgCiAgICIxOSI6ICIxIiwgCiAgICIxOCI6ICIxIgogIH0sIAogIHsKICAgIjI0IjogIiIsIAogICAiMjUiOiAiIiwgCiAgICIyMCI6ICIwLjQiLCAKICAgIjIxIjogIjAuNjUiLCAKICAgIjIyIjogIjAuNyIsIAogICAiMjMiOiAiIiwgCiAgICIxIjogIiIsIAogICAiMyI6ICIwLjIiLCAKICAgIjIiOiAiIiwgCiAgICI1IjogIjAuMTI1IiwgCiAgICI0IjogIjAuMTI1IiwgCiAgICI3IjogIjAuMTI1IiwgCiAgICI2IjogIjAuMTI1IiwgCiAgICI5IjogIjAuMjI1IiwgCiAgICI4IjogIjAuMTUiLCAKICAgIjEzIjogIjAuNCIsIAogICAiMTEiOiAiMC40IiwgCiAgICIxMCI6ICIwLjMiLCAKICAgImtpbmQiOiAiUGluZSIsIAogICAiMTIiOiAiMC40IiwgCiAgICIxNSI6ICIwLjUiLCAKICAgIjE0IjogIjAuNCIsIAogICAiMTciOiAiMC41IiwgCiAgICIxNiI6ICIwLjUiLCAKICAgIjE5IjogIjAuNiIsIAogICAiMTgiOiAiMC42IgogIH0sIAogIHsKICAgIjI0IjogIiIsIAogICAiMjUiOiAiIiwgCiAgICIyMCI6ICIxIiwgCiAgICIyMSI6ICIxIiwgCiAgICIyMiI6ICIxIiwgCiAgICIyMyI6ICIiLCAKICAgIjEiOiAiIiwgCiAgICIzIjogIjAuNSIsIAogICAiMiI6ICIwLjMiLCAKICAgIjUiOiAiMC41IiwgCiAgICI0IjogIjAuNSIsIAogICAiNyI6ICIwLjYiLCAKICAgIjYiOiAiMC41IiwgCiAgICI5IjogIjAuNzUiLCAKICAgIjgiOiAiMC42IiwgCiAgICIxMyI6ICIwLjUiLCAKICAgIjExIjogIjAuNzUiLCAKICAgIjEwIjogIjAuNzUiLCAKICAgImtpbmQiOiAiVGhpc3RsZSIsIAogICAiMTIiOiAiMC43NSIsIAogICAiMTUiOiAiMC43NSIsIAogICAiMTQiOiAiMC43NSIsIAogICAiMTciOiAiMC43NSIsIAogICAiMTYiOiAiMC43NSIsIAogICAiMTkiOiAiMSIsIAogICAiMTgiOiAiMSIKICB9LCAKICB7CiAgICIyNCI6ICIiLCAKICAgIjI1IjogIiIsIAogICAiMjAiOiAiMC40IiwgCiAgICIyMSI6ICIwLjIiLCAKICAgIjIyIjogIjAuNCIsIAogICAiMjMiOiAiIiwgCiAgICIxIjogIiIsIAogICAiMyI6ICIiLCAKICAgIjIiOiAiIiwgCiAgICI1IjogIiIsIAogICAiNCI6ICIiLCAKICAgIjciOiAiMC4xIiwgCiAgICI2IjogIjAuMTUiLCAKICAgIjkiOiAiMC4xIiwgCiAgICI4IjogIjAuMSIsIAogICAiMTMiOiAiMC4yIiwgCiAgICIxMSI6ICIwLjEiLCAKICAgIjEwIjogIjAuMSIsIAogICAia2luZCI6ICJPYWsiLCAKICAgIjEyIjogIjAuMSIsIAogICAiMTUiOiAiMC4yIiwgCiAgICIxNCI6ICIwLjIiLCAKICAgIjE3IjogIjAuMyIsIAogICAiMTYiOiAiMC4zIiwgCiAgICIxOSI6ICIwLjMiLCAKICAgIjE4IjogIjAuMyIKICB9LCAKICB7CiAgICIyNCI6ICIiLCAKICAgIjI1IjogIiIsIAogICAiMjAiOiAiMSIsIAogICAiMjEiOiAiMSIsIAogICAiMjIiOiAiMSIsIAogICAiMjMiOiAiIiwgCiAgICIxIjogIjEiLCAKICAgIjMiOiAiMSIsIAogICAiMiI6ICIxIiwgCiAgICI1IjogIjEiLCAKICAgIjQiOiAiMSIsIAogICAiNyI6ICIxIiwgCiAgICI2IjogIjEiLCAKICAgIjkiOiAiMSIsIAogICAiOCI6ICIxIiwgCiAgICIxMyI6ICIwLjUiLCAKICAgIjExIjogIjEiLCAKICAgIjEwIjogIjEiLCAKICAgImtpbmQiOiAiRmxvd2VyIiwgCiAgICIxMiI6ICIxIiwgCiAgICIxNSI6ICIiLCAKICAgIjE0IjogIiIsIAogICAiMTciOiAiMSIsIAogICAiMTYiOiAiIiwgCiAgICIxOSI6ICIxIiwgCiAgICIxOCI6ICIxIgogIH0KIF0KfQ"},{name:"default.vert.gl3.glsl",data:"I3ZlcnNpb24gMzMwIGNvcmUKCmxheW91dChsb2NhdGlvbiA9IDApIGluIHZlYzMgdmVydGV4UG9zaXRpb247CmxheW91dChsb2NhdGlvbiA9IDEpIGluIHZlYzIgdmVydGV4VENvb3JkOwpsYXlvdXQobG9jYXRpb24gPSAyKSBpbiB2ZWM0IHZlcnRleENvbG9yOwpsYXlvdXQobG9jYXRpb24gPSAzKSBpbiB2ZWMzIHZlcnRleE5vcm1hbDsKCm91dCB2ZWMyIHRjb29yZDsKb3V0IHZlYzQgY29sb3I7Cgp1bmlmb3JtIG1hdDQgcHJvamVjdGlvbk1hdHJpeDsKdW5pZm9ybSBtYXQ0IG1vZGVsVmlld01hdHJpeDsKCnZvaWQgbWFpbih2b2lkKSB7CgogICAgZ2xfUG9zaXRpb24gPSBwcm9qZWN0aW9uTWF0cml4ICogbW9kZWxWaWV3TWF0cml4ICogdmVjNCh2ZXJ0ZXhQb3NpdGlvbiwgMS4wKTsKICAgIHRjb29yZCA9IHZlcnRleFRDb29yZDsKICAgIGNvbG9yID0gdmVydGV4Q29sb3I7Cgp9"},{name:"default.vert.glsl",data:"YXR0cmlidXRlIHZlYzMgdmVydGV4UG9zaXRpb247CmF0dHJpYnV0ZSB2ZWMyIHZlcnRleFRDb29yZDsKYXR0cmlidXRlIHZlYzQgdmVydGV4Q29sb3I7CmF0dHJpYnV0ZSB2ZWMzIHZlcnRleE5vcm1hbDsKCnZhcnlpbmcgdmVjMiB0Y29vcmQ7CnZhcnlpbmcgdmVjNCBjb2xvcjsKCnVuaWZvcm0gbWF0NCBwcm9qZWN0aW9uTWF0cml4Owp1bmlmb3JtIG1hdDQgbW9kZWxWaWV3TWF0cml4OwoKdm9pZCBtYWluKHZvaWQpIHsKCiAgICBnbF9Qb3NpdGlvbiA9IHByb2plY3Rpb25NYXRyaXggKiBtb2RlbFZpZXdNYXRyaXggKiB2ZWM0KHZlcnRleFBvc2l0aW9uLCAxLjApOwogICAgdGNvb3JkID0gdmVydGV4VENvb3JkOwogICAgY29sb3IgPSB2ZXJ0ZXhDb2xvcjsKICAgICAgICAvL2htbSEgSSB0aGluayBzaGFkZXJzIGFyZSBjb21waWxlZCBvcHRpbWlzZWQsIHJlbW92aW5nIHVudXNlZCB2YWx1ZXMgd2hpY2ggbWVhbnMKICAgICAgICAvL3RoYXQgdGhlIHNoYWRlcnMgZ2V0VmVydGV4Tm9ybWFsIGF0dHJpYnV0ZSByZXR1cm5zIGludmFsaWQgKC0xKSB2YWx1ZXMhCiAgICB2ZWMzIG4gPSB2ZXJ0ZXhOb3JtYWw7CiAgICBnbF9Qb2ludFNpemUgPSAxLjA7Cgp9"},{name:"default.frag.bitmapfont.gl3.glsl",data:"I3ZlcnNpb24gMzMwIGNvcmUKCiNkZWZpbmUgT1VUTElORSAxCiNkZWZpbmUgR0xPVyAxCiNkZWZpbmUgU1VQRVJTQU1QTEUgMQoKdW5pZm9ybSBzYW1wbGVyMkQgdGV4MDsKaW4gdmVjMiB0Y29vcmQ7CmluIHZlYzQgY29sb3I7Cm91dCB2ZWM0IGZyYWc7Cgp1bmlmb3JtIGZsb2F0IHNtb290aG5lc3M7CnVuaWZvcm0gZmxvYXQgdGhpY2tuZXNzOwoKdW5pZm9ybSB2ZWM0IG91dGxpbmVfY29sb3I7CnVuaWZvcm0gZmxvYXQgb3V0bGluZTsKCnVuaWZvcm0gdmVjNCBnbG93X2NvbG9yOwp1bmlmb3JtIGZsb2F0IGdsb3dfdGhyZXNob2xkOwp1bmlmb3JtIGZsb2F0IGdsb3dfYW1vdW50OwoKCmZsb2F0IGVkZ2UoZmxvYXQgdmFsdWUsIGZsb2F0IGFtb3VudCwgZmxvYXQgdCkgewogICAgcmV0dXJuIHNtb290aHN0ZXAodmFsdWUgLSBhbW91bnQsIHZhbHVlICsgYW1vdW50LCB0KTsKfQoKZmxvYXQgZ2V0KHZlYzIgdXYsIGZsb2F0IHdpZHRoKSB7CiAgICBmbG9hdCB0ZXhhID0gdGV4dHVyZSh0ZXgwLCB1dikuYTsKICAgIHJldHVybiBzbW9vdGhzdGVwKDAuNSAtIHdpZHRoLCAwLjUgKyB3aWR0aCwgdGV4YSk7Cn0KCnZvaWQgbWFpbigpIHsKCi8vYmFzaWMgc2RmCgogICAgZmxvYXQgZGlzdCA9IHRleHR1cmUodGV4MCwgdGNvb3JkKS5hOwogICAgICAgIC8vZndpZHRoIGtlZXBzIHdpZHRoIHNpbWlsYXIgZGVzcGl0ZSBzY2FsaW5nLCBzZWUgYmVsb3cgZm9yIG9wdGlvbnMKICAgIGZsb2F0IHNtb290aGFtdCA9IHNtb290aG5lc3MgKiBmd2lkdGgoZGlzdCk7CiAgICAvLyBmbG9hdCBzbW9vdGhhbXQgPSBzbW9vdGhuZXNzICogbGVuZ3RoKHZlYzIoZEZkeChkaXN0KSwgZEZkeShkaXN0KSkpOwoKICAgICAgICAvL2NhbGN1bGF0ZSB0aGUgZWRnZSBzbW9vdGhpbmcKICAgIGZsb2F0IGFscGhhID0gZWRnZSgxLjAgLSB0aGlja25lc3MsIHNtb290aGFtdCwgZGlzdCk7CgovL3N1cGVyIHNhbXBsaW5nCgogICAgICAgICNpZiBTVVBFUlNBTVBMRSA9PSAxCgogICAgICAgICAgICAgICAgLy90aGVzZSB2YWx1ZXMgY2FuIGJlIGV4cG9zZWQgbGF0ZXIKICAgICAgICAgICAgICAgIC8vdGhlIGN1cnJlbnQgYmVpbmcgMC4yNS9zcXJ0KDIpCiAgICAgICAgICAgIGZsb2F0IGZhY3RvciA9IDAuMTc2Nzc2Njk1MzsKICAgICAgICAgICAgZmxvYXQgc2FtcGxlYW10ID0gMC41OwogICAgICAgICAgICAgICAgLy90aGlzIGlzIGEgc2ltcGxlIGJveCBmaWx0ZXIgYXJvdW5kIHRoZSBwb2ludCwKICAgICAgICAgICAgICAgIC8vd2UgdXNlIGEgc2VwYXJhdGUgd2lkdGggZm9yIG5vdwogICAgICAgICAgICBmbG9hdCBzYW1wbGV3ID0gc2FtcGxlYW10ICogZndpZHRoKGRpc3QpOwogICAgICAgICAgICB2ZWMyIHNhbXBsZW9mZnNldCA9IGZhY3RvciAqIChkRmR4KHRjb29yZCkgKyBkRmR5KHRjb29yZCkpOwogICAgICAgICAgICB2ZWM0IGZsdHIgPSB2ZWM0KHRjb29yZCAtIHNhbXBsZW9mZnNldCwgdGNvb3JkICsgc2FtcGxlb2Zmc2V0KTsKCiAgICAgICAgICAgIGZsb2F0IHRvdGFsID0gZ2V0KCBmbHRyLnh5LCBzYW1wbGV3ICkgKyBnZXQoIGZsdHIuencsIHNhbXBsZXcgKSArCiAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0KCBmbHRyLnh3LCBzYW1wbGV3ICkgKyBnZXQoIGZsdHIuenksIHNhbXBsZXcgKTsKCiAgICAgICAgICAgIGFscGhhID0gKGFscGhhICsgMC41ICogdG90YWwpIC8gMy4wOwoKICAgICAgICAjZW5kaWYgLy9TVVBFUlNBTVBMRQoKICAgICAgICAvL3RoZSBiYXNlIGNvbG9yICsgc2NhbGVkIGJ5IHRoZSBuZXcgYWxwaGEKICAgIHZlYzQgZmluYWxDb2xvciA9IHZlYzQoY29sb3IucmdiLCBjb2xvci5hICogYWxwaGEpOwoKLy9vdXRsaW5lCgogICAgI2lmIE9VVExJTkUgPT0gMQoKICAgICAgICAgICAgLy93aXAKICAgICAgICBpZihvdXRsaW5lID4gMC4wKSB7CgogICAgICAgICAgICAvL3JhbmdlIG9mIDEuMCB+IDAuMSwgd2UgZ2V0IDAgfiAxCiAgICAgICAgICAgIGZsb2F0IF9vdXRsaW5lID0gMC45IC0gKG91dGxpbmUgKiAwLjkpOwogICAgICAgICAgICBmbG9hdCBfb3V0bGluZV9hID0gZWRnZShfb3V0bGluZSwgc21vb3RoYW10LCBkaXN0KTsKICAgICAgICAgICAgdmVjNCBfb3V0bGluZV9jID0gdmVjNChvdXRsaW5lX2NvbG9yLnJnYiwgb3V0bGluZV9jb2xvci5hICogX291dGxpbmVfYSk7CgogICAgICAgICAgICBmaW5hbENvbG9yID0gbWl4KF9vdXRsaW5lX2MsIGZpbmFsQ29sb3IsIGFscGhhKTsKCiAgICAgICAgfSAvL291dGxpbmUgPiAwLjAKCiAgICAjZW5kaWYgLy9PVVRMSU5FCgovLyBnbG93CgogICAgI2lmIEdMT1cgPT0gMQoKICAgICAgICAgICAgLy93aXAKICAgICAgICBpZihnbG93X2Ftb3VudCA+IDAuMCkgewoKICAgICAgICAgICAgLy86dG9kbzogZXhwb3NlIG9mZnNldCBmb3IgZGlyZWN0aW9uYWwgc2hhZG93CiAgICAgICAgICAgIC8vIHZlYzIgX2dsb3dfb2ZmcyA9IHZlYzIoMCwwKTsKICAgICAgICAgICAgLy8gZmxvYXQgX2dsb3dfZGlzdCA9IHRleHR1cmUodGV4MCwgdGNvb3JkIC0gX2dsb3dfb2Zmc2V0KS5hOwoKICAgICAgICAgICAgZmxvYXQgX2dsb3dfYW10ID0gMS4wIC0gZ2xvd19hbW91bnQ7CiAgICAgICAgICAgIGZsb2F0IF9nbG93X2xpbWl0ID0gKF9nbG93X2FtdCAqIGdsb3dfdGhyZXNob2xkKTsKICAgICAgICAgICAgZmxvYXQgX2dsb3dfYSA9IGVkZ2UoX2dsb3dfYW10LCBfZ2xvd19saW1pdCwgZGlzdCk7CiAgICAgICAgICAgIHZlYzQgIF9nbG93X2MgPSB2ZWM0KGdsb3dfY29sb3IucmdiLCBnbG93X2NvbG9yLmEgKiBfZ2xvd19hKTsKCiAgICAgICAgICAgIGZpbmFsQ29sb3IgPSBtaXgoX2dsb3dfYywgZmluYWxDb2xvciwgZmluYWxDb2xvci5hKTsKCiAgICAgICAgfSAvL2dsb3dfYW1vdW50ID4gMAoKICAgICNlbmRpZiAvL0dMT1cKCi8vZG9uZQoKICAgIGZyYWcgPSBmaW5hbENvbG9yOwoKCn0gLy9tYWluCg"},{name:"bg",data:"iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAIAAAAlC+aJAAAACXBIWXMAAAsTAAALEwEAmpwYAABH6WlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS41LWMwMTQgNzkuMTUxNDgxLCAyMDEzLzAzLzEzLTEyOjA5OjE1ICAgICAgICAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgICAgICAgICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgICAgICAgICAgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiCiAgICAgICAgICAgIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyI+CiAgICAgICAgIDx4bXA6Q3JlYXRvclRvb2w+QWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpPC94bXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4bXA6Q3JlYXRlRGF0ZT4yMDE2LTA1LTI1VDE3OjE2OjUyLTA3OjAwPC94bXA6Q3JlYXRlRGF0ZT4KICAgICAgICAgPHhtcDpNb2RpZnlEYXRlPjIwMTYtMTEtMDFUMTI6NTc6NDUtMDc6MDA8L3htcDpNb2RpZnlEYXRlPgogICAgICAgICA8eG1wOk1ldGFkYXRhRGF0ZT4yMDE2LTExLTAxVDEyOjU3OjQ1LTA3OjAwPC94bXA6TWV0YWRhdGFEYXRlPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8cGhvdG9zaG9wOkNvbG9yTW9kZT4zPC9waG90b3Nob3A6Q29sb3JNb2RlPgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD54bXAuaWlkOjM5OTAzMjVhLThmNDMtNDg1Zi1hMzBhLTAwZTBkYWNhZmM0ZjwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgICAgPHhtcE1NOkRvY3VtZW50SUQ+eG1wLmRpZDo2Njc0NzQwMy02MWE4LTQ1MmUtOGIxNC01NjUwNzc0OGZiNTE8L3htcE1NOkRvY3VtZW50SUQ+CiAgICAgICAgIDx4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ+eG1wLmRpZDowODU5OTVhZS01N2RjLTQ4YzItYWE1YS1lN2FhNDViMTMzMWM8L3htcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOkhpc3Rvcnk+CiAgICAgICAgICAgIDxyZGY6U2VxPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5jcmVhdGVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6MDg1OTk1YWUtNTdkYy00OGMyLWFhNWEtZTdhYTQ1YjEzMzFjPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE2LTA1LTI1VDE3OjE2OjUyLTA3OjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgKE1hY2ludG9zaCk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjIwNmE5ZjYxLWQ0NGItNDcyZS1hN2Q0LTM3ZTExOTg1ZTZhNTwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNi0wOC0yOFQyMjowNzowMS0wNzowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpkYWUxODg4Yy1lOWE2LTRlNDMtOGZjYi0xOGNjZTBmMmZlM2M8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTYtMTAtMTlUMTU6MzA6MjAtMDc6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoTWFjaW50b3NoKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNvbnZlcnRlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6cGFyYW1ldGVycz5mcm9tIGltYWdlL3BuZyB0byBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wPC9zdEV2dDpwYXJhbWV0ZXJzPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+ZGVyaXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6cGFyYW1ldGVycz5jb252ZXJ0ZWQgZnJvbSBpbWFnZS9wbmcgdG8gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcDwvc3RFdnQ6cGFyYW1ldGVycz4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6NjY3NDc0MDMtNjFhOC00NTJlLThiMTQtNTY1MDc3NDhmYjUxPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE2LTEwLTE5VDE1OjMwOjIwLTA3OjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgKE1hY2ludG9zaCk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjYwZWEyNWRiLTIwMjMtNDVkNy1iNjQwLTBjOThjNzU4MmU2Njwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNi0xMC0xOVQxNTozMy0wNzowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpPC9zdEV2dDpzb2Z0d2FyZUFnZW50PgogICAgICAgICAgICAgICAgICA8c3RFdnQ6Y2hhbmdlZD4vPC9zdEV2dDpjaGFuZ2VkPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+Y29udmVydGVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpwYXJhbWV0ZXJzPmZyb20gYXBwbGljYXRpb24vdm5kLmFkb2JlLnBob3Rvc2hvcCB0byBpbWFnZS9wbmc8L3N0RXZ0OnBhcmFtZXRlcnM+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5kZXJpdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpwYXJhbWV0ZXJzPmNvbnZlcnRlZCBmcm9tIGFwcGxpY2F0aW9uL3ZuZC5hZG9iZS5waG90b3Nob3AgdG8gaW1hZ2UvcG5nPC9zdEV2dDpwYXJhbWV0ZXJzPgogICAgICAgICAgICAgICA8L3JkZjpsaT4KICAgICAgICAgICAgICAgPHJkZjpsaSByZGY6cGFyc2VUeXBlPSJSZXNvdXJjZSI+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDphY3Rpb24+c2F2ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDplOGQ0NGIwZS01YmQ2LTQxNzQtYmI0OC1kOWEwYzMyYzUzN2Y8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTYtMTAtMTlUMTU6MzMtMDc6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoTWFjaW50b3NoKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPnNhdmVkPC9zdEV2dDphY3Rpb24+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDppbnN0YW5jZUlEPnhtcC5paWQ6Mzk5MDMyNWEtOGY0My00ODVmLWEzMGEtMDBlMGRhY2FmYzRmPC9zdEV2dDppbnN0YW5jZUlEPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6d2hlbj4yMDE2LTExLTAxVDEyOjU3OjQ1LTA3OjAwPC9zdEV2dDp3aGVuPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6c29mdHdhcmVBZ2VudD5BZG9iZSBQaG90b3Nob3AgQ0MgKE1hY2ludG9zaCk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpjaGFuZ2VkPi88L3N0RXZ0OmNoYW5nZWQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICA8L3JkZjpTZXE+CiAgICAgICAgIDwveG1wTU06SGlzdG9yeT4KICAgICAgICAgPHhtcE1NOkRlcml2ZWRGcm9tIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgPHN0UmVmOmluc3RhbmNlSUQ+eG1wLmlpZDo2MGVhMjVkYi0yMDIzLTQ1ZDctYjY0MC0wYzk4Yzc1ODJlNjY8L3N0UmVmOmluc3RhbmNlSUQ+CiAgICAgICAgICAgIDxzdFJlZjpkb2N1bWVudElEPnhtcC5kaWQ6NjY3NDc0MDMtNjFhOC00NTJlLThiMTQtNTY1MDc3NDhmYjUxPC9zdFJlZjpkb2N1bWVudElEPgogICAgICAgICAgICA8c3RSZWY6b3JpZ2luYWxEb2N1bWVudElEPnhtcC5kaWQ6MDg1OTk1YWUtNTdkYy00OGMyLWFhNWEtZTdhYTQ1YjEzMzFjPC9zdFJlZjpvcmlnaW5hbERvY3VtZW50SUQ+CiAgICAgICAgIDwveG1wTU06RGVyaXZlZEZyb20+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAgICAgIDx0aWZmOlhSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpYUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6WVJlc29sdXRpb24+NzIwMDAwLzEwMDAwPC90aWZmOllSZXNvbHV0aW9uPgogICAgICAgICA8dGlmZjpSZXNvbHV0aW9uVW5pdD4yPC90aWZmOlJlc29sdXRpb25Vbml0PgogICAgICAgICA8ZXhpZjpDb2xvclNwYWNlPjY1NTM1PC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj42NDwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj42NDwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+FfDkBAAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAQIElEQVR42nRa4XajvA4cJQFsmrz/exZiG5My94dkYfLt3bOnJ03BGFkajUaSIycAEiIX5gESJGJP/BMJZJnlDgyoAIARxFrwjNgBEJvgmYFYgREAiBXLD4Yi4QEMqTDuwOstmLg88oAI+xMqMO5cHuUlACKQCiOKhEisgmcqnMMHGHTN8hKyAJj3kEdE3Q+QhoJEHly4MZEkj5wSSdb2n0dO7yNzI8nj93jnw37d+M5H8gtYSfr37yMfv8f7yO8jH1yO3yOR+pPX9fVXv4asbQ/k9o/9+FbJyo23sFCtCwAVEh4RAIbEP9RBX3SWgHEHkJ+bBJklZL1+2shSQpwl6O162Rxklnt+brPcsU0Fz/ISPTe9LGNI/Ev8A8CFxAZA7JpBQvSLJTwidmJDHYAhAxzXqOYvDwA3mSTzkYFoyw/ECmCWOwCWXEJERSoPLpwlhJJxXox5D2TRC9QKaSipUP/K8pnDJwIBK+ogk0QgHQwlx3Wa5Z4BeYlgkvoEgDqgIhXaXo+sXxY81TQRu/otF0oQHhkHF7K+86FHY4f4e7Sfdr76p3c+jt+Dm52pHzRJ9QF1AD3r95Hf+Tj9ZKMuaD9zMv/Mh95O1veR3Q/1KYl0JzQfa+voUjeUO+owB8G4B6wRILY8ABialYeCp1kRyM8N466n39wGAARPeX30rowBFSIhoqAOGUiF6SCGYusBEh4AMprvAVwecTN/5kaNcnVgwVNeIpNE7Gko5SXEmgrzc4OaSi2tMXeGY4tpDUeNdQvNdmIW0xZnZlc7os6K+q+BQXWrm0W50A6f+id9uu9B/2pIkJNer2ghiQxYzQXHPWOIzbTcKC8B9owBgIX7653LD6ZtlkC9cTzPQYNSJsG4ow4YkQF0UIuGmCVEsswSFL4xbRpRthqQhmLYAKTC+SZ6OLntxA7cUan3xR6t1PuPnNQedkQbDy7vfLgxWvy4+3bLduegqO0He2KoHq8eoJ4e7axSu+Y8xrb48XuIPk/TTcYQSs6TmCVw2mwOAoO2obd0OjgHQYXllxGo4LhmPtR+SRNQ+xw3ai7LgIKmZq52hjuXh0wCgBvzgDlIBtgOTR8dsRvEjzvYvFDf7ASHI5vZDHOYmqXbaVQ7ro3HbzsK//JMWLx83hqUdQimdvUD8aByq/eRk64L3tx9Z7mjomgyD49ZAuoQgTQUYjPzjztZJESMILaCpzq6vD4Fz8QCDJlmYGJN5ZFYWLLhTMkYEcO7vPQ8d/2SC0VCeQkqgAHbpB8KnvkEuiGGt54GF2ZA01+XB9o/d8fTxXu8/z0ciS/eqabNif9iAadzm+vXdz5aePCbyJxkwWKm3965z5y4EY5ijpIeQ8fv0dMS36Wu60lHP3tU9e/GEx6qR3YPCZ7XOsLTZ7oTgnVvqc+JG0lKIltkNBzEKpg0s8jrY5GNgGmL62TgVcHNbjxBE3Ba1ehkC/oKHhl7kEkcH7M/kQXbdCIpwHFFucstpoPzTbgZNCug00AFLBnv89Sr2unEu5wUxa6AeCYXj2w9txMZty/TnidjiNm75XZ6S2pobt7b4KHDXPZn8s6HHFykPpUdGPtvuV0pZ2yJrOWjneUjt9jjrMFfoxJqXb1Yo9xJh7JGZfl2dBrxhRKkz3e67Hk79lZIQBF5loCKm9RnHu2gWT72+BEYEav61WDQqyxledgRV3MVlpzKQ15CbIlFgT/CSha90rgQdrJwYcFTJuFGZUoAIoo+N9teoQwgDUUBzVxuVDZuNkoHbzxyWKj3KLVKhbEC2JNyr2oZJ6oVh4I9+PnMN5FbjOFt8SBBKQYXAkN5SeaDG+cgcxBim+WO1zuU3NwaLAwL5Rb1tdVkLFlJzSwhYC14onGcNBQtFY3a9NnEnVLd9H1khYvUwY578Bc6GePNyUCzx9yWJTviyCMnJ97pjI3qDNx/PbOeQvbmpJDvVg+cqNdzbo0eR3clnhr0JyHZ2LHX6uDrqaCnkCdeK9HPR7pSzpPSbl1S8jTV0MLYcU4k0Rm1dq/OqyX4nUosIVwyoH/JVtryCl+akq5LVSdt/32KvnP35XmxvxLUSD2PNzp0Vvr1UgTpaVjZUPtavmc1+uAGfzWxo6utXvNDO/Ngc9103Uy6Ji8vEo+c0NWB3dJf7nE6vRHpfsc92Kdrtu+ztXvLGQZuuK6E0vX7dTz3p45gp/a2N7zeKgQQq9KjuE4K+XkEyyc3Sqy5mUcWTC4EZUetCnlJwMqFxt4q5j1kgBu1WMXoS+1cKC+RW1TexpI5rgZlygOwEmuDVAMoYptvQhayGAlXiPhnudDD0clStgs3diex8nzrnftapF+DTV2od6Q+tfdgaAfe+a0n5uP3EJJNU2nFhJZthr4thdVBOQxLBpAnieukyUgLQi//UKFVTm46wMlqgly0vfKRED3rR6NhT8/lynlYsioAqTx02YiODfRO2V76H37fA+iJgD3kdfDsGt7Jkxvldrt+MVb/YDd2MNhvz2PJcsjGG7DPEjLAktNBLD9GFrBSHRdDHjHLfZYQsc8SwsL5JsZe9+BJXiTwyKlQ4wEAjxy1cFl+rAIcoQKCil+NvOwsH2JNLDLJfBPTVTGwZJGQWJQFafbNIyQ8iA0j8IUnalH3XYfh1FF/TyIucnlsWDlxloVdXaJn1YIh9R7fzjk13touqCf+NPOnLpaOnISsJk1i0hJbZSyWLFpEmzS9s3wkPDqdOTYeZlV/buTeK3eq/jGJSy/m0HXIY2OgTSvQkr+EGHGSVsGTJcstpqHMu0q0ppZzXAueVtCwcL4JD9u03bmwaeVQwT0sNEH88lbmTb0A4eF4/TBp3aNEMOj6t5hH44u6gj4IQ0H4MwW/EVLFA9UvlCbflAxi2jACezCbYSJW3SvLh9jiOkXs+k3QaBl39WDFJVTMEqJ81DylgYmaENgFT5YPx5Xj2pQpkVvEuEcg8Q8Vs9znPUQAr3cJ0eQ2Xac+pT6xB45rbtejQkiqAxAryl1xTUHN+xqOa+owLBl7kNeH5VNC/FLdVF7Xc/e2SHsN6I3a/pjDJ/EvrpP6ZEaQIAFrLj8xWFtEL9ZHB6wuXil4yCRCdSGsBc/QuiMA4o7ysuUkiHq29nLQfNQABFvBU+uvVB5W2rbiTkszjiuWn/zUqlq01OJG+2YSTcPqbFYSaTxo2XRotJyVmqrLUT7nC3y57FnF+XYr0lBEgisA6pf2VK8JcQaraUedlsaN2i/qZdBWu7oEaOVYWFScs0o1tbvOehXDLRUmllx+fDeqJWkwECsqolpl3GcJLGRhKlS3NkICxPAmi3GkhRJi4h+Wn7BQEydGcFy1x4Ftcn9D2z2XJmRUq2PLSyKKdmJYctzIrfEGLYM1Brxetmxv8rK5h71SU5i5mJBKbJqeVMrsxWRdQYEyhrfUJze2tkB0gGbJeRLzBEyog7ZkFGfTwRjeLps2LRWJf3GjKjR5hHBjHhuiaQuxFwXOFqW9jPtV3+Aw2rP8OPY1c3xagRvmm3Snb4ZQXpTKQxPLyaaGEuXTtyv7FxYJFlfljlOo2b6YSVfIWVFbnY7rr0oJW8VUOwHHSqd0ldwu1KgvxJXzNCU9fTExV9u7n6m1PCyIE0uUj0osbhKEP+tfwEICr7eKSNaQ07zosntnOWc4eZKTqHbA4NKduoSnp8Q/bJNbXT3eUaSB8uSNmJsWJSJBMGHcFUbiDoQ/lLuiWyrMA+QlKPe210GhI5sK8iFWzfZSn6gKhYOExyx3RQJtLZo2iHW+CTCoFq3Ok1hSeVhnzVx3j9gt1tvuUe4a1mo4IaumhtMFTw3MDTwAeyoPNYypYk0e01ZsdEGqaWkGrF2uoN24p/LQllE6rEGfWLBNEaXT/HaWj0WUBkDLdAAyrf8Ha9Tlo5HQ+tWxc++3SOi0dVM8+w5IV7x3a15LrU786QXqs37/IsV948t4bvXvoR2rfgdsr9Q3YHrR9yIWePukKzv6t73y6kuBkjoB4pSYvRupCHHkU4zZuhZlezpcT07XJlLPyL1t2qNH12Otrp2YlOKaSntY/+FLI0mdHKSVQPfo2hXT9ctkep5C1qvH4yRzrUrmuF4SzS26hK8g47ndwSGxzHLPGOKZEND+ulupdYvc2DTtM96cE7DV5UEnHhqN18Sl1BiuO7j0mdj5zEY3icN/6pSmviN0hsSl0X2u00tD6dK5qpdmTCc0XWS/ppiYQpqPg8ut4AnsceMsIRVmPkLJ8vo0iRyCJ5afiD2UHDe62q7yssrooWStg70UJjbV6LUvrcelF9sUQjXU4pF1EqVVLXsGdKTEbOxjLtukAr3gmUfEHQDkyEnCI/EvykeLSWUBWuypevHV4dHMoocY8d2R13vR9dMzBipFt4EnLzAGbzFpZ8lR1Uj4kdsI1OR5jSzSNPewEJ0adfZ9vWD39r2D16W72DDqnKTQFrwKUq3v27cGL0B0FSfTfyVkXhQDB+h+/dscPpbh2myKpeuXaG2lZE4jkgvjDr1Fc5a2+ma55/LjdZlgSoXyEmLVa+bwUeNlDCrk+OCDZ9yIXYIYZ2ntn4xBXh8lBK39YfGtfo6eOZ2Ng3y0OKt9vFlG+z1c4bjmmp5v1Z4dnkrJdr2G32281J3Gf3qy1ZODr9+mVZR+6ZhD+fHOpnM7b2uWENmJKOhc34qpRr9PKg5wPAu9rt4wtG3Sxq5IreKND8rEa0WuUKs8RbkQe66nDWCthvWRvtHYpjWcn3yJof3OvM6OzuO3ySTU2mbJ2lRcxnCqpbeoFakWxOlg3K0V7dy2qzw1D2zfgxmWt1v3yd3Diwd1tnRl8z1FSSdyG/PxmRqjGPns+/qsiI+aeIb+kga9zHCK0cYuOxHvTOw+I9SNUfbC4HV25OLcqc3MGbHpiKDJ8e2brybNpYXhTaqr6N+P9+Hs6rVO3tc9qf16DuDwH8Mv5/RS137sqrP/0+TsSMDXVMU51OOjghsb9Ty5wk1ewsI06DjRHndoY9k04RYe2gBGHXxqdr4JsfqvYlkTJUS5RRVRyktUIU2FNqLWgseFmVmCNDUS08by4UYd+UlDAYY82EQGN2Y+vKWgi9wsILaJLMCA19uAliWuk+tzJsiNu3beMwaMEEx59FlWE6SsqTGeIS6vj6KW4vdJDUyBtL68vVv400lSLo+4ThkQRbwR8pIoH4O419se8d+GUuodw6ZBL/2FfzYmjIe3SO3/epkMabenSw/v2uRrGn0/xdxXC/2Y5Y0LI3al0Fh+uDBqhw/IgGCSSfQzx1XzJQsT/7zz1+HsLpgyH9rMY8mWCsKf6QbuPHXwG+cgRqFHZJ3ntgHijUeWILPcy0uyCQt7HqBIaiOlmgf6IRwvQH1+vA1ldpOubUbPq/vYCglXnk3fHX2QBcTmw4D/naf0ilyriH79y5xlBcfVxJE63NpM4N7mAzMXlhBVozWpfVy1d0Ss5vRjm+E+GEpWsTEd1ACwgA5/mo9lEi4PHaeb98CS9fSIVYK48NFPRaqGrjw3qhA/iekxQ8Hykw5q2v7fAIlKmVKMuZD7AAAAAElFTkSuQmCC"},{name:"build",data:"K2QwZGU3ZTY4MmU"},{name:"default.frag.glsl",data:"dmFyeWluZyB2ZWMyIHRjb29yZDsKdmFyeWluZyB2ZWM0IGNvbG9yOwoKdm9pZCBtYWluKCkgewogICAgZ2xfRnJhZ0NvbG9yID0gY29sb3I7Cn0"},{name:"logo",data:"iVBORw0KGgoAAAANSUhEUgAAArYAAADYCAMAAAApvFDdAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAY1BMVEUAAAATDAwdEhImGBgvHh45JCRCKioKBgYYDw8rGxtHLS0OCQkhFRU0ISEJBwc+JydlUkuXe3AmHxw/My9MPjixj4J+Zl0zKSWkhXlxXFQZFROLcWa9moxZSEFMMDDKpJUAAABjprWcAAAAHnRSTlMAQGCAn7/fIFCP7zBwrxDPgL8wUGDfn0DPjyCv73ClS2GdAAAAAWJLR0QAiAUdSAAAAAd0SU1FB+AMARUQDP5FBKcAAB6ASURBVHja7V3ZYusoDG22ps3iOHuaOLf//5fTxMa2QIAksNNxOU8ztzEIcRAggXh7+2UYjSfT2Wz274H3n/+YTEbzV8sUt4Efk8lk9sD05z9Go74q/fypcdHS6jJ+Jfwiw6QYRUGoIpar9fs/FLPJRxZXxcvum0Nt4OKndR2OzPl4urFo9TOiVsePli2mnALHT7mmwrZn03+RsPiUq+Fj+u4ufLaK1rfjDa09P4yarmKZw4/pwlHT+/QjVuvaWH56tLqJo9VMaXRBH+yKdouxqGWLf/GwkfF2OSUJMRvHsA7Ld0pdLazDq51/+hu4iM3cuY+zirnhWp01raAW9tl8Ihk5VMtD7GKBBGTj97DnwcZhLGnWNMjmzqnz2fsk3qw9mhEr/SefqDGdTmifLMNII+pFB9gKGDONX6CKpZPLTExcMmmjMKjCB9MahVW7bpX0Tvvks107v8ZPXvO8WDHVy52xfxBkkuSTy0zWsyvuOGFta3BwLG1dbQBxQSfSPgES8k2CoIFuTnEqn8tqly3inwiZXBbMIflAJmihpB5Qp2yPvWB1HQAoh/ZJIG1jW1tO29mGqIbQ8sHpjI811xAKlySbEOfbh1ir4mpBKbRPAmkbe21L3w1LDFGNhXDXHeg22fCGy1hcndjghrkzhdWCMmifBNI2i+n/Ii/IfzAKrPgzXMECMPySYSaBbdhLLAMdQ7JqQRG0TwJp+/YR2pMAZAHcXfr+jH66u0DkIw5uIMPJGKZZUfPcC4TFU6vuSU60UAAl0D4JpW3AWsjAO7l+61S2+RyPWh22/JisbfIxZ2xTwd3SCV/Xvk9X6hzCaDSezOyelA2/dVZbsPmptSX3fDSxxdF58wmmVdonwbT9Ie7EBaB05y/p602ctYspHiRfTnC7K9Aw+N7ZmPXMMlyIzvEMkRkLpWYftmAW219iYa0lyjdfdaNV2icRaEuXaRanSJS1M1c34eFfvoZZCp6PUccDbd9iumjW1t7Bjw5wg0coa99dken55AVaLfE/pC3G2rVP9AxTMVvDXAVjtZKWtyP9q427gR/mkpO+vX0CY60/tocFKTvX6tv/kbYTiXrfHhQyP+RuXPgKRmqlaEFnod/xYYS2FqyWIaylbTWwgcnk7V+gralfclgIiaoxNy4CBSNOJb+a9UaS1qkjWBFL2UtDM+TIT2Yuhd551uAP0NbULyfkZZq+qbgx5BMcRr/61aCNL+ruaiL56CmiYTI5niwzLMLr6OHTNjPWUry4gelWYm24RbQ1V+M+PS+lTWxZdtY8YkwIvAM55oTC6pXh09aYkLhunrmuYdZCTEhb3ZvlM/HQjcDZW9XBWVazjEmIG0M0I+0cKg2etkbkiH+Yy3CIcsySkLZvc83Ie2wZnFJ4vVKe5WRZy2W4Vo0JhbO8HTptjSWY5AiiwVvGqTMpbfU9llvuuXhYPbEcjXhbok0ErRq8ZRjsodN2GkO/Bm8Z5wTEtNWo4Q4FfERoJAP6EkF4cFZfJ9DJNHDajuLo15iy6fEkOW2huXX7VCGPus7zoGuD51tpoFsD+iwxcNpq41lyX7KEzn9yu+W01darzg0T2Hcyg118aFOY8Pb0m+mlIU8Tw6atRjamTxtAmxfJcgXQFnoHnF06i6czP+BCWnZ9u4K2YSYPuGHTVjO2QcJuZGUF0BYOOuf6BjRUOmdToRnboItomnuSam4HTVvN2IZ1p+bzoQoWQFv4rXOBA/pEdg2DjLlMETg0Tw/V3A6attDYktOXWKAdDCQ650NouyFros9FwlSkBxtYfr4aQ6atZhYCb1XrhoFou0NoSycj+KXglkLnarADbjyJ/T1k2soDnjjgroxovENo+0n+GM4rnTrANPMYXNdIUt6QaQvNQrgPPpMUGELbCfljSFt52gwC4NY0wvYPFkhbmA+YttC5ErqyfQDSiDYX90Pbz+httUFbeUUw7NB80ybFAdMWbh1ibK8zQZeF0Ja+SFhByeRhFS9W8StihFUUBkxbOKVHWe9BLyNplRBCW/qWTD+RFbr9tANO6VES5MLRSbIvw6Ut7Mk4u2u47iCZmhDa0h1gRs6mrpa3GaiFd/nMBrjuIK0ShktbuDCMZH4WbH0F0BZSxL35Me4mC3Mj+QAXopECG9CCU+bF4dK2E58QZAel8QG0hbZ9wvjt0xJ2cnwRKiBSEn24XqbIPVzagpbF8sBDY0OZiQNoy6IIkn1g08GjIsAwxlkj6Os5ik9tsLSFqogVps9AqZTFbQBtWXtKfoaYftrPbynFxAyWtnDiiWZ3gLWh7B7ktGX6My15veK+hsM4lMbBmqulwdIWelWiGZ0pt1g5bSEPvVOnkUxJwZafTwJoDKJ1/oRb7GBpC6SMd96f3W9i2mrn0v1GE8n8VGMd6WlAegCEBTjkCHuywdJ2EaUUA30o+AktgEDZ/bifiXiPYXQ7MgYZkJSw9hgsbbmKIKIPBT/r0ZaqlD1l5s1Hv5kE9heQKuK5XmBkCDu9odIWRl4ixjpBuQRfjYy2BgNJc7yftz9mez0OWC90ZAzYx9yHSls4mUeUsgcFI/mbqOcDaa/WbCZRHlaKSFvuzeNEWyb6oK35uAXZQFJfXnv/lDAXajWia41+RFOs1f8FbaHTM+Jxf2DPOrELc3NrxbBrS/Lja4KHxjszBom2Mj10VjBXjiUyz/PyOzCe1JsyTW6iLVGmP0XbbPSJbqqYSkYfnbCA9456Z7SFk2NcrVZItBUreOaEjWz8rU+2or/jPmNY3M5oCwv2S5Ro23HBZPpYIbtl+EF/o/qTvAbpibb+ghNtOy44mLXiM5fZivocLvkZ7GRtiTL9edrK0xm+Pd5dJPoViAc709qWKNNfp21wHoJsPKVs0GijI3kSiDL9Or8tWDISJvAw1saJSi8nfqNL4m2iLVGmYUXJmHgPTAvXgv19aA5v4bG0iJfVEm1LDIC2i9iXxufjtWu9QOEt+KCrozR/+EzCvCsFg3K5J8A4mHaSgM5ldLkHBiPm0U0nwLCGxVNwxh0OMs6+T7pL47W0Mte/kmYkHGEhaPjQqvh/0LajA81htxto2IhOZ3FgiUX4U96Bvo9131wwNw6Wth0pOOwumZews+mE+bCdEHPULeZd9HR0sTTdJVPo6KWuKVdhAgX3gww7Uu7TU7q5S5NJTFvouI3mqwFrj27zJHQO85Vxr7ntKE/CjKulwdKWn6CHArgI6zgrTffQXlEhrKb+RekcHSkrDa6KWHejoQ2nxLB+NW3NFEy+QzXQQEda3EIb/qdzgGkTT6S9+Zpd6O+mrcFbH2egfY50m4zx3GWF4dIW7h7iBPczUCbJP/HLaauvE3zTEkxIGmntBf3Ifzu/7ZLVHTRA29R5NvFeoMUePPO+NnCjrBIEed+HS1vJSxaspnf/dkMv0JYJvg4VqMAHwdswA6YtnP5izGfa40YkU/PraasNbx8R4dorhi9Be+7tr7+UoyV/izCfQbNAS0r8+2kLh7fPF6sN3QiTWHqXDAKakXDfeO+vQPYDZggBOlMiTGKSbhoybUVv5NLL4zfmd9KWeY4l9pu7ovKGTFttPgs1t1pxxMOQv5+23LPfcM4Jfb8hSy+c69AOiwQahrWotOHRVstaHsgAdtJ0U2TaJ/8f2mrPGYRte7XCqFZmeLTVZp0wj7iwsEHTVnMyBnkZ9fTe1Ib/ftpmTNrqk1jQ4kvYQ8OmrWYhFwHLBK2vyHL9ftqyz2hrFjKEA9oSgWy5h01bfTDLH4PUj5yQB8Dvpy37jLZ+jkHuo9EfpSIfzRk4bXXDIHUzLsXl9EXb+Wgk7IsNW0TNgS22BnOtHHpnD5y2xkFo2UJsqemXYV/6oW2ZQ1yUWQGObBoDV5pWZdbAeCGFHnIbOm31nZRoW6azllNIL7StBZzy52vBQRZj8SXircFaxqAbOm3NNz35vDVYyxGqF9o2BNhwd53a8oe4ujRUwuetwVpObsnB09a8L8XVsNFFrC1IH7Rt7xfJuWorQPKQb+avDK0y7bzxhhXrVM7waWu+MbcOfMGDRYw+aAvjd/Tk4G+GX48+pI0EITw7PzK0yrp/Mnzamtby3ztdaiSbAG/f0wdtZ+Lm6X49usUzNg0sO28+a8072/AHaKvdf2JZpNF7oH5fQdsfGYmWT19AcbRtWgPyNIYkaGAmTf8LtDWvVf9YJMrODHnYjp2U/iW0peVrzIzmBbz29MSCMtNj6XC4EYs/QVtkTiIQd45lG2I/pdAHbT8RQf1P5ZmLduZEglgDglaxR9MW3EsSf4O2+BPK7xOHScKTEvIfAOmDtvN/KDZjh7Rjc/nDDtJivP23+HRodYR2BJu1f4W2uEF6vDuLaSz7sDzTIXi2pg/aorNJqT60fW94+/jJOsZ4rZYX1G0pofmsDabtdMIAkeNd0Nam4R+lzSYfTXLO5Wg1tT7nJXlsqRfa2lv3bN+4aV82GtveH5FEuqzv+8Ja56PVp/XVk43gGmUobXmYse9ox0uo/OF752jme/BTEDnt7SjNyP+K08bdPpmml756N743/UQPrwm0GkBbmozhysQ1TH0U0QJZPiaBgkWYh3SLlD1vWDSHB9n7BAKtBumH4qtv/z4ibfFExFQwfPihChZiImzZEwGPTYbUyw1FB2j1Uyhi2ftMmWLSlrBQsIIVMQ1UsBQB00lQuoMR/Tl1DTPpdROBVj+EMpLr6I62UoMrNbUyBcuxkg3LRWAqr0xmcKWmVqhVscl6PW1/TAN/jUOK/VAaEys5tB3ZRNA5YpvXYM43B4uQN6zAvEL8JmgxQyi/PefEyl7fApO4QeqFCg5NhUEBm7ikMHd8rYa9FtgeJeQrQQGbRwoN28Oii3DG22hNlvd9FZiDadx1YwxkK8ZaMxJpH2BY3ODXAtvnIchzYYDTgzLGWmfiOjC2pYpJXbuYRiBao6s+jG2J5ZRmctcRX3t+ewwYEjHWEXLnN4aHcf8yk3oTaGqqt8RdsfZZycSt48U0zssE9RinxVpiYfTpo9Bs1cGrvvOVe7GwWI+jqCFT1fA8d3PfO+/oMKOG8bInpWKMSnc1H5MZapY201XE90OfNmgW17AFNe8Reu1wwTKyVPu+jqnV8UOrm/61+kswH60mnzOF9WQy6vrF217xOIQwWbfb99HH86jPamGtr9ZEQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQs/It0/sXi3HwLEv1Xx4tRxDwfH7iVeLMXScSjWfXy3HQJCV6ty+Wo6h45KsQ0zsS3V+vVqOgaOyDpdXyzEU5KU+96+WY+A4J+sQFdtSn9dXyzFwVNYh7cgioVTn8dViDB2VdUj+mjjYleq8vVqOoaN4qrl4tRhDwb2k7f3Vcgwcu+SviYrkTuwFh1LN+avlGApSsKEXJOsQFSnY0A+qYEOvT8gOGCnY0AtSsCEuUrChF1TBhtOr5RgKUrChF6RgQ1ykYEMvuHUSbMjO+elxGPLrHmurp0rM9zxDFibJ9ZznW3x7dd3nt6dAh7buCMGG7Hz/enx44jblUXz56dc9Tn9dD3kpyfn/trUhBBt2qoOoPX+oxkJZ9K3+alce7OVvV7L7pVXi5Z5RS+RKcir/vfyf69fF5hWAAh2/av75gg3X+/Yb/xLDGZyEvn4dW435kqxDyvLKFWGWt9twc823QC2WQrWReth6AH6/8/16C1t79flr9qfjN7V1lTaKbw3HaoMidBFnJ73EIs9AiThtBZK09qfXk/rIKL35Uw11l8HtTtzdjA+/Tw76fbX2d2alXD3CjYyhnKN9G+nctuPxKlNFusbavz74fq35wT1Myo/G90c3cc9HrNJb5u9TG+4FUmCl46pEVCSBJK3DcHnzyZ4iUKVCV7DhaulKm/Lr/d1D5Byp9MKd2pu5YIcp52Ypz71txymEKt/aah7J6/GMM+mA131xLKy+LNUeH99IXMTZzVLiKWtKvEaSpN6fZu2pHJYO/gQ0m7mDDTjb1ZcoKol/WHZBP+S6LW+qty3WzTIO3Nt21ARcfTyEv+eR3Mmkq61/vgubwc0u1nqLnchFvLM36EfHVYlFLEmqbr2CWmHpOyv5HgLZzy5nLoNioUtt5Q62SvM3FtRccOAJ4t62oxTaf/sAlOP9tWZXy3/E/DXnwlEKzlvAlcsp/8Gp/qfiKnARt0lSbB8F5tuaUpesKvEWS5KytiOk5s0m0Pf261HwrRHIbpdaAh2rffv50KzZcbqoOf0OGnJrb8xYM5fayCjWXkr5QZOw75zbdtwE2OY6XKtekmt125nUGpCn0sVzPbe2nihvW11zr2fW7FBZ7QvfRXxtNHprVpg7teLeViWa+3aZJFW3Xir2fj0dVLsrLtD2UFPmeq8Eym3Bhoa127bdaDaN6KaysnIXvSGtnR3L316xoxT20si/b82riA/EvW3HKbQ7o9ir9sJxesV/fVZaKzRDb+33mrX1pr2UUTWwQJaT9TRYaOXtwHKD7nJsOltfTsNZ01iZCyVpz51bbF/dCHTU6qy2ARa7VH+nf9Ys3bHdRcusahvhWlLWafSWCbzA+pqpFbHf7m07xxjVeqBtJlU36qy1rlpqtXzp5avxYo69e62Sq/1vrPPodhcUXCrGkqTpVsvqvbZyJ0PtbYEMLqm/YVv16m/IOq21rcn1D1UzWOG4ZszmhvgX65/c23bO5ZhYrK1WLUa/qxVcgZgc9TdjhlUD9oTJ1KwJ6Uf66hUPyqGGf3qJYkka4477UmuB0GhCY6tzi6j4qv5ma2Rd3RHhhJKVrM03tZHBuzVTajEHgtsBRL8cE421llVLdrR98MAOb54aypZpa2cfzbZWqjnSMv/UvNVtsVgSuy0tBVI9a4mB1QJpdkkNFMtetCrWHM7K+KO9rPzKVG2+1atQS7eqv5p2s5LCqU2CMYrGWjWec/yLwmL4c6xzzj6ZVKeSgw2qY6yRWzVla7ZDLIn60ObqyD1/rwXS/nnr6dnKTBsWfuuq7myzjXbc3d2qeJLjNbGCDa7yC9Lmpp67EKPVDh4actoJdkTacfTKxAw2KNtmd/Mqb5/W32JJcneFaqlpNxa4L6iyDQ5fVYHbcCcxz2QrV+OG9rbRPr1I957LvfBtIR5r28HDFi6+AVQOW7CcUVS3f+Sea0wo23b2laj1q1wSFWwQC4QHG47Obn+g7NEbXpplqXMmWzlNEPsqtOp3/QeCYIO1jVFYi/f7wTv9XM2GbL0fcYMNR+/v8RLlkhTOD7PCK9AdU/XebxYPaMXuw2T8WxRX5zB4sy6X3XsuojGKyVq8/y5+s3/Uy7y6qilx9/4CQG2jHeejUKezXBJPtx78AqHmeuvn1w6ly83ZDzeilTM0mlt/gC8OJcEGAzFZi4/nM2H83HQF3L0mjnse/eQ3UmiJckk8m4ubv4OwWfjql0eZrB1Wms1VUBCKhfCuQtWIh7+IEWyoj9OR9uO1T8NSJzqeTwRBct0uVRbadQDct7LSUPjFQJ3Ocknc3ar2fw6riZrru18eRVuOlbvSrFwbW+cwaMTQ5HCrhWSMPNZTQ+1YtzUOHc8FYfbJNY2qPnVI7z2Prsn+7RUDLTFAEneaX+UPcMiMzsKENQJOW/fN9QM2Ubrhn0VR2oYHGyKzFu0/yhrBoK06o+H4xLuygrj7WY7OXgGSuBv+5TdvqF2qOuF51soKh5XbO+tiXCkj5INFaetUC8UYRWYtPp4rvlycat5qwubCPrXj5Gc52q9ySTzduvWrHpuF65AcAehWzrID5GeAJ6xCvxHDGhxsiM1avN9v32Q0JVcqdk1ZuIvYiovT1rR/AkuUS+Lp1m+/ecPskv+4dAOstKOzLkGwweEI2WFyhAYborMWH8/2WwEG8vqjo1d6brDhW1iiXBJ3t6pdtqNc1Fzn32RAhrpvrguCDf5VKLo+DAw2UHjYgHRsAR3PDOtw0D9yjGRusIHMkhP6nUASd7cSjgCg7mDvKf8GW6w096mdmMGGeojBn7jdcD5j1AFr0fHsv9XToDZpBFPEDDac/SWis5dcElqwgeBGRleoR28eAP1dOPctZ36wgbAKvSE/CQs2dMBaZ7Dhm6DmrfGRXyXUna+0RLkkvpv3ftqi7uCtk33e0r6df40abKidHuAnbgeQZz/QBWvx8Sw4WEQiCzPYQCgRndTlkni61U9b3FxLaetOkysINvhdD3tMd243nNsYdcJafDx3RFtmsKEu0bHWR0uUS+LpVj9tcbskpa072LDHJko3Kko4fnHCxp3bAeS+0qtYS+v1+paim7WZq99ltLUvAZjBBv+RX8ukLpfE060VbR3TBW6u3dbKDvcBL6YT/I0SbMjQcHr5b5bViNMYxbvMAICPZ1GWZuXws3cOW8/fPnuCb1nEkvi6Vd2IsHcBHvLPmeNVK+3q/CujPH+wIcdaKA82dMRaW0O8syyGb99YZgYb6hLt/hrLpC6VxNetyoxz07vtJWbg7QXBBvw4sdsN5zBGXbHWNp4J4SkTR7eW2cGGZqVja7RtVpBK4vN0KM+adXdhMdeWi0M+kIINnISr3mDDCRXU7YazBxs6Y23Vf7YdNS8pvitHRUssRqHKTZ/jf85s5xOlkni7VV3Bt3WD7cwC4SAlgo6CDUcriZQbQbPgzh3lzm6M6nQmJNbWMRk/a23jWcnPSi51xxutoOLSjMw/SgycJvVgNkoUSuL3dKjxkON/xo1VSyCeuSUFGxhFqnbbDEftq9LKLBwDxHGPPuplBkydufEH/5UpE3X+FHfeC07mdpf3pEmbafScUBJ/DMndiLqfjL/4LyBj6CjY4M05qE8Kln9+oE7nZRbZHWvt41ntKFmr261D0FplrGd966/M8dMkikVKlEni93RkeNK18m91liJkMerLrrBDjCYp2MBJ/9UckMKG8846pyt9mW1uzggZiu6QtXb3uuofa6UYn5tMd3rPt7LkspzBTQIsLW3/uZV9Duk5mSSEa9N1ji8j01IrbXlu16clV/e9QPjcUbDBIkZtN81hq/isy3huxoFhArpkrcM/q8ZRgdrbn87H1lRNM0CWtax9cC9n6Lk9nIu8qbHKaVnYe04kiV0bTcMbGw80DFLbY+a6SeVlKnT/kNbUZ0fBhlI1xR0Q9+rKOlq3DeSXAk3eWj7pgrVOH8oFlbUUOP/Gp7tz047iqxI425dNKAhX2E3AzMr54Xw+1xmET44ti0QS0rHKFu/rXLPXKmXuxZID8Inm8GIrJ+5bkxbXrLajYMO9kqQ47Ss5svZTQs4sx4VqsvqkwCMpdSK0reVmDOBnffnjaLtIgzYE5XjLrnyBIVN1PqpOcB66eBwQa3Lqyp71taebPzm3LAJJaNem4dNMj4LV6uCiEjrjHwLj9ByAP0Ow9QKRoc+qCoscVUEMVSqvdDuneVt++6AFrwG0Pyl2qNH3X0IC1RS+X2s6cI7nNmGOp/yp5kO+xWvG+gYQZyd91tfG29yzZeFLQjtWaX0P4pJ5Hoh2HxY38oB2FGz4dj5pgZdnu1T0szFFTYD/paa2bfA/THLCGmLb2+/cL5fgLcTZ8tMn4md9r5iSHwm5PSxhS0LM0Wrp9G3mNdd7h1kxMl93FWx4jHLbw0OFrThcl/mbZT/gv83RHqP+m3ZQB743NjPHTcijbY2KvefyWB4HPOtrPIpU5uT3natiSkI/Von0SvHoQu8D0daHck721wRiBxtyXKVPItgXcEiTnxn0nRnYHGj/2n/TjpMh54G9xeC6XtMz3osr39cIedY3O7QtnNrSeBfLPEkYr1Oe9X4paUcw19eTyRfLC6QdBRv2NkFuzs2yzoSKAfizH14eAtvAIzntPcYDMiVuPSbz2nqL9vhVFX/H9oR0ZOf88T5y3rxnTFkscyQ5l/9MG1e71su3l8o1lyGbZAT7E/COfFmvUjhLo9XVhj7Kgf/gcvfa7dbPi5Oa4valHNpbg7kPoM1336+1Vh7Kf/Xs7a/3bftdsNuBNDGdn4WfJS8ZE+F8abcHSbLzQ9930bPg53KM7GO9/E7BN2Kfd0/aHahinJ8/38d5WL0HXMu+v3dJQy4Yj7Mk8C/7J3QCUu7NhBrWx+cS+gQhP1hCCyFb4oRYUD7qX7Rq+d1wBZ4TYuLsmNG2aanGAveyf4IUu8IenMiTseWB4ZVOCMHzMIKFtyrozbyc9YchTdWQwEN1Au0Lc4vWTyRLfKZ/E7LzdwlMNK/YH3RVN0ea07aYjOQu7Aetew31eeYHds1BA8mxnD+KFGzoC+DQ0WVbPtfRjjMnzzkdKdjQGzyHjZOtZSAFG/rDzvGERNHnKZT/P1KwoU8cbBcsvtKWmIMUbOgZe+SGRXFKUQYeUrChf+zzW8vobr+Sy5yN6/MC6286dvpXsHsq/tVSJAwH/wGMZWvJUxnjEAAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxNi0xMi0wMVQyMToxNjoxMy0wODowMKn0yjcAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTYtMTItMDFUMjE6MTY6MTItMDg6MDB+3nk/AAAAAElFTkSuQmCC"},{name:"default.frag.gl3.glsl",data:"I3ZlcnNpb24gMzMwIGNvcmUKCmluIHZlYzQgY29sb3I7CmluIHZlYzIgdGNvb3JkOwoKb3V0IHZlYzQgZnJhZzsKCnZvaWQgbWFpbigpewogICAgZnJhZyA9IGNvbG9yOwp9Cg"},{name:"default.frag.textured.glsl",data:"dW5pZm9ybSBzYW1wbGVyMkQgdGV4MDsKdmFyeWluZyB2ZWMyIHRjb29yZDsKdmFyeWluZyB2ZWM0IGNvbG9yOwoKdm9pZCBtYWluKCkgewogICAgdmVjNCB0ZXhjb2xvciA9IHRleHR1cmUyRCh0ZXgwLCB0Y29vcmQpOwogICAgZ2xfRnJhZ0NvbG9yID0gY29sb3IgKiB0ZXhjb2xvcjsKfQ"},{name:"default.frag.bitmapfont.glsl",data:"I2RlZmluZSBPVVRMSU5FIDEKI2RlZmluZSBHTE9XIDEKI2RlZmluZSBTVVBFUlNBTVBMRSAxCgp1bmlmb3JtIHNhbXBsZXIyRCB0ZXgwOwp2YXJ5aW5nIHZlYzIgdGNvb3JkOwp2YXJ5aW5nIHZlYzQgY29sb3I7Cgp1bmlmb3JtIGZsb2F0IHNtb290aG5lc3M7CnVuaWZvcm0gZmxvYXQgdGhpY2tuZXNzOwoKdW5pZm9ybSB2ZWM0IG91dGxpbmVfY29sb3I7CnVuaWZvcm0gZmxvYXQgb3V0bGluZTsKCnVuaWZvcm0gdmVjNCBnbG93X2NvbG9yOwp1bmlmb3JtIGZsb2F0IGdsb3dfdGhyZXNob2xkOwp1bmlmb3JtIGZsb2F0IGdsb3dfYW1vdW50OwoKCmZsb2F0IGVkZ2UoZmxvYXQgdmFsdWUsIGZsb2F0IGFtb3VudCwgZmxvYXQgdCkgewogICAgcmV0dXJuIHNtb290aHN0ZXAodmFsdWUgLSBhbW91bnQsIHZhbHVlICsgYW1vdW50LCB0KTsKfQoKZmxvYXQgZ2V0KHZlYzIgdXYsIGZsb2F0IHdpZHRoKSB7CiAgICBmbG9hdCB0ZXhhID0gdGV4dHVyZTJEKHRleDAsIHV2KS5hOwogICAgcmV0dXJuIHNtb290aHN0ZXAoMC41IC0gd2lkdGgsIDAuNSArIHdpZHRoLCB0ZXhhKTsKfQoKdm9pZCBtYWluKCkgewoKLy9iYXNpYyBzZGYKCiAgICBmbG9hdCBkaXN0ID0gdGV4dHVyZTJEKHRleDAsIHRjb29yZCkuYTsKICAgICAgICAvL2Z3aWR0aCBrZWVwcyB3aWR0aCBzaW1pbGFyIGRlc3BpdGUgc2NhbGluZywgc2VlIGJlbG93IGZvciBvcHRpb25zCiAgICBmbG9hdCBzbW9vdGhhbXQgPSBzbW9vdGhuZXNzICogZndpZHRoKGRpc3QpOwogICAgLy8gZmxvYXQgc21vb3RoYW10ID0gc21vb3RobmVzcyAqIGxlbmd0aCh2ZWMyKGRGZHgoZGlzdCksIGRGZHkoZGlzdCkpKTsKCiAgICAgICAgLy9jYWxjdWxhdGUgdGhlIGVkZ2Ugc21vb3RoaW5nCiAgICBmbG9hdCBhbHBoYSA9IGVkZ2UoMS4wIC0gdGhpY2tuZXNzLCBzbW9vdGhhbXQsIGRpc3QpOwoKLy9zdXBlciBzYW1wbGluZwoKICAgICAgICAjaWYgU1VQRVJTQU1QTEUgPT0gMQoKICAgICAgICAgICAgICAgIC8vdGhlc2UgdmFsdWVzIGNhbiBiZSBleHBvc2VkIGxhdGVyCiAgICAgICAgICAgICAgICAvL3RoZSBjdXJyZW50IGJlaW5nIDAuMjUvc3FydCgyKQogICAgICAgICAgICBmbG9hdCBmYWN0b3IgPSAwLjE3Njc3NjY5NTM7CiAgICAgICAgICAgIGZsb2F0IHNhbXBsZWFtdCA9IDAuNTsKICAgICAgICAgICAgICAgIC8vdGhpcyBpcyBhIHNpbXBsZSBib3ggZmlsdGVyIGFyb3VuZCB0aGUgcG9pbnQsCiAgICAgICAgICAgICAgICAvL3dlIHVzZSBhIHNlcGFyYXRlIHdpZHRoIGZvciBub3cKICAgICAgICAgICAgZmxvYXQgc2FtcGxldyA9IHNhbXBsZWFtdCAqIGZ3aWR0aChkaXN0KTsKICAgICAgICAgICAgdmVjMiBzYW1wbGVvZmZzZXQgPSBmYWN0b3IgKiAoZEZkeCh0Y29vcmQpICsgZEZkeSh0Y29vcmQpKTsKICAgICAgICAgICAgdmVjNCBmbHRyID0gdmVjNCh0Y29vcmQgLSBzYW1wbGVvZmZzZXQsIHRjb29yZCArIHNhbXBsZW9mZnNldCk7CgogICAgICAgICAgICBmbG9hdCB0b3RhbCA9IGdldCggZmx0ci54eSwgc2FtcGxldyApICsgZ2V0KCBmbHRyLnp3LCBzYW1wbGV3ICkgKwogICAgICAgICAgICAgICAgICAgICAgICAgIGdldCggZmx0ci54dywgc2FtcGxldyApICsgZ2V0KCBmbHRyLnp5LCBzYW1wbGV3ICk7CgogICAgICAgICAgICBhbHBoYSA9IChhbHBoYSArIDAuNSAqIHRvdGFsKSAvIDMuMDsKCiAgICAgICAgI2VuZGlmIC8vU1VQRVJTQU1QTEUKCiAgICAgICAgLy90aGUgYmFzZSBjb2xvciArIHNjYWxlZCBieSB0aGUgbmV3IGFscGhhCiAgICB2ZWM0IGZpbmFsQ29sb3IgPSB2ZWM0KGNvbG9yLnJnYiwgY29sb3IuYSAqIGFscGhhKTsKCi8vb3V0bGluZQoKICAgICNpZiBPVVRMSU5FID09IDEKCiAgICAgICAgICAgIC8vd2lwCiAgICAgICAgaWYob3V0bGluZSA+IDAuMCkgewoKICAgICAgICAgICAgLy9yYW5nZSBvZiAxLjAgfiAwLjEsIHdlIGdldCAwIH4gMQogICAgICAgICAgICBmbG9hdCBfb3V0bGluZSA9IDAuOSAtIChvdXRsaW5lICogMC45KTsKICAgICAgICAgICAgZmxvYXQgX291dGxpbmVfYSA9IGVkZ2UoX291dGxpbmUsIHNtb290aGFtdCwgZGlzdCk7CiAgICAgICAgICAgIHZlYzQgX291dGxpbmVfYyA9IHZlYzQob3V0bGluZV9jb2xvci5yZ2IsIG91dGxpbmVfY29sb3IuYSAqIF9vdXRsaW5lX2EpOwoKICAgICAgICAgICAgZmluYWxDb2xvciA9IG1peChfb3V0bGluZV9jLCBmaW5hbENvbG9yLCBhbHBoYSk7CgogICAgICAgIH0gLy9vdXRsaW5lID4gMC4wCgogICAgI2VuZGlmIC8vT1VUTElORQoKLy8gZ2xvdwoKICAgICNpZiBHTE9XID09IDEKCiAgICAgICAgICAgIC8vd2lwCiAgICAgICAgaWYoZ2xvd19hbW91bnQgPiAwLjApIHsKCiAgICAgICAgICAgIC8vOnRvZG86IGV4cG9zZSBvZmZzZXQgZm9yIGRpcmVjdGlvbmFsIHNoYWRvdwogICAgICAgICAgICAvLyB2ZWMyIF9nbG93X29mZnMgPSB2ZWMyKDAsMCk7CiAgICAgICAgICAgIC8vIGZsb2F0IF9nbG93X2Rpc3QgPSB0ZXh0dXJlMkQodGV4MCwgdGNvb3JkIC0gX2dsb3dfb2Zmc2V0KS5hOwoKICAgICAgICAgICAgZmxvYXQgX2dsb3dfYW10ID0gMS4wIC0gZ2xvd19hbW91bnQ7CiAgICAgICAgICAgIGZsb2F0IF9nbG93X2xpbWl0ID0gKF9nbG93X2FtdCAqIGdsb3dfdGhyZXNob2xkKTsKICAgICAgICAgICAgZmxvYXQgX2dsb3dfYSA9IGVkZ2UoX2dsb3dfYW10LCBfZ2xvd19saW1pdCwgZGlzdCk7CiAgICAgICAgICAgIHZlYzQgIF9nbG93X2MgPSB2ZWM0KGdsb3dfY29sb3IucmdiLCBnbG93X2NvbG9yLmEgKiBfZ2xvd19hKTsKCiAgICAgICAgICAgIGZpbmFsQ29sb3IgPSBtaXgoX2dsb3dfYywgZmluYWxDb2xvciwgZmluYWxDb2xvci5hKTsKCiAgICAgICAgfSAvL2dsb3dfYW1vdW50ID4gMAoKICAgICNlbmRpZiAvL0dMT1cKCi8vZG9uZQoKICAgIGdsX0ZyYWdDb2xvciA9IGZpbmFsQ29sb3I7CgoKfSAvL21haW4K"},{name:"manifest",data:"ewogICAgImNvbW1pdCI6ICJiYTc5YWEyNGRiZmI2YzQ4MmY5MWE1ODdhYjQ2OWQxMTdmZWQ4NzBmIiwKICAgICJwYXJjZWwiOiB7CiAgICAgICAgInRleHR1cmVzIjogWwogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiaWQiOiAiYXNzZXRzL3BuX3NvZnQucG5nIiwKICAgICAgICAgICAgICAgICJsb2FkX3ByZW11bHRpcGx5X2FscGhhIjogdHJ1ZQogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiaWQiOiAiYXNzZXRzL2hlYWRpbmcucG5nIiwKICAgICAgICAgICAgICAgICJsb2FkX3ByZW11bHRpcGx5X2FscGhhIjogdHJ1ZQogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiaWQiOiAiYXNzZXRzL2hlYWRpbmdfaXRhbGljLnBuZyIsCiAgICAgICAgICAgICAgICAibG9hZF9wcmVtdWx0aXBseV9hbHBoYSI6IHRydWUKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImlkIjogImFzc2V0cy9wbl9pdGFsaWMucG5nIiwKICAgICAgICAgICAgICAgICJsb2FkX3ByZW11bHRpcGx5X2FscGhhIjogdHJ1ZQogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiaWQiOiAiYXNzZXRzL2JvZHkucG5nIiwKICAgICAgICAgICAgICAgICJsb2FkX3ByZW11bHRpcGx5X2FscGhhIjogdHJ1ZQogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiaWQiOiAiYXNzZXRzL2JvZHlfaXRhbGljLnBuZyIsCiAgICAgICAgICAgICAgICAibG9hZF9wcmVtdWx0aXBseV9hbHBoYSI6IHRydWUKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImlkIjogImFzc2V0cy9wbl9jb25kZW5zZWRfd2l0aF9zdHJva2UucG5nIiwKICAgICAgICAgICAgICAgICJsb2FkX3ByZW11bHRpcGx5X2FscGhhIjogdHJ1ZQogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiaWQiOiAiYXNzZXRzL3BuX3NlbWlib2xkLnBuZyIsCiAgICAgICAgICAgICAgICAibG9hZF9wcmVtdWx0aXBseV9hbHBoYSI6IHRydWUKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImlkIjogImFzc2V0cy9zeW1ib2xzLnBuZyIsCiAgICAgICAgICAgICAgICAibG9hZF9wcmVtdWx0aXBseV9hbHBoYSI6IHRydWUKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImlkIjogImFzc2V0cy9jcm9zcy5wbmciLAogICAgICAgICAgICAgICAgImxvYWRfcHJlbXVsdGlwbHlfYWxwaGEiOiB0cnVlCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJpZCI6ICJhc3NldHMvbm9pc2UucG5nIiwKICAgICAgICAgICAgICAgICJsb2FkX3ByZW11bHRpcGx5X2FscGhhIjogdHJ1ZQogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiaWQiOiAiYXNzZXRzL3ppZ3phZy5wbmciLAogICAgICAgICAgICAgICAgImxvYWRfcHJlbXVsdGlwbHlfYWxwaGEiOiB0cnVlCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJpZCI6ICJhc3NldHMvdGV4dHVyZXMucG5nIgogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAic2hhZGVycyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImlkIjogImFscGhhbWFzayIsCiAgICAgICAgICAgICAgICAiZnJhZ19pZCI6ICJhc3NldHMvZnJhZy5hbHBoYW1hc2suZ2xzbCIsCiAgICAgICAgICAgICAgICAidmVydF9pZCI6ICJhc3NldHMvdmVydC5hbHBoYW1hc2suZ2xzbCIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImlkIjogImJsdXIiLAogICAgICAgICAgICAgICAgImZyYWdfaWQiOiAiYXNzZXRzL2ZyYWcuYmx1ci5nbHNsIiwKICAgICAgICAgICAgICAgICJ2ZXJ0X2lkIjogImRlZmF1bHQiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJpZCI6ICJjaGFubmVsIiwKICAgICAgICAgICAgICAgICJmcmFnX2lkIjogImFzc2V0cy9mcmFnLmNoYW5uZWwuZ2xzbCIsCiAgICAgICAgICAgICAgICAidmVydF9pZCI6ICJkZWZhdWx0IgogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAiZm9udHMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJpZCI6ICJhc3NldHMvcG5fc29mdC5mbnQiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJpZCI6ICJhc3NldHMvaGVhZGluZy5mbnQiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJpZCI6ICJhc3NldHMvaGVhZGluZ19pdGFsaWMuZm50IgogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiaWQiOiAiYXNzZXRzL3BuX2l0YWxpYy5mbnQiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJpZCI6ICJhc3NldHMvYm9keS5mbnQiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJpZCI6ICJhc3NldHMvYm9keV9pdGFsaWMuZm50IgogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiaWQiOiAiYXNzZXRzL3BuX2NvbmRlbnNlZF93aXRoX3N0cm9rZS5mbnQiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJpZCI6ICJhc3NldHMvcG5fc2VtaWJvbGQuZm50IgogICAgICAgICAgICB9LAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiaWQiOiAiYXNzZXRzL3N5bWJvbHMuZm50IgogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAianNvbnMiOiBbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICJpZCI6ICJhc3NldHMvdGV4dHVyZXMuanNvbiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgImlkIjogImFzc2V0cy9hdWRpby5qc29uIgogICAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAiYnl0ZXMiOiBbXSwKICAgICAgICAic291bmRzIjogW10KICAgIH0sCiAgICAidGV4dHVyZV9zY2FsaW5nIjogMC42MSwKICAgICJhdWRpb19lbmFibGVkIjogZmFsc2UsCiAgICAibG9jYWxlcyI6IFsKICAgICAgICAiZW4iCiAgICBdCn0"}]; var aa={},la=e.ArrayBuffer||gi;null==la.prototype.slice&&(la.prototype.slice=gi.sliceImpl);var _a=(e.DataView||ci,e.Uint8Array||Ii._new);l.is_authenticated=!1,l.achievements=[a.CompleteAGame,a.Grow1PineTree,a.Grow1OakTree,a.Harvest9PlantsAtOnce,a.Harvest6FlowersAtOnce,a.AllOneColor,a.CompleteAGameWith500,a.Harvest12PlantsAtOnce,a.Harvest4PineTreesAtOnce,a.Harvest3OakTreesAtOnce,a.Harvest1Mushroom,a.Decay1Mushroom,a.CompleteAGameWith1000,a.ClearBoard,a.Harvest10FlowersAtOnce,a.Harvest5MushroomsAtOnce,a.Decay3MushroomsAtOnce,a.Chase3BirdsAtOnce,a.CompleteAGameWith2000,a.Harvest15PlantsAtOnce,a.Harvest8PineTreesAtOnce,a.Harvest6OakTreesAtOnce,a.Chase6BirdsAtOnce],l.skus=function(){var t,e=new Ke;return e.set(a.CompleteAGame,{string_id:"goal.complete_a_game",game_center:"com.kneeko.topsoil.complete_a_game",google_play:"CgkI5pOfsYAFEAIQAg"}),e.set(a.CompleteAGameWith500,{string_id:"goal.complete_a_game_with_500",game_center:"com.kneeko.topsoil.complete_a_game_with_500",google_play:"CgkI5pOfsYAFEAIQBQ"}),e.set(a.CompleteAGameWith1000,{string_id:"goal.complete_a_game_with_1000",game_center:"com.kneeko.topsoil.complete_a_game_with_1000",google_play:"CgkI5pOfsYAFEAIQCA"}),e.set(a.CompleteAGameWith2000,{string_id:"goal.complete_a_game_with_2000",game_center:"com.kneeko.topsoil.complete_a_game_with_2000",google_play:"CgkI5pOfsYAFEAIQCg"}),e.set(a.AllOneColor,{string_id:"goal.all_one_color",game_center:"com.kneeko.topsoil.all_one_color",google_play:"CgkI5pOfsYAFEAIQCw"}),e.set(a.ClearBoard,{string_id:"goal.clear_board",game_center:"com.kneeko.topsoil.clear_board",google_play:"CgkI5pOfsYAFEAIQDA"}),e.set(a.Harvest3OakTreesAtOnce,{string_id:"goal.harvest_3_oak_trees",game_center:"com.kneeko.topsoil.harvest_3_oak_trees",google_play:"CgkI5pOfsYAFEAIQDw"}),e.set(a.Harvest6OakTreesAtOnce,{string_id:"goal.harvest_6_oak_trees",game_center:"com.kneeko.topsoil.harvest_6_oak_trees",google_play:"CgkI5pOfsYAFEAIQEA"}),e.set(a.Harvest4PineTreesAtOnce,{string_id:"goal.harvest_4_pine_trees",game_center:"com.kneeko.topsoil.harvest_4_pine_trees",google_play:"CgkI5pOfsYAFEAIQEQ"}),e.set(a.Harvest8PineTreesAtOnce,{string_id:"goal.harvest_8_pine_trees",game_center:"com.kneeko.topsoil.harvest_8_pine_trees",google_play:"CgkI5pOfsYAFEAIQEg"}),e.set(a.Harvest6FlowersAtOnce,{string_id:"goal.harvest_6_flowers",game_center:"com.kneeko.topsoil.harvest_6_flowers",google_play:"CgkI5pOfsYAFEAIQEw"}),e.set(a.Harvest10FlowersAtOnce,{string_id:"goal.harvest_10_flowers",game_center:"com.kneeko.topsoil.harvest_10_flowers",google_play:"CgkI5pOfsYAFEAIQFA"}),e.set(a.Harvest9PlantsAtOnce,{string_id:"goal.harvest_9_plants",game_center:"com.kneeko.topsoil.harvest_9_plants",google_play:"CgkI5pOfsYAFEAIQFQ"}),e.set(a.Harvest12PlantsAtOnce,{string_id:"goal.harvest_12_plants",game_center:"com.kneeko.topsoil.harvest_12_plants",google_play:"CgkI5pOfsYAFEAIQFg"}),e.set(a.Harvest15PlantsAtOnce,{string_id:"goal.harvest_15_plants",game_center:"com.kneeko.topsoil.harvest_15_plants",google_play:"CgkI5pOfsYAFEAIQFw"}),e.set(a.Grow1PineTree,{string_id:"goal.grow_1_pine_tree",game_center:"com.kneeko.topsoil.grow_1_pine_tree",google_play:"CgkI5pOfsYAFEAIQGA"}),e.set(a.Grow1OakTree,{string_id:"goal.grow_1_oak_tree",game_center:"com.kneeko.topsoil.grow_1_oak_tree",google_play:"CgkI5pOfsYAFEAIQGQ"}),e.set(a.Harvest1Mushroom,{string_id:"goal.harvest_1_mushroom",game_center:"com.kneeko.topsoil.harvest_1_mushroom",google_play:"CgkI5pOfsYAFEAIQGg"}),e.set(a.Harvest5MushroomsAtOnce,{string_id:"goal.harvest_5_mushrooms",game_center:"com.kneeko.topsoil.harvest_5_mushrooms",google_play:"CgkI5pOfsYAFEAIQGw"}),e.set(a.Decay1Mushroom,{string_id:"goal.decay_1_mushroom",game_center:"com.kneeko.topsoil.decay_1_mushroom",google_play:"CgkI5pOfsYAFEAIQHA"}),e.set(a.Decay3MushroomsAtOnce,{string_id:"goal.decay_3_mushrooms",game_center:"com.kneeko.topsoil.decay_3_mushrooms",google_play:"CgkI5pOfsYAFEAIQHQ"}),e.set(a.Chase3BirdsAtOnce,{string_id:"goal.chase_3_birds",game_center:"com.kneeko.topsoil.chase_3_birds",google_play:"CgkI5pOfsYAFEAIQHg"}),e.set(a.Chase6BirdsAtOnce,{string_id:"goal.chase_6_birds",game_center:"com.kneeko.topsoil.chase_6_birds",google_play:"CgkI5pOfsYAFEAIQIA"}),t=e}(this),_.VERBOSE=!0,b.state=C.None,b.prev_state=C.None,b.set_authenticated=[],x.kinds=[w.Fern,w.Flower,w.Shrub,w.Thistle,w.Pine,w.Mushroom,w.Oak],x.unlocks_bird=function(){var t,e=new Ke;return e.set(w.Fern,!0),e.set(w.Flower,!1),e.set(w.Shrub,!0),e.set(w.Thistle,!1),e.set(w.Pine,!0),e.set(w.Mushroom,!1),e.set(w.Oak,!0),t=e}(this),x.required_to_complete=function(){var t,e=new Ke;return e.set(w.Fern,100),e.set(w.Flower,200),e.set(w.Shrub,400),e.set(w.Thistle,300),e.set(w.Pine,300),e.set(w.Mushroom,200),e.set(w.Oak,100),t=e}(this),k._sequence_key=-1,R.USER_AGENT_KEY="useragent",R.USER_AGENT_SLOT=1,R.USER_DATA_KEY="userdata",R.USER_DATA_SLOT=0,R.SKU_PREMIUM="com.kneeko.topsoil.premium",R.IOS_STORE_LINK="https://itunes.apple.com/app/id1104709870",R.ANDROID_STORE_LINK="https://play.google.com/store/apps/details?id=com.kneeko.topsoil",R.ITCH_STORE_LINK="https://kneeko.itch.io/topsoil",j.VERBOSE=!1,J.VERBOSE=!1,H.drags=[],H.touch_count=0,K.server="https://topsoilgame.appspot.com",K.api_version="v0",K.event_queue=[],K.FLUSH_TIMEOUT_DURATION_SECONDS=60,K.FLUSH_EVENT_COUNT_THRESHOLD=10,se.VERBOSE=!1,se.INSTANCE_POOL_SIZE=20,se.hot_instances=[],se.cold_instances=[],ne.enabled=!1,Ce.sum=0,fe.Element=0,fe.PCData=1,fe.CData=2,fe.Comment=3,fe.DocType=4,fe.ProcessingInstruction=5,fe.Document=6,be.logEnabled=!1,be.logErrorEnabled=!0,be.errorSafe=!1,be.userAgent="akifox-asynchttp",be.maxRedirections=10,be.DEFAULT_CONTENT_TYPE="text/plain",be.DEFAULT_FILENAME="unknown",be.CONTENT_KIND_MATCHES=[{kind:ye.IMAGE,regex:new S("^image/(jpe?g|png|gif)","i")},{kind:ye.XML,regex:new S("(application/xml|text/xml|\\+xml)","i")},{kind:ye.JSON,regex:new S("^(application/json|\\+json)","i")},{kind:ye.TEXT,regex:new S("(^text|application/javascript)","i")}],be.UID_CHARS="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",we.FORBIDDEN_ON_REQUEST=["user-agent","host","content-type","content-length"],xe.GET="GET",xe.POST="POST",xe.PUT="PUT",xe.DELETE="DELETE",xe.METHODS=["GET","POST","PUT","DELETE"],xe.DEFAULT_METHOD="GET",ke.DEFAULT_CONTENT_TYPE="application/x-www-form-urlencoded",ze._httpStatus=function(){var t,e=new Se;return e.h[100]="Continue",e.h[101]="Switching Protocols",e.h[102]="Processing",e.h[200]="OK",e.h[201]="Created",e.h[202]="Accepted",e.h[203]="Non-Authoritative Information",e.h[204]="No Content",e.h[205]="Reset Content",e.h[206]="Partial Content",e.h[207]="Multi-Status",e.h[300]="Multiple Choices",e.h[301]="Moved Permanently",e.h[302]="Found",e.h[303]="See Other",e.h[304]="Not Modified",e.h[305]="Use Proxy",e.h[306]="Switch Proxy",e.h[307]="Temporary Redirect",e.h[400]="Bad Request",e.h[401]="Unauthorized",e.h[402]="Payment Required",e.h[403]="Forbidden",e.h[404]="Not Found",e.h[405]="Method Not Allowed",e.h[406]="Not Acceptable",e.h[407]="Proxy Authentication Required",e.h[408]="Request Timeout",e.h[409]="Conflict",e.h[410]="Gone",e.h[411]="Length Required",e.h[412]="Precondition Failed",e.h[413]="Request Entity Too Large",e.h[414]="Request-URI Too Long",e.h[415]="Unsupported Media Type",e.h[416]="Requested Range Not Satisfiable",e.h[417]="Expectation Failed",e.h[418]="I'm a teapot",e.h[422]="Unprocessable Entity",e.h[423]="Locked",e.h[424]="Failed Dependency",e.h[425]="Unordered Collection",e.h[426]="Upgrade Required",e.h[449]="Retry With",e.h[450]="Blocked by Windows Parental Controls",e.h[500]="Internal Server Error",e.h[501]="Not Implemented",e.h[502]="Bad Gateway",e.h[503]="Service Unavailable",e.h[504]="Gateway Timeout",e.h[505]="HTTP Version Not Supported",e.h[506]="Variant Also Negotiates",e.h[507]="Insufficient Storage",e.h[509]="Bandwidth Limit Exceeded",e.h[510]="Not Extended",t=e}(this),Me.USE_CACHE=!1,Me.USE_ENUM_INDEX=!1,Me.BASE64="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789%:",Le.DEFAULT_RESOLVER=de,Le.BASE64="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789%:",Ve.CHARS="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ve.BYTES=Je.ofString(Ve.CHARS),Ue.count=0,ni.i64tmp=function(){var t,e=new Ee(0,0);return t=e}(this),ai.escapes=function(){var t,e=new De;return null!=aa.lt?e.setReserved("lt","<"):e.h.lt="<",null!=aa.gt?e.setReserved("gt",">"):e.h.gt=">",null!=aa.amp?e.setReserved("amp","&"):e.h.amp="&",null!=aa.quot?e.setReserved("quot",'"'):e.h.quot='"',null!=aa.apos?e.setReserved("apos","'"):e.h.apos="'",t=e}(this),_i.__toStr={}.toString,Ii.BYTES_PER_ELEMENT=1,fi.debug_batch_tag="batcher.debug_batcher",fi.trace_callbacks=[],fi.shut_down=!1,fi.tracing=!1,wi.update="update dt",wi.tick="tick dt",wi.game_update="game.update",wi.render="core.render",wi.debug="core.debug",wi.updates="core.updates",wi.events="core.events",wi.audio="core.audio",wi.input="core.input",wi.timer="core.timer",wi.scene="core.scene",Ji._level=1,Ji._log_width=16,Yi.tag_physics="physics",rs.color_red=(new ns).rgb(13369344),rs.color_green=(new ns).rgb(2263108),rs.color_normal=(new ns).rgb(15790320),ds._save=!1,ws.red=!0,ws.black=!1,js.actuators=[],js.actuatorsLength=0,js.addedEvent=!1,js.update_timer=0,js.current_time=0,Ts.defaultActuator=js,Ts.defaultEase=Ms.get_easeOut(),Ts.targetLibraries=new Ue,On.two_pi=6.283185307179586,Gn._PI_OVER_180=.017453292519943278,Gn._180_OVER_PI=57.29577951308238,Tn.minCodePoint=0,Tn.maxCodePoint=1114111,Tn.minHighSurrogate=55296,Tn.maxHighSurrogate=56319,Tn.minLowSurrogate=56320,Tn.maxLowSurrogate=57343,Kn._sequence_key=-1,Kn.vert_attribute=0,Kn.tcoord_attribute=1,Kn.color_attribute=2,Kn.normal_attribute=3,ar.default_filter=9729,ar.default_clamp=33071,Rr.tab_regex=new S(" ","gim"),Wr.next_queue=[],Wr.defer_queue=[],Tr._level=1,Tr._log_width=16,Hr.calls=[],Hr.defers=[],Yr.running_timers=[],Kr.BYTES_PER_ELEMENT=4,Ur.BYTES_PER_ELEMENT=4,Pr.BYTES_PER_ELEMENT=1,to.web_window_id=1,to.timestamp_start=0,to.key_press_ignored=[8,13],eo.dom_shift=16,eo.dom_ctrl=17,eo.dom_alt=18,eo.dom_capslock=20,eo.dom_pageup=33,eo.dom_pagedown=34,eo.dom_end=35,eo.dom_home=36,eo.dom_left=37,eo.dom_up=38,eo.dom_right=39,eo.dom_down=40,eo.dom_printscr=44,eo.dom_insert=45,eo.dom_delete=46,eo.dom_lmeta=91,eo.dom_rmeta=93,eo.dom_kp_0=96,eo.dom_kp_1=97,eo.dom_kp_2=98,eo.dom_kp_3=99,eo.dom_kp_4=100,eo.dom_kp_5=101,eo.dom_kp_6=102,eo.dom_kp_7=103,eo.dom_kp_8=104,eo.dom_kp_9=105,eo.dom_kp_multiply=106,eo.dom_kp_plus=107,eo.dom_kp_minus=109,eo.dom_kp_decimal=110,eo.dom_kp_divide=111,eo.dom_kp_numlock=144,eo.dom_f1=112,eo.dom_f2=113,eo.dom_f3=114,eo.dom_f4=115,eo.dom_f5=116,eo.dom_f6=117,eo.dom_f7=118,eo.dom_f8=119,eo.dom_f9=120,eo.dom_f10=121,eo.dom_f11=122,eo.dom_f12=123,eo.dom_f13=124,eo.dom_f14=125,eo.dom_f15=126,eo.dom_f16=127,eo.dom_f17=128,eo.dom_f18=129,eo.dom_f19=130,eo.dom_f20=131,eo.dom_f21=132,eo.dom_f22=133,eo.dom_f23=134,eo.dom_f24=135,eo.dom_caret=160,eo.dom_exclaim=161,eo.dom_quotedbl=162,eo.dom_hash=163,eo.dom_dollar=164,eo.dom_percent=165,eo.dom_ampersand=166,eo.dom_underscore=167,eo.dom_leftparen=168,eo.dom_rightparen=169,eo.dom_asterisk=170,eo.dom_plus=171,eo.dom_pipe=172,eo.dom_minus=173,eo.dom_leftbrace=174,eo.dom_rightbrace=175,eo.dom_tilde=176,eo.dom_audiomute=181,eo.dom_volumedown=182,eo.dom_volumeup=183,eo.dom_comma=188,eo.dom_period=190,eo.dom_slash=191,eo.dom_backquote=192,eo.dom_leftbracket=219,eo.dom_rightbracket=221,eo.dom_backslash=220,eo.dom_quote=222,eo.dom_meta=224,so.POT=!0,oo.DEPTH_BUFFER_BIT=256,oo.STENCIL_BUFFER_BIT=1024,oo.COLOR_BUFFER_BIT=16384,oo.POINTS=0,oo.LINES=1,oo.LINE_LOOP=2,oo.LINE_STRIP=3,oo.TRIANGLES=4,oo.TRIANGLE_STRIP=5,oo.TRIANGLE_FAN=6,oo.ZERO=0,oo.ONE=1,oo.SRC_COLOR=768,oo.ONE_MINUS_SRC_COLOR=769,oo.SRC_ALPHA=770,oo.ONE_MINUS_SRC_ALPHA=771,oo.DST_ALPHA=772,oo.ONE_MINUS_DST_ALPHA=773,oo.DST_COLOR=774,oo.ONE_MINUS_DST_COLOR=775,oo.SRC_ALPHA_SATURATE=776,oo.FUNC_ADD=32774,oo.BLEND_EQUATION=32777,oo.BLEND_EQUATION_RGB=32777,oo.BLEND_EQUATION_ALPHA=34877,oo.FUNC_SUBTRACT=32778,oo.FUNC_REVERSE_SUBTRACT=32779,oo.BLEND_DST_RGB=32968,oo.BLEND_SRC_RGB=32969,oo.BLEND_DST_ALPHA=32970,oo.BLEND_SRC_ALPHA=32971,oo.CONSTANT_COLOR=32769,oo.ONE_MINUS_CONSTANT_COLOR=32770,oo.CONSTANT_ALPHA=32771,oo.ONE_MINUS_CONSTANT_ALPHA=32772,oo.BLEND_COLOR=32773,oo.ARRAY_BUFFER=34962,oo.ELEMENT_ARRAY_BUFFER=34963,oo.ARRAY_BUFFER_BINDING=34964,oo.ELEMENT_ARRAY_BUFFER_BINDING=34965,oo.STREAM_DRAW=35040,oo.STATIC_DRAW=35044,oo.DYNAMIC_DRAW=35048,oo.BUFFER_SIZE=34660,oo.BUFFER_USAGE=34661,oo.CURRENT_VERTEX_ATTRIB=34342,oo.FRONT=1028,oo.BACK=1029,oo.FRONT_AND_BACK=1032,oo.CULL_FACE=2884,oo.BLEND=3042,oo.DITHER=3024,oo.STENCIL_TEST=2960,oo.DEPTH_TEST=2929,oo.SCISSOR_TEST=3089,oo.POLYGON_OFFSET_FILL=32823,oo.SAMPLE_ALPHA_TO_COVERAGE=32926,oo.SAMPLE_COVERAGE=32928,oo.NO_ERROR=0,oo.INVALID_ENUM=1280,oo.INVALID_VALUE=1281,oo.INVALID_OPERATION=1282,oo.OUT_OF_MEMORY=1285,oo.CW=2304,oo.CCW=2305,oo.LINE_WIDTH=2849,oo.ALIASED_POINT_SIZE_RANGE=33901,oo.ALIASED_LINE_WIDTH_RANGE=33902,oo.CULL_FACE_MODE=2885,oo.FRONT_FACE=2886,oo.DEPTH_RANGE=2928,oo.DEPTH_WRITEMASK=2930,oo.DEPTH_CLEAR_VALUE=2931,oo.DEPTH_FUNC=2932,oo.STENCIL_CLEAR_VALUE=2961,oo.STENCIL_FUNC=2962,oo.STENCIL_FAIL=2964,oo.STENCIL_PASS_DEPTH_FAIL=2965,oo.STENCIL_PASS_DEPTH_PASS=2966,oo.STENCIL_REF=2967,oo.STENCIL_VALUE_MASK=2963,oo.STENCIL_WRITEMASK=2968,oo.STENCIL_BACK_FUNC=34816,oo.STENCIL_BACK_FAIL=34817,oo.STENCIL_BACK_PASS_DEPTH_FAIL=34818,oo.STENCIL_BACK_PASS_DEPTH_PASS=34819,oo.STENCIL_BACK_REF=36003,oo.STENCIL_BACK_VALUE_MASK=36004,oo.STENCIL_BACK_WRITEMASK=36005,oo.VIEWPORT=2978,oo.SCISSOR_BOX=3088,oo.COLOR_CLEAR_VALUE=3106,oo.COLOR_WRITEMASK=3107,oo.UNPACK_ALIGNMENT=3317,oo.PACK_ALIGNMENT=3333,oo.MAX_TEXTURE_SIZE=3379,oo.MAX_VIEWPORT_DIMS=3386,oo.SUBPIXEL_BITS=3408,oo.RED_BITS=3410,oo.GREEN_BITS=3411,oo.BLUE_BITS=3412,oo.ALPHA_BITS=3413,oo.DEPTH_BITS=3414,oo.STENCIL_BITS=3415,oo.POLYGON_OFFSET_UNITS=10752,oo.POLYGON_OFFSET_FACTOR=32824,oo.TEXTURE_BINDING_2D=32873,oo.SAMPLE_BUFFERS=32936,oo.SAMPLES=32937,oo.SAMPLE_COVERAGE_VALUE=32938,oo.SAMPLE_COVERAGE_INVERT=32939,oo.COMPRESSED_TEXTURE_FORMATS=34467,oo.DONT_CARE=4352,oo.FASTEST=4353,oo.NICEST=4354,oo.GENERATE_MIPMAP_HINT=33170,oo.BYTE=5120,oo.UNSIGNED_BYTE=5121,oo.SHORT=5122,oo.UNSIGNED_SHORT=5123,oo.INT=5124,oo.UNSIGNED_INT=5125,oo.FLOAT=5126,oo.DEPTH_COMPONENT=6402,oo.ALPHA=6406,oo.RGB=6407,oo.RGBA=6408,oo.LUMINANCE=6409,oo.LUMINANCE_ALPHA=6410,oo.UNSIGNED_SHORT_4_4_4_4=32819,oo.UNSIGNED_SHORT_5_5_5_1=32820,oo.UNSIGNED_SHORT_5_6_5=33635,oo.FRAGMENT_SHADER=35632,oo.VERTEX_SHADER=35633,oo.MAX_VERTEX_ATTRIBS=34921,oo.MAX_VERTEX_UNIFORM_VECTORS=36347,oo.MAX_VARYING_VECTORS=36348,oo.MAX_COMBINED_TEXTURE_IMAGE_UNITS=35661,oo.MAX_VERTEX_TEXTURE_IMAGE_UNITS=35660,oo.MAX_TEXTURE_IMAGE_UNITS=34930,oo.MAX_FRAGMENT_UNIFORM_VECTORS=36349,oo.SHADER_TYPE=35663,oo.DELETE_STATUS=35712,oo.LINK_STATUS=35714,oo.VALIDATE_STATUS=35715,oo.ATTACHED_SHADERS=35717,oo.ACTIVE_UNIFORMS=35718,oo.ACTIVE_ATTRIBUTES=35721,oo.SHADING_LANGUAGE_VERSION=35724,oo.CURRENT_PROGRAM=35725,oo.NEVER=512,oo.LESS=513,oo.EQUAL=514,oo.LEQUAL=515,oo.GREATER=516,oo.NOTEQUAL=517,oo.GEQUAL=518,oo.ALWAYS=519,oo.KEEP=7680,oo.REPLACE=7681,oo.INCR=7682,oo.DECR=7683,oo.INVERT=5386,oo.INCR_WRAP=34055,oo.DECR_WRAP=34056,oo.VENDOR=7936,oo.RENDERER=7937,oo.VERSION=7938,oo.NEAREST=9728,oo.LINEAR=9729,oo.NEAREST_MIPMAP_NEAREST=9984,oo.LINEAR_MIPMAP_NEAREST=9985,oo.NEAREST_MIPMAP_LINEAR=9986,oo.LINEAR_MIPMAP_LINEAR=9987,oo.TEXTURE_MAG_FILTER=10240,oo.TEXTURE_MIN_FILTER=10241,oo.TEXTURE_WRAP_S=10242,oo.TEXTURE_WRAP_T=10243,oo.TEXTURE_2D=3553,oo.TEXTURE=5890,oo.TEXTURE_CUBE_MAP=34067,oo.TEXTURE_BINDING_CUBE_MAP=34068,oo.TEXTURE_CUBE_MAP_POSITIVE_X=34069,oo.TEXTURE_CUBE_MAP_NEGATIVE_X=34070,oo.TEXTURE_CUBE_MAP_POSITIVE_Y=34071,oo.TEXTURE_CUBE_MAP_NEGATIVE_Y=34072,oo.TEXTURE_CUBE_MAP_POSITIVE_Z=34073,oo.TEXTURE_CUBE_MAP_NEGATIVE_Z=34074,oo.MAX_CUBE_MAP_TEXTURE_SIZE=34076,oo.TEXTURE0=33984,oo.TEXTURE1=33985,oo.TEXTURE2=33986,oo.TEXTURE3=33987,oo.TEXTURE4=33988,oo.TEXTURE5=33989,oo.TEXTURE6=33990,oo.TEXTURE7=33991,oo.TEXTURE8=33992,oo.TEXTURE9=33993,oo.TEXTURE10=33994,oo.TEXTURE11=33995,oo.TEXTURE12=33996,oo.TEXTURE13=33997,oo.TEXTURE14=33998,oo.TEXTURE15=33999,oo.TEXTURE16=34e3,oo.TEXTURE17=34001,oo.TEXTURE18=34002,oo.TEXTURE19=34003,oo.TEXTURE20=34004,oo.TEXTURE21=34005,oo.TEXTURE22=34006,oo.TEXTURE23=34007,oo.TEXTURE24=34008,oo.TEXTURE25=34009,oo.TEXTURE26=34010,oo.TEXTURE27=34011,oo.TEXTURE28=34012,oo.TEXTURE29=34013,oo.TEXTURE30=34014,oo.TEXTURE31=34015,oo.ACTIVE_TEXTURE=34016,oo.REPEAT=10497,oo.CLAMP_TO_EDGE=33071,oo.MIRRORED_REPEAT=33648,oo.FLOAT_VEC2=35664,oo.FLOAT_VEC3=35665,oo.FLOAT_VEC4=35666,oo.INT_VEC2=35667,oo.INT_VEC3=35668,oo.INT_VEC4=35669,oo.BOOL=35670,oo.BOOL_VEC2=35671,oo.BOOL_VEC3=35672,oo.BOOL_VEC4=35673,oo.FLOAT_MAT2=35674,oo.FLOAT_MAT3=35675,oo.FLOAT_MAT4=35676,oo.SAMPLER_2D=35678,oo.SAMPLER_CUBE=35680,oo.VERTEX_ATTRIB_ARRAY_ENABLED=34338,oo.VERTEX_ATTRIB_ARRAY_SIZE=34339,oo.VERTEX_ATTRIB_ARRAY_STRIDE=34340,oo.VERTEX_ATTRIB_ARRAY_TYPE=34341,oo.VERTEX_ATTRIB_ARRAY_NORMALIZED=34922,oo.VERTEX_ATTRIB_ARRAY_POINTER=34373,oo.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING=34975,oo.VERTEX_PROGRAM_POINT_SIZE=34370,oo.POINT_SPRITE=34913,oo.COMPILE_STATUS=35713,oo.LOW_FLOAT=36336,oo.MEDIUM_FLOAT=36337,oo.HIGH_FLOAT=36338,oo.LOW_INT=36339,oo.MEDIUM_INT=36340,oo.HIGH_INT=36341,oo.FRAMEBUFFER=36160,oo.RENDERBUFFER=36161,oo.RGBA4=32854,oo.RGB5_A1=32855,oo.RGB565=36194,oo.DEPTH_COMPONENT16=33189,oo.STENCIL_INDEX=6401,oo.STENCIL_INDEX8=36168,oo.DEPTH_STENCIL=34041,oo.RENDERBUFFER_WIDTH=36162,oo.RENDERBUFFER_HEIGHT=36163,oo.RENDERBUFFER_INTERNAL_FORMAT=36164,oo.RENDERBUFFER_RED_SIZE=36176,oo.RENDERBUFFER_GREEN_SIZE=36177,oo.RENDERBUFFER_BLUE_SIZE=36178,oo.RENDERBUFFER_ALPHA_SIZE=36179,oo.RENDERBUFFER_DEPTH_SIZE=36180,oo.RENDERBUFFER_STENCIL_SIZE=36181,oo.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE=36048,oo.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME=36049,oo.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL=36050,oo.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE=36051,oo.COLOR_ATTACHMENT0=36064,oo.DEPTH_ATTACHMENT=36096,oo.STENCIL_ATTACHMENT=36128,oo.DEPTH_STENCIL_ATTACHMENT=33306,oo.NONE=0,oo.FRAMEBUFFER_COMPLETE=36053,oo.FRAMEBUFFER_INCOMPLETE_ATTACHMENT=36054,oo.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT=36055,oo.FRAMEBUFFER_INCOMPLETE_DIMENSIONS=36057,oo.FRAMEBUFFER_UNSUPPORTED=36061,oo.FRAMEBUFFER_BINDING=36006,oo.RENDERBUFFER_BINDING=36007,oo.MAX_RENDERBUFFER_SIZE=34024,oo.INVALID_FRAMEBUFFER_OPERATION=1286,oo.UNPACK_FLIP_Y_WEBGL=37440,oo.UNPACK_PREMULTIPLY_ALPHA_WEBGL=37441,oo.CONTEXT_LOST_WEBGL=37442,oo.UNPACK_COLORSPACE_CONVERSION_WEBGL=37443,oo.BROWSER_DEFAULT_WEBGL=37444,ao.half_pi=1.5707,yo.MASK=1073741824,yo.unknown=0,yo.key_a=4,yo.key_b=5,yo.key_c=6,yo.key_d=7,yo.key_e=8,yo.key_f=9,yo.key_g=10,yo.key_h=11,yo.key_i=12,yo.key_j=13,yo.key_k=14,yo.key_l=15,yo.key_m=16,yo.key_n=17,yo.key_o=18,yo.key_p=19,yo.key_q=20,yo.key_r=21,yo.key_s=22,yo.key_t=23,yo.key_u=24,yo.key_v=25,yo.key_w=26,yo.key_x=27,yo.key_y=28,yo.key_z=29,yo.key_1=30,yo.key_2=31,yo.key_3=32,yo.key_4=33,yo.key_5=34,yo.key_6=35,yo.key_7=36,yo.key_8=37,yo.key_9=38,yo.key_0=39,yo.enter=40,yo.escape=41,yo.backspace=42,yo.tab=43,yo.space=44,yo.minus=45,yo.equals=46,yo.leftbracket=47,yo.rightbracket=48,yo.backslash=49,yo.nonushash=50,yo.semicolon=51,yo.apostrophe=52,yo.grave=53,yo.comma=54,yo.period=55,yo.slash=56,yo.capslock=57,yo.f1=58,yo.f2=59,yo.f3=60,yo.f4=61,yo.f5=62,yo.f6=63,yo.f7=64,yo.f8=65,yo.f9=66,yo.f10=67,yo.f11=68,yo.f12=69,yo.printscreen=70,yo.scrolllock=71,yo.pause=72,yo.insert=73,yo.home=74,yo.pageup=75,yo["delete"]=76,yo.end=77,yo.pagedown=78,yo.right=79,yo.left=80,yo.down=81,yo.up=82,yo.numlockclear=83,yo.kp_divide=84,yo.kp_multiply=85,yo.kp_minus=86,yo.kp_plus=87,yo.kp_enter=88,yo.kp_1=89,yo.kp_2=90,yo.kp_3=91,yo.kp_4=92,yo.kp_5=93,yo.kp_6=94,yo.kp_7=95,yo.kp_8=96,yo.kp_9=97,yo.kp_0=98,yo.kp_period=99,yo.nonusbackslash=100,yo.application=101,yo.power=102,yo.kp_equals=103,yo.f13=104,yo.f14=105,yo.f15=106,yo.f16=107,yo.f17=108,yo.f18=109,yo.f19=110,yo.f20=111,yo.f21=112,yo.f22=113,yo.f23=114,yo.f24=115,yo.execute=116,yo.help=117,yo.menu=118,yo.select=119,yo.stop=120,yo.again=121,yo.undo=122,yo.cut=123,yo.copy=124,yo.paste=125,yo.find=126,yo.mute=127,yo.volumeup=128,yo.volumedown=129,yo.kp_comma=133,yo.kp_equalsas400=134,yo.international1=135,yo.international2=136,yo.international3=137,yo.international4=138,yo.international5=139,yo.international6=140,yo.international7=141,yo.international8=142,yo.international9=143,yo.lang1=144,yo.lang2=145,yo.lang3=146,yo.lang4=147,yo.lang5=148,yo.lang6=149,yo.lang7=150,yo.lang8=151,yo.lang9=152,yo.alterase=153,yo.sysreq=154,yo.cancel=155,yo.clear=156,yo.prior=157,yo.return2=158,yo.separator=159,yo.out=160,yo.oper=161,yo.clearagain=162,yo.crsel=163,yo.exsel=164,yo.kp_00=176,yo.kp_000=177,yo.thousandsseparator=178,yo.decimalseparator=179,yo.currencyunit=180,yo.currencysubunit=181,yo.kp_leftparen=182,yo.kp_rightparen=183,yo.kp_leftbrace=184,yo.kp_rightbrace=185,yo.kp_tab=186,yo.kp_backspace=187,yo.kp_a=188,yo.kp_b=189,yo.kp_c=190,yo.kp_d=191,yo.kp_e=192,yo.kp_f=193,yo.kp_xor=194,yo.kp_power=195,yo.kp_percent=196,yo.kp_less=197,yo.kp_greater=198,yo.kp_ampersand=199,yo.kp_dblampersand=200,yo.kp_verticalbar=201,yo.kp_dblverticalbar=202,yo.kp_colon=203,yo.kp_hash=204,yo.kp_space=205,yo.kp_at=206,yo.kp_exclam=207,yo.kp_memstore=208,yo.kp_memrecall=209,yo.kp_memclear=210,yo.kp_memadd=211,yo.kp_memsubtract=212,yo.kp_memmultiply=213,yo.kp_memdivide=214,yo.kp_plusminus=215,yo.kp_clear=216,yo.kp_clearentry=217,yo.kp_binary=218,yo.kp_octal=219,yo.kp_decimal=220,yo.kp_hexadecimal=221,yo.lctrl=224,yo.lshift=225,yo.lalt=226,yo.lmeta=227,yo.rctrl=228,yo.rshift=229,yo.ralt=230,yo.rmeta=231,yo.mode=257,yo.audionext=258,yo.audioprev=259,yo.audiostop=260,yo.audioplay=261,yo.audiomute=262,yo.mediaselect=263,yo.www=264,yo.mail=265,yo.calculator=266,yo.computer=267,yo.ac_search=268,yo.ac_home=269,yo.ac_back=270,yo.ac_forward=271,yo.ac_stop=272,yo.ac_refresh=273,yo.ac_bookmarks=274,yo.brightnessdown=275,yo.brightnessup=276,yo.displayswitch=277,yo.kbdillumtoggle=278,yo.kbdillumdown=279,yo.kbdillumup=280,yo.eject=281,yo.sleep=282,yo.app1=283,yo.app2=284,yo.scancode_names=[null,null,null,null,"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","1","2","3","4","5","6","7","8","9","0","Enter","Escape","Backspace","Tab","Space","-","=","[","]","\\","#",";","'","`",",",".","/","CapsLock","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","PrintScreen","ScrollLock","Pause","Insert","Home","PageUp","Delete","End","PageDown","Right","Left","Down","Up","Numlock","Keypad /","Keypad *","Keypad -","Keypad +","Keypad Enter","Keypad 1","Keypad 2","Keypad 3","Keypad 4","Keypad 5","Keypad 6","Keypad 7","Keypad 8","Keypad 9","Keypad 0","Keypad .",null,"Application","Power","Keypad =","F13","F14","F15","F16","F17","F18","F19","F20","F21","F22","F23","F24","Execute","Help","Menu","Select","Stop","Again","Undo","Cut","Copy","Paste","Find","Mute","VolumeUp","VolumeDown",null,null,null,"Keypad ,","Keypad = (AS400)",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"AltErase","SysReq","Cancel","Clear","Prior","Enter","Separator","Out","Oper","Clear / Again","CrSel","ExSel",null,null,null,null,null,null,null,null,null,null,null,"Keypad 00","Keypad 000","ThousandsSeparator","DecimalSeparator","CurrencyUnit","CurrencySubUnit","Keypad (","Keypad )","Keypad {","Keypad }","Keypad Tab","Keypad Backspace","Keypad A","Keypad B","Keypad C","Keypad D","Keypad E","Keypad F","Keypad XOR","Keypad ^","Keypad %","Keypad <","Keypad >","Keypad &","Keypad &&","Keypad |","Keypad ||","Keypad :","Keypad #","Keypad Space","Keypad @","Keypad !","Keypad MemStore","Keypad MemRecall","Keypad MemClear","Keypad MemAdd","Keypad MemSubtract","Keypad MemMultiply","Keypad MemDivide","Keypad +/-","Keypad Clear","Keypad ClearEntry","Keypad Binary","Keypad Octal","Keypad Decimal","Keypad Hexadecimal",null,null,"Left Ctrl","Left Shift","Left Alt","Left Meta","Right Ctrl","Right Shift","Right Alt","Right Meta",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"ModeSwitch","AudioNext","AudioPrev","AudioStop","AudioPlay","AudioMute","MediaSelect","WWW","Mail","Calculator","Computer","AC Search","AC Home","AC Back","AC Forward","AC Stop","AC Refresh","AC Bookmarks","BrightnessDown","BrightnessUp","DisplaySwitch","KBDIllumToggle","KBDIllumDown","KBDIllumUp","Eject","Sleep"],bo.unknown=0,bo.enter=13,bo.escape=27,bo.backspace=8,bo.tab=9,bo.space=32,bo.exclaim=33,bo.quotedbl=34,bo.hash=35,bo.percent=37,bo.dollar=36,bo.ampersand=38,bo.quote=39,bo.leftparen=40,bo.rightparen=41,bo.asterisk=42,bo.plus=43,bo.comma=44,bo.minus=45,bo.period=46,bo.slash=47,bo.key_0=48,bo.key_1=49,bo.key_2=50,bo.key_3=51,bo.key_4=52,bo.key_5=53,bo.key_6=54,bo.key_7=55,bo.key_8=56,bo.key_9=57,bo.colon=58,bo.semicolon=59,bo.less=60,bo.equals=61,bo.greater=62,bo.question=63,bo.at=64,bo.leftbracket=91,bo.backslash=92,bo.rightbracket=93,bo.caret=94,bo.underscore=95,bo.backquote=96,bo.key_a=97,bo.key_b=98,bo.key_c=99,bo.key_d=100,bo.key_e=101,bo.key_f=102,bo.key_g=103,bo.key_h=104,bo.key_i=105,bo.key_j=106,bo.key_k=107,bo.key_l=108,bo.key_m=109,bo.key_n=110,bo.key_o=111,bo.key_p=112,bo.key_q=113,bo.key_r=114,bo.key_s=115,bo.key_t=116,bo.key_u=117,bo.key_v=118,bo.key_w=119,bo.key_x=120,bo.key_y=121,bo.key_z=122,bo.capslock=bo.from_scan(yo.capslock),bo.f1=bo.from_scan(yo.f1),bo.f2=bo.from_scan(yo.f2),bo.f3=bo.from_scan(yo.f3),bo.f4=bo.from_scan(yo.f4),bo.f5=bo.from_scan(yo.f5),bo.f6=bo.from_scan(yo.f6),bo.f7=bo.from_scan(yo.f7),bo.f8=bo.from_scan(yo.f8),bo.f9=bo.from_scan(yo.f9),bo.f10=bo.from_scan(yo.f10),bo.f11=bo.from_scan(yo.f11),bo.f12=bo.from_scan(yo.f12),bo.printscreen=bo.from_scan(yo.printscreen),bo.scrolllock=bo.from_scan(yo.scrolllock),bo.pause=bo.from_scan(yo.pause),bo.insert=bo.from_scan(yo.insert),bo.home=bo.from_scan(yo.home),bo.pageup=bo.from_scan(yo.pageup),bo["delete"]=127,bo.end=bo.from_scan(yo.end),bo.pagedown=bo.from_scan(yo.pagedown),bo.right=bo.from_scan(yo.right),bo.left=bo.from_scan(yo.left),bo.down=bo.from_scan(yo.down),bo.up=bo.from_scan(yo.up),bo.numlockclear=bo.from_scan(yo.numlockclear),bo.kp_divide=bo.from_scan(yo.kp_divide),bo.kp_multiply=bo.from_scan(yo.kp_multiply),bo.kp_minus=bo.from_scan(yo.kp_minus),bo.kp_plus=bo.from_scan(yo.kp_plus),bo.kp_enter=bo.from_scan(yo.kp_enter),bo.kp_1=bo.from_scan(yo.kp_1),bo.kp_2=bo.from_scan(yo.kp_2),bo.kp_3=bo.from_scan(yo.kp_3),bo.kp_4=bo.from_scan(yo.kp_4),bo.kp_5=bo.from_scan(yo.kp_5),bo.kp_6=bo.from_scan(yo.kp_6),bo.kp_7=bo.from_scan(yo.kp_7),bo.kp_8=bo.from_scan(yo.kp_8),bo.kp_9=bo.from_scan(yo.kp_9),bo.kp_0=bo.from_scan(yo.kp_0),bo.kp_period=bo.from_scan(yo.kp_period),bo.application=bo.from_scan(yo.application),bo.power=bo.from_scan(yo.power),bo.kp_equals=bo.from_scan(yo.kp_equals),bo.f13=bo.from_scan(yo.f13),bo.f14=bo.from_scan(yo.f14),bo.f15=bo.from_scan(yo.f15),bo.f16=bo.from_scan(yo.f16),bo.f17=bo.from_scan(yo.f17),bo.f18=bo.from_scan(yo.f18),bo.f19=bo.from_scan(yo.f19),bo.f20=bo.from_scan(yo.f20),bo.f21=bo.from_scan(yo.f21),bo.f22=bo.from_scan(yo.f22),bo.f23=bo.from_scan(yo.f23),bo.f24=bo.from_scan(yo.f24),bo.execute=bo.from_scan(yo.execute),bo.help=bo.from_scan(yo.help),bo.menu=bo.from_scan(yo.menu),bo.select=bo.from_scan(yo.select),bo.stop=bo.from_scan(yo.stop),bo.again=bo.from_scan(yo.again),bo.undo=bo.from_scan(yo.undo),bo.cut=bo.from_scan(yo.cut),bo.copy=bo.from_scan(yo.copy),bo.paste=bo.from_scan(yo.paste),bo.find=bo.from_scan(yo.find),bo.mute=bo.from_scan(yo.mute),bo.volumeup=bo.from_scan(yo.volumeup),bo.volumedown=bo.from_scan(yo.volumedown),bo.kp_comma=bo.from_scan(yo.kp_comma),bo.kp_equalsas400=bo.from_scan(yo.kp_equalsas400),bo.alterase=bo.from_scan(yo.alterase),bo.sysreq=bo.from_scan(yo.sysreq),bo.cancel=bo.from_scan(yo.cancel),bo.clear=bo.from_scan(yo.clear),bo.prior=bo.from_scan(yo.prior),bo.return2=bo.from_scan(yo.return2),bo.separator=bo.from_scan(yo.separator),bo.out=bo.from_scan(yo.out),bo.oper=bo.from_scan(yo.oper),bo.clearagain=bo.from_scan(yo.clearagain),bo.crsel=bo.from_scan(yo.crsel),bo.exsel=bo.from_scan(yo.exsel),bo.kp_00=bo.from_scan(yo.kp_00),bo.kp_000=bo.from_scan(yo.kp_000),bo.thousandsseparator=bo.from_scan(yo.thousandsseparator),bo.decimalseparator=bo.from_scan(yo.decimalseparator),bo.currencyunit=bo.from_scan(yo.currencyunit),bo.currencysubunit=bo.from_scan(yo.currencysubunit),bo.kp_leftparen=bo.from_scan(yo.kp_leftparen),bo.kp_rightparen=bo.from_scan(yo.kp_rightparen),bo.kp_leftbrace=bo.from_scan(yo.kp_leftbrace),bo.kp_rightbrace=bo.from_scan(yo.kp_rightbrace),bo.kp_tab=bo.from_scan(yo.kp_tab),bo.kp_backspace=bo.from_scan(yo.kp_backspace),bo.kp_a=bo.from_scan(yo.kp_a),bo.kp_b=bo.from_scan(yo.kp_b),bo.kp_c=bo.from_scan(yo.kp_c),bo.kp_d=bo.from_scan(yo.kp_d),bo.kp_e=bo.from_scan(yo.kp_e),bo.kp_f=bo.from_scan(yo.kp_f),bo.kp_xor=bo.from_scan(yo.kp_xor),bo.kp_power=bo.from_scan(yo.kp_power),bo.kp_percent=bo.from_scan(yo.kp_percent),bo.kp_less=bo.from_scan(yo.kp_less),bo.kp_greater=bo.from_scan(yo.kp_greater),bo.kp_ampersand=bo.from_scan(yo.kp_ampersand),bo.kp_dblampersand=bo.from_scan(yo.kp_dblampersand),bo.kp_verticalbar=bo.from_scan(yo.kp_verticalbar),bo.kp_dblverticalbar=bo.from_scan(yo.kp_dblverticalbar),bo.kp_colon=bo.from_scan(yo.kp_colon),bo.kp_hash=bo.from_scan(yo.kp_hash),bo.kp_space=bo.from_scan(yo.kp_space),bo.kp_at=bo.from_scan(yo.kp_at),bo.kp_exclam=bo.from_scan(yo.kp_exclam),bo.kp_memstore=bo.from_scan(yo.kp_memstore),bo.kp_memrecall=bo.from_scan(yo.kp_memrecall),bo.kp_memclear=bo.from_scan(yo.kp_memclear),bo.kp_memadd=bo.from_scan(yo.kp_memadd),bo.kp_memsubtract=bo.from_scan(yo.kp_memsubtract),bo.kp_memmultiply=bo.from_scan(yo.kp_memmultiply),bo.kp_memdivide=bo.from_scan(yo.kp_memdivide),bo.kp_plusminus=bo.from_scan(yo.kp_plusminus),bo.kp_clear=bo.from_scan(yo.kp_clear),bo.kp_clearentry=bo.from_scan(yo.kp_clearentry),bo.kp_binary=bo.from_scan(yo.kp_binary),bo.kp_octal=bo.from_scan(yo.kp_octal),bo.kp_decimal=bo.from_scan(yo.kp_decimal),bo.kp_hexadecimal=bo.from_scan(yo.kp_hexadecimal),bo.lctrl=bo.from_scan(yo.lctrl),bo.lshift=bo.from_scan(yo.lshift),bo.lalt=bo.from_scan(yo.lalt),bo.lmeta=bo.from_scan(yo.lmeta),bo.rctrl=bo.from_scan(yo.rctrl),bo.rshift=bo.from_scan(yo.rshift),bo.ralt=bo.from_scan(yo.ralt),bo.rmeta=bo.from_scan(yo.rmeta),bo.mode=bo.from_scan(yo.mode),bo.audionext=bo.from_scan(yo.audionext),bo.audioprev=bo.from_scan(yo.audioprev),bo.audiostop=bo.from_scan(yo.audiostop),bo.audioplay=bo.from_scan(yo.audioplay),bo.audiomute=bo.from_scan(yo.audiomute),bo.mediaselect=bo.from_scan(yo.mediaselect),bo.www=bo.from_scan(yo.www),bo.mail=bo.from_scan(yo.mail),bo.calculator=bo.from_scan(yo.calculator),bo.computer=bo.from_scan(yo.computer),bo.ac_search=bo.from_scan(yo.ac_search),bo.ac_home=bo.from_scan(yo.ac_home),bo.ac_back=bo.from_scan(yo.ac_back),bo.ac_forward=bo.from_scan(yo.ac_forward),bo.ac_stop=bo.from_scan(yo.ac_stop),bo.ac_refresh=bo.from_scan(yo.ac_refresh),bo.ac_bookmarks=bo.from_scan(yo.ac_bookmarks),bo.brightnessdown=bo.from_scan(yo.brightnessdown),bo.brightnessup=bo.from_scan(yo.brightnessup),bo.displayswitch=bo.from_scan(yo.displayswitch),bo.kbdillumtoggle=bo.from_scan(yo.kbdillumtoggle),bo.kbdillumdown=bo.from_scan(yo.kbdillumdown),bo.kbdillumup=bo.from_scan(yo.kbdillumup),bo.eject=bo.from_scan(yo.eject),bo.sleep=bo.from_scan(yo.sleep),xo.app_runtime="snow.core.web.Runtime",xo.app_config="config.json",xo.app_ident="com.kneeko.topsoil",xo.app_main="luxe.Engine",xo.module_assets="snow.core.web.assets.Assets",xo.module_audio="snow.modules.webaudio.Audio",xo.module_io="snow.core.web.io.IO",xo.extensions=[],zo.at_unknown=0,zo.at_bytes=1,zo.at_text=2,zo.at_json=3,zo.at_image=4,zo.at_audio=5,Oo.af_unknown=0,Oo.af_custom=1,Oo.af_ogg=2,Oo.af_wav=3,Oo.af_pcm=4,Go.ae_end=0,Go.ae_destroyed=1,Go.ae_destroyed_source=2,Ro.as_invalid=-1,Ro.as_paused=0,Ro.as_playing=1,Ro.as_stopped=2,Eo.compatibility=0,Eo.core=1,Eo.gles=2,Ho.ke_unknown=0,Ho.ke_down=1,Ho.ke_up=2,Xo.me_unknown=0,Xo.me_move=1,Xo.me_down=2,Xo.me_up=3,Xo.me_wheel=4,Yo.te_unknown=0,Yo.te_move=1,Yo.te_down=2,Yo.te_up=3,Ko.ge_unknown=0,Ko.ge_axis=1,Ko.ge_down=2,Ko.ge_up=3,Ko.ge_device=4,Uo.te_unknown=0,Uo.te_edit=1,Uo.te_input=2,Po.ge_unknown=0,Po.ge_device_added=1,Po.ge_device_removed=2,Po.ge_device_remapped=3,Do.se_unknown=0,Do.se_init=1,Do.se_ready=2,Do.se_tick=3,Do.se_freeze=4,Do.se_unfreeze=5,Do.se_suspend=6,Do.se_shutdown=7,Do.se_window=8,Do.se_input=9,Do.se_quit=10,Do.se_app_terminating=11,Do.se_app_lowmemory=12,Do.se_app_willenterbackground=13,Do.se_app_didenterbackground=14,Do.se_app_willenterforeground=15,Do.se_app_didenterforeground=16,Qo.we_unknown=0,Qo.we_shown=1,Qo.we_hidden=2,Qo.we_exposed=3,Qo.we_moved=4,Qo.we_resized=5,Qo.we_size_changed=6,Qo.we_minimized=7,Qo.we_maximized=8,Qo.we_restored=9,Qo.we_enter=10,Qo.we_leave=11,Qo.we_focus_gained=12,Qo.we_focus_lost=13,Qo.we_close=14,qo.ie_unknown=0,qo.ie_key=1,qo.ie_text=2,qo.ie_mouse=3,qo.ie_touch=4,qo.ie_gamepad=5,qo.ie_joystick=6,F.main() }("undefined"!=typeof console?console:{log:function(){}},"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this);